Добавление новых жестких дисков


Прежде чем можно будет использовать новый жесткий диск, его надо отформатировать, разместить на нем файловые системы, смонтировать эти файловые системы и перенести на них данные. Хотя во FreeBSD имеются инструменты командной строки, позволяющие выполнить все эти операции, тем не менее действия можно упростить с помощью sysinstall(8). Если вы спешите, то наверняка выберете sysinstall. Предположим, что вы добавляете диск в существующую систему, а ваша конечная цель состоит в том, чтобы перенести на этот диск данные.

Резервное копирование, резервное копирование и еще раз резервное копирование!

Прежде чем выполнять какие-либо операции с жесткими дисками, следует создать полную резервную копию. Одно неверное движение при выполнении таких операций может разрушить вашу систему! Несмотря на то, что корневая файловая система форматируется очень редко, тем не менее, если такое случается, вам наверняка захочется восстановить ее как можно быстрее.

Создание участков

В первую очередь при работе с новым жестким диском следует создать на нем участки и разделы. Выполните следующие шаги:

  1. Войдите в систему как root и запустите sysinstall(8). Мы будем конфигурировать систему уже после установки, поэтому выбираем Configure и затем Disk.
  2. Меню покажется знакомым; вы применяли его при установке FreeBSD. (См. снимки экранов на рис. 2.4 главы 2.) Вы увидите существующий диск FreeBSD и новый диск. Выберите новый диск.
  3. Если диск взят с другого сервера, на нем может оказаться файловая система. Можно сохранить содержимое диска, а можно очистить его и начать с нуля. Обычно проще всего удалить существующие разделы и файловые системы. С помощью клавиш-стрелок перейдите к существующему разделу и нажмите клавишу D для его удаления.
  4. Далее создайте новый участок, нажав клавишу С, или задействуйте весь диск (клавиша А). На сервере лучше задействовать весь диск. Выбрав конфигурацию участков, сохраните внесенные изменения нажатием клавиши W. Появится следующее предостережение:
    WARNING: This should only be used when modifying an EXISTING installation. If you are installing FreeBSD for the first tine then you should simply type Q when you're finished here and your changes will be committed in one batch automatically at the end of these questions. If you're adding a disk, you should NOT write from this screen, you should do it from the label editor. (ПРЕДОСТЕРЕЖЕНИЕ: Такой вариант следует применять только при изменении СУЩЕСТВУЮЩЕЙ системы. Если вы устанавливаете FreeBSD с нуля, то после внесения изменений нажмите <Q>. В этом случае все изменения будут одновременно приняты после получения ответов на данные вопросы. Если вы добавляете диск, вам НЕ следует осуществлять запись из этого экрана, делать это следует в редакторе меток.)
  5. Абсолютно ли вы уверены в своем выборе?
  6. Да, вы абсолютно уверены. Перейдите к пункту Yes и нажмите Enter.
  7. Далее будет задан вопрос о необходимости установки на этот диск менеджера загрузки. На дополнительном диске он не нужен, поэтому спускаемся к пункту Standard и нажимаем клавишу пробела. Программа sysinstall должна сообщить, что информация fdisk записана. Теперь на диске есть участок FreeBSD. Нажмите клавишу Q, чтобы покинуть этот экран systinstall.

Создание разделов

Для создания разделов на диске выполните следующие шаги:

  1. Выберите пункт Label в sysinstall(8), в том же подменю, где находится FDISK. Выберите новый диск, чтобы перейти в редактор меток. С помощью команды С здесь можно создать новый раздел, указав его размер в мегабайтах, гигабайтах, дисковых блоках или дисковых цилиндрах. Кроме того, необходимо определиться с предназначением каждого нового раздела — будет ли это файловая система или пространство свопа. Когда программа потребует указать точку монтирования, введите каталог /mnt. Программа sysinstall временно будет монтировать новые разделы в этот каталог.
  2. По окончании создания разделов нажмите W для подтверждения изменений. Должен появиться текст предупреждения, который вы уже видели в меню fdisk, а затем сообщение от newfs(8).

По окончании работы с newfs(8) завершите sysinstall.

Конфигурирование /etc/fstab

Теперь следует добавить записи с информацией о новых дисках в /etc/fstab. Порядок конфигурирования новых разделов свопа и файловых систем выполняется по-разному. Любое пространство свопа в /etc/fstab описывается следующим образом:

devicename    none       swap    sw       0    0

Если представить, что новому разделу свопа соответствует устройство /dev/da10s1b, тогда в /etc/fstab следует добавить следующую строку:

/dev/da10s1b  none       swap    sw       0    0

Во время следующей загрузки система FreeBSD найдет эту запись и активизирует новое пространство свопа. Чтобы активизировать новое пространство свопа без перезагрузки, можно ввести команду swapon -a devicename.

Если был создан новый раздел данных, добавьте новую запись, как описывалось выше в этой главе, например, такую:

/dev/da10s1d  /usr/obj   ufs     rw       2    2

Теперь можно просто отмонтировать новый раздел от точки временного монтирования, запустить команду mount /usr/obj, и ваш новый диск будет готов к приему файлов.

Перенос существующих файлов на новые диски

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

В примере выше новый раздел был смонтирован в каталог /mnt. Теперь надо перенести файлы из их текущего местоположения в новый раздел, не изменяя права доступа к файлам. Такая задача решается довольно просто с помощью tar(1). Вы можете просто сохранить существующие данные на ленте или в файле с помощью tar, а затем разархивировать их в новом месте. Однако последовательно выполнять эти операции неудобно. Объединив команды tar, можно обойтись без промежуточного этапа:

# tar cfC — /old/directory . | tar xpfC — /tempmount

Эта строка может озадачить тех, кто не говорит на языке UNIX на вечеринках. Разберем ее по частям. Во-первых, вы переходите в старый каталог и архивируете все его содержимое. Затем вывод этой команды переносится в новый каталог, где данные разархивируются. Например, для перемещения /usr/src на новый раздел, временно монтированный в /mnt, подойдет такая последовательность команд:

# tar cfC — /usr/src . | tar xpfC — /mnt

Проверьте содержимое точки временного монтирования и убедитесь, что все файлы действительно были скопированы. Как только вы убедитесь, что файлы были благополучно скопированы, удалите файлы из старого каталога и смонтируйте новый диск в новое местоположение. Например, после копирования файлов из /usr/src можно было бы выполнить следующую последовательность команд:

# rm -rf /usr/src/*
# umount /mnt
# mount /usr/src

Перенос активных файлов

Вам не удастся благополучно переместить файлы, если они в этот момент подвергаются изменению. Например, при переносе почтового спула на новый раздел выключите почтовые сервисы. В противном случае файлы изменятся, когда вы будете их копировать. Избежать необходимости останавливать сервисы не удастся, но с помощью таких инструментов, как rsync (/usr/ports/net/rsync), время простоя можно уменьшить.

Составное монтирование

Предположим, что вам нет дела до старых данных, и вы просто хотите освободить место на диске. Вы планируете восстановить свои данные из резервной копии. Разумно. Все файловые системы BSD — составные (stackable). Они обладают расширенными возможностями, которые не особо полезны в повседневном администрировании. Однако эти возможности придут на помощь, когда потребуется разделить один раздел на два.

Предположим, что ваши данные хранятся в /usr/src. Посмотрите объем используемого дискового пространства и затем смонтируйте новый раздел в /usr/src. Если вы зайдете в каталог /usr/src, то увидите, что он пуст.

Есть одна загвоздка: новый раздел монтирован «поверх» старого диска, а все данные по-прежнему находятся на старом диске. На старом разделе не появится свободное место, пока вы не переместите данные. Если размонтировать новый раздел и снова проверить каталог, вы увидите, что данные чудесным образом восстановлены! Новый раздел скрывал старый.

Вы не можете это увидеть, но данные на старом диске по-прежнему занимают определенное пространство. Если вы перераспределяете диск для получения дополнительного пространства, а новый диск монтируете поверх старого, дисковое пространство на исходном диске будет недоступно. Мораль: даже при восстановлении данных с резервной копии надо убедиться, что данные перемещены с исходного диска и дисковое пространство освобождено.

Комментарии запрещены.