2.5 Выделение дискового пространства во FreeBSD


Ваша первая задача -- выделить дисковое пространство под FreeBSD и разметить его, чтобы sysinstall могла его подготовить. Для этого вам нужно знать, как FreeBSD ищет информацию на диске.

2.5.1 Нумерация дисков в BIOS
Перед установкой и настройкой FreeBSD нужно позаботиться кое о чем, особенно если жестких дисков несколько.
В PC, работающем под BIOS-зависимой операционной системой, такой как MS-DOS® или Microsoft® Windows®, BIOS может отходить от обычного порядка нумерации дисков. Это позволяет пользователю загружаться не только с так называемого ``primary master'' диска. Это особенно удобно для тех пользователей, кто обнаружил, что простейший и самый дешевый путь делать резервную копию системы -- купить второй идентичный первому жесткий диск и регулярно делать копии первого диска на второй, используя Ghost® или XCOPY. Затем, если первый диск выйдет из строя, будет заражен вирусом или поврежден из-за сбоя операционной системы, он может быть легко восстановлен путем логической перестановки дисков в BIOS. Это все равно что переключить кабели дисков, но без вскрытия корпуса.
Более дорогостоящие системы со SCSI контроллерами зачастую имеют расширения BIOS, позволяющие сходным путем менять порядок до семи SCSI дисков.
Пользователи, привыкшие пользоваться этими полезными функциями, могут быть удивлены, что во FreeBSD результаты не совпадают с ожидаемыми. FreeBSD не использует BIOS, и не знает о ``логическом отображении дисков в BIOS''. Это может привести к очень сложным ситуациям, особенно когда диски имеют одинаковую геометрию и содержат точную копию данных друг друга.
При использовании FreeBSD всегда восстанавливайте настройки BIOS к первоначальной нумерации перед установкой системы и оставляйте их в таком виде. Если вам понадобится переключить диски, сделайте это, но путем физического переконфигурирования, вскрыв корпус, переключив перемычки и кабели.
Рассказ о необыкновенных приключениях файлов Билла и Фреда:
Билл разобрал старый Wintel компьютер, чтобы сделать еще один компьютер под FreeBSD для Фреда. Билл установил один SCSI диск как нулевое устройство SCSI и поставил на него FreeBSD.
Фред начал использовать систему, но через несколько дней обнаружил, что старый SCSI диск сообщает о множестве сбоев и сказал об этом Биллу.
Еще через несколько дней Билл решил, что настало время решить проблему, и достал такой же SCSI диск из ``заначки'' в кладовке. Первая проверка поверхности показала, что диск работает нормально; Билл установил этот диск как четвертое устройство SCSI и скопировал образ диска с нулевого устройства на четвертое. Теперь, когда новый диск был установлен и отлично работал, Билл решил что неплохо бы начать использовать его, и с помощью функции SCSI BIOS поменял порядок дисков, чтобы система могла грузиться с четвертого устройства SCSI. FreeBSD загрузилась и работала без проблем.
Фред поработал еще несколько дней, и скоро они с Биллом решили, что настало время для нового приключения -- время обновить версию FreeBSD. Билл удалил нулевое устройство SCSI, потому что оно ``подглючивало'', и установил на его место такой же диск из ``заначки''. Затем Билл установил новую версию FreeBSD на новое нулевое устройство SCSI используя дискеты Фреда с интернет сервера FTP. Установка прошла отлично.
Фред использовал новую версию FreeBSD несколько дней и удостоверился, что она вполне подходит для работы в инженерном отделе. Настало время скопировать все архивы со старого диска. Фред смонтировал четвертое устройство SCSI (последнюю копию старой версии FreeBSD) и обнаружил, что ни одного из его драгоценных файлов на четвертом устройстве SCSI нет.

Куда делись данные?

Когда Билл сделал копию с нулевого устройства SCSI на четвертое устройство SCSI, оно стало ``клоном''. Когда Билл поменял настройки SCSI BIOS, чтобы загрузиться с четвертого устройства SCSI, он всего лишь обманул сам себя. FreeBSD все еще работала с нулевого устройства SCSI. Изменение этих настроек BIOS привело к загрузке части кода Boot и Loader с выбранного в BIOS диска, но после загрузки драйверов FreeBSD настройки BIOS были проигнорированы, и FreeBSD вернулась к нормальной нумерации. Как показано ``на пальцах'', система продолжила работать с нулевым устройством SCSI, и все данные Фреда остались там, а не на четвертом устройстве SCSI. То, что система грузилась с четвертого устройства SCSI, было всего лишь обманутыми ожиданиями.
Мы рады упомянуть, что данные не были уничтожены или повреждены при нашем исследовании этого феномена. Старое нулевое устройство SCSI было вытащено из груды железа, и все файлы Фреда вернулись к нему.
Хотя в этом рассказе были использованы SCSI диски, с IDE дисками все точно так же.


2.5.2 Создание слайсов с использованием FDisk
Note: Внесенные вами изменения не будут записываться на диск сразу. Если вы думаете, что сделали ошибку, и хотите начать сначала, можете использовать меню для выхода из sysinstall и попробовать еще раз или нажатием U вызвать опцию Undo (отмена). Если вы запутались и не можете выйти, просто выключите компьютер.

После начала стандартной установки в sysinstall будет показано это сообщение:
Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]
Нажмите Enter как предлагается. Будет показан список всех жестких дисков, обнаруженных ядром во время тестирования устройств. Figure 2-16 показывает пример системы с двумя IDE дисками. Они были названы ad0 и ad2.

Figure 2-16. Выберите диск для FDisk

Вы можете быть удивлены, почему устройства ad1 здесь нет. Почему оно было пропущено?

Предположим, что у вас есть два жестких диска IDE, один master на первом контроллере IDE, а второй master на втором контроллере IDE. Если FreeBSD пронумерует их в том порядке, в котором нашла, ad0 и ad1, все будет работать.

Но если вы добавите третий диск, как slave устройство на первый контроллер IDE, он станет ad1, а предыдущий ad1 станет ad2. Поскольку имена устройств (таких как ad1s1a) используются для обращения к файловым системам, вы можете вдруг обнаружить, что некоторые из ваших файловых систем больше не отображаются правильно и вам потребуется изменить конфигурацию FreeBSD.

Для обхода этой проблемы, ядро может быть настроено так, чтобы именовать IDE диски на основе их местоположения, а не порядка, в котором они были найдены. С этой схемой master диск на втором контроллере IDE будет всегда устройством ad2, если даже нет устройств ad0 или ad1.

Это конфигурация ядра FreeBSD по умолчанию, поэтому на экране показаны ad0 и ad2. У компьютера, с которого был взят этот снимок экрана, есть по одному IDE диску на обеих master каналах IDE контроллеров и ни одного диска на каналах slave.

Вы должны выбрать диск, на который хотите установить FreeBSD, и нажать [ OK ]. Запустившийся FDisk будет выглядеть примерно как Figure 2-17.

Экран FDisk разбит на три секции.

Первая секция, занимающая первые две линии экрана, показывает подробную информацию о выбранном в данный момент диске, включая его имя во FreeBSD, геометрию и общий размер диска.

Вторая секция показывает имеющиеся в данный момент на диске слайсы, где они начинаются и заканчиваются, их размер, имя, которое им дала FreeBSD, описание и подтип. На этом примере показаны два маленьких неиспользованных слайса, которые являются артефактами схемы разметки диска на PC. Также показан один большой FAT слайс, который почти всегда является диском C: в MS-DOS / Windows, и дополнительный слайс, который может содержать диски с другими буквами для MS-DOS / Windows.

Третья секция показывает команды, доступные в FDisk.

Figure 2-17. Типичные разделы fdisk перед редактированием

Ваши действия теперь будут зависеть от того, как вы хотите разбить диск на слайсы.

Если вы хотите использовать для FreeBSD весь диск (это приведет к удалению всех других данных на этом диске когда вы подтвердите sysinstall продолжение процесса установки), нажмите A, что соответствует опции Использовать весь диск (Use Entire Disk). Существующие слайсы будут удалены, и заменены на небольшую область, помеченную как неиспользуемая (unused) (это опять же артефакт разметки диска PC), и один большой слайс для FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный слайс FreeBSD используя клавиши навигации, а затем нажать S, чтобы сделать слайс загрузочным. Экран будет похож на Figure 2-18. Обратите внимание, что A в колонке Flags означает, что слайс активен и с него будет происходить загрузка.

Если вы будете удалять существующий слайс для освобождения места под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите D. Затем можете нажать C, и получить приглашение на ввод размера слайса, который вы хотите создать. Введите соответствующее значение и нажмите Enter. Значение по умолчанию в этом поле означает наибольший размер слайса, который может быть выбран; это может быть наибольший непрерывный блок неразмеченного пространства или размер всего жесткого диска.

Если вы уже освободили место для FreeBSD (возможно, используя утилиту похожую на PartitionMagic®), можете нажать C для создания нового слайса. Будет также предложено ввести размер слайса, который вы хотите создать.

Figure 2-18. Разбиение в Fdisk с использованием всего диска

Когда закончите, нажмите Q. Изменения будут сохранены в sysinstall, но еще не записаны на диск.

2.5.3 Установка менеджера загрузки (Boot Manager)
Теперь вам предлагается установить менеджера загрузки. Как правило, нужно выбрать установку менеджера загрузки если:

У вас больше чем один диск и вы устанавливаете FreeBSD не на первый диск.

Вы устанавливаете FreeBSD вместе с другой операционной на один и тот же диск, и хотите выбирать при загрузке FreeBSD или другую операционную систему.

Если FreeBSD единственная операционная система, установленная на этом компьютере, и находится на первом жестком диске, подойдет менеджер загрузки Standard. Выберите None если вы используете менеджер загрузки сторонних разработчиков, способный загрузить FreeBSD.

Сделайте выбор и нажмите Enter.

Figure 2-19. Меню менеджера загрузки Sysinstall
Экран подсказки, вызываемый по нажатию F1, описывает проблемы, которые могут быть встречены при попытке совместного использования диска операционными системами.

2.5.4 Создание слайсов на другом диске
Если дисков больше чем один, вернитесь к экрану выбора дисков (Select Drives) после выбора менеджера загрузки. Если вы собираетесь устанавливать FreeBSD более чем на один диск, можете выбрать другой диск и повторить процесс разбиения на слайсы с использованием FDisk.

Important: Если вы устанавливаете FreeBSD не на первый жесткий диск, потребуется установить менеджер загрузки FreeBSD на оба диска.

Figure 2-20. Выход из выбора диска

Клавиша Tab переключает между последним выбранным диском, [ OK ], и [ Cancel ].

Нажмите Tab один раз для выбора [ OK ], затем нажмите Enter для продолжения установки.

2.5.5 Создание разделов с помощью Disklabel
Теперь вы должны создать несколько разделов внутри каждого только что созданного слайса. Запомните, что у каждого раздела есть буква с a до h, а разделы b, c, и d имеют соглашения, которых вы должны придерживаться.

Некоторые приложения могут выигрывать от определенных схем разделов, особенно если у вас разделы на более чем одном диске. Тем не менее, для вашей первой установки FreeBSD не нужно слишком углубляться в принципы разбиения диска. Более важно установить FreeBSD и начать ее использовать. Вы всегда можете переустановить FreeBSD для изменения схемы разделов, когда поближе познакомитесь с операционной системой.

Эта схема показывает четыре раздела -- один для подкачки и три для файловых систем.

Table 2-2. Планирование разделов для первого диска

Раздел Файловая система Размер Описание
a / 100 MB Корневая файловая система. Любая другая файловая система будет смонтирована на эту. 100 MB это подходящий размер для этой файловой системы. Вы не будете хранить на ней слишком много данных, а обычная установка FreeBSD разместит здесь около 40 MB данных. Оставшееся пространство используется для временных файлов, а также оставляет возможность расширения для будущих версий FreeBSD, которым может понадобится больше места в /.
b N/A 2-3 x RAM Здесь находится раздел подкачки. Выбор правильного размера раздела подкачки это немного искусство. Хороший практический способ выбрать размер подкачки это установить его равным двум или трем размерам доступной физической памяти (RAM). Должно быть хотя бы 64 MB подкачки; если в компьютере меньше чем 32 MB памяти -- установите размер подкачки равным 64 MB.

Если у вас больше одного диска, можно расположить подкачку на каждом диске. FreeBSD будет использовать каждый диск, что серьезно увеличит скорость подкачки. В этом случае, определите общий размер подкачки, который вам нужен (например, 128 MB), и поделите его на число имеющихся дисков (например, два) для определения размера разделов подкачки, которые нужно разместить на каждом вашем диске, в этом примере 64 MB на диск.

e /var 50 MB Каталог /var содержит файлы, которые постоянно меняются; логи и другие административные файлы. Многие из этих файлов интенсивно читаются и записываются в процессе ежедневной работы FreeBSD. Размещение их на отдельной файловой системе позволяет FreeBSD оптимизировать доступ к этим файлам без затрагивания других каталогов, не имеющих такой же модели доступа.
f /usr Остальная часть диска Все другие файлы как правило хранятся в каталоге /usr и его подкаталогах.

Если вы устанавливаете FreeBSD более чем на один диск, вы должны также создать разделы в других слайсах, которые настроили. Простейший путь сделать это -- создать два раздела на каждом диске, один для подкачки, а другой для файловой системы.

Table 2-3. Разметка разделов для остальных дисков

Раздел Файловая система Размер Описание
b N/A Смотрите описание Как уже обсуждалось, вы можете распространить подкачку на каждый диск. Даже если раздел a свободен, соглашение говорит о том, что подкачка находится на разделе b.
e /diskn Остальная часть диска Остальная часть диска занята одним большим разделом. Он легко может быть помещен на раздел a вместо раздела e. Однако, соглашение говорит что раздел a зарезервирован на слайсе для корневой (/) файловой системы. вы можете не следовать этому соглашению, но программа sysinstall будет ему следовать, поэтому приняв его, вы сделаете установку несколько проще. вы можете монтировать эти файловые системы к любой точке; в этом примере предлагается смонтировать их как каталоги /diskn, где n это номер, который уникален для каждого диска. Но вы можете использовать другую схему, если захотите.

Теперь, выбрав разметку разделов, можете приступить к их созданию в sysinstall. Вы увидите это сообщение:

Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.

[ OK ]
[ Press enter or space ]
Нажмите Enter для запуска редактора разделов FreeBSD, называемого Disklabel.

Figure 2-21 показывает экран только что запущенного Disklabel. Экран поделен на три раздела.

Первые несколько линий показывают имя диска, с которым вы сейчас работаете и слайс, содержащий раздел который вы создаете (здесь Disklabel называет это именем раздела (Partition name) вместо имени слайса). Этот экран также показывает объем свободного пространства на слайсе; т.е. пространство, выделенное под слайс, но еще не отданное под раздел.

В центре экрана показаны уже созданные разделы, имена файловых систем, содержащихся в разделах, их размер и некоторые опции, применяемые при создания файловых систем.

Нижняя треть экрана показывает управляющие клавиши, работающие в Disklabel.

Figure 2-21. Редактор Sysinstall Disklabel

Disklabel может автоматически создать разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав A. Вы увидите экран как на Figure 2-22. В зависимости от размера диска, значения по умолчанию могут подходить или не подходить вам. Это не имеет значения, если вы не принимаете их.

Note: Начиная с FreeBSD 4.5, по умолчанию под каталог /tmp выделяется собственный раздел вместо использования части раздела /. Это помогает избежать заполнения раздела / временными файлами.

Figure 2-22. Редактор Sysinstall Disklabel с установками по умолчанию
Если вы решили не использовать разделы по умолчанию и заменить их на свои, используйте клавиши навигации для выбора первого раздела, затем нажмите D для его удаления. Повторите это для удаления всех предложенных разделов.

Для создания первого раздела (a, монтируемого как / -- root), убедитесь, что выбран соответствующий слайс вверху экрана и нажмите C. Появится диалог, предлагающий выбрать размер нового раздела (как показано в Figure 2-23). Вы можете ввести количество блоков диска, или количество мегабайт с M после номера, или гигабайт с G, или цилиндров с C.

Note: Начиная с FreeBSD 5.X, пользователи могут: выбирать UFS2, используя опцию Custom Newfs (Z), использовать опцию Auto Defaults и изменять параметры с помощью опции Custom Newfs, или добавлять опцию -O 2 в процессе создания раздела. Не забудьте добавить -U для включения SoftUpdates если вы используете опциюCustom Newfs!

Figure 2-23. Свободное место для корневого раздела

Размер по умолчанию задан для создания корневого раздела на весь слайс. Если вы используете размеры разделов, описанные ранее в примере, удалите это значение используя Backspace, а затем введите 64M, как показано на Figure 2-24. Затем нажмите [ OK ].

Figure 2-24. Редактирование размера корневого раздела
После указания размера раздела вам будет задан вопрос, должен ли этот раздел содержать файловую систему или раздел подкачки. Диалог показан на Figure 2-25. Первый раздел будет содержать файловую систему, поэтому проверьте, что выбрана FS и нажмите Enter.

Figure 2-25. Выбор типа корневого раздела
На экране будет показан вновь созданный раздел. Вам нужно повторить эту процедуру для других разделов. При создании раздела подкачки вопроса про точку монтирования не будет, поскольку раздел подкачки никогда не монтируется. Когда будете создавать последний раздел, /usr, можете оставить предложенный размер как есть, чтобы использовать весь остаток слайса.

Последний экран FreeBSD редактора DiskLabel будет похож на Figure 2-27, хотя ваш выбор значений может быть другим. Нажмите Q, чтобы выйти.

Figure 2-27. Редактор Sysinstall Disklabel

Обновлено: 12.03.2015