Встановив та налаштував Proxmox на новому сервері, зовнішнього RAID-контроллера я не брав, а штатним з мат плати, щоь не хотів зв*язуватись, тому вирішив налаштувати софтовий рейд
З коробки на Proxmox я встановив ZFS Raid1. Цього вистачає для гіпервізора та базових потреб. Однак, щоб зберегти більше к-сть інформації в мене були 2а диска по 2 Тб, форматнув у файлову систему ext4. За допомогою утиліти parted. та mdadm.
Почнемо з ідентифікації дисків в системі:
fdisk -l
Встановлюєм parted та mdadm
apt install parted
apt install mdadm
Вибираєм диск
parted /dev/sda
(parted) mklabel gpt
(parted) mkpart logical 1 2000G
(parted) p
Disk /dev/sdc: 2000GB
Аналогічні дії з диском /dev/sdb
Далі форматуєм 2а диски в файлову систему ext4
mkfs.ext4 /dev/sda1 && mkfs.ext4 /dev/sdb1
Перевірка двох дисків
# mdadm --examine /dev/sdb /dev/sda /dev/sdb: MBR Magic : aa55 Partition[0] : 3907029167 sectors at 1 (type ee) /dev/sda: MBR Magic : aa55 Partition[0] : 3907029167 sectors at 1 (type ee)
На даному етапі немає ніякої настройки RAID на /dev/sda1 і /dev/sdb1які можуть бути виведені з допомогою цієї команди.
# mdadm --examine /dev/sda1 /dev/sdb1 mdadm: No md superblock detected on /dev/sda1. mdadm: No md superblock detected on /dev/sdb1.
Клонування таблиці розділів для sda та sdb, яка насправді просто на Linux з допомогою sfdisk
# sfdisk -d /dev/sda | sfdisk -f /dev/sdb Checking that no-one is using this disk right now ... OK Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors Disk model: WDC WD20EFAX-68F Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 4D7A5EE7-C98C-4B1F-92AB-A6B8068F7D45 Old situation: Device Start End Sectors Size Type /dev/sdb1 4096 3907028991 3907024896 1.8T Linux filesystem >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Script header accepted. >>> Created a new GPT disklabel (GUID: C66E4F1D-DE52-4CEA-8EF8-8DEA7E8DBE59). /dev/sdb1: Created a new partition 1 of type 'Linux filesystem' and of size 1.8 TiB. /dev/sdb2: Done. New situation: Disklabel type: gpt Disk identifier: C66E4F1D-DE52-4CEA-8EF8-8DEA7E8DBE59 Device Start End Sectors Size Type /dev/sdb1 2048 3907028991 3907026944 1.8T Linux filesystem The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Виконайте наступну команду для створення RAID 1. Логічний диск буде названий /dev/md0
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sda1 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: /dev/sda1 appears to contain an ext2fs file system size=1953513472K mtime=Thu Jan 1 03:00:00 1970 Continue creating array? Continue creating array? (y/n) y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
Перевірити статус зборки рейда
cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sda1[1] sdb1[0] 1953381376 blocks super 1.2 [2/2] [UU] [===>.................] resync = 17.1% (335226560/1953381376) finish=153.7min speed=175366K/sec bitmap: 13/15 pages [52KB], 65536KB chunk
Щоб отримати більш детальну інформацію про /dev/md0, ми можемо скористатися командами нижче:
mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Aug 5 17:04:55 2020 Raid Level : raid1 Array Size : 1953381376 (1862.89 GiB 2000.26 GB) Used Dev Size : 1953381376 (1862.89 GiB 2000.26 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Wed Aug 5 17:39:59 2020 State : clean, resyncing Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : bitmap Resync Status : 19% complete Name : pve-sc:0 (local to host pve-sc) UUID : c1a5a5d3:c266a703:4a2966d1:e20a6766 Events : 427 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 1 1 active sync /dev/sda1
Створі'v файлову систему на логічному диску RAID 1
Відформатуємо його до файлової системи ext4.
mkfs.ext4 /dev/md01
Потім створюєм папку для монтування диску mkdir /raidstore та монтуєм рейд RAID 1.
mount /dev/md0 /raidstore
Перевіряєм чи все змонтувало df -h
Дуже важливо зберегти нашу конфігурацію RAID1 за допомогою команди нижче.
mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf
Ввести свій UUID : c1a5a5d3:c266a703:4a2966d1:e20a6766:
ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID : c1a5a5d3:c266a703:4a2966d1:e20a6766 devices=/dev/sdb1,/dev/sda1
Щоб автоматично монтувати логічний диск RAID 1 під час завантаження, додайте запис у /etc/fstab файл, як показано нижче.
# nano /etc/fstab
/dev/md0 /mnt/raid1 ext4 defaults 0 0
Як видалити RAID
Якщо ви більше не хочете використовувати RAID, виконайте наступну команду, щоб видалити RAID.
mdadm --remove /dev/md0
Та закоментувати або видалити стрічку у файлі /etc/mdadm/mdadm.conf
##ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID : c1a5a5d3:c266a703:4a2966d1:e20a6766 ## devices=/dev/sdb1,/dev/sda1
Також видалити або закоментувати в файлі /etc/fstab
## /dev/md0 /mnt/raid1 ext4 defaults 0 0