Создать RAID 10 программно на Alma Linux 8
установил mdadm:
dnf install mdadm
подключил 4 диска по 1000 Gb. В моем случае им присвоены названия: /dev/sda, /dev/sdb, /dev/sdd, /dev/sde
просмотрел структуру дисков:
lsblk
показало:
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 7.5G 0 part
|-sda2 8:2 0 573M 0 part
`-sda3 8:3 0 923.5G 0 part
sdb 8:16 0 931.5G 0 disk
|-sdb1 8:17 0 7.5G 0 part
|-sdb2 8:18 0 573M 0 part
`-sdb3 8:19 0 923.5G 0 part
sdc 8:48 0 931.5G 0 disk
|-sdc1 8:49 0 572M 0 part /boot
`-sdc2 8:50 0 931G 0 part
|-almalinux-root 253:0 0 921.6G 0 lvm /
`-almalinux-swap 253:1 0 9.3G 0 lvm [SWAP]
sdd 8:64 0 931.5G 0 disk
|-sde1 8:65 0 7.5G 0 part
|-sde2 8:66 0 573M 0 part
`-sde3 8:67 0 923.5G 0 part
sde 8:80 0 931.5G 0 disk
|-sdf1 8:81 0 7.5G 0 part
|-sdf2 8:82 0 573M 0 part
`-sdf3 8:83 0 923.5G 0 part
очищаю диски:
wipefs -a /dev/sda
wipefs -a /dev/sdb
wipefs -a /dev/sdd
wipefs -a /dev/sde
очистил от следов raid:
mdadm --zero-superblock /dev/sda
mdadm --zero-superblock /dev/sdb
mdadm --zero-superblock /dev/sdd
mdadm --zero-superblock /dev/sde
инициализировал диски:
parted --script /dev/sda "mklabel gpt"
parted --script /dev/sdb "mklabel gpt"
parted --script /dev/sdd "mklabel gpt"
parted --script /dev/sde "mklabel gpt"
создал разделы на весь диск:
parted --script /dev/sda "mkpart primary 0% 100%"
parted --script /dev/sdb "mkpart primary 0% 100%"
parted --script /dev/sdd "mkpart primary 0% 100%"
parted --script /dev/sde "mkpart primary 0% 100%"
просмотрел структуру дисков:
lsblk
показало:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
`-sda1 8:1 0 931.5G 0 part
sdb 8:16 0 931.5G 0 disk
`-sdb1 8:17 0 931.5G 0 part
sdc 8:32 0 931.5G 0 disk
|-sdc1 8:33 0 572M 0 part /boot
`-sdc2 8:34 0 931G 0 part
|-almalinux-root 253:0 0 921.6G 0 lvm /
`-almalinux-swap 253:1 0 9.3G 0 lvm [SWAP]
sdd 8:48 0 931.5G 0 disk
`-sdd1 8:49 0 931.5G 0 part
sde 8:64 0 931.5G 0 disk
`-sde1 8:65 0 931.5G 0 part
выполнил команду для создания raid10:
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1
вывело в ответ:
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
проверил созданный диск:
mdadm --detail /dev/md0
результат проверки:
/dev/md0:
Version : 1.2
Creation Time : Sat Feb 17 09:35:06 2024
Raid Level : raid10
Array Size : 1953257472 (1862.77 GiB 2000.14 GB)
Used Dev Size : 976628736 (931.39 GiB 1000.07 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Feb 17 09:35:27 2024
State : clean, resyncing
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : bitmap
Resync Status : 0% complete
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : b8ad77d9:36dc2c56:2fc4f22a:966a5ecf
Events : 4
Number Major Minor RaidDevice State
0 8 1 0 active sync set-A /dev/sda1
1 8 17 1 active sync set-B /dev/sdb1
2 8 49 2 active sync set-A /dev/sdd1
3 8 65 3 active sync set-B /dev/sde1
для того, чтобы массивы автоматически запускались после перезагрузки системы нужно сгенерировать конфигурационный файл из текущей запущенной конфигурации mdadm:
mdadm --verbose --detail --scan > /etc/mdadm.conf
создал файловую систему ext4:
mkfs.ext4 /dev/md0
результат в консоли на создание файловой системы:
mke2fs 1.45.6 (20-Mar-2020)
Discarding device blocks: done
Creating filesystem with 488314368 4k blocks and 122085376 inodes
Filesystem UUID: 90ea4a21-1ba8-437b-9e06-0ce8c831af7a
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
пример монтирования дистка:
mount /dev/md0 /mnt/raid0
добавление монтирования в автозагрузку, нужно добавить строку в /etc/fstab:
/dev/md0 /mnt/raid0 ext4 defaults 1 2
и еще раз просмотрел структуру дисков:
lsblk
показало:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
`-sda1 8:1 0 931.5G 0 part
`-md0 9:0 0 1.8T 0 raid10 /mnt/raid0
sdb 8:16 0 931.5G 0 disk
`-sdb1 8:17 0 931.5G 0 part
`-md0 9:0 0 1.8T 0 raid10 /mnt/raid0
sdc 8:32 0 931.5G 0 disk
|-sdc1 8:33 0 572M 0 part /boot
`-sdc2 8:34 0 931G 0 part
|-almalinux-root 253:0 0 921.6G 0 lvm /
`-almalinux-swap 253:1 0 9.3G 0 lvm [SWAP]
sdd 8:48 0 931.5G 0 disk
`-sdd1 8:49 0 931.5G 0 part
`-md0 9:0 0 1.8T 0 raid10 /mnt/raid0
sde 8:64 0 931.5G 0 disk
`-sde1 8:65 0 931.5G 0 part
`-md0 9:0 0 1.8T 0 raid10 /mnt/raid0
все успешно заработало
в будущем, если какойто диск выдет из строя и понять какой есть команда посмотреть серийники:
lsblk --raw -o name,type,serial
пример результата:
NAME TYPE SERIAL
sda disk S6PVNX0TC1XXXXX
sda1 part
md0 raid10
sdb disk S6PVNX0TCXXXXX
sdb1 part
md0 raid10
sdc disk S6P5NL0TB2XXXXX
sdc1 part
sdc2 part
almalinux-root lvm
almalinux-swap lvm
sdd disk S6PVNX0TCXXXXX
sdd1 part
md0 raid10
sde disk S6PVNX0W10XXXXX
sde1 part
md0 raid10
или вот пример детальной информации о дисках:
hdparm -i /dev/sda /dev/sdb
результат:
/dev/sda:
Model=Samsung SSD 870 EVO 1TB, FwRev=SVT02B6Q, SerialNo=S6PVNX0TCXXXXX
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=unknown, MaxMultSect=1, MultSect=1
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode
/dev/sdb:
Model=Samsung SSD 870 EVO 1TB, FwRev=SVT02B6Q, SerialNo=S6PVNX0TC1XXXXX
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=unknown, MaxMultSect=1, MultSect=1
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode