[spoilerЧто такое RAID*?:]RAID (англ. redundant array of independent disks — избыточный массив независимых жёстких дисков) — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).
Аббревиатура RAID изначально расшифровывалась как «redundant array of inexpensive disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле RAM). Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем RAID стали расшифровывать как «redundant array of independent disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).
Калифорнийский университет в Беркли представил следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
RAID 0 представлен как дисковый массив повышенной производительности, без отказоустойчивости.
RAID 1 определён как зеркальный дисковый массив.
RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
RAID 3 и 4 используют массив дисков с чередованием и выделенным диском чётности.
RAID 5 используют массив дисков с чередованием и "невыделенным диском чётности".
RAID 6 используют массив дисков с чередованием и двумя независимыми "чётностями" блоков.
RAID 10 — RAID 0, построенный из RAID 1 массивов
RAID 50 — RAID 0, построенный из RAID 5
RAID 60 - RAID 0, построенный из RAID 6
По подробнее а RAID'ах википед[/spoiler]
Описание RAID-1
RAID 1
Два диска — минимальное количество для построения «зеркального» RAID 1
Схема RAID 1
RAID 1 (mirroring — «зеркалирование»).
(+): Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.
(+): Имеет высокую надёжность — работает до тех пор, пока функционирует хотя бы один диск в массиве. Вероятность выхода из строя сразу двух дисков равна произведению вероятностей отказа каждого диска, см. Вероятность пересечения событий. На практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва. Достоинство такого подхода — поддержание постоянной доступности.
(-): Недостаток заключается в том, что приходится выплачивать стоимость двух жёстких дисков, получая полезный объём одного жёсткого диска (классический случай, когда массив состоит из двух дисков).
Зеркало на многих дисках — RAID 1+0 или RAID 0+1. Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10. Достоинства и недостатки такие же, как и у уровня RAID 0. Как и в других случаях, рекомендуется включать в массив диски горячего резерва из расчёта один резервный на пять рабочих.
Примечание:
Начиная с 5.3-Release, в состав FreeBSD входит утилита gmirror(8),
которая позваляет вам более легко создавать решения RAID 1
GEOM является модульной дисковой структурой,
появившейся в FreeBSD 5.0. В результате модульной структуры,
появляется возможность создавать программы, способные управлять
дисками. Лучшие примеры - программные реализации RAID, появившиеся в
FreeBSD 5.3:
* gstripe(8) обеспечивает чередование или RAID 0
* mirror(8) обеспечиват зеркалирование/дуплекс или RAID 1
* graid3(8) обеспечивает чередование с контролем четности или RAID 3
Что у нас есть?
Виртуальная машина qemu-kvm установленная в ubuntu 10.10
Установил FreeBSD 7.2 на виртуалку
RAM: 512 мб
CPU: 1 (2.6)
HDD: 2 по 5гб (10 гб)
Network card: 1
Таак поехали:
Смотри видет ли систем HDD:
Код: Выделить всё
dmesg | grep ^ad
Смотрим размер и т д.
Код: Выделить всё
df -h
Создание зеркалирования/дублекса осуществляется вводом следующей команды:
Код: Выделить всё
gmirror label -v -b round-robin gm0 /dev/ad0
-b round-robin выбирает алгоритм балансировки (в настоящее время это
наиболее быстродействующий алгоритм), gm0 - имя первого зеркала GEOM и
/dev/ad0 указывает на диск, содержащий данные для зеркалирования.
Но у меня влезла ошибка:
не много по гуглив нашел ответ:
Выполняем команду еще раз:Это особенность защиты, которая указывает, что диск в настоящее время
установлен для записи и поэтому недоступен. Однако, вы можете обойти
эту проблему цыпленка-и-яйца и временно вынудить
gmirror обойти эту меру, чтобы создать зеркалирование/дуплекс,
устанавливая sysctl MIB:
# sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16
Не волнуйтесь, после перезагрузки этот параметр снова примет значение "0".
Код: Выделить всё
gmirror label -v -b round-robin gm0 /dev/ad0
Так же теперь нам необходимо отредактировать два файла. Первый из них в настоящее время пуст, используем утилиту echo для того, чтобы внести в него необходимый параметр.
Добавляем в авто загрузку:
Код: Выделить всё
echo geom_mirror_load="YES" > /boot/loader.conf
Теперь сохраняем копию файла и редактируем файл /etc/fstab:
Код: Выделить всё
cp /etc/fstab fstab.backup
После редактирование:
Измените каждый ad на gm и вставьте mirror после /dev. Для примера, /dev/ad0s1a трансформируется в /dev/mirror/gm0s1a. Если вы не делали
дополнительные разделы, то у вас будут устройства ad0s1, оканчивающиеся на a, b, d, e и f. Необходимо отредактировать каждую строку.
Редактируем файл fstab
Код: Выделить всё
vi /etc/fstab
Меняем ad0 на mirror gm0
Нажимаем на Enter и снова нажимаем на Shift+: {клавиша Ж или :} и набираем команду записать и сохранить qw и Enter.
Хотите узнать про vi по больше смотри man vi
Синхронизируем диски и перезагружаемый:
Код: Выделить всё
sync # cинхронизируем
shutdown -r now # перезагружаемый
- .....................................................
e.g. ufs:da0s1a
? List valid disk boot devices
Abort manual input
mountroot>
[spoiler]Система не загружается
Если система прекращает загрузку и выдает строку:
Перезагрузите компьютер кнопкой питания или кнопкой ''Reset''. В загрузочном меню выберите опцию (6). Это приведет к тому, что система выдаст приглашение loader(8). Загрузите модуль ядра вручную:ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot>
Код: Выделить всё
OK? load geom_mirror
OK? boot
Код: Выделить всё
options GEOM_MIRROR
И все загрузилась удачно ))
Смотри mirror диски
Код: Выделить всё
gmiror status
Код: Выделить всё
gmirror list
Видим что есть одни активный диск.
Добавляем наш второй диск ad1.
Код: Выделить всё
gmirror insert gm0 /dev/ad1
Смотрим командами:
Код: Выделить всё
gmirror status
Код: Выделить всё
gmirror list
и если видим что то в этом то значить все ОК.