Недавно я прикупил себе две SSD'шки Kingmax SMP35 емкостью 60 Гб каждая. На них мы с отцом запилили хардварный RAID 1 средствами материнской платы и поставили Восьмерку (Окошки). Поплевались и снесли. Я решил опробовать RAID-массив в линуксе и выбор мой пал на арч (это менее изученый дистр из всех использовавшихся мною). Под катом картинок не будет, но выводы программ я выкладывать буду (:
Вы наверное уже приготовились к тесту с кучей подробностей, плюшек и пряников? Однако все гораздо проще — хардварный массив не воспринимается в арче как массив. Вот и все дела. Значит, лепим софтварь. Испытания проводятся на самом свежем релизе арча с установочным скриптом pacstrap. Весь процесс установки я приводить не буду, но хронологию я сохраню и постараюсь донести и до Вас.
Загружаемся с установочного(ой) диска(флэшки). Для начала смотрим вывод программы fdisk для того, чтобы сориентироваться в «жестянках».
Находим наши SSD'шки (если вы все еще не создали разделы — самое время. Я использовал тип раздела Linux RAID Auto, код — fd)
Далее создаем наш софтварный массив:
Я создавал зеркальный массив, поэтому «уровень» равен 1, а в зависимости от количества разделов в массиве вы изменяете --raid-devices
На вопрос действительно ли мы хотим создать массив отвечаем утвердительно. Готово! Осталось только создать файловую систему и примонтировать раздел для установки системы:
Я создал файловую систему типа ext4, но вы можете создать и другую. Чтобы посмотреть список всех доступных фс напишите mkfs.и нажмите таб.
По официальному мануалу ставим систему до пункта «Установка загрузчика». Весь трабл в том, что груб первый не поддержиает загрузку с RAID-массива, но это умеет делать второй. Поэтому мы пишем
Далее следуем тому же мануалу до пункта «Создание ramdisk'a». Порядок немного другой.
Сначала мы генерируем конфиг груба, после ставим его на все жестянки в массиве, а затем генерируем конфиг самого массива. Далее добавляем хук массива в конфиг рамдиска
Далее генерируем рамдиск
Если на экране появилась надпись Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays, то это значит, что все хорошо (:
Выходим из chroot, отмонтируем раздел и перезагружаемся. После загрузки проверяем диски через fdisk -l
Вот и все! (: Всем добра и удачи в ваших начинаниях!
Спасибо пользователю sergeyotro за поправку смысловой ошибки
Hardware RAID vs. Software RAID
Вы наверное уже приготовились к тесту с кучей подробностей, плюшек и пряников? Однако все гораздо проще — хардварный массив не воспринимается в арче как массив. Вот и все дела. Значит, лепим софтварь. Испытания проводятся на самом свежем релизе арча с установочным скриптом pacstrap. Весь процесс установки я приводить не буду, но хронологию я сохраню и постараюсь донести и до Вас.
Поехали!
Загружаемся с установочного(ой) диска(флэшки). Для начала смотрим вывод программы fdisk для того, чтобы сориентироваться в «жестянках».
fdisk -l
Disk /dev/sda: 60.0 GB, 60022480896 bytes
81 heads, 63 sectors/track, 22973 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2d5689a5
Device Boot Start End Blocks Id System
/dev/sda1 2048 117231407 58614680 fd Linux raid autodetect
Disk /dev/sdb: 60.0 GB, 60022480896 bytes
81 heads, 63 sectors/track, 22973 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009e9af
Device Boot Start End Blocks Id System
/dev/sdb1 2048 117231407 58614680 fd Linux raid autodetect
Disk /dev/sdc: 515 MB, 515899392 bytes
64 heads, 32 sectors/track, 492 cylinders, total 1007616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x25086445
Device Boot Start End Blocks Id System
/dev/sdc1 * 0 757759 378880 17 Hidden HPFS/NTFS
Disk /dev/sdc1: 387 MB, 387973120 bytes
64 heads, 32 sectors/track, 370 cylinders, total 757760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x25086445
Device Boot Start End Blocks Id System
/dev/sdc1p1 * 0 757759 378880 17 Hidden HPFS/NTFS
Disk /dev/mapper/arch_root-image: 707 MB, 707788800 bytes
255 heads, 63 sectors/track, 86 cylinders, total 1382400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/arch_lib-modules: 98 MB, 98566144 bytes
255 heads, 63 sectors/track, 11 cylinders, total 192512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/arch_usr-share: 438 MB, 438304768 bytes
255 heads, 63 sectors/track, 53 cylinders, total 856064 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Находим наши SSD'шки (если вы все еще не создали разделы — самое время. Я использовал тип раздела Linux RAID Auto, код — fd)
Далее создаем наш софтварный массив:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
Я создавал зеркальный массив, поэтому «уровень» равен 1, а в зависимости от количества разделов в массиве вы изменяете --raid-devices
На вопрос действительно ли мы хотим создать массив отвечаем утвердительно. Готово! Осталось только создать файловую систему и примонтировать раздел для установки системы:
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt
Я создал файловую систему типа ext4, но вы можете создать и другую. Чтобы посмотреть список всех доступных фс напишите mkfs.и нажмите таб.
Установка системы и конфигурация загрузчика
По официальному мануалу ставим систему до пункта «Установка загрузчика». Весь трабл в том, что груб первый не поддержиает загрузку с RAID-массива, но это умеет делать второй. Поэтому мы пишем
pacstrap /mnt grub2-bios
Далее следуем тому же мануалу до пункта «Создание ramdisk'a». Порядок немного другой.
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda
grub-install /dev/sdb
mdadm --examine --scan >> /etc/mdadm.conf
Сначала мы генерируем конфиг груба, после ставим его на все жестянки в массиве, а затем генерируем конфиг самого массива. Далее добавляем хук массива в конфиг рамдиска
nano /etc/mkinitcpio.conf
ищем HOOKS="что-то там" и пишем в конец mdadm
У меня строка такая:
HOOKS="base udev autodetect pata scsi sata filesystems usbinput fsck mdadm"
Далее генерируем рамдиск
mkinitcpio -p linux
Если на экране появилась надпись Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays, то это значит, что все хорошо (:
Выходим из chroot, отмонтируем раздел и перезагружаемся. После загрузки проверяем диски через fdisk -l
fdisk -l
Где md0 и есть RAID-массив, с которого была загружена система
Disk /dev/sda: 60.0 GB, 60022480896 bytes
81 heads, 63 sectors/track, 22973 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2d5689a5
Device Boot Start End Blocks Id System
/dev/sda1 2048 117231407 58614680 fd Linux raid autodetect
Disk /dev/sdb: 60.0 GB, 60022480896 bytes
81 heads, 63 sectors/track, 22973 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009e9af
Device Boot Start End Blocks Id System
/dev/sdb1 2048 117231407 58614680 fd Linux raid autodetect
Disk /dev/md0: 60.0 GB, 59987787776 bytes
2 heads, 4 sectors/track, 14645456 cylinders, total 117163648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Где md0 и есть RAID-массив, с которого была загружена система
Вот и все! (: Всем добра и удачи в ваших начинаниях!
Спасибо пользователю sergeyotro за поправку смысловой ошибки