среда, 18 сентября 2013 г.

Настройка RAID 0 в Debian

Имеется два харда, примерно по 40G:
# fdisk -l
Disk /dev/sdb: 40.1 GB, 40060403712 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 63 78242975 39121456+ 83 Linux

Disk /dev/sdc: 41.1 GB, 41110142976 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 63 80293247 40146592+ 83 Linux


Из них я буду делать RAID 0. Теорию и более подробное описание настройки можно почитать в указанных, в конце заметки, ссылках.
Предполагается что на хардах уже созданы разделы.
Если разделы смонтированы в системе, их нужно размонтировать:
# umount /dev/sdb1
# umount /dev/sdc1

Устанавливаем утилиту для работы с RAID:
# aptitude install mdadm

Форматируем разделы жестких дисков в формат Linux raid autodetect:
# fdisk /dev/sdb
Command (m for help): t
Hex code (type L to list codes): fd
Command (m for help): p
Disk /dev/sdb: 40.1 GB, 40060403712 bytes
Device      Start         End      Blocks   Id  System
/dev/sdb1      63    78242975    39121456+  fd  Linux raid autodetect
Command (m for help): w

# fdisk /dev/sdc
Command (m for help): t
Hex code (type L to list codes): fd
Command (m for help): p
Disk /dev/sdc: 41.1 GB, 41110142976 bytes
Device       Start         End      Blocks   Id  System
/dev/sdc1       63    80293247    40146592+  fd  Linux raid autodetect
Command (m for help): w

Теперь создадим сам массив:
# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: chunk size defaults to 512K
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid0 devices=0 ctime=Thu Jan  1 03:00:00 1970
mdadm: partition table exists on /dev/sdb1 but will be lost or
       meaningless after creating array
mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=40146592K  mtime=Thu Jan  1 03:00:00 1970
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

где --level - тип массива ( в моем случае - 0)
--raid-devices=2 - количество устройств в RAID и абсолютные пути к ним
--create - обозначает, что мы создаем массив
--verbose - подробный вывод

Проверяем:
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid0] 
md0 : active raid0 sdc1[1] sdb1[0]
      79267840 blocks super 1.2 512k chunks
      
unused devices: <none>

Видим, что все в порядке, создался RAID 0, в который включены разделы /dev/sd[b-c]1.

Создадим файловую систему:
# mkfs.ext4 /dev/md0
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
4956160 inodes, 19816960 blocks
990848 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
605 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Сканируем все наши массивы в системе:
# mdadm --detail --scan --verbose
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=debian:0 UUID=01d618a5:079ab437:5b9a379c:db5e9505
devices=/dev/sdb1,/dev/sdc1

Настраиваем конфиг:
# echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
# mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Создаем директорию, в которую это все будет монтироваться и добавляем в автозагрузку:
# mkdir /raid
# vim /etc/fstab
/dev/md0 /raid ext4 defaults 1 2
# закомментировать старые разделы, их монтировать уже не надо
#/dev/sdb1 /data1 ext4 defaults 1 2
#/dev/sdc1 /data2 ext4 defaults 1 2

Проверяем работоспособность:
# mount -a
или
# mount /dev/md0 /raid
# df -h | grep /dev/md0
/dev/md0   75G  180M   71G   1% /raid

[Ссылки]:
man mdadm

2 комментария:

Азад комментирует...

После перезагрузки не стартанул система
кароче сдох пишется переустановить

alex286 комментирует...

давно конечно...это было... но, я не нашел в повествовании строки update-initramfs -u. Без этой команды не загрузится никогда..