RAID0 - Создание дисковой последовательности (Striping)
Создание дисковой последовательности (Striping) — метод, применяемый, чтобы скомбинировать несколько физических дисков в один логический. Во многих случаях это делается с использованием аппаратных контроллеров. Дисковая подсистема GEOM предоставляет программную поддержку RAID0, иногда называемую дисковой последовательностью (Stripe).
В RAID уровня 0 данные разбиваются на блоки, которые параллельно записываются на все диски массива. Вместо того, чтобы ждать записи 256k на один диск, RAID0 может параллельно записывать по 64k на каждый из четырёх дисков, обеспечивая более высокую производительность ввода/вывода. Производительность также может быть увеличена за счет использования большего числа дисков.
Все диски последовательности RAID0 должны быть одного размера, так как запись и считывание с дисков происходят параллельно.

Создание дисковой последовательности из неформатированных ATA дисков
1. Загрузите модуль geom_stripe.ko:
# kldload geom_stripe
2. Убедитесь, что существует подходящая точка монтирования. Если вы планируете сделать логический диск корневым разделом, используйте временную точку монтирования, например /mnt:
# mkdir /mnt
3. Определите имена устройств, которые будут объединены в последовательность, и создайте новое устройство для последовательности. Например, чтобы создать дисковую последовательность из двух неиспользуемых и неразмеченных ATA дисков, например /dev/ad2 и /dev/ad3:
# gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2.
Metadata value stored on /dev/ad3.
Done.
4. Запишите стандартную метку, также известную как таблица разделов, в новый том, и установите стандартный загрузчик:
# bsdlabel -wB /dev/stripe/st0
5. Теперь в /dev/stripe кроме st0 появились ещё два устройства — st0a и st0c. Теперь создайте файловую систему на устройстве st0a, используя утилиту newfs:
# newfs -U /dev/stripe/st0a
На экране промелькнет множество цифр, и через несколько секунд процесс будет завершен. Логический диск создан и готов к монтированию.
Смонтируйте его вручную:
# mount /dev/stripe/st0a /mnt
Чтобы монтировать созданную дисковую последовательность автоматически во время загрузки, добавьте информацию о ней в файл /etc/fstab. Создайте постоянную точку монтирования и назовите её, к примеру, stripe:
# mkdir /stripe
# echo "/dev/stripe/st0a /stripe ufs rw 2 2" \
>> /etc/fstab
Чтобы модуль geom_stripe.ko автоматически загружался во время инициализации системы, добавьте строку в /boot/loader.conf:
# echo 'geom_stripe_load="YES"' >> /boot/loader.conf
RAID1 - Зеркалирование (Mirroring)
Зеркалирование (Mirroring) — технология, применяемая как в корпоративной среде, так и на домашних компьютерах. Она позволяет создавать резервные копии ''на лету''. Зеркалирование, по сути, означает, что диск A является копией диска B. Или, возможно, диск C+D является копией диска A+B. Вне зависимости от конфигурации, основной аспект — дублирование информации. Позже, эта информация может быть с легкостью восстановлена или сохранена как резервная копия без остановки системы, или даже физически помещена в хранилище данных.
Перед началом, убедитесь, что у вас есть два физических диска равной емкости. Далее в этом примере подразумевается, что это диски прямого доступа (direct access, da(4)) с интерфейсом SCSI.
Зеркалирование первичных дисков
В статье предполагается, что FreeBSD установлена на первый жесткий диск, определяемый системой как da0. Это устройство будет целевым для утилиты gmirror(8).
Перед построением зеркала включите дополнительную отладочную информацию и откройте доступ к устройству. Это достигается установкой следующего значения переменной sysctl(8) kern.geom.debugflags:
# sysctl kern.geom.debugflags=17
Теперь создайте зеркало. Начните процесс с сохранения метаданных на первом диске. В результате выполнения следующей команды будет создано устройство вида /dev/mirror/gm:
Внимание: Создание зеркала на диске, с которого произведена загрузка, может повлечь за собой потерю данных в том случае, если данными занят последний сектор диска. Риск повреждения данных меньше, если создание зеркала немедленно следует за свежей установкой FreeBSD.
# gmirror label -vb round-robin gm0 /dev/da0
Система должна выдать следующее сообщение:
Metadata value stored on /dev/da0.
Done.
Инициализируйте GEOM, это повлечет за собой загрузку модуля ядра /boot/kernel/geom_mirror.ko:
# gmirror load
Замечание: После успешного завершения команды будет создано устройство gm0 в каталоге /dev/mirror.
Включите автоматическую загрузку модуля geom_mirror.ko во время старта операционной системы:
# echo 'geom_mirror_load="YES"' >> /boot/loader.conf
Отредактируйте файл /etc/fstab, заменив в нём упоминания старого имени устройства da0 новым именем устройства зеркала gm0.
Замечание: Если vi(1) — ваш любимый текстовый редактор, то эта задача решается просто:
# vi /etc/fstab
Сделайте резервную копию файла fstab, набрав в vi(1) :w /etc/fstab.bak. Затем замените все части строк, содержащие имя устройства da0, на имя gm0, набрав :%s/da/mirror\/gm/g.
Независимо от аппаратного интерфейса дисков (SCSI или ATA), устройство RAID будет именоваться всегда одинаково — gm. Содержимое файла fstab должно выглядеть подобно следующему:
# Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1d /usr ufs rw 0 0
/dev/mirror/gm0s1f /home ufs rw 2 2
#/dev/mirror/gm0s2d /store ufs rw 2 2
/dev/mirror/gm0s1e /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
Перезагрузите систему:
# shutdown -r now
С этого момента во время каждой загрузки система должна использовать устройство gm0 вместо устройства da0. Удостовериться в этом можно так: дождитесь загрузки системы, наберите команду mount и просмотрите её вывод:
# mount
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 1012974 224604 707334 24% /
devfs 1 1 0 100% /dev
/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
devfs 1 1 0 100% /var/named/dev
Как и ожидалось, вывод выглядит корректно. И в заключение, чтобы начать синхронизацию данных, включите в зеркало диск da1 при помощи следующей команды:
# gmirror insert gm0 /dev/da1
Во время построения зеркала статус процесса построения может быть проверен следующей командой:
# gmirror status
Вывод вышеприведённой команды для построенного и синхронизированного зеркала выглядит подобно следующему:
Name Status Components
mirror/gm0 COMPLETE da0
da1
Если есть какие-либо неполадки или зеркало находится в процессе построения, в выводе команды будет обозначен статус DEGRADED вместо статуса COMPLETE.
Решение проблем
Система не загружается
Если система прекращает загрузку и выдает строку:
ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot>
Перезагрузите компьютер кнопкой питания или кнопкой ''Reset''. В загрузочном меню выберите опцию (6). Это приведет к тому, что система выдаст приглашение loader(8). Загрузите модуль ядра вручную:
OK? load geom_mirror
OK? boot
Если это сработало, модуль ядра по какой-либо причине не загрузился правильно. Проверьте корректность соответствующей записи в /boot/loader.conf. Если проблема осталась, добавьте строку:
options GEOM_MIRROR
в файл конфигурации ядра, пересоберите и переустановите ядро. Это должно устранить проблему.
Дата добавления: 2018-10-26; просмотров: 258; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
