LINUX.ORG.RU

ProxMox VE установить новый диск и загнать в RAID1

 ,


1

1

Всем добра! Прошу прощения за тему, не могу разобраться, прошу совета, желательно немного подробнее…

У меня есть немного старая система ProxMox 5.4-13 на одном диске на моем сервере, мне нужно добавить этот диск ProxMox в RAID1, как я могу это сделать?

Я нашел эту статью как перевести систему на RAID1: https://help.ubuntu.ru/wiki/migrate-to-raid, но я думаю, что это немного не подходит для моей задачи? 8-( Кто-нибудь может дать мне совет, если можно с минимальными примерами, как я могу добавить новый диск (мой диск с ProxMox 300 ГБ, я буду добавлять новый диск другого размера конечно 8-)) и создать RAID1 с помощью простого клонирования моей системы ProxMox?

p.s. Я не могу создать RAID1 ресурсами серверной платы, либо иными способами и заново установить ProxMox 8-( все надо сделать максимально быстро и четко…

p.p.s. Я попробовал после создания md0, использовать dd: dd if=/dev/sda of=/dev/md0, но после этого я получил ошибку - несоответствие размера, и мой массив рассыпался…

Что можно сделать, кто что посоветует, заранее ВСЕМ спасибо!

p.p.p.s Видел, читал, искал: PROXMOX 3.4 SOFT RAID1 и https://habr.com/ru/post/218757/ немного не мои случаи… у меня готовая система, мне надо подкинуть диск и загнать в RAID1.

Начнём с простого, как сейчас диски разбиты? Lvm?

В случае lvm я бы закинула диск большего размера, разметила 10M под bios partitions, остальное под md raid. Далее - создаёшь raid1, но с одним диском, делаешь pvmove на него, меняешь на такой же размер существующий диск, копируешь разметку, добавляешь в рейд и ставишь grub на оба диска.

Все это можно поднять в kvm и протестить там

anonymous ()

Переезд с одиночного диска на mdadm raid1 - довольно простая задача для админа, но имеет несколько неявных подводных камней. Если ты не знаешь даже с какой стороны за неё браться - лучше обратись к спецу, иначе инфу потеряешь (это я про dd с диска в массив)

zemidius ()
Ответ на: комментарий от zemidius

Внемли предостережению этого господина и сделай полный бэкап перед началом работ!

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

Harliff ★★★★★ ()
Ответ на: комментарий от anonymous

Спасибо! Поднял VBox для тестов, по вашему плану:

  1. Подсунул диск sdb, сделать fdisk /dev/sdb n p 1 +10M, прочее под /dev/sdb n p 2 верно?

  2. Далее делаем RAID1 с чем /dev/sdb2?

  3. Далее pvmove на md0p1?… можно чуть подробнее по командам с шагами ПЛЗ? Заранее спасибо!

alexpebody ()
Ответ на: комментарий от anonymous

Для lvm отдельная настройка raid давно не особо нужна. Если есть, то второй диск можно сразу добавить в VG и включить резервирование для каждого LV. Это если используется тонкий lv data для файлов образов. Для тонкого pool тоже, вроде. По идее. Лично не пробовал.

Вообще PVE открещивается от программных вывертов - поддерживать не будут.

boowai ★★★★ ()
Ответ на: комментарий от boowai

ну так там же не все в LVM, смотрите выше выложил боевую машину… черт ногу сломит… ( мне нужен RAID1 чтобы если диск сдох, ProxMox загрузился бы… Если не найду решения, придется рулить через RAID железки, а это совсем другая история…

Кто может на пальцах объяснить, как загнать это чудо в RAID и каое лучшее решение?

СПАСИБО!

alexpebody ()
Ответ на: комментарий от Harliff

Спасибо за ответ. Вот БОЕВАЯ МАШИНА с нее буду делать:

root@proxmox:~# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   1.8T  0 disk
└─sda1                         8:1    0   1.8T  0 part /stor5
sdb                            8:16   0 372.6G  0 disk
├─sdb1                         8:17   0     1M  0 part
├─sdb2                         8:18   0   256M  0 part
└─sdb3                         8:19   0 372.4G  0 part
  ├─pve-root                 253:0    0    93G  0 lvm  /
  ├─pve-swap                 253:4    0     8G  0 lvm  [SWAP]
  ├─pve-data_tmeta           253:5    0   128M  0 lvm
  │ └─pve-data-tpool         253:7    0 255.4G  0 lvm
  │   ├─pve-data             253:8    0 255.4G  0 lvm
  │   └─pve-vm--152--disk--0 253:9    0    80G  0 lvm
  └─pve-data_tdata           253:6    0 255.4G  0 lvm
    └─pve-data-tpool         253:7    0 255.4G  0 lvm
      ├─pve-data             253:8    0 255.4G  0 lvm
      └─pve-vm--152--disk--0 253:9    0    80G  0 lvm
sdc                            8:32   0 931.5G  0 disk
└─sdc1                         8:33   0 931.5G  0 part /stor1
sdd                            8:48   0 931.5G  0 disk
└─sdd1                         8:49   0 931.5G  0 part /stor0
sde                            8:64   0 232.9G  0 disk
├─ssd-vm--123--disk--0       253:1    0    90G  0 lvm
├─ssd-vm--106--disk--0       253:2    0    50G  0 lvm
└─ssd-vm--105--disk--0       253:3    0    80G  0 lvm
sdf                            8:80   0 931.5G  0 disk
└─sdf1                         8:81   0 931.5G  0 part /stor4
sdg                            8:96   0 931.5G  0 disk
└─sdg1                         8:97   0 931.5G  0 part /stor7
sdh                            8:112  0 931.5G  0 disk
└─sdh1                         8:113  0 931.5G  0 part /stor3
root@proxmox:~# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/sdb3  pve lvm2 a--  372.36g 15.74g
  /dev/sde   ssd lvm2 a--  232.88g 12.88g

root@proxmox:~# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  pve   1   4   0 wz--n- 372.36g 15.74g
  ssd   1   3   0 wz--n- 232.88g 12.88g

root@proxmox:~# lvs
  LV            VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data          pve twi-aotz-- 255.36g             9.85   15.45
  root          pve -wi-ao----  93.00g
  swap          pve -wi-ao----   8.00g
  vm-152-disk-0 pve Vwi-a-tz--  80.00g data        31.46
  vm-105-disk-0 ssd -wi-ao----  80.00g
  vm-106-disk-0 ssd -wi-ao----  50.00g
  vm-123-disk-0 ssd -wi-ao----  90.00g
root@proxmox:~# zpool status
no pools available
Вот виртуалка:
root@proxmoxtest:~# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   10G  0 disk
├─sda1               8:1    0 1007K  0 part
├─sda2               8:2    0  512M  0 part
└─sda3               8:3    0  9.5G  0 part
  ├─pve-swap       253:0    0  1.1G  0 lvm  [SWAP]
  ├─pve-root       253:1    0  2.3G  0 lvm  /
  ├─pve-data_tmeta 253:2    0    1G  0 lvm
  │ └─pve-data     253:4    0    3G  0 lvm
  └─pve-data_tdata 253:3    0    3G  0 lvm
    └─pve-data     253:4    0    3G  0 lvm
sdb                  8:16   0   20G  0 disk
root@proxmoxtest:~# pvs
  PV         VG  Fmt  Attr PSize PFree
  /dev/sda3  pve lvm2 a--  9.50g 1.12g
root@proxmoxtest:~# vgs
  VG  #PV #LV #SN Attr   VSize VFree
  pve   1   3   0 wz--n- 9.50g 1.12g
root@proxmoxtest:~# lvs
  LV   VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data pve twi-a-tz-- 3.00g             0.00   0.01
  root pve -wi-ao---- 2.25g
  swap pve -wi-ao---- 1.12g
root@proxmoxtest:~# zpool status
no pools available
Смысл таков, я сделал виртуалку на VBox, в ней провожу тесты, сделал основной диск 10ГБ, поставил ProxMox 5.4 чистая, буду подсовывать диск 20ГБ, чтобы сымитировать бОльший диск… По шагам может кто то объяснить, что за чем делать? Понимание есть, но весьма плавающее ( хочу научиться… ЗАРАНЕЕ БУДУ ВЕСЬМА БЛАГОДАРЕН!!! 8-)

alexpebody ()
Ответ на: комментарий от alexpebody

Принцип прост. Вставляется второй диск, на нём делается «однокрылый» mdadm raid1 с missing вторым диском, форматируются разделы, основная система уводится в init 1 для консистентности, переносятся файлы (лично я переношу rsync’ом), потом правятся все fstab и grub.conf, перегенерируется initramfs (чтобы туда добавился модуль mdadm) и пробуешь загрузиться с перенесённой системы. Проверяешь на 100%, что всё ок и тогда сносишь разметку на старом диске, делаешь её такой же как и на новом и добавляешь диск в массив.

Заодно можешь место под виртуалки переделать с ext4 на zfs.

zemidius ()
Последнее исправление: zemidius (всего исправлений: 2)
Ответ на: комментарий от zemidius

Спасибо, мне это тоже все четко понятно. Можете просто команды накидать друг за другом ПОЖАЛУЙСТА? Google такой Google, масса вариантов, а толку 0… Очень бы пригодился набор команд?

ЗАРАНЕЕ Спасибо!

alexpebody ()
Ответ на: комментарий от alexpebody

Можете просто команды накидать друг за другом

Нет, за этим надо в Job, извини. Это всё-таки форум по линуксу, а не по «сделай за меня работу бесплатно». Направление есть, подводные камни в виде правок fstab/grub и перегенерации initramfs рассказал, дальше пробуй сам на виртуалке и спрашивай, что будет непонятно.

zemidius ()
Ответ на: комментарий от zemidius

Никто не просит сделай за меня, спасибо БОЛЬШОЕ уже за советы, ок вопрос такой я сам накидаю, но есть сразу вопросы, если можно:

  1. Вставил 2й диск raid делать на весь диск или на партицию? Если сделаю на весь, не останется места для /boot и grub скажет что место под запись занято? Команда такая: mdadm –create /dev/md0 –level=1 –raid-devices=2 missing /dev/sdb или делаем начала sdb1 и на нем уже mdadm –create /dev/md0 –level=1 –raid-devices=2 missing /dev/sdb1? Тогда как потом будет нормальный диск ту диск raid на одном только на партиции а на втором полный на весь диск?

  2. Я с Ubuntu в основном работал, по резервированию, монтированию, развертыванию служб типа apache, bind, nginx, ftp, postfix и тд, с загрузкой дел не имел, в общих моментах читал и представляю себе что и как, но raid всегда били на стороне железок HP серверов… Поэтому немного непонятно, зачем - основная система уводится в init 1 для консистентности?

  3. Правятся все fstab и grub.conf на уже перенесенном raid верно? Можно минимальный пример? Нужно указать новые uuid, чтобы при перезагрузке подхватился новый диск, опять же теорию знаю, практики по загрузчику почти нет 8-( подсказать никто не хочет, тесты по примерам практики и понимания не дают…

  4. Перегенерируется initramfs (чтобы туда добавился модуль mdadm) и тут прошу подробней и хоть 1 пример, для чего это делать?

  5. Есть вопросы с переносом LVM, тк переносится не просто система, в ProxMox не зря есть типа миграции перенос самой системы ProxMox, там 3 раздела, root, swap и lvm, как первые сделать на созданном raid диске без проблем и потом rsync_ом данные туда, а что делать с LVM?

Вот такие моменты мне непонятны, сделал за 2 дня массу тестов, вагон ошибок вылазиет, пока не получилось перенести… 8-(

Еще момент, при переносе боевой машины, там куча примонтированных блочных дисков, я правильно понимаю, нужно сначала систему перетащить root, swap, lvm, как то отредактировать grub и затем уже переносить и монтировать остатки?

СПАСИБО! Это правда не сделай за меня, я сам хочу понять и научиться работать с этой частью linux! Нужны куски опыта который я не имею, от этого просил примерные команды, чтобы понять ход действий…

alexpebody ()
Ответ на: комментарий от alexpebody

Вот ч о нашел: https://www.daisoon.com/?q=content/%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-proxmox-ve-5x-%D0%B2-software-raid1

Но на мой пост с вопросами ProxMox VE установить новый диск и загнать в RAID1 (комментарий) все же может кто то ответить, для тестов и полного понимания процесса?

СПАСИБО! 8-)

alexpebody ()

Если не можешь с половинкой зеркала, сделай по-другому. Отрежь на твоих сторах партицию достаточного размера, сделай её lvm2 PV и введи в VG pve, перемести с sdb3 всё туда, выведи sdb3 из VG pve.

Далее можешь сделать просто целое обычное зеркало на sda3 + sdb3, и вернуть таким же образом всё на зеркало. Вроде бы где-то RedHat рекомендовал в своих best practices именно что LVM over MD RAID.

Дальше, как обычно, переустановка GRUB2 и initrd.

anonymous ()
Ответ на: комментарий от alexpebody

Вставил 2й диск raid делать на весь диск или на партицию?

Можно диск, но лучше олдскульно - партиции. Минимально /boot, swap и /.

Поэтому немного непонятно, зачем - основная система уводится в init 1 для консистентности?

Ну вот смотри, у тебя прод запущен и работает, а ты в это время его копируешь. Как думаешь консистентен ли будет бэкап?

Правятся все fstab и grub.conf на уже перенесенном raid верно?

Конечно. Текущая система то грузится нормально.

Можно минимальный пример?

Ну так зайди в текущие файлы и посмотри, какие там уникальные данные есть. Наверняка uuid root-овой партиции. Его и надо будет править в «новой» системе.

Перегенерируется initramfs (чтобы туда добавился модуль mdadm) и тут прошу подробней и хоть 1 пример, для чего это делать?

Чтобы свежеперененённая система при попытке загрузки грузила поддержку mdadm raid1 (модуль, ЕМНИП, raid1.ko), иначе увидишь unable to mount root при незагрузке.

а что делать с LVM?

Тут я особо не подскажу, т.к. очень мало его применял. Искать инфу по pvmove и смотри тред перенос живой centos+lvm на raid1

zemidius ()