Приветствую, друзья.
Купил недавно HP Proliant Microserver g7 (n54l) для домашних нужд. Цена вышла 8.5к в Ситилинке. Для такой железки вполне вменяемая.
В качестве ОСи был выбран OpenMediaVault. На сайте OMV не рекомендуют использовать usb диски для носителя ОС, не стал и я рисковать и запилил ОСь на диск, который шел в комплекте с сервером + воткнул туда 3 диска по 3ТБ WD Caviar Green. У этих дисков есть неприятная вещь, как-то парковка головок при простое в 5 секунд.
Установку ОС я описывать не буду. Опишу вкратце сборку RAID 5 уровня.
Делаю разметку:
[root@beast:~]# parted /dev/sdb GNU Parted 3.1 Используется /dev/sdb (parted) mklabel gpt (parted) mkpart raid ext4 1Mib 3000GB (parted) set 1 raid on (parted) print Model: ATA WDC WD30EZRX-00M (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3001GB 3001GB raid raid
Далее проделал с остальными дисками тоже самое, кроме естесственно системного ![]()
Что получилось:
root@beast:~# parted -l Model: ATA VB0250EAVER (scsi) Disk /dev/sda: 250GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 1018kB 1000kB bios_grub 2 1018kB 242GB 242GB ext4 boot 3 242GB 250GB 7864MB linux-swap(v1) Model: ATA WDC WD30EZRX-00M (scsi) Disk /dev/sdb: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3001GB 3001GB raid raid Model: ATA WDC WD30EZRX-00M (scsi) Disk /dev/sdc: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3001GB 3001GB raid raid Model: ATA WDC WD30EZRX-00D (scsi) Disk /dev/sdd: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3001GB 3001GB raid raid
Потом собираю сам RAID:
root@beast:~# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Статус рейда:
root@beast:~# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Aug 20 00:28:11 2013
Raid Level : raid5
Array Size : 5860527104 (5589.03 GiB 6001.18 GB)
Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Aug 20 00:28:11 2013
State : clean, degraded
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : beast:0 (local to host beast)
UUID : cac85e16:ccea67f9:8823cefb:329f927e
Events : 0
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 0 0 2 removed
3 8 49 - spare /dev/sdd1
Один диск в spare. Искал инфу, так ничего и не нашел. Не мог понять, почему при создании рейда третий диск постоянно в статусе spare. В итоге после гугления был найден способ решения.
root@beast:~# mdadm /dev/md0 --fail /dev/sdd1 root@beast:~# mdadm /dev/md0 --remove /dev/sdd1 root@beast:~# mdadm /dev/md0 --add /dev/sdd1
И массив пошел в ребилд.
root@beast:~# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Aug 20 00:28:11 2013
Raid Level : raid5
Array Size : 5860527104 (5589.03 GiB 6001.18 GB)
Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Aug 20 00:29:07 2013
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : beast:0 (local to host beast)
UUID : cac85e16:ccea67f9:8823cefb:329f927e
Events : 6
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 spare rebuilding /dev/sdd1
root@beast:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
5860527104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[>....................] recovery = 0.0% (2295012/2930263552) finish=1113.6min speed=43819K/secДля увеличения производительности записи, использовал следующее:
root@beast:~# echo 8192 > /sys/block/md0/md/stripe_cache_size
Что имеем на выходе:
root@beast:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]5860527104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_][>....................] recovery = 0.5% (17053160/2930263552) finish=395.7min speed=122670K/sec
Остальную инфу найдете в ссылках на подробную документацию.
Оптимальный формат фс:
mkfs.ext4 -b 4096 -E stride=128,stripe-width=256 /dev/md0
Тесты скорости чтения/записи:
root@beast:~# dd if=/dev/zero of=/storage/test.hdd bs=1G count=40 40+0 records in 40+0 records out 42949672960 bytes (43 GB) copied, 286.039 s, 150 MB/s

Вы можете войти под своим логином или зарегистрироваться на сайте.