Proxmox VE 4.0 установка корневого раздела на неподдерживаемый установщиком soft raid1

от автора


Начиная с версии 3.6 в установщике Proxmox появилась опция установки на различные варианты ZFS Raid, но так и не появилась, используемая многими, конфигурация с расположением корня и области хранения дисков виртуальных машин на программном рейд массиве.
На хабре и в сети есть множество аналогичных статей, но они актуальны для версии 3,6, а в версии 4.0 появилось несколько интересных нюансов. Кроме это в данной инструкции я подойду к решению этой задачи совершенно другим путем.

Нюансы

1.Установщик Proxmox 4-й версии ставит нам efi загрузчик и я не вижу способа как его резервировать при помощи софт рейда — если кто-то знает — поделитесь.
2.Proxmox 4.0 собран на Debian 8, а в нем есть известный баг — при старте системы не собираются массивы если в нем вылетел один из дисков. Совсем не собираются и не действует опция «bootdegraded=1»
3.Рассмотрев пункты 1 и 2 мне подумалось, а зачем нам править что-то за инстялляторм Proxmox, когда мы можем спокойно поставить Debian 8 так как нам надо, а уже поверх установить Proxmox. Вот этот расклад и будет рассмотрен в инструкции.

Ставим Debian 8

Я думаю с установкой Debian 8 minimal с neinst диска вы справитесь.
Все настройки делаем как вам надо, рассмотрим только разбивку дисков:
— диски у меня с таблицей разделов в GPT
— выделяем раздел 1 Мб и отмечаем его как bios boot
— выделяем оставшееся место в раздел под массив
— собираем массив md0
— поверх массива пускаем LVM
— создаем LV под корень и своп

Проверяем баг — выдергиваем любой из дисков, членов массива, и загружаемся. Вернее не загружаемся, потому-как загрузчик не может найти LVM с корневым разделом, потому что не собрался массив на котором этот самый LVM и лежит.

Чиним сборку массива при загрузке

Я ставил grub на оба раздела при установке, если вы этого не сделали:

# dpkg-reconfigure grub-pc 

Накладываем патч:

cd /etc/initramfs-tools/scripts/local-top cp /usr/share/initramfs-tools/scripts/local-top/mdadm . patch --verbose --ignore-whitespace <<'EndOfPatch' --- mdadm +++ mdadm @@ -76,7 +76,15 @@    if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then      verbose && log_success_msg "assembled all arrays."    else -    log_failure_msg "failed to assemble all arrays." +    log_warning_msg "failed to assemble all arrays...attempting individual starts" +    for dev in $(cat /proc/mdstat | grep md | cut -d ' ' -f 1); do +      log_begin_msg "attempting mdadm --run $dev" +      if $MDADM --run $dev; then +        verbose && log_success_msg "started $dev" +      else +        log_failure_msg "failed to start $dev" +      fi +    done    fi    verbose && log_end_msg  EndOfPatch 

Обновляем конфиг:

update-initramfs -u 

Внимание: если вы будете проверять как работает патч и загружаться с выдернутым диском — на забудьте потом его вернуть обратно в массив:

# mdadm --add /dev/md0 /dev/sda2 

Ставим Proxmox

Приводим /etc/hosts к виду:

127.0.0.1       localhost.localdomain localhost 123.456.789.1   myproxmox.mydomain.ru  myproxmox pvelocalhost 

Добавляем в /etc/apt/sources.list

deb http://download.proxmox.com/debian jessie pve-no-subscription 

Добавляем цифровую подпись:

# wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - 

Обновляемся:

# apt-get update && apt-get dist-upgrade 

Устанавливаем Proxmox:

# apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi 

Перезагружаемся и пользуемся.

ссылка на оригинал статьи http://habrahabr.ru/post/273391/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *