Приветствую, друзья.
Купил недавно 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
Вы можете войти под своим логином или зарегистрироваться на сайте.