Особенности подключения дисков в различных операционных системах
Категория: Добавление нового жесткого диска | Автор: admin | 24-10-2009, 02:54 | Просмотров: 5354

К сожалению, добавление новых дисковых накопителей — это задача, которую каждый поставщик UNIX-систем трактует по-своему. При описании этой процедуры для различных систем мы придерживаемся следующего принципа: сначала перечисляем команды, необходимые для добавления диска, а затем приводим наглядный пример. Даже команды одного поставщика могут быть разными в зависимости от архитектуры диска и версии ОС.

Во всех примерах демонстрируется добавление к системе SCSI-диска с тремя разделами: один из них будет резервным корневым (монтируемым в каталоге /bkroot), второй — разделом подкачки, а в третьем будут находиться пользовательские файлы (монтируется в каталоге /new). Модель добавляемого диска — Seagate ST446452W, интерфейс — Wide Ultra SCSI, неформатированная емкость — 63 Гбайт, форматированная емкость — 47 Гбайт.

Во многих случаях в форматирующие программы будут передаваться, на первый взгляд, произвольные значения параметров конфигурации. Это объясняется тем, что для SCSI-дисков многие аргументы не имеют никакого смысла. Раньше нужно было знать точные характеристики каждого диска, сегодня достаточно воспользоваться значениями, предоставленными по умолчанию.

 

Solaris

 

Ниже описывается процедура добавления диска в SPARC-системе Solaris. На платформе Intel процесс будет аналогичным, но имена устройств другие и последовательность действий несколько иная. Если используется менеджер логических томов Veritas, то информацию о работе с ним можно получить в параграфе "HP-UX", так как в системе HP-UX используется этот же менеджер.

После подключения нового дискового накопителя проверьте целевые номера всех SCSI-устройств с помощью команды probe-scsi монитора ППЗУ. Если система непрерывно автоматически перезагружается, не выдавая никаких сообщений, кроме

rebooting...

 

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

В нашем случае результаты работы команды probe-scsi будут такими:

ok probe-scsi

...

Target 3

Unit 0      Disk           SEAGATE ST44 64 52W    0001

ok boot -r


Флаг -r команды boot служит для Solaris указанием переконфигурировать себя, осуществив поиск нового оборудования и создав соответствующие файлы устройств. Когда система загружена, просмотрите выходную информацию команды dmesg и найдите сообщения ядра, касающиеся нового диска. В нашем случае ядро жалуется, что мы еще не записали на диск метку системы Solaris. Но в действительности это хороший знак, поскольку он означает, что ядро обнаружило диск:

sd3 at espO: target 3 lun 0

sd3 is /sbus@lf,0/espdma@e,8400000/esp@e,8800000/sd@3,0

WARNING: /sbus@lf,0/espdma@e,8400000/esp@e,8800000/sd@3,0  (sd3);

corrupt label - wrong magic number

Vendor  'SEAGATE',  product  'ST446452W,   91923356

512 byte blocks

...

 

Файлы блок-ориентированных и байт-ориентированных устройств находятся в каталогах /dev/dsk и /dev/rdsk соответственно. Имена файлов имеют следующий формат:

/dev/[r]dsk/cWtXdYsZ

 

где W — номер контроллера, X — целевой SCSI-номер, Y — логический SCSI-номер (почти всегда 0), a Z — номер раздела. Эти файлы на самом деле являются символическими ссылками на элементы дерева каталогов /device, где находятся настоящие файлы устройств. Следует всегда работать со ссылками, размещенными именно в каталоге /dev, так как имена файлов в каталоге /device трудно набирать и они могут меняться.

При добавлении нового устройства нужно выполнить команду boot -r из монитора начальной загрузки, чтобы убедиться в правильности создания ссылок на новые устройства. Можно также создать ссылки на диски с помощью команд drvconfig и disk (они, в свою очередь, запускают утилиту devfsadm). Никаких аргументов они не требуют.

# drvconfig; disks

В Solaris раздел 2 обычно обозначает весь диск. Мы используем этот раздел при форматировании диска и создании метки. Поскольку наш диск имеет целевой SCSI-номер 3, файл устройства, соответствующий всему диску, будет называться /dev/rdsk/c0t3d0s2.

Программа format форматирует диски и разбивает их на разделы. Она управляется в режиме меню.

# format /dev/rdsk/c0t3d0s2

/dev/rdsk/c0t3d0s2: configured with capacity of 43.77GB

selecting /dev/rdsk/c0t3d0s2 [disk formatted]


FORMAT MENU:

...

 

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

format> label

Ready to label disk, continue? y

format> partition

PARTITION MENU:

partition> print

Current partition table (default):

Total cylinders available: 9994+2 (reserved cylinders)

Part   Tag      Flag   Cylinders   Size         Blocks

0      root     wm     0-28        130.05MB  (29/0/0)   266336

1      swap     wu     29-57       130.05MB  (29/0/0)   266336

2      backup   wu     0-9993      43.77GB   (9994/0/0) 91784896

...

6      home     wm     58-9993     43.51GB   (9936/0/0) 91252224

 

Стандартная метка не очень хорошо подходит для наших целей, поэтому мы увеличим размеры резервного корневого раздела и раздела подкачки, но уменьшим размер раздела home. Для разделов root и home должны быть установлены флаги wm (записываемый и монтируемый), а для раздела swap обязательны флаги wu (записываемый и немонтируемый). Ниже показано, как сделать один из разделов; остальные конфигурируются аналогичным образом.

partition> 0

Part   Tag      Flag   Cylinders   Size            Blocks

0      root     wm     0-28        130.05MB    (29/0/0)    266336

Enter partition id tag[root]: root

Enter partition permission flags[wm]: wm

Enter new starting cyl[0]: 0

Enter partition size [266336b, 29c,  130.05mb,  0.13gb]: 2gb

 

После того как размеры всех разделов заданы, снова выведите таблицу разделов, чтобы убедиться в успешном завершении процедуры. Проверьте, нет ли перекрытия разделов (по крайней мере, тех разделов, с которыми будет вестись работа), иначе файловая система почти наверняка будет повреждена. Если все правильно, снова введите команду label, чтобы создать новую метку. В нашем случае результат будет выглядеть так:

partition> print

Current partition table (unnamed):

Total cylinders available: 9994+2  (reserved cylinders)

Part  Tag      Flag    Cylinders    Size             Blocks

0     root     wm     0-456        2.00GB       (457/0/0)  4197088

1     swap     wu      457-2283     8.00GB       (1827/0/0)  16779168

2     backup   wu      0-9993       43.77GB      (9994/0/0)  91784896

6     home     wm      2284-9993    33.76GB      (7710/0/0)  70808640

partition> label

Ready to label disk, continue? yes

 

Выйдите из программы format, введя команду quit дважды: один раз для выхода из режима создания разделов, второй — для выхода из самой программы:

partition> quit

format> quit

 

Теперь мы готовы создать файловые системы для резервного корневого раздела и пользовательские файловые системы.

# newfs -r 3600 /dev/rdsk/c0t3d0s0

newfs: construct file system /dev/rdsk/c0t3d0s0: [y/n]? у

/dev/rdsk/c0t3d0s0:  4197088 sectors in 457 cylinders of 28 tracks, 328 sectors

2049.4MB in 42 cyl groups  (11 c/g,  49.33MB/g,  8000 i/g)

super-block backups  (for fsck -F ufs -o b»=#)  at:

32,  101392, 202752,  304112,  405472,  506832,  608192,  709552, 810912,  912272,  1013632,  1114992,  1216352,  1317712,  1419072, 1520432,  1621792,

...

 

После создания файловых систем сразу же проверим их командой fsck.

# fsck /dev/rdsk/c0t3d0s0

**   /dev/rdsk/c0t3d0s0

** Phase 1 — Check Blocks and Sizes

** Phase 2 — Check Pathnames

** Phase 3 — Check Connectivity

** Phase 4 — Check Reference Counts

** Phase 5 - Check Cyl groups

2 files, 9 used, 2055846 free (14 frags, 256979 blocks, 0.0% fragmentation

 

Необходимо также выполнить команды newfs и fsck для раздела 6, но этот процесс здесь не показан.

Создав файловые системы, можно приступать к их монтированию. Для доступа к разделу команда mount использует файлы блок-ориентированных (каталог /dev/dsk), а не байт-ориентированных (каталог /dev/rdsk) устройств.

В новых версиях Solaris поддерживается журнальный режим для файловых систем UFS (стандартный тип файловой системы). Записывая информацию об изменениях в журнальный файл, прежде чем вносить изменения на диск можно обеспечить согласованность файловой системы. Это особенно удобно при работе с большими файловыми системами, когда в случае системного сбоя команда fsck выполняется очень долго.

Чтобы включить журнальный режим, выполните команду mount с флагом -о logging (или задайте эту команду в файле /etc/vfstab). Тогда команда fsck не будет выполнять полную проверку файловой системы, а лишь просмотрит журнальный файл в обратном порядке и отменит последние несогласованные изменения. Мы не задали журнальный режим лишь из-за желания сделать наш пример проще и понятнее.

Итак, мы готовы к монтированию новых разделов:

# mkdir /bkroot

# mkdir /new

# mount /dev/dsk/c0t3d0s0 /bkroot

# mount /dev/dsk/c0t3d0s6 /new

# df -k /bkroot

Filesystem          kbytes   used  avail     capacity   Mounted on

/dev/dsk/cOt3dOsO   2055855   9    1994171   1%         /bkroot

 

Команда df показывает, что резервный корневой раздел смонтирован правильно.

Теперь с помощью команды swap -а сообщим ядру о создании новой области подкачки в разделе 1, а затем посредством команды swap -l убедимся в том, что новая область активизирована:

swap -a /dev/dsk/c0t3d0sl

swap -l

swapfile              dev     swaplo     blocks       free

...

/dev/dsk/c0t3d0sl     32,25   16         4194272      4194272

 

Команда swap -l выводит список всех активных в данный момент областей подкачки. Поскольку новый раздел подкачки в списке присутствует, значит, все прошло хорошо.

Необходимо добавить записи в файл /etc/vfstab, чтобы новые файловые системы при загрузке системы монтировались автоматически. В Solaris этот файл немного отличается от файлов /etc/fstab в других системах. Каждая его запись содержит имя как блок-ориентированного, так и байт-ориентированного устройства (используются программами mount и fsck соответственно). Далее указаны точка монтирования, тип файловой системы и порядок проверки. Следующей задается опция yes или no в зависимости от того, должна ли файловая система монтироваться во время начальной загрузки. В последнем поле указываются различные опции, например, следует ли включать журнальный раздел. Если никаких опций не требуется, поставьте дефис.

Вот какие строки мы добавляем:

# device           device              mount    FS     mount

# to mount         to fsck             point    Type   at boot

/dev/dsk/c0t3d0s0  /dev/rdsk/c0t3d0s0  /bkroot  ufs   1  yes  -

/dev/dsk/c0t3d0s6  /dev/rdsk/c0t3d0s6  /new     ufs   2  yes  -

/dev/dsk/c0t3d0sl  —                   —        swap  —  no   —

 

Чтобы сделать файловую систему /bkroot резервной копией корневого раздела, необходимо скопировать поверх нее содержимое корневого раздела. Эту работу выполняют команды ufsdump и ufsrestore:

# cd /bkroot

# ufsdump Ouf - / | ufsrestore -rf -

DUMP: Date of this level 0 dump: Tue Jun   7 19:11:44 1994

...

 

Раздел bkroot можно будет загружать только после прогона на новом диске программы installboot, которая копирует небольшую программу начальной загрузки в начало диска. Когда включается питание системы, монитор ППЗУ загружает эту программу, а она, в свою очередь, загружает ядро из корневой файловой системы. Программе installboot нужно указать диск и файл, содержащий блок начальной загрузки:

# /usr/sbin/installboot /usr/lib/fs/ufs/bootblk /dev/rdsk/c0t3d0s0

 

Последний этап — перезагрузиться и проверить, чтобы все файловые системы были смонтированы правильно и новый раздел подкачки был активизирован. Кроме того, нужно убедиться в возможности начальной загрузки из раздела /bkroot после того, как в него будут скопированы файлы.

 

HP-UX

 

В HP-UX 10.20 менеджер логических томов Veritas был дополнительным системным компонентом. В HP-UX 11.00 он определен как стандартная файловая система VXFS. Это очень удобное дополнение, особенно если учесть, что в HP-UX раньше вообще не поддерживалось понятие дискового раздела. Veritas также доступен в Solaris, Windows NT и других операционных системах.

Менеджер логических томов позволяет достаточно гибко управлять дисками, но весь процесс при этом усложняется. Мы воспользуемся командами менеджера для создания резервного корневого раздела, большого свободного раздела и раздела подкачки. Рассмотрение сложных возможностей менеджера выходит за рамки данной книги. Читайте интерактивную документацию и руководство пользователя.

Перед начальной загрузкой UNIX можно получить из монитора ППЗУ перечень SCSI-устройств. К сожалению, конкретный способ получения списка в значительной степени зависит от типа компьютера. После начальной загрузки нужно убедиться в том, что ядро распознало устройство, просмотрев вывод команды dmesg или ioscan. Применив команду ioscan к нашим дискам, мы узнали, что новый диск имеет целевой номер 3:

# ioscan -fn -С disk

Class   I     H/W Path      Driver    S/W State     Description

...

disk    2     8/16/5.3.0    sdisk     CLAIMED       SEAGATE ST446452W

                            /dev/dsk/c0t3d0    /dev/rdsk/cOt3dO

disk    1     8/16/5.6.0    sdisk     CLAIMED       SEAGATE ST34573W

                            /dev/dsk/c0t3d0    /dev/rdsk/c0t6d0

 

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

Команда pvcreate идентифицирует физические тома. Связь с ними организуется посредством файлов устройств, которые располагаются в каталогах /dev/dsk и /dev/rdsk (соответственно блок-ориентированные и байт-ориентированные устройства). Эти файлы создаются программой insf автоматически на этапе начальной загрузки. Имена файлов имеют следующий формат:

/dev/[r]dsk/cItDdN[sP]

 

где I — номер интерфейса на шине контроллера, D — целевой SCSI-номер диска, N — логический номер устройства (обычно 0), а Р — необязательный номер раздела. В нашем случае новому диску соответствуют файлы /dev/rdsk/c0t3d0 и /dev/dsk/c0t3d0.

Обычно современные жесткие диски не должны форматироваться на низком уровне. В случае необходимости это можно сделать с помощью команды mediainit. Когда низкоуровневое форматирование началось, его нельзя прервать, иначе диск будет поврежден и его придется форматировать заново. Сам процесс форматирования занимает достаточно много времени.

Мы пропустим этап низкоуровневого форматирования и просто идентифицируем физические тома с помощью команды pvcreate. Опция позволяет зарезервировать место для информации о загрузке, которая добавляется командой mkboot:

# /usr/sbin/pvcreate -В /dev/rdslc/c0t3d0

Physical volume "/dev/rdsk/cot3d0" has been created.

# mkboot /dev/rdsk/c0t3d0

 

Определив диск как физический том, нужно добавить его в новую группу томов с помощью команды vgcreate. Впоследствии посредством команды vgextend можно будет включить в группу дополнительные диски, но в нашем случае группа будет содержать только один диск.

Прежде чем образовывать группу томов, нужно вручную создать для него каталог (обычно /dev/vgXX, где XX — номер группы), а в нем — файл устройства по имени group. Младший номер устройства должен быть уникальным среди всех групп томов в системе. Его формат 0xNN0000, где NN — шестнадцатеричное число в диапазоне от 00 до максимального числа групп (задается с помощью настраиваемого параметра ядра maxvgs). По умолчанию предел равен 14 в шестнадцатеричной системе (20 в десятичной).

 

 

Может также потребоваться увеличить размер физической страницы для группы томов, если диск достаточно большой. Данное значение определяет базовую единицу распределения дисковой памяти, и все размеры логических томов будут устанавливаться кратными этой величине. Она указывается в мегабайтах и по умолчанию составляет 4 Мбайт. Если в процессе конфигурирования логических томов появляется сообщение вида "File too big" (файл слишком велик) или "No such device" (нет такого устройства), попытайтесь увеличить размер страницы, воспользовавшись флагом -s команды vgcreate. Мы рекомендуем начинать с размера 8 Мб и повышать его по возможности. Для нашего диска емкостью 47 Гбайт размер страницы составляет 16 Мбайт.

# mkdir /dev/vg0l

# mknod /dev/vg0l/group с 64 0x010000

# vgcreate -s 16 /dev/vgOl /dev/dsk/c0t3d0

Increased the number of physical extents per physical volume to 2805. Volume group "/dev/vgOl" has been successfully created.

Volume Group configuration for /dev/vg0l has been saved in

       /etc/lvmconf/vg0l.conf


# vgdisplay /dev/vg0l

-- Volume groups --

VG Name             /dev/vgOl

VG Write Access     read/write

VG Status           available

 

После того как диски добавлены в группу томов, можно начинать обратно разбивать ее, но уже на логические тома. Команда lvcreate создает новый логический том. При наличии флага -L размер тома задается в мегабайтах а при наличии флага -l — в логических страницах. Логическая страница соответствует физической дисковой странице, описанной выше, и обычно имеет размер 4 Мб, если не было указано иное значение с помощью команды vgcreate. Размеры томов, задаваемые в мегабайтах, будут округляться, чтобы оказаться кратными размеру логической страницы.

В представленном ниже фрагменте размеры корневого резервного раздела (1 Гбайт) и раздела подкачки (1 Гбайт) указываются в мегабайтах. Оставшееся число логических страниц выясняется с помощью команды vgdisplay, и из них формируется третий логический том. Стандартное имя логического тома имеет формат /dev/vgXX/lvonN, где XX — номер группы томов, а N — номер тома в порядке возрастания. Можно задать более описательное имя, воспользовавшись опцией -n, но мы не стали этого делать.

Если планируется использовать логический том для начальной загрузки, подкачки или хранения дампов ядра, необходимо задать, чтобы соответствующий участок диска был непрерывным, и отключить переназначение поврежденных блоков. Это делается с помощью флагов и -r команды lvcreate.

# lvcreate -С у -r n -L 1024 /dev/vgol

Logical volume "/dev/vgOl/lvoll" has been successfully created

with character device "/dev/vgOl/rlvoll".

Logical volume "/dev/vgOl/lvoll" has been successfully extended. Volume Group configuration for /dev/vgOl has been saved in

/etc/lvmconf/vgOl.conf

# lvcreate -С у -r n -L 1024 /dev/vgol

Logical volume "/dev/vg01/lvol2" has been successfully created

with character device "/dev/vg01/rlvol2".

# lvcreate -1 2676 /dev/vg01

Logical volume "/dev/vg01/lvol3" has been successfully created

with character device "/dev/vg01/rlvol3".

 

Необходимо выполнить команду lvlnboot, чтобы уведомить систему о новом корневом томе и томе подкачки:

# lvlnboot -r /dev/vg0l/lvol1

Volume Group configuration for /dev/vgOl has been saved in

/etc/lvmconf/vgOl.conf

# lvlnboot -s /dev/vg01/lvol2

Volume Group configuration for /dev/vg0l has been saved

in /etc/lvmconf/vg0l.conf

 

Другой способ создания логического тома заключается в том, что сначала выполняется команда lvcreate, формирующая том нулевой длины, а затем вызывается команда lvextend, которая увеличивает его размер. При этом можно точно указать, какие физические тома в группе образуют логический том. Когда команда lvcreate создает ненулевой том, она просто использует свободные дисковые страницы любых физических томов, что подходит для большинства ситуаций.

После того как логические тома созданы, их необходимо проверить, выполнив команду vgdisplay -v /dev/vg01. Можно также узнать, каким логическим томам принадлежит тот или иной физический том, запустив команду pvdisplay -v /dev/dsk/c0t3d0. Результаты работы команды pvdisplay могут быть достаточно большими, поэтому лучше направить их по каналу программе постраничной разбивки, такой как more.

Далее следует с помощью команды newfs создать файловые системы в логических томах. Стандартный тип файловой системы указан в файле /etc/default/fs. Обычно это VXFS (vxfs), т.е. файловая система менеджера логических томов Veritas. В любой команде, работающей с файловой системой, можно указать другой тип системы, воспользовавшись опцией -F. Допустима также файловая система HFS (hfs), являющаяся разновидностью быстрой файловой системы Беркли — FFS (по умолчанию используется в большинстве версий UNIX). Поддержка HFS оставлена в целях обратной совместимости; в новых системах гораздо лучше работать с VXFS.

Команда newfs в качестве аргумента принимает имя байт-ориентированного устройства, связанного с заданным логическим томом:

# newfs -F vxfs /dev/vg01/rlvol1

version 3 layout

1048576 sectors,  1048576 blocks of size 1024,  log size 1024 blocks

unlimited inodes, 1048576 data blocks, 1047224 free data blocks 32 allocation units of 32768 blocks, 32768 data blocks first allocation unit starts at block 0 overhead per allocationunit is 0 blocks

 

# newfs -F vxfs /dev/vg01/rlvol3

version 3 layout

43843584 sectors, 5480488 blocks of size 8192, log size 256 blocks

...

 

Поскольку операционная система VXFS поддерживает журнальный режим (в Solaris он включается с помощью опции монтирования -о logging), программа fsck всегда выполняется быстро:

# fsck /dev/vgOl/rlvol1

file system is clean - lof replay is not required


Теперь можно монтировать файловые системы. Как всегда, команда mount требует указать имя блок-ориентированного устройства. Чтобы убедиться в правильном выполнении процедуры монтирования, мы запускаем команду bdf (это BSD-версия команды df, которая для некоторых людей понятнее).

# mkdir /new

# mount /dev/vg01/lvol3 /new

# bdf /new

Filesystem        kbytes      used     avail     %used     Mounted on

/dev/vg01/lvol3   43843584    3616     43497480    0%      /new

 

Далее мы добавим записи о диске в файл /etc/fstab, называвшийся /etc/checklist в HP-UX 10 и ранее. В каждой записи этого файла указано имя блок-ориентированного устройства, точка монтирования, тип файловой системы, опции, частота создания резервных копий и порядок проверки программой fsck. Можно также добавить комментарии. Указанный ниже параметр delaylog позволяет пожертвовать надежностью ради скорости. Получить информацию об этом и других параметрах монтирования файловой системы VXFS можно на странице интерактивного руководства mount_vxfs. Две наши новые файловые системы описаны так:

/dev/vgOl/lvo11   /bkroot   vxfs   delaylog  0  2

/dev/vg01/lvol3   /new      vxfs   delaylog  0  2

 

Все, что осталось сделать, — это включить режим подкачки для второго логического тома. Команда swapon назначает устройство для подкачки и принимает имя блок-ориентированного устройства. Если необходимо создать несколько областей подкачки, может потребоваться модифицировать параметр ядра maxswapchunks. В любом случае при возникновении проблем команда swapon выдаст предупреждение. По завершении работы команды имеет смысл выполнить команду swapinfo, чтобы убедиться в правильном назначении областей.

 

 

# swapon /dev/vg01/lvol2

# swapinfo

Kb        Kb       Kb        Kb     START/          Kb

TYPE      AVAIL    USED     FREE    LIMIT   RESERVE  PRI      NAME

dev       262144   0         262144    0      -       1 /dev/vg00/lvol2

dev       1048576  0         1048576  0      -       1 /dev/vg01/lvol2

reserve   -        50876     -50876

 

Похоже, все прошло успешно. Нужно не забыть добавить запись для устройства подкачки в файл /etc/fstab, иначе при перезагрузке система не выделит для него дисковое пространство:

/dev/vg01/lvol2     /  swap   defaults    0    0 # swap device

 

После всех этих операций следует перезагрузиться и проверить, добавлены ли записи в файл /etc/fstab, выполнено ли автоматическое монтирование и правильно ли организована подкачка.

 

Red Hat

 

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

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

С помощью BIOS-программы SCSI-контроллера можно также провести низкоуровневое форматирование диска. Для некоторых дисков эта операция занимает много времени; к тому же, ее нельзя прервать, так что будьте готовы к этому.

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

 

 

В нашем случае SCSI-контроллер BusLogic выдал такое сообщение:

Scsi0 : BusLogic BT-948

scsi : 1 host.

Vendor:  SEAGATE     Model:  ST446452W   Rev:  0001

Type:    Direct-Access   ANSI SCSI revision:  02

Detected scsi disk sda at scsi0, channel 0,  id 3,  lun 0

scsiO: Target 3: Queue Depth 28,  Asynchronous

SCSI device sda: hdwr sector=512 bytes. Sectors=91923356 [44884 MB] (44.9 GB] sda:  unknown partition table

 

He обращайте внимания на сообщение о таблице разделов, так как это первое обращение к диску. Когда система завершит загрузку, можно будет приступать к разбивке диска на разделы.

В первую очередь необходимо проверить, существуют ли файлы устройств для диска. В Linux имена файлов, соответствующих SCSI-дискам, имеют формат /dev/sdXN, где X — это символ в нижнем регистре, идентифицирующий диск ('а' — SCSI-диск с самым младшим номером, ‘b’ — следующий диск и т.д.), а N — это номер раздела, начинающийся с 1. При ссылке на весь диск номер раздела просто опускается. В Linux нет байт-ориентированных дисковых устройств.

В данном примере наш диск является первым в SCSI-цепочке. Следовательно, первый раздел будет называться /dev/sda1, а ссылка на весь диск будет такой: /dev/sda. Если файлов устройств нет, их можно создать с помощью сценария /dev/MAKEDEV:

# cd /dev

# ./MAKEDEV sda

 

Теперь диск готов к разбивке на разделы. Как и в большинстве операционных систем на персональных компьютерах, в Red Hat соответствующая утилита называется fdisk. Хотя все версии утилиты работают примерно одинаково (они реализуют стандартную систему разбивки на разделы, предложенную компанией Microsoft), существует множество особенностей. Желательно для начала прочесть документацию и убедиться, что имеющаяся версия утилиты fdisk работает так, как описано ниже.

# fdisk /dev/sda

The number of cylinders for this disk is set to 5721.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., LILO)

2) booting and partitioning software from other OSs (e.g., DIS FDISK, OS/2 FDISK)

 

Поскольку мы будем использовать диск только в среде Linux, мы проигнорируем предупреждающее сообщение. Как объяснялось d параграфе 8.2, иногда важно делать первый раздел маленьким, чтобы не возникало проблем со старыми BIOS-программами и другими операционными системами, установленными на том же диске.

Программа fdisk является интерактивной; введите m, чтобы отобразить список всех команд. Мы будем использовать такие команды:

  • n — создает новый раздел;
  • t — изменяет тип раздела;
  • р — отображает таблицу разделов;
  • w — записывает таблицу разделов на диск.

Так как на нашем диске еще нет разделов, мы начнем с того, что создадим один. Если на диске имеются старые разделы, их нужно предварительно удалить с помощью команды delete утилиты fdisk. Утилита ничего не поменяет на диске, пока не будет дана команда записать таблицу разделов

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

Command  (m for help): new

Command action

   e    extended

   p   primary partition  (1-4): p

Partition number  (1-4): 1

First cylinder (1-5721, default 1): 1

Last cylinder or +size or tsizeM or +sizeK (1-5721, default 5721): +2G


Command (m for help): print

Disk /dev/sda: 255 heads, 63 sectors, 5721 cylinders

Units = cylinders of 16065 * 512 bytes


    Device   Boot   Start   End       Blocks     Id     System

/dev/sdal            1      255       2048256    83     Linux

 

Раздел подкачки создается аналогичным образом, только тип раздела будет не Linux, a Swap. Хотя ядру безразличен тип раздела, некоторые программы и сценарии пытаются на его основании понять назначение раздела. В настоящее время размер областей подкачки в Linux не может превышать 2 Гбайт, поэтому мы указали максимально допустимый размер Возможно, для большинства ПК-приложений это чересчур много, но раз уж у нас такой большой диск, можно позволить себе быть столь щедрыми Команда mkswap выдаст предупреждение, если она не сможет использовать все выделенное пространство.

Command (m for help): new

Command action

   e     extended

   p     primary partition (1-4): p

Partition number  (1-4): 2

First cylinder (256-5721, default 256): 256

Last cylinder or +size or +sizeM or +sizeK (256-1275, default 1275) : 511


Command  (m for help): type

Partition type (1-4): 2

Hex code (type L to list codes): 82

Changed system type of partition 2 to 82  (Linux swap)

 

Третий раздел создается точно так же. Перед тем как записать таблицу разделов на диск, просмотрим ее:

Command (m for help): print

Disk /dev/sda: 255 heads,  63 sectors,  5721 cylinders

Units - cylinders of 16065 * 512 bytes


    Device   Boot   Start   End   Blocks   Id   System

/dev/sdal              1   255   2048256  83   Linux

/dev/sda2            256   511   2056320  82   Swap

/dev/sda3            512  5721  41849325  83   Linux

 

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

Command (m for help): write

The partition table has been altered!

Calling ioctl()  to re-read partition table.

SCSI device sda: hdwr sector=512 bytes. Sectors=91923356 [44884 MB] [44.9 GB]

sda: sdal sda2 sda3

Syncing disks.

 

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

Теперь можно приступать к созданию файловых систем. В настоящее время стандартным типом файловой системы в Linux де-факто является файловая система Extended 2 (ext2fs), которая основана на быстрой файловой системе Беркли (FFS — Fast File System). Она создается с помощью утилиты mke2fs. В Linux поддерживается много других файловых систем, но лишь для немногих имеется утилита mkfs.

Для утилиты mke2fs нужно указать имя устройства и размер раздела:

# mke2fs /dev/sdal 2048256

mke2fs 1.14,  9-Jan-1999 for EXT2 FS 0.5b,  95/08/09

Linux ext2 filesystem format

514000 inodes, 2048001 blocks

102412 blocks (5.00%) reserved for the super user

First data block=l

Block size=1024  (log=0)

Fragment size=1024  (log-0)

250 block groups

8192 blocks per group,  8192 fragments per group

2056 inodes per group

Superblock backups stored on blocks:

8193,  16385,  24577,  32769,  40961,  49153,  57345,  65537,

...

Writing inode tables: 250/250 done

Writing superblocks and filesystem accounting information:

 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page