Архив заметок

OMV. Собираем soft RAID5 из 3x3TB

Просмотров: 4922Комментарии: 0
Debian

Приветствую, друзья.

Купил недавно 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

Далее проделал с остальными дисками тоже самое, кроме естесственно системного smile

Что получилось:

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

Ветка на форуме HomeNAS.ru по этому вопросу.

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