Полную установку Proxmox в этой статье рассматривать не будем, таких мануалов полно на просторах интернета. Если же кому-то будет интересно, пишите в комментариях.
Proxmox из коробки позволяет создать на выбор софтварный рэйд и установить на него систему, что довольно неплохо и удобно. Именно это мы сегодня и сделаем, развернем ZFS RAID 1 и установим на него ОС, так же рассмотрим, как действовать при выходе одного из дисков.
В момент установки, практически в самом начале, будет предложено выбрать системный диск, на который в последствие установится операционная система Proxmox.

Нажимаем кнопку “Options”, выбираем ZFS RAID 1 и два диска из которых он будет состоять, после чего нажимаем OK.

После установки первым делом проверим наличие обновлений, но перед этим пропишем бесплатный репозиторий, так как у нас нет платной подписки.
В /etc/apt/sources.list.d/pve-enterprise.list закомментируем коммерческий репозиторий и добавим беслпатный.
deb http://download.proxmox.com/debian jessie pve-no-subscription
Далее выполним команды:
apt-get update && apt-get upgrade
Теперь авторизуемся на сервере и посмотрим командой lsblk разделы которые нам сделал Proxmox.

Далее командой zpool status посмотрим на наш pool.
rpool — название нашего ZFS пула.

При установке proxmox добавляет загрузчик на оба диска, поэтому при отключении одного со второго система загружается нормально, но статус ZFS пула меняется на degraded и при подключении диска обратно, пул начинает снова нормально функционировать.

Ну теперь собственно перейдем к замене. Если у вас “железный” RAID и есть поддержка горячей замены дисков, то сервер можете не выключать, но я эту процедуру делаю на виртуальной машине поэтому выключу сервер и заменю один из дисков. Допустим у нас сбойный диск будет /dev/sdb. Убедимся, что на новом диске нет разделов.

Копируем таблицу разделов 1:1 с исправного диска /dev/sda, после чего проверяем командой lsblk.
sgdisk -R /dev/sdb /dev/sda

Генерируем уникальные UUID для /dev/sdb
sgdisk -G /dev/sdb
Устанавливаем загрузчик на новый диск и обновляем GRUB:
grub-install —target=i386-pc —recheck /dev/sdb

Осталось заменить сбойный диск в массиве, тут можно действовать несколькими способами, либо по названию раздела (/dev/sdb3), либо через UUID раздела (/dev/disk/by-partuuid/88a27dda-fe1e-4a3d-9dee-16cc6f0d7379). UUID раздела можно узнать выполнив команду:
Ls – l /dev/disk/by-partuuid/
Я сделаю через UUID.
zpool replace rpool 16056317260985057598 /dev/disk/by-partuuid/88a27dda-fe1e-4a3d-9dee-16cc6f0d7379

Теперь нужно только дождаться окончания репликации диска и все, наш RAID снова в порядке.

Сергей подскажите если у меня 64 битная система то корректно ли указывать в этой команде grub-install — target=i386 , значение i386?
вполне рабочий вариант
Спасибо за статью! Ваша информация помогла собрать рейд назад после «вылетевшего» одного диска.
Сделал всё по статье.
Затем решил проверить, восстановился ли диск b.
Вытащил диск а.
Попытался загрузиться с диска b, но не смог.
Основная проблема — при attach диска b в зеркало теряются партиции. Остаётся 2 вместо 3х.
Все что выше 5,4 весрии использует proxmox-boot-tool и необходимо выполнить эти команды
proxmox-boot-tool format /dev/sdn2
proxmox-boot-tool init /dev/sdn2