Суть черезстрочного RAID (с которым работает лишь драйвер RAID) Это level=raid0 :
физический носитель HDD1 | первое | третье | пятое | седьмое |
физический носитель HDD2 | второе | четвёртое | шестое | восьмое |
Как результат появляется некий "виртуальный массив HDD" с которым и работает OS:
виртуальный носитель md | первое | второе | третье | четвёртое | пятое | шестое | седьмое | восьмое |
Читал форумы, где всеми способами отговаривают от использования RAID 0 (черестрочный RAID).
По моему мнению: приобретение реально ОДИНАКОВОГО массива дисков - задача затратная. Поэтому достаточно двух близких по размеру для организации RAID 0 (у меня скорости до RAID 400 и 317 МБ за 3 сек соответственно, в RAID 700 МБ за 3 сек).
По памяти: изначально делал средствами gparted. Просто создав два (одинакового размера) пустых раздела на двух HDD, на которые и поставил по флагу "raid".
В таком режиме RAID-массив (черезстрочный) отработал больше 10 лет. Проблема возникла лишь при попытке поменять ядро операционной системе на много более современное (переход с 3.13 на 4.4). См. "Ещё о работе с ядром (на примере ubuntu 14.04)" (здесь) ОШИБКА вида:
Incrementally started RAID arrays
mdadm: CREATE user root not found
mdadm: CREATE group disk not found
sudo fdisk -l
Диск /dev/sdc: 1000.2 Гб, 1000204886016 байт
255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Устр-во Загр
Начало
Конец Блоки Id
Система
/dev/sdc1 *
2048 165887189 82942571
83 Linux
/dev/sdc2 165887998
1953523711 893817857 5 Расширенный
/dev/sdc5 165888000
182681599 8396800 82 Linux
своп / Solaris
/dev/sdc6 182683648 1953523711 885420032 83 Linux
-----
Диск /dev/sda: 1000.2 Гб, 1000204886016 байт
255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Устр-во
Загр Начало
Конец Блоки Id
Система
/dev/sda1
2048 6146047
3072000 82 Linux своп / Solaris
/dev/sda2
6146048 1953523711 973688832
5 Расширенный
/dev/sda5
6148096 1953523711 973687808 fd
Автоопределение Linux raid
+ dev_sda_err.png = странное сообщение об ошибке (тревоге), которая указана для этого раздела.
-----
Диск /dev/sdb: 1000.2 Гб, 1000204886016 байт
255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Устр-во
Загр Начало
Конец Блоки Id
Система
/dev/sdb1
2048 6146047
3072000 82 Linux своп / Solaris
/dev/sdb2
6146048 1953523711 973688832
5 Расширенный
/dev/sdb5
6148096 1953523711 973687808 fd
Автоопределение Linux raid
+ dev_sdb_err.png = странное сообщение об ошибке (тревоге), которая указана для этого раздела.
-----
Диск /dev/md0: 1994.1 Гб, 1994111582208 байт
255 головок, 63 секторов/треков, 242436 цилиндров, всего 3894749184 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Устр-во
Загр Начало
Конец Блоки Id
Система
/dev/md0p1
2048 3894749183 1947373568 83 Linux
-----
mount
/dev/sdc1 on / type ext4 (rw,errors=remount-ro)
/dev/sdc6 on /media/vas_vic/second type ext4 (rw,nosuid,nodev)
/dev/md0p1 on /media/vas_vic/RAIDcommon type ext4 (rw,nosuid,nodev)
sudo cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
<file system> <mount point> <type>
<options> <dump>
<pass>
# / was on /dev/sdc1 during installation
UUID=82339623-ad79-420c-b258-e02ea170014b
/
ext4 errors=remount-ro
0 1
#/dev/sda1
UUID=ee529ca8-6f63-4741-b3d5-64678cb002c3 none
swap sw
0 0
#/dev/sdb1
UUID=0a24567a-7044-46b0-aeea-ae1476bbf864 none
swap
sw
0 0
# swap was on /dev/sdc5 during installation
UUID=ef0c7c45-4e13-4812-a4a8-ac365fd0987a
none
swap
sw
0 0
# second /dev/sdc6
UUID=5b6e87da-b7e1-4da6-9458-3a8161aaf92e /media/vas_vic/second ext4 rw,user,auto,exec 0 0
#rw,nosuid,nodev,uhelper=udisks2
# RAIDcommon /dev/md0p1
UUID=0bc5ea4c-2159-499a-b58a-1d79fcb7355c /media/vas_vic/RAIDcommon/ ext4 rw,user,auto,exec 0 0
Если внесли изменения в /etc/fstab то не забыть:
sudo mount -a # примонтировать всё, что в этом файле описанно
Очень тщательное описание работы (здесь)
lsblk # удобная утилита, чтобы отобразить RAID массив
---
sudo mdadm --detail --scan --verbose
ARRAY /dev/md/0 level=raid0 num-devices=2 metadata=1.2 name=virtuos:0
UUID=00e1e8f9:0dc0a24d:458b61ad:82781cce
devices=/dev/sda5,/dev/sdb5 # эту часть
отклика в /etc/mdadm/mdadm.conf писать БЕСПОЛЕЗНО!!! Так как количество
devices вместе с единым UUID однозначно описывают ВСЕ элементы массива.
Этот UUID с откликом sudo blkid взаимодействет ПО ПЕРВОМУ (и второму) задействованному разделу:
/dev/sda5: UUID="00e1e8f9-0dc0-a24d-458b-61ad82781cce" UUID_SUB="c9c15c92-f99d-51c5-0a45-81ebbe992ef8" LABEL="virtuos:0" TYPE="linux_raid_member"
/dev/sdb5: UUID="00e1e8f9-0dc0-a24d-458b-61ad82781cce" UUID_SUB="1898d861-4c14-036f-2755-6bd0853a778f" LABEL="virtuos:0" TYPE="linux_raid_member"
/dev/md0p1: LABEL="RAIDcommon" UUID="0bc5ea4c-2159-499a-b58a-1d79fcb7355c" TYPE="ext4"
Дополняем /etc/mdadm/mdadm.conf
# vas_vic adds this:
DEVICE partitions
ARRAY /dev/md/0 level=raid0 num-devices=2 metadata=1.2 name=virtuos:0
UUID=00e1e8f9:0dc0a24d:458b61ad:82781cce
# devices=/dev/sda5,/dev/sdb5
sudo update-grub
Ещё раз глянуть на творение:
cat /proc/mdstat
md0 : active raid0 sda5[0] sdb5[1]
1947374592 blocks super 1.2 512k chunks
sudo mdadm -D /dev/md0
ИЛИ
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 7 15:21:47 2013
Raid Level : raid0
Array Size : 1947374592 (1857.16 GiB 1994.11 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Aug 7 15:21:47 2013
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Name : virtuos:0 (local to host virtuos)
UUID : 00e1e8f9:0dc0a24d:458b61ad:82781cce
Events : 0
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 21 1 active sync /dev/sdb5
Если не срабатывает (в качестве массива), то попробовать:
mdadm --assemble --scan # найти, что найдёт и попытаться собрать в массив
mdadm: No arrays found in config file or automatically # то есть он НЕ ВИДИТ того, что мог бы добавить в массив, хотя RAIDcommon /dev/md0p1 к этому моменту уже был отмонтирован.
sudo mdadm --assemble /dev/md0 /dev/sda5 /dev/sdb5 # указано попытаться собрать в массив
mdadm: /dev/sda5 is busy - skipping
mdadm: /dev/sdb5 is busy - skipping
# То есть массив собран-задействован КАКИМ-ТО другим средством!
...
физический носитель HDD1 | первое | второе | третье | четвёртое |
физический носитель HDD2 | первое | второе | третье | четвёртое |
При этом OS работает лишь с носителем HDD1. А драйвер RAID автоматически обеспечивает, чтобы на HDD2 была зеркальная копия с HDD1.
Так как такой подход хорош только для ОТКАЗОУТОЙЧИВОСТИ, то есть ошибка пользователя совершённая на HDD1 автоматически транслируется на HDD2. Следовательно для реальных производственных целей удобнее ОБХОД этой технологии на основе ОТСТАЮЩЕЙ СИНХРОНИЗАЦИИ: когда рабочий день закончен и вроде бы разрушительных ошибок не допущено, то только тогда и запускается зеркалирование на HDD2 (то есть по сути используется динамическая копия, отстающая по времени от процесс создания оригинала).
При таком подходе все ценные данные нужно сохранять на резервный носитель (третий HDD) с использованием (что лучше всего) за счёт самодисциплины пользователя: на окончание работы запускать синхронизацию rsync ИЛИ по anacron (то есть в автоматическом режиме). То есть третий диск в системе появляется, но так как пользователь изначально может определить ценность данных и разложить их по папкам "Нуждается в сохранении back копии" (= unique) / "Не нуждается в резервировании" (= ordinary), то третий диск может быть сущесвенно медленнее и меньшего размера, чем любой из дисков, входящих в черезстрочный RAID.
---
Суть параметров rsync следующая:
sudo rsync -h -r -t -p -o -g -v --progress --delete -u -c
/media/vas_vic/RAIDcommon/unique/ /media/second/Backup.Vas/
# -h, --human-readable
output numbers in a human-readable format (выводить номера в формате
понятном человеку)
# -r,
--recursive
recurse into directories (рекурсивно брать содержимое каталогов)
# -t,
--times
preserve modification times (сохранять [у копии] время изменения [по
оригиналу])
# -p,
--perms
preserve permissions (сохранять права)
# -o,
--owner
preserve owner (super-user only) (сохранять идентификатор
владельца-создателя)
# -g,
--group
preserve group (сохранять группу)
# -v,
--verbose
increase verbosity (увеличить подробность разъяснений)
#
--progress
show progress during transfer (отображать прогресс-индикатор в течении
перемещения)
#
--delete
delete extraneous files from destination dirs (удалять посторонние
файлы в получающем директории)
# -u,
--update
skip files that are newer on the receiver (пропускать файлы, которые в
получателе новее, чем в оригинале)
# -c,
--checksum
skip based on checksum, not mod-time & size (!!! пропускать файлы
базируясь на контрольной сумме, но не на дате и времени)
Соответственно, после однократного прогона с параметром -с можно уже упростить работу и его не использовать. Скорость работы возрастёт колосcально.
Ссылки: