DRBD как блочное устройство для XEN VM (Centos 5.3)

DRBD как блочное устройство для XEN VM (Centos 5.3)

Я настроил ресурс drbd между двумя серверными узлами — все работает правильно при выполнении тестов синхронизации между ними. (Я хочу создать кластер HA с использованием drbd, xen и heartbeat)

Однако когда я пытаюсь создать виртуальную машину XEN с Centos в качестве гостевой операционной системы, я попадаю на экран разбиения на разделы при установке, но когда я выбираю тип разбиения на разделы, на следующем экране появляется следующая ошибка:

«Произошла ошибка — не найдено ни одного допустимого устройства для создания новых файловых систем. Проверьте свое оборудование на предмет причины этой проблемы».

Это первая попытка создать подобную установку, и поиск в Google не особо помогает...

мои файлы конфигурации для DRBD и XEN....

DRBD (только тот раздел, который имеет отношение к делу)

на xennode0 { устройство /dev/drbd0; диск /dev/sda5; адрес XXXX:7788; гибкий-мета-диск внутренний; }

на xennode1 { устройство /dev/drbd0; диск /dev/sda5; адрес XXXX:7788; внутренний метадиск; }

КСЕН

kernel = "/boot/xeninstall/vmlinuz" ramdisk = "/boot/xeninstall/initrd.img" extra = "text" name = "VM" maxmem = 3000 memory = 3000 vcpus = 4 on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "phy:/dev/drbd0,sda1,w", "tap:aio:/srv/xen/xenswap.img,sda2,w" ] vif = [ "mac=00:16:3e:11:67:ae,bridge=xenbr0" ] root = "/dev/sda1 ro"

Заранее спасибо!

решение1

Ну, раз уж я вырвал себе волосы, решая эту проблему, позвольте мне ответить на свой вопрос и избавить кого-то другого от необходимости вырывать волосы :)

Решение:

Поигравшись, погуглив и переразметив и т. д., я пришел к настройке, которая работает как часы.

Вероятно, есть более быстрый способ сделать это, но я не собираюсь слишком усложнять этот ответ.

Я выполнил стандартную установку с такими разделами (у меня жесткий диск на 500 Гб):

/boot 100mb 
/swap 4gb 
/     40gb 

Оставшуюся часть дискового пространства следует оставить неразмеченной.

Затем я создал основной раздел с именем /dev/sda4, выполнив следующие действия:

~: fdisk /dev/sda
~: (fdisk shell) p4   (for primary partition # 4)
~: (fdisk shell) t    (hit t and enter to edit the partition type)
~: (fdisk shell) 08e  (Linux LVM)

Перезагрузите сервер, чтобы новые разделы вступили в силу.

Теперь создайте логические тома:

~: pvcreate /dev/sda4
~: vgcreate xenvg -s 4M /dev/sda4    # (xenvg is the name of my virtual group, you can rename it)
~: lvcreate -L400G -n xenroot xenvg  # (xenroot is going to be my drbd  resource and root partition for my DomU)
~: lvcreate -L4G  -n xenswap xenvg   # (xenswap is my swap file for my DomU)

Теперь, когда у вас есть правильное разбиение, вы можете приступить к установке DRBD с помощью следующих директив файла конфигурации (drbd.conf)

Здесь просто показаны две важные директивы...

{
device  /dev/drbd0;
disk    /dev/xenvg/xenroot;
}

Ваш файл конфигурации виртуальной машины XEN должен выглядеть следующим образом (опять же, самое важное):

{
disk = [ "drbd:xenvm,xvda,w","phy:xenvg/xenswap,xvdb,w" ]
}

Надеюсь, это кому-то поможет...

решение2

Итак, здесь важны два момента:

  1. Лучше использовать целые диски, а не разделы для устройства, которое будет видеть DomU.
  2. Использовать стандартные имена устройств в DomU (xvd*)

Я наткнулся на последний с новейшим патчем ядра SLES SP3: До этого я использовал «sda» в качестве имени устройства в DomU.

Теперь мой паравиртуализированный DomUs просто завис во время применения патча ядра. Анализ процесса патча показал мне, что что-то пытается получить доступ к sda, как если бы это был физический диск. После изменения sda на xvda у меня больше не было проблем.

С CentOS 4 как паравиртуализированным DomU было довольно сложно использовать "sda". Мне пришлось убедить систему не использовать scsi-драйвер для этого устройства, а использовать xenblock-драйвер. По сути та же проблема.

Связанный контент