Опубликован: 04.07.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Европейский Университет в Санкт-Петербурге
Лекция 7:

Устройство и администрирование файловой системы UFS

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Ключевые слова: разбиение, разделы, установка программ, solaris, минимум, root, файловая система, свопинг, диск, система принятия, export, opt, ПО, корневой каталог, подкаталог, device-specific, TMP, entire, distributed, размер файла, X-протокол, компьютер, сервер, Oracle, базы данных, почтовый сервер, mail, файловый сервер, пространство, cache, FTP, СУБД, mysql, веб-сервер, хост, программа, format, геометрия, форматирование, SCSI, IDE, primaries, Slave, x86, ядро, файл, reconfigurability, файл устройства, disk, меню, запуск, интерфейс, активный, partition, пункт, labels, таблица разделов, место, slice, UFS, lost, список вывода, суперблок, индексный дескриптор, байт, раздел диска, таблица, доступ к файлу, ACL, access control, listing, загрузочный блок, node, table, SUN Microsystems, trust, списки управления доступом, дескриптор, shadowing, inode, system, жесткий диск, Unix, BSD, boot block, disk label, оперативная память, целостность, завершение работы, flagging, NOT, set, дескриптор файла, UID, GID, FFS, доступ, структура данных, устойчивость, информация, метаданные, metadata, расстояние, атрибут файла, тип файла, идентификатор группы, хранение данных, сочетания, теневой индексный дескриптор, Размещение, длина, блок данных, indirect, block, адресация, разрядность, файловый дескриптор, file system, NFS, network file system, FIFO, системный администратор, администратор, анализ, HTML, пользователь, почтовый ящик, гигабайт, процессор, pentium, корневая файловая система, кэширование, кэш, производительность, свободное пространство, килобайт, статистика, free, переполнение, процентили, компромисс, FAT, RT-11, ввод/вывод, запись, Windows, целый, длина блока, идентифицирующая, драйвер, дефрагментация, SPARC, резервное копирование, администрирование, терминал

Разбиение диска на разделы

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

Для более надежной и быстрой работы системы принято, кроме упомянутых разделов, создавать разделы с точками монтирования /usr, /export/home и, возможно, /opt. Далее мы будем называть разделы по именам точек монтирования (например, раздел /usr ).

Отметим, что при использовании файловой системы ZFS думать о разбиении диска на разделы незачем, но об этом подробнее рассказывается в "Концепция, устройство и администрирование файловой системы ZFS" .

В корневом каталоге системы располагается несколько файлов и ряд обязательных для работы системы подкаталогов. Это подкаталоги /bin, /sbin, /dev, /devices, /etc, /tmp. Как правило, имеются подкаталоги /usr и /opt, а также /export, они обычно являются точками монтирования других разделов.

Корневой каталог в типичной установке Solaris (набор программ Entire Distribution – подробнее см. лекции 3 и 4) занимает 200 Мб (при условии, что каталоги /usr, /opt, /var и /export/home размещены в других разделах). При установке системы ему следует выделить 300 Мб – с запасом. Каталог /usr займет не меньше 1400 Мб, /var – не менее 100 Мб. Для каталога /var имеет смысл выделить больше места, т.к. именно в нем будут содержаться быстро растущие в размере файлы протоколов, почтовые ящики пользователей и прочее. Приведенные объемы разделов справедливы для варианта установки с набором программ Entire Distribution.

Вообще говоря, перед планированием разделов следует подумать о том, как будет использоваться компьютер под управлением Solaris. Если это будет сервер Oracle, надо зарезервировать один неразмеченный (неотформатированный) раздел под базы данных Oracle. Если планируется сделать почтовый сервер, то следует отвести под раздел /var достаточно места для размещения всех почтовых ящиков в каталоге /var/mail, а если это будет файловый сервер, надо сделать отдельный большой раздел для хранения файлов пользователей (например, /export/home ).

Таким образом, фактическое пространство, которое следует отвести под каталог /var, зависит от назначения компьютера. Исходя из собственного опыта, я всегда создаю для /var раздел размером как минимум 256Мб в системах с небольшой нагрузкой (почтовый сервер, http-cache и ftp для сети из 10-50 компьютеров) и до 2-3Гб в системах со средней нагрузкой (почтовый сервер, http-cache, СУБД типа MySQL, веб-сервер с 5-10 виртуальными хостами в сети из 50-150 компьютеров).

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

При установке нового диска его разметку поможет провести программа format. Эта программа также может использоваться для получения информации о геометрии диска, для низкоуровнего форматирования SCSI-дисков и восстановления некоторой служебной информации после сбоев.

Разметка нового диска

Предположим, мы подключили новый диск, и это IDE primary slave диск. Чтобы создать на нем файловую систему, потребуется создать на новом диске разделы (по крайней мере один) и затем на каждом из разделов создать новую файловую систему.

Создание разделов на диске выполняется с помощью команды format или fdisk. Последняя применяется только для платформы x86. Однако, из format можно вызвать fdisk – и этот способ предпочтительнее. Почему – будет ясно из следующего описания.

После подключения нового диска нет надобности перенастраивать ядро Solaris, если диски этого типа в системе уже есть. Например, если у вас уже есть один IDE-диск и система с ним уже работает, незачем перезапускать систему с ключом r или создавать файл /reconfigure и перезапускаться для обнаружения нового устройства. Достаточно создать новые файлы устройств в каталогах /devices и /dev. Для этого в более ранних версиях Solaris использовалась программа disks, а начиная с версии Solaris 9 следует запускать devfsadm. При запуске без параметров новый диск будет обнаружен и требуемые файлы будут добавлены в каталоги /devices, ./dev/dsk и /dev/rdsk.

Теперь любая программа работы с диском, требующая файл устройства в каталоге /dev/rdsk, уже может работать с диском. Запустим программу format. В меню программы следует выбрать диск, а затем выбрать запуск fdisk. После этого мы будем работать в среде программы fdisk. Ее интерфейс нам знаком по другим системам, только обратите внимание, что есть возможность создавать разделы нескольких типов. Если мы добавляем дополнительный диск для работы с ним из среды Solaris, то следует выбрать тип Solaris. Раздел на новом диске не должен быть помечен как "активный", если только с него не будет загружаться какая-нибудь система в будущем.

Можно запустить программу fdisk самостоятельно, без предварительного вызова программы format, но последняя все равно будет нужна на следующем этапе.

После создания раздела следует выйти из fdisk, и в программе format выбрать partition->print.

Если определен размер только одного подраздела (partition), а именно – подраздела номер 2, это говорит о том, что для созданного раздела fdisk следует определить подразделы. Если это отвечает вашим намерениям, достаточно создать всего один подраздел размером с весь раздел fdisk. Это можно сделать через меню Partition программы format. Выбрав partition->номер подраздела (например, 0), будет легко задать его размер.

Обязательно выберите пункт label для записи получившейся таблицы разделов на диск.

После этого создадим новую файловую систему на получившемся подразделе. Помните: разделы fdisk для Solaris – это лишь место для размещения подразделов типа solaris (slices). А на этих подразделах как раз и существует файловая система UFS, и располагаются файлы и каталоги. Файловую систему на новом диске создадим командой newfs.

Программа mkfs позволяет создавать файловые системы разных типов, включая UFS, а newfs является более удобным интерфейсом к mkfs исключительно для создания файловых систем UFS.

# newfs /dev/rdsk/c0d1s0
newfs: construct a new file system /dev/rdsk/c0d1s0: (y/n)? y
/dev/rdsk/c0d1s0:       2060352 sectors in 2044 cylinders of 16
tracks, 63 sectors
         1006,0MB in 128 cyl groups (16 c/g, 7,88MB/g, 3776 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32,  16224,  32416,  48608,  64800,  80992,  97184,  113376,  129568,
145760,  161952,  178144,  194336,  210528,  226720,  242912,  258080,
274272,  290464,  306656,  322848,  339040,  355232,  371424,  387616,
403808,  420000,  436192,  452384,  468576,  484768,  500960,  516128,
532320,  548512,  564704,  580896,  597088,  613280,  629472,  645664,
661856,  678048,  694240,  710432,  726624,  742816,  759008,  774176,
790368,  806560,  822752,  838944,  855136,  871328,  887520,  903712,
919904,  936096,  952288,  968480,  984672,  1000864,  1017056,
1032224,  1048416,  1064608,  1080800,  1096992,  1113184,  1129376,
1145568,  1161760,  1177952,  1194144,  1210336,  1226528,  1242720,
1258912,  1275104,  1290272,  1306464,  1322656,  1338848,  1355040,
1371232,  1387424,  1403616,  1419808,  1436000,  1452192,  1468384,
1484576,  1500768,  1516960,  1533152,  1548320,  1564512,  1580704,
1596896,  1613088,  1629280,  1645472,  1661664,  1677856,  1694048,
1710240,  1726432,  1742624,  1758816,  1775008,  1791200,  1806368,
1822560,  1838752,  1854944,  1871136,  1887328,  1903520,  1919712,
1935904,  1952096,  1968288,  1984480,  2000672,  2016864,  2033056,
2049248,

Смонтируем получившуюся файловую систему в каталог /test:

# mount -F ufs /dev/dsk/c0d1s0 /test
# ls test
lost+found

Обратите внимание: при создании файловой системы сразу создается каталог lost+found на ней, для того, чтобы при автоматическом восстановлении файлов после сбоя (при перезагрузке, например) программе fsck было куда записать потерявшиеся фрагменты файлов. Кроме этого, в некоторые блоки (их список выводится при работе newfs или mkfs ) записана резервная копия суперблока новой файловой системы.

Количество индексных дескрипторов в файловой системе

Количество индексных дескрипторов в создаваемой файловой системе типа UFS можно задать посредством указания параметра с ключом -i:

newfs –i nbpi raw_device_name

Например

newfs –i 2048 /dev/rdsk/c0d0p0

Параметр nbpi обозначает число байтов, приходящихся на один индексный дескриптор1Имеется в виду число байт данных в файлах этого раздела, а не длина индексного дескрип- тора, последняя фиксирована и равна 128 байтам (прим. Авт.)., что при известном объеме диска однозначно определяет число индексных дескрипторов в файловой системе.

Программы mkfs и newfs поддерживают еще ряд ключей, которые позволяют гибко описывать параметры создаваемой файловой системы.

< Лекция 6 || Лекция 7: 1234 || Лекция 8 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Александр Гордеев
Александр Гордеев
Казахстан, Алматы, ТУРАН
Александр Даниленко
Александр Даниленко
Россия, Москва, 797, 1993