Этот документ описывает как наиболее быстро и удобно добавить новый жесткий диск к системе, работающей под управлением FreeBSD. Все действия, описываемые ниже были опробованы на FreeBSD 2.2.5 и 2.2.6. В более ранних версиях возможна некорректная работа Disk Label Editor.
Внимание! Неосторожные действия при добавлении новых дисков могут привести к полному уничтожению Вашей системы. Автор не несет никакой ответственности за возможный ущерб, причиненый действиями, описываемыми в данном документе!
Наиболее простым и удобным способом для добавления новых жестких дисков и создания на них разделов и файловых систем является использование утилиты sysinstall.
Первоначально при разметке нового диска на нем создаются разделы. В терминах FreeBSD их называют slice, в терминах DOS - partition. На одном диске можно создать до четырех разделов. Каждая операционная система располагается в отдельном slice. С точки зрения BIOS, раздел - это объединение определенного числа смежных секторов. Информация о разделах хранится в slice table, которая в DOS называется Partition Table. Эта таблица используется BIOS для определения загрузочного раздела. В связи с этим, при создании на диске разделов при помощи sysinstall. Вы можете выбрать два варианта:
Итак, рассмотрим следующий пример: нужно в качестве Secondary Master добавить IDE-диск, на котором требуется создать два раздела - DOS и FreeBSD. На первом IDE контроллере уже находятся один диск и один дисковод CD-ROM. На добавляемом диске требуется на FreeBSD-разделе отвести место для swap, а остальное пространство использовать как одну файловую систему.
Перед началом работы убедитесь, что используемое Вами ядро поддерживает тот тип дисков, который Вы будете добавлять. Также необходимо наличие в каталоге /dev всех необходимых файлов устройств. В частности, в нашем случае необходимо наличие файлов wd2s1* и wd2s2*. Если их нет, то создайте их, дав следующие команды:
MAKEDEV wd2s1a MAKEDEV wd2s2a
Далее, лучше заранее создать точки подмонтировки - т.е. те каталоги, к которым Вы будете монтировать новые файловые системы, создаваемые на добавляемых дисках. Вфайлов нашем примере мы будем использовать для этих целей каталог /new_disk. Итак,в общем виде мы должны сделать следующее: с помощью Fdisk Partition Editor разбить диск на разделы (slice), затем перейти в Disk Label Editor и разметить созданные slice на partition. После этого, находясь в Disk Label Editor, мы даем команду 'W'-Записать изменения.Эта команда разметит диск в соответствие нашими изменениями и смонтирует вновь созданные файловые системы, а также добавит область swap для использования. Все, теперь можно переходить непосредственно к добавлению диска.
Запускаем sysinstall. В главном меню выбираем пункт Custom. Сначала диск надо разбить на разделы, поэтому выбираем пункт Partition. Так как в системе присутствуют два IDE-диска, то в следующем окне Вам надо выбрать диск, который Вы будете размечать. Будьте очень внимательны на этом шаге! Неправильный выбор может полностью разрушить Вашу систему!
В нашем случае мы выбираем диск wd2. После этого мы попадаем в Fdisk Partition Editor. В левом верхнем углу указано имя диска который мы будем размечать. Если по ошибке Вы выбрали не тот диск, дайте команду 'Q' - Выход. В этом случае никакие изменения на диск записаны не будут. Заметим также, что в процессе разметки диска все изменения не записываются до тех пор, пока Вы не датите команду 'W' - Записать изменения. Поэтому, до тех пор пока Вы не дадите эту команду, можно в любой момент прервать процедуру разметки диска дав команду 'Q' - Выход (независимо от того, где в этот момент Вы находитесь - в Fdisk Partition Editor или в Disk Label Editor), а затем полностью выйти из sysinstall. При этом диск останется в том же состоянии, что и в момент запуска sysinstall.
Теперь можно начинать создавать разделы. Для этого дайте команду 'С' - Создать slice. Вам предложат указать размер создаваемого раздела - либо в блоках, либо в мегабайтах, указав после цифры букву 'M'. Затем нужно указать тип создаваемого раздела - 6 для DOS, 165 для FreeBSD, 131 для Linux. Сначала мы создаем DOS-раздел указав тип '6'. Вновь созданный раздел сразу же отображается на экране: в поле Name мы видим wd2s1, в поле Desc указан тип раздела - fat. Аналогично создаем второй раздел - wd2s2, его тип freebsd.
Если Вы ошиблись при создании раздела, то можно с помощью команды 'D' - Удалить slicе удалить его, после чего переразметить диск по Вашему желанию. Обратите внимание, что при созданиии slice диск по умолчанию размечается в Compatibility режиме. Единственный способ разметить диск в Dangerously режиме - это дать команду 'A'- Использовать весь диск, после чего Вам будет задан вопрос - размечать ли диск в Compatibility режиме, или в Dangerously. Лучше остановить свой выбор на Compatibility режиме.
После того, как мы создали необходимые slice нужно выйти из Fdisk Partition Editor дав команду 'Q' - Выход. (Давать команду 'W'-Записать изменения после завершения работы в Fdisk Partition Editor не нужно!). Вы попадете в меню, где Вам будет предложено записать на диск бут-менеджер. Если он Вам не нужен укажите пункт None. Затем Вы попадете в меню где надо снова указать, какой диск Вы размечаете (укажите тот же диск, что и в начале!), после чего Вы вернетесь в меню Custom. На этом первый этап по добавлению диска закончен. Можно переходить к следующему шагу.
Теперь мы должны поделить наш slice на partition, поэтому выбираем пункт Label. Вы попадете в утилиту Disk Label Editor. Тут вы увидите, что на диске уже есть один partition - это то пространство, которое мы отвели для DOS. Информация о нем может выглядеть примерно так:
Part Mount Size Newfs wd2s1 none 24MB DOS
На диске просто создан соответствующий DOS-раздел, который потом надо будет сформатировать в DOS обычной программой format, т.к. sysinstall не проводит форматирование 'чужих' разделов. Находясь в FreeBSD Вы сможете в дальнейшем смонтировать этот DOS-partition с помощью команды
mount_msdos /dev/wd2s1 директориягде директория - точка подмонтировки DOS-раздела.
Если внести в файл /fstab соответствующую строку, то можно обойтись более простой командой, об этом будет сказано позднее.
Находясь в Disk Label Editor Вы можете перемещаться между созданными на предыдущем этапе slice с помощью клавиш управления курсором. Для создания partition в нашем случае нужно выбрать раздел wd2s2 и дать команду 'C' - Создать. Сначала требуется задать размер создаваемого patition - либо в блоках, либо в мегабайтах, указав после цифры букву 'M'. Затем нужно выбрать тип создаваемого partition, т.е. указать что на нем будет размещаться - область swap или фаиловая система. Если выбрать Swap, то сразу будет создан соответствующий partition, и теперь разметка диска выглядит следующим образом:
Part Mount Size Newfs wd2s1 none 24MB DOS wd2s2b swap 10MB SWAP
Заметим, что имя 'b' по умолчанию используется для обозначения partition отведенных для swap. Теперь аналогичным образом создаем еще один partition, отдав ему все оставшееся место на диске, но указываем, что на нем будет размещаться файловая система - для этого в соответствующем меню выбираем пункт FS. После этого нужно указать точку подмонтировки новой файловой системы, и это должна быть обязательно свободная точка монтировки! Чтобы посмотреть какие файловые системы у Вас смонтированы в настоящий момент можно дать следующую команду:
df -k
Она выведет информацию о смонтированных файловых системах, все размеры будут даны в килобайтах, и покажет к каким каталогам они подмонтированы. Ни в коем случае не указывайте для новой файловой системы ни одну из этих точек монтировки! Причина в том, что при записи изменений на диск sysinstall попытается сразу же подмонтировать новый partition к указанной точке монтировки, и, если она будет занята, у вас могут возникнуть неприятности. Так как мы заранее создали для этой цели новый каталог, то его мы и укажем в качестве точки монтировки для нового раздела: /new_disk.
Теперь информация о разбиении диска выглядит следующим образом:
Part Mount Size Newfs wd2s1 none 24MB DOS wd2s2b swap 10MB SWAP wd2s2e /new_disk 90MB Y
Обратите внимание, что флаг Newfs для нового раздела стоит "Y" - это означает что на этом partition (wd2s2e) будет создана новая файловая система (аналогично форматированию логического диска в DOS). Итак, если Вы полностью уверены, что диск размечен именно так, как Вам необходимо, то можно сделать самое главное - записать наши изменения на диск с помощью команды 'W'-Записать изменения. Если все пройдет нормально, то после завершения работы этой команды Вы снова вернетесь в Disk Label Editor, откуда теперь можно выйти, после чего надо полностью выйти из sysinstall.
Если Вы дадите снова команду df -k, то увидите, что появилась новая файловая система, смонтированная к каталогу /new_disk. Также увеличился и объем области swap, что можно проверить при помощи команды top, которая помимо другой полезной информации выводит и размер swap-area. Теперь осталось увековечить наши изменения, внеся соответствующие записи в файл /etc/fstab:
# Device Mountpoint FStype Options Dump Pass# /dev/wd2s2b none swap sw 0 0 /dev/wd2s2e /new_disk ufs rw 1 2 /dev/wd2s1 /dos_disk msdos rw,noauto 0 0
Последняя строчка позволит Вам в дальнейшем при необходимости монтировать DOS-раздел с помощью одной простой команды:
mount /dos_disk
Все, теперь работа по добавлению диска полностью завершена, осталось только перезагрузиться в DOS и сформатировать созданный на этом диске DOS-раздел.