Успешное выполнение добавления дисков в существующую систему является признаком опытности системного администратора. Разбиение на слайсы, разделы и добавление дисков требуют тщательности в подборе команд и их параметров. Одно неверное нажатие, и все содержимое диска может исчезнуть за считанные секунды. Этот документ был написан в попытке упростить этот процесс и избежать ошибок. К счастью, усовершенствования в имеющихся инструментах (в частности, sysinstall) весьма упростили этот процесс в последних релизах FreeBSD.
Существуют два режима форматирования диска:
режим обеспечения совместимости: Подготовка диска так, чтобы он имел таблицу слайсов, которую можно использовать с другими операционными системами.
режим эксклюзивного использования, иногда называемый опасным режимом: Форматирование диска без таблицы слайсов. Это упрощает процесс добавления дисков, но другие операционные системы не смогут работать с диском. Термин опасный относится к опасности не распознавания системой диска, отформатированного этим способом.
В большинстве случаев эксклюзивный режим является самым простым в использовании с существующими системами, так как новый диск, как правило, предназначен исключительно для FreeBSD. Однако режим обеспечения совместимости дает максимум возможностей в будущих установках ценой большей сложности.
Кроме выбора режима, имеются два способа разбиения диска на слайсы. Один заключается в использовании инструмента установки системы /stand/sysinstall. 2.1.7-RELEASE и более поздние версии sysinstall содержат код для облегчения установки дисков во время обычных системных работ, в основном давая доступ к редактору разделов и разметке диска и возможности записать изменения, причем будет обновляться информация только на выбранном диске и слайсе, не затрагивая другие диски. Другой метод состоит в ручном запуске утилит администратором из командной строки. Для режима эксклюзивного использования используются только три или четыре команды, хотя sysinstall требует некоторых ухищрений.
За века существования управления дисками в UNIX было придумано много новых названий для старых вещей. В следующем словарике даны определения терминов, используемых в этом документе и (надеемся) во FreeBSD вообще.
режим обеспечения совместимости: Разбиение диска так, что на нем присутствует таблица слайсов, используемая и другими операционными системами. Противоположен режиму эксклюзивного использования.
(опасный) режим эксклюзивного использования: Форматирование диска без использования таблицы слайсов. Это упрощает процесс добавления дисков, однако другие (не FreeBSD) операционные системы не смогут распознать диск. Противоположен режиму обеспечения совместимости.
диск: круглый диск, покрытый магнитным материалом или материалом с похожими свойствами, раскручиваемый двигателем и располагающийся под головками. Данные хранятся на диске при помощи изменения магнитного напряжения на диске, что может быть позже прочтено. Жесткие диски, компакт-диски, магнито-оптические и съемные носители Zip/Jaz являются примерами дисков.
слайс: Часть диска. На одном диске по стандартам PC может располагаться до четырех слайсов. Слайсы состоят из последовательно располагающихся секторов. Информация о слайсах записывается в "таблицу слайсов", используемую системным BIOS для нахождения загрузочных разделов. Таблица слайсов в терминологии DOS обычно называется таблицей разделов (Partition Table). Управляется утилитой fdisk.
раздел: Часть слайса. Обычно используется для обозначения частей слайса FreeBSD на диске. Каждая файловая система и область подкачки на диске располагаются в разделе. Управляется утилитой disklabel.
сектор: Самая малая часть диска. Один сектор, как правило, хранит 512 байт данных.
Подготовка диска не является простым процессом. Весьма возможно уничтожение содержимого других дисков вашей системы, если не быть аккуратным.
Тщательно проверяйте свою работу. Очень просто уничтожить информацию не на том диске при работе с этими командами. Если сомневаетесь, обратитесь к сообщениям, выдаваемым при загрузке ядра, для определения верного имени устройства.
Излишне говорить, что мы не отвечаем за какую бы то ни было порчу данных или оборудования, с которыми вы можете столкнуться. Работайте на свой страх и риск!
Сменные диски могут отформатированы точно так же, как обычные жесткие диски. Для определения параметров диска достаточно подключить привод к системе и вставить туда диск во время загрузки. Просмотрите вывод команды dmesg и удостоверьтесь, что в нем присутствуют ваше устройство и размер диска. Если ядро выдает
то диска в устройстве нет. В таком случае вам нужно перезапустить машину перед тем, как пытаться отформатировать диски.В этом разделе подробно описано, как сделать диски полностью предназначенными для FreeBSD. Помните, что иногда диски, подготовленные для режима эксклюзивного использования, не могут быть загрузочными в архитектуре PC.
/stand/sysinstall, программа установки системы, в последних версиях была расширена так, что позволяет сделать процесс подготовки дисков простой задачей. Редакторы fdisk и disklabel, встроенные в sysinstall, являются инструментами с графическим пользовательским интерфейсом, устраняющими большинство неясностей при разбиении дисков. Для версий FreeBSD 2.1.7 и выше это, наверное, самый простой способ подготовки дисков.
Запустите sysinstall как пользователь root, набрав
в командной строке.Выберите пункт Index.
Выберите пункт Partition.
Выберите диск для редактирования с помощью клавиш управления курсором пробела.
Если вы используете этот диск полностью для FreeBSD, выберите A.
Когда будет выдано сообщение:
Do you want to do this with a true partition entry so as to remain cooperative with any future possible operating systems on the drive(s)?
Когда будет задан вопрос о том, действительно ли вы хотите это сделать, ответьте Yes.
Выберите Write.
При выдаче предупреждения Writing on installed systems, ответьте Yes.
Выберите Quit для выхода из редактора FDISK и нажмите ESCAPE для возврата в меню Index.
Выберите пункт Label из меню Index.
Разметьте диск так, как это нужно. Для работы с единственным разделом нажмите C для создания раздела, примите размер по умолчанию, установите тип раздела в Filesystem и укажите точку монтирования (которая не используется).
Нажмите W, когда все закончите и захотите продолжить. Файловая система будет размечена вновь, если вы не указали противное (для новых разделов вам это делать необходимо!). Вы получите сообщение об ошибке:
Проигнорируйте это сообщение.Выйдите по нескольким нажатиям клавиши ESCAPE.
Выполните следующие команды, заменяя ad2 на имя вашего диска.
# dd if=/dev/zero of=/dev/ad2 count=2 # disklabel /dev/ad2 | disklabel -B -R -r ad2 /dev/stdin We only want one partition, so using slice 'c' should be fine: # newfs /dev/ad2c
Если вам нужно отредактировать метку диска для создания нескольких разделов (например, раздела подкачки), выполните следующее:
# dd if=/dev/zero of=/dev/ad2 count=2 # disklabel /dev/$d > /tmp/label Edit disklabel to add partitions: # vi /tmp/label # disklabel -B -R -r ad2 /tmp/label newfs partitions appropriately
Теперь ваш диск готов к работе.
При подготовке дисков для использования в эксклюзивном режиме проще всего воспользоваться командной строкой, но этого делать не следует при подготовке дисков для использования в режиме совместимости. Утилита командной строки fdisk требует сложных вычислений и глубокого понимания устройства таблицы слайсов, что дано не каждому. При подготовке дисков для использования в режиме совместимости используйте sysinstall.
Запустите sysinstall, работая как пользователь root, набрав
в командной строке.Выберите пункт меню Index.
Выберите пункт меню Partition.
Выберите диск для работы при помощи клавиш управления курсором и клавиши SPACE.
Если вы собираетесь использовать для FreeBSD весь диск, нажмите A.
Когда будет выдан вопрос:
Do you want to do this with a true partition entry so as to remain cooperative with any future possible operating systems on the drive(s)?
Выберите Write.
Когда будет выдано диалоговое окно для установки менеджера загрузки, выберите None при помощи клавиши SPACE, а затем нажмите ENTER для подтверждения.
Выберите Quit для выхода из FDISK.
После выдачи предупреждения о менеджере загрузки, выберите None снова.
Выберите пункт Label из меню Index.
Разметьте диск так, как вам нужно. В случае единственного раздела примите размер по умолчанию, тип с наличием файловой системы и точку монтирования (которая не будет использоваться).
Файловая система будет вновь создана, если вы не задали обратное (эту операцию обязательно нужно делать для новых разделов!). Вы получите сообщение об ошибке:
Проигнорируйте его.Выйдите, последовательно нажимая ESCAPE.
Теперь ваш новый диск готов к использованию.
При росте системы может расти и требование к объему виртуальной памяти. Хотя добавление дискового пространства для подкачки в случае уже имеющихся дисков является очень сложной задачей, можно подготовить новый диск с дополнительным пространством для подкачки.
Для добавления пространства подкачки при добавлении диска к системе:
При разбиении диска на разделы, отредактируйте метку диска, выделив некоторое объем диска для раздела `b', а остаток распределив в другие разделы, например, `a' или `e'. Размеры указываются в блоках по 512 байт.
При создании новых файловых систем на диске, НЕ делайте этого для раздела `c'. Вместо этого выполните создание новых файловых систем для разделов, не содержащих пространство для подкачки.
Добавьте такую строчку в файл /etc/fstab:
Замените здесь /dev/ad0b на имя устройства с только что добавленным пространством.
Чтобы сделать пространство для подкачки немедленно доступным, воспользуйтесь командой swapon.
Предоставил: Renaud Waldura (<[email protected]>)
Для переноса файлов с вашего старого диска на новый, выполните:
# mount /dev/ad2 /mnt # pax -r -w -p e /usr/home /mnt # umount /mnt # rm -rf /usr/home/* # mount /dev/ad2 /usr/home
Команды предоставил: Stan Brown (<[email protected]>)
Драйвер CCD (Concatenated Disk Driver) позволяет вам использовать несколько идентичных дисков как один диск. Объединение дисков может повысить производительность через распределение операций чтения и записи между дисками. Обратитесь к страницам справочной системы ccd(4) и ccdconfig(8) или к домашней странице CCD для получения подробной информации.
Вам больше не нужно компилировать специальное ядро для использования ccd. Когда вы запускаете команду ccdconfig, она загрузит соответствующий KLD, если в ядре нет поддержки CCD.
Вы можете строить объединенные диски в разделах типа 4.2BSD. Если вы хотите использовать весь диск, то вам все равно нужно создать новый раздел. Например, disklabel -e может выдавать:
Вы не сможете использовать раздел c для CCD, так как он имеет тип unused. Вместо этого создайте новый раздел точно такого же размера, но типа 4.2BSD:
# size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
Для создания нового CCD выполните следующие команды. Здесь описано, как объединить три диска; просто добавляйте или убирайте устройства по мере необходимости. Помните, что объединяемые диски должны быть идентичными.
# cd /dev ; sh MAKDEV ccd0 # disklabel -r -w da0 auto # disklabel -r -w da1 auto # disklabel -r -w da2 auto # disklabel -e da0 Add partition e with type 4.2BSD # disklabel -e da1 Add partition e with type 4.2BSD # disklabel -e da2 Add partition e with type 4.2BSD # ccdconfig ccd0 273 0 /dev/da0e /dev/da1e /dev/da2e # newfs /dev/ccd0c
Значение 273 задает размер блока данных. Это число секторов диска, (каждый по 512 байт) в каждом блоке данных в CCD. Он должен быть равен по крайней мере 128 kB, и должен быть степенью числа 2.
Теперь вы можете смонтировать и использовать ваш CCD через устройство /dev/ccd0c.
Более мощной и гибкой альтернативой для CCD является Vinum. Обратитесь к домашней странице проекта Vinum Project для получения подробной информации.
Автор выражает благодарности тем, кто принимал участие в этом проекте:
Darryl Okahata (<[email protected]>) за понятное описание настройки диска для режима эксклюзивного использования, которое я постоянно использую в списке рассылки FreeBSD-questions.
Jordan Hubbard (<[email protected]>) за то, что он сделал sysinstall подходящим инструментом для выполнения таких работ.
John Fieber (<[email protected]>) за создание примеров и предоставление информации о DocBook DTD, на основе чего написан этот документ.
Greg Lehey (<[email protected]>) за проверку моей работы и указания на неточности, а также за поддержку.