Centos 7 не загружается из Dell Perc 6i raid 0

Недавно я получил башню poweredge 2900 (неизвестного поколения) с контроллером perc 6i и построил и инициализировал массив raid 0 из 2 дисков sas емкостью 146 ГБ. Во время установки centos он видит и устанавливается на виртуальный диск, но после перезагрузки сервер жалуется, что не может найти загрузочное устройство.

Связано ли это с прошивкой Perc 6i (я думаю, 1.21.02) или centos не может загрузиться с виртуального диска?

ИЗОБРАЖЕНИЯ: Идентификатор распространителя: Ubuntu Описание: Ubuntu 16.10 Релиз: 16.10 Кодовое имя: yakkety, и я использую LXD из стабильного репо: lxc --...

На моем хосте у меня Ubuntu 16.10:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:    16.10
Codename:   yakkety

, и я использую LXD из стабильного репозитория:

lxc --version
2.12

В настоящее время у меня есть несколько контейнеры, созданные с помощью DIR в качестве серверной части хранилища:

root@Ubuntu-1610-yakkety-64-minimal ~ # lxc storage show default
config:
  source: /var/lib/lxd/storage-pools/default
name: default
driver: dir
used_by:
- /1.0/containers/elasticsearch-internal
- /1.0/containers/yyy-dev
- /1.0/containers/yyy-pre-prod
- /1.0/containers/xxx-dev
- /1.0/containers/xxx-dev/snapshots/snap1
- /1.0/containers/mysql-dev
- /1.0/containers/mysql-dev/snapshots/snap01
- /1.0/containers/mysql-preprod
- /1.0/images/2cab90c0c342346ea154bc2e8cacdae752a70747a755ce1f2970c9a9ebb5fe8c
- /1.0/images/d51e7b34d5f470912bc45a6270278d7990b049d826e33dd8affe9b54aaf0d7ee
- /1.0/profiles/default

У меня также есть 2 жестких диска SATA III емкостью 2 ТБ, зеркалированные с помощью ZFS:

root@Ubuntu-1610-yakkety-64-minimal ~ # zpool list -v
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
lxdstorage  1.81T   361M  1.81T         -     0%     0%  1.00x  ONLINE  -
  mirror  1.81T   361M  1.81T         -     0%     0%
    sdc      -      -      -         -      -      -
    sdd      -      -      -         -      -      -

Теперь, начиная с версии 2.12, LXD имеет новый API хранилища: lxd / storage-backend

Мне нужно переместить фактические контейнеры из DIR в хранилище ZFS. На данный момент я создал новое хранилище:

lxc storage create pool1 zfs source = lxdstorage / container

root@Ubuntu-1610-yakkety-64-minimal ~ # lxc storage list
+---------+--------+------------------------------------+---------+
|  NAME   | DRIVER |               SOURCE               | USED BY |
+---------+--------+------------------------------------+---------+
| default | dir    | /var/lib/lxd/storage-pools/default | 11      |
+---------+--------+------------------------------------+---------+
| pool1   | zfs    | lxdstorage/containers              | 0       |
+---------+--------+------------------------------------+---------+

Как я могу переместить контейнеры из default в pool1 ?

2
задан 16 May 2018 в 22:29
2 ответа

Прямого способа сделать это до сих пор нет (сегодня версия 2.14).

Временным решением является остановка контейнера, публикация как изображения, удаление исходного контейнера и инициализация его в новом пуле хранения:

lcx stop c1
lxc lxc publish -f c1 --alias c1
lxc delete c1
lxc init c1 c1 -s <new pool>
lxc start c1
lxc image delete c1
2
ответ дан 3 December 2019 в 10:35

LXC Ручная миграция с dir: на zfs: backend в Debian Stretch

Я не мог найти способ в SE, который работал у меня, похоже, у меня нет опции публикации в debian lxc.

dpkg -l lxc 
#  1:3.1.0+really3.0.3-8 

Мои контейнеры находятся в ext4 в / var / lib / lxc (установка по умолчанию), а мне они нужны в zfs в / tank / lxc / container

0) Остановите контейнер (ы):

lxc-stop mycontainer

1) Создайте файл /etc/lxc/lxc.conf - lxc подберет его и работает из zfs. Если вы забыли остановить контейнер (как я), переместите файл, затем остановите контейнер и снова верните этот файл

# /etc/lxc/lxc.conf
lxc.lxcpath = /tank/lxc/containers
lxc.bdev.zfs.root = tank/lxc/containers

2) Создайте наборы данных:

zfs create tank/lxc
zfs create tank/lxc/containers

3) Создайте новый контейнер с тем же именем (теперь это будет отображаться в zfs)

lxc-create mycontainer

Оказывается, mycontainer - это набор данных ZFS, который не смонтирован. Вы можете запустить его сначала, чтобы инициализировать его, или вы также можете скопировать старую конфигурацию (MAC-адрес, автозапуск и то, что вы еще установили).

4) Второй набор данных, который вы монтируете здесь, на самом деле является rootfs контейнер (!)

zfs mount tank/lxc/containers
zfs mount tank/lxc/containers/mycontainer
# this is attaching on /tank/lxc/containers/mycontainer/rootfs 

5) синхронизируйте старый корень с новым

rsync -av --delete /var/lib/lxc/mycontainer/rootfs/ /tank/lxc/containers/mycontainer/rootfs/

6) скопируйте конфигурацию, если она вам нужна

cp /var/lib/lxc/mycontainer/config /tank/lxc/containers/mycontainer/config

7) размонтируйте наборы данных и запустите свой контейнер из ZFS

zfs umount tank/lxc/containers/mycontainer
zfs umount tank/lxc/containers
lxc-start mycontainer

Повторите для всех - Удачного сдерживания ZFS!

1
ответ дан 3 December 2019 в 10:35

Теги

Похожие вопросы