diff --git a/ru_RU.KOI8-R/books/handbook/geom/chapter.sgml b/ru_RU.KOI8-R/books/handbook/geom/chapter.sgml index 58145452df..64d27624fe 100644 --- a/ru_RU.KOI8-R/books/handbook/geom/chapter.sgml +++ b/ru_RU.KOI8-R/books/handbook/geom/chapter.sgml @@ -1,599 +1,599 @@ Tom Rhodes Написал Денис Баров Перевод на русский язык: GEOM: Модульная инфраструктура преобразования дисковых запросов Краткий обзор GEOM Инфраструктура GEOM GEOM Эта глава описывает использование дисков, управляемых инфраструктурой GEOM во &os;. Среди прочего, здесь описывается большая часть утилит управления RAID, использующих GEOM для настройки. В этой главе мы не будем вдаваться в подробности взаимодействия GEOM с подсистемой ввода/вывода или с программным кодом, эту информацию вы можете получить на странице справочника &man.geom.4;. Эта глава также не является подробным руководством по настройке RAID. Мы обсудим только типы RAID, поддерживаемые GEOM. После прочтения этой главы вы будете знать: Какие типы RAID поддерживает GEOM. Как использовать стандартные утилиты для настройки, обслуживания и управления различными уровнями RAID. Как с помощью GEOM создавать зеркальные, последовательные и шифрованные дисковые последовательности, а так же последовательности из дисков, присоединённых удалённо. Как решать проблемы с дисками, присоединёнными к инфраструктуре GEOM. Перед чтением этой главы вы должны: Понимать, как &os; работает с дисками (). Уметь сконфигурировать и установить новое ядро &os; (). Введение в GEOM GEOM позволяет классам — MBR, BSD labels, и так далее — получить доступ к устройству и управлять им, используя поставщиков GEOM (providers) или специальные файлы устройств, расположенные в каталоге /dev. GEOM поддерживает различные программные конфигурации RAID, и прозрачно предоставляет доступ к дискам системе и системным приложениям. Tom Rhodes Написали Murray Stokely RAID0 - Создание дисковой последовательности (Striping) GEOM Создание дисковой последовательности (Striping) Создание дисковой последовательности (Striping) — метод, применяемый, чтобы скомбинировать несколько физических дисков в один логический. Во многих случаях это делается с использованием аппаратных контроллеров. Дисковая подсистема GEOM предоставляет программную поддержку RAID0, иногда называемую дисковой последовательностью (Stripe). В RAID уровня 0 данные разбиваются на блоки, которые параллельно записываются на все диски массива. Вместо того, что бы ждать записи 256k на один диск, RAID0 может параллельно записывать по 64k на каждый из четырёх дисков, обеспечивая более высокую производительность ввода/вывода. Производительность также может быть увеличена за счет использования большего числа дисков. Все диски последовательности RAID0 должны быть одного размера, так как запись и считывание с дисков происходят параллельно. Иллюстрация дисковой последовательности Создание дисковой последовательности из неформатированных ATA дисков Загрузите модуль geom_stripe: &prompt.root; kldload geom_stripe Убедитесь, что существует подходящая точка монтирования. Если вы планируете сделать логический диск корневым разделом, используйте временную точку монтирования, например /mnt: &prompt.root; mkdir /mnt Определите имена устройств, которые будут объединены в последовательность, и создайте новое устройство для последовательности. Например, чтобы создать дисковую последовательность из двух неиспользуемых и неразмеченных ATA дисков, например /dev/ad2 и /dev/ad3: &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 Запишите стандартную метку, также известную как таблица разделов, в новый том, и установите стандартный загрузчик: &prompt.root; bsdlabel -wB /dev/stripe/st0 Теперь в /dev/stripe кроме st0 появились ещё два устройства — st0a и st0c. Теперь создайте файловую систему на устройстве st0a, используя утилиту newfs: &prompt.root; newfs -U /dev/stripe/st0a На экране промелькнет множество цифр, и через несколько секунд процесс будет завершен. Логический диск создан и готов к монтированию. Смонтируйте его вручную: &prompt.root; mount /dev/stripe/st0a /mnt Чтобы монтировать созданную дисковую последовательность автоматически во время загрузки, добавьте информацию о ней в /etc/fstab: &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ >> /etc/fstab Чтобы модуль geom_stripe автоматически загружался во время инициализации системы, добавьте строку в /boot/loader.conf: &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf RAID1 - Зеркалирование (Mirroring) GEOM Зеркалирование дисков Зеркалирование (Mirroring) — технология, применяемая как в корпоративной среде, так и на домашних компьютерах. Она позволяет создавать резервные копии на лету. Зеркалирование, по сути, означает, что диск A является копией диска B. Или, возможно, диск C+D является копией диска A+B. Вне зависимости от конфигурации, основной аспект — дублирование информации. Позже, эта информация может быть с легкостью восстановлена или сохранена как резервная копия без остановки системы, или даже физически помещена в хранилище данных. Перед началом, убедитесь, что у вас есть два физических диска равной емкости. Далее в этом примере подразумевается, что это диски прямого доступа (direct access, &man.da.4;) с интерфейсом SCSI. Начните с установки &os; на первый диск с двумя разделами. Один из этих разделов должен быть раздел swap, равный двум размерам RAM, а все остальное место отведено под корневую файловую систему (/). Возможно также иметь отдельные разделы и для остальных точек монтирования, но так как это в несколько раз увеличивает количество манипуляций с &man.bsdlabel.8; и &man.fdisk.8;, то в данной главе мы остановимся на более простом варианте. После установки перезагрузитесь и дождитесь окончания инициализации системы, затем войдите как суперпользователь root. Создайте устройство /dev/mirror/gm и свяжите его с устройством /dev/da1: &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 В ответ вы должны получить сообщение: Metadata value stored on /dev/da1. Done. Инициализируйте GEOM; эта команда загрузит модуль ядра /boot/kernel/geom_mirror.ko: &prompt.root; gmirror load Эта команда создаст устройства gm0, gm0s1, gm0s1a и gm0s1c в каталоге /dev/mirror. Установите стандартную разметку fdisk и загрузчик на новое устройство gm0: &prompt.root; fdisk -vBI /dev/mirror/gm0 Теперь установите стандартную разметку bsdlabel: &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 Если у вас несколько слайсов или разделов, параметры двух предыдущих команд должны быть другими. Среди них должны быть указаны размеры слайсов и разделов. Используйте &man.newfs.8;, чтобы создать файловую систему на устройстве gm0s1a: &prompt.root; newfs -U /dev/mirror/gm0s1a Это заставит систему проассоциировать устройства, и это хорошо. Проверьте, не было ли сообщений об ошибках, и смонтируйте устройство в каталог /mnt: &prompt.root; mount /dev/mirror/gm0s1a /mnt Теперь переместите все данные с загрузочного диска на только что созданную файловую систему. Для этого используйте &man.dump.8; и &man.restore.8;; в некоторых случаях можно использовать &man.dd.1;. &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) Проделайте это со всеми файловыми системами. Просто подставьте нужную файловую систему в предыдущую команду. Теперь отредактируйте /mnt/etc/fstab и закомментируйте swap файл Следует заметить, что после комментирования записи о разделе подкачки в файле fstab вам, скорее всего, потребуется разрешить подкачку каким-либо другим способом. Обратитесь к за дополнительной информацией. . Измените информацию о других файловых системах, размещенных на диске, как показано в примере: # Device Mountpoint FStype Options Dump Pass# #/dev/da0s2b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1 Создайте файл boot.config на обоих разделах: созданном и существующем. С помощью этого файла BIOS сможет загрузить правильный диск: &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config Мы поместили этот файл в оба корневых раздела на тот случай, если по каким-либо причинам система не сможет загрузиться с нового раздела. В таком случае загрузка со старого все еще будет возможна. Включите загрузку модуля geom_mirror.ko при старте системы, выполнив следующую команду: &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf Перезагрузитесь: &prompt.root; shutdown -r now Если все было сделано правильно, система загрузится с gm0s1a. Если же что-то пойдёт не так, обратитесь к секции Решение проблем. Теперь добавьте диск da0 к устройству gm0: &prompt.root; gmirror configure -a gm0 &prompt.root; gmirror insert gm0 /dev/da0 Ключ даст утилите команду &man.gmirror.8; использовать автоматическую синхронизацию, то есть автоматически дублировать запись на диски. Страница справки разъясняет, как перестраивать и заменять диски, Будьте внимательны, вместо gm0 там использовано обозначение data. Решение проблем Система не загружается Если система прекращает загрузку и выдает строку: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> Перезагрузите компьютер кнопкой питания или кнопкой Reset. В загрузочном меню выберите опцию (6). Это приведёт к тому, что система выдаст приглашение &man.loader.8;. Загрузите модуль ядра вручную: OK? load geom_mirror OK? boot Если это сработало, модуль ядра по какой-либо причине не загрузился правильно. Добавьте строку options GEOM_MIRROR в файл конфигурации ядра, пересоберите и переустановите ядро. Это должно устранить проблему. Сетевые устройства GEOM Gate GEOM включает в себя поддержку работы с удаленными устройствами по сети, например с дисками, CD-ROM и т.д. путем использования gate утилит. Это аналогично работе с NFS. Для начала необходимо создать файл экспорта. В этом файле указывается, кому разрешен доступ к экспортируемым ресурсам и какой уровень доступа предоставляется. Например для того, чтобы экспортировать четвертый слайс первого SCSI диска, достаточно следующей записи в файле /etc/gg.exports: 192.168.1.0/24 RW /dev/da0s4d Это позволит всем компьютерам внутри частной сети получить доступ к разделу da0s4d. Что бы экспортировать устройство, убедитесь, что оно не смонтировано, и запустите сервер &man.ggated.8;: &prompt.root; ggated Теперь, чтобы смонтировать устройство на клиентском компьютере выполните следующие команды: &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d ggate0 &prompt.root; mount /dev/ggate0 /mnt С этого момента устройство доступно в точке монтирования /mnt. Необходимо заметить, что попытка смонтировать устройство, уже смонтированное как сетевой или локальный диск, закончится неудачей. Когда устройство больше не нужно, оно может быть размонтировано командой &man.umount.8;, как любое другое дисковое устройство. Денис Пеплин Перевод на русский язык Метки дисковых устройств GEOM Метки дисков Во время загрузки системы, ядро &os; создает файлы для обнаруженных устройств. Этот метод обнаружения устройств создает некоторые проблемы, например если новое дисковое устройство подключается через USB. Может получиться так, что этому диску будет присвоено имя устройства da0, а устройство с прежним именем da0 получит следующее имя, da1. Это приведет к проблемам монтирования файловых систем, записанных в /etc/fstab. На самом деле, это может даже помешать загрузке системы. Одно из решений состоит в расположении SCSI устройств в таком порядке, чтобы новые устройства, добавляемые к SCSI контроллеру, занимали свободные номера устройств. Но что делать с USB устройствами, которые могут занять место основного SCSI диска? Это случается потому, что USB устройства обычно тестируются до SCSI контроллера. Решение может состоять в подключении этих устройств после загрузки системы. Другое решение - использование ATA диска и исключение SCSI устройств из /etc/fstab. Есть и лучшее решение. С помощью утилиты glabel, администратор или пользователь могут пометить дисковые устройства и использовать эти метки в /etc/fstab. Поскольку glabel сохраняет метки в последнем секторе заданного устройства, они сохраняются и после перезагрузки. Используя эти метки вместо имени устройств, можно всегда смонтировать файловую систему независимо от назначенного имени устройства. Очевидно, что метки должны быть постоянными. Утилита glabel может использоваться для создания как временных, так и постоянных меток. Только постоянные метки сохраняются после перезагрузок. Прочтите &man.glabel.8; для получения более подробной информации о различии между метками. Типы меток и примеры Существует два типа меток, основной (generic) тип и метки файловой системы. Различие между метками заключается в автоопределении постоянных меток и в том факте, что метки этого типа сохраняются после перезагрузок. Эти метки доступны через специальный каталог в /dev, имя которого определяется на основе типа файловой системы. Например, метки файловых систем UFS2 будут расположены в - каталоге /dev/ufs2. + каталоге /dev/ufs. Основной тип меток не сохраняется при перезагрузки. Эти метки создаются в каталоге /dev/label и хорошо подходят для экспериментов. Постоянные метки могут быть помещены на файловую систему с помощью утилит tunefs или newfs. Пример команды для создания постоянной метки на файловой системе UFS2 без уничтожения данных: &prompt.root; tunefs -L home /dev/da3 Если файловая система заполнена, это может привести к повреждению данных; в случае заполненной файловой системы надо или удалить ненужные файлы, или не добавлять метки. Метка должна появиться в /dev/ufs2 и может быть добавлена в + role="directory">/dev/ufs и может быть добавлена в /etc/fstab: - /dev/ufs2/home /home ufs rw 2 2 + /dev/ufs/home /home ufs rw 2 2 Во время запуска tunefs файловая система не должна быть смонтирована. Теперь файловую систему можно смонтировать как обычно: &prompt.root; mount /home Для удаления метки можно использовать следующую команду: &prompt.root; glabel destroy home Если модуль ядраgeom_label.ko указан в /boot/loader.conf и загружается вместе с системой, или в ядре указана опция GEOM_LABEL, метку устройства можно изменять без какого-либо негативного для системы эффекта. Файловая система может быть создана с меткой по умолчанию путем использования флага команды newfs. Обратитесь к странице справочника &man.newfs.8; за более подробной информацией.