Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Файловая система
Монтирование и демонтирование файловых систем
При старте системы после загрузки ядра и запуска процесса init инициируется проверка тех файловых систем, которые следует проверить и смонтировать автоматически. Их список содержится в файле /etc/vfstab1Внимание! В других системах UNIX этот файл имеет другое название – /etc/fstab . Типичный файл /etc/vfstab выглядит так:
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0d0s1 - - swap - no - /dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no - /dev/dsk/c0d0p0:boot - /boot pcfs - no - /dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs 2 yes - swap - /tmp tmpfs - yes -
Те файловые системы, которые в столбце mount at boot отмечены как yes, будут проверены и смонтированы при старте системы. Файловую систему можно смонтировать в любой момент, надо лишь указать ей в качестве точки монтирования пустой каталог, который уже существует и доступен в системе. Операцию монтирования и демонтирования файловой системы может осуществить только root.
Монтирование файловой системы выполняется командой mount:
mount device mount_point
Например
mount /dev/dsk/c0d1s0 /test
Для монтирования файловой системы, которая описана в /etc/vfstab, можно не указывать имя файла устройства, а сразу указать точку монтирования. Такую "сокращенную" команду mount можно применять только для монтирования файловых систем, перечисленных в /etc/vfstab.
При монтировании файловой системы следует явно указывать ее тип, если он отличается от UFS.
Файловые системы ZFS монтируются автоматически при загрузке, если при их настройке не было специально указано, что их не надо монтировать автоматически, и проверка файловой системы ZFS не требуется.
Демонтирование файловой системы делает ее недоступной для чтения и записи, но файлы, которые расположены на демонтируемом разделе, конечно же, остаются на месте. Просто после демонтирования они не видны: точка монтирования снова превращается в пустой каталог, как до монтирования в нее диска или раздела.
Нельзя демонтировать занятую файловую систему. Занятой считается такая файловая система, файл с которой открыт в настоящее время кем-то из пользователей или каталог которой является текущим каталогом кого-то из работающих в системе пользователей. В разделе "Определение процессов, занявших файл" обсуждается, как выяснить, какой именно процесс занял тот или иной файл в системе (см. также fuser(1M) ).
Чтобы все-таки демонтировать файловую систему, следует найти и устранить причину ее занятости. Часто для этого достаточно просто самому выйти из того каталога, который собираешься демонтировать. Это типичная ошибка системного администратора: пытаться демонтировать /usr в тот момент, когда находишься в /usr/admin или подобном подкаталоге, который лежит в том же разделе, что и /usr.
Демонтирование файловой системы выполняется командой umount:
umount mount_point
Например
umount /mnt
Монтирование дискет и прочих сменных носителей
Для монтирования дискет, компакт-дисков и прочих сменных носителей в Solaris имеется специальная программа vold (Volume Management daemon). Она следит за тем, вставлены ли компакт-диск, дискета, или, к примеру, zip-диск в соответствующее устройство. Как только диск оказывается в устройстве, vold вызывает программу volcheck, чтобы проверить, действительно ли в привод установили новый диск, а затем программу rmmount для монтирования диска в заранее определенную точку монтирования. Программа rmmount выясняет тип файловой системы вставленного диска, и, если этот тип поддерживается, монтирует диск. Список предопределенных точек монтирования можно посмотреть с помощью
man rmmount
Поведение rmmount определяется файлом конфигурации /etc/rmmount.conf.
Программу rmmount можно запускать и вручную. Кроме того, можно применить команду volrmmount для форсирования перемонтирования или демонтирования файловой системы на сменном носителе. Детали ее использования следует почерпнуть в man volrmmount.
Функцию vold могут исполнять и другие компоненты системы, например, соответствующий компонент графической среды GNOME.
Суперблок
Суперблок – это блок в начале диска, содержащий общую информацию о диске и файловой системе на ней. Роль суперблока в ZFS играет uber-блок, также содержащий информацию, необходимую ZFS для работы с этим диском как с элементом пула ZFS. Суперблок в UFS содержит общую информацию о файловой системе как совокупности файлов на данном разделе жесткого диска, в частности, размер раздела UNIX, число свободных и занятых блоков и индексных дескрипторов и флаг целостности файловой системы. Подробнее о суперблоке в UFS и uber-блоке в ZFS рассказано в лекциях "Устройство и администрирование файловой системы UFS" и "Концепция, устройство и администрирование файловой системы ZFS" соответственно.
Таблица индексных дескрипторов
В виртуальной файловой системе таблица индексных дескрипторов представляет собой таблицу, каждый элемент которой описывает одну логическую сущность. Как правило, такой сущностью является файл или каталог. Каталог по сути дела является файлом специального типа. Каждый индексный дескриптор содержит ряд полей: тип файла, который описывается данным дескриптором, время последней модификации файла, время последнего доступа к файлу, время модификации индексного дескриптора, права доступа к файлу, идентификаторы владельца файла и группы файла и ряд других. Вся информация о файле, кроме его имени, хранится в индексном дескрипторе, имя файла хранится в каталоге, в котором находится файл. Более подробно о таблице индексных дескрипторов в UFS рассказано в "Устройство и администрирование файловой системы UFS" .
Дерево каталогов
Файлы в UNIX'e разложены по каталогам. Каталоги образуют древовидную структуру: есть корневой каталог, который обозначается знаком "/" (слэш), и его подкаталоги. В каждом из последних есть свои подкаталоги и т.д. Ограничений на число файлов в каталоге нет. Разные каталоги ("ветви" дерева каталогов) могут размещаться на разных дисках, это незаметно для пользователя. Чтобы обратиться к файлу, не нужно знать о том, на каком физическом устройстве или разделе диска записан файл. Это значит, что лихорадочный поиск по дискам С:, D: E:, K:, R:, Y: не знаком человеку, работающему с UNIX'ом. Он лихорадочно ищет потерянные файлы в густой кроне UNIX-каталогов, начиная от корня.
Между прочим, забавно, что уже много лет все упорно называют деревом структуру каталогов, у которой корень находится наверху, а его ближайшие отростки-подкаталоги называются каталогами верхнего уровня... Кто из нас видел деревья, растущие кронами вниз?
Поддерживаемые типы файловых систем
Основными ("родными") файловыми системами Solaris являются UFS (Unix file system) и ZFS (Zettabyte File System). Всего Solaris 10 поддерживает 14 файловых систем, перечисленных в табл. 6.2. Кроме этого, в кластерах поддерживается файловая система Lustre, разработанная компанией CFS, Inc. (от Cluster File System). Компания CFS была куплена компанией Sun Microsystems в 2007 году.
В довольно старых версиях UNIX поддерживалась всего одна файловая система. С увеличением разнообразия носителей возникла необходимость поддержки разнородных файловых систем на носителях разной природы. Так в 1985 году компания Sun Microsystems пришла к реализации концепции виртуальной файловой системы.
Виртуальная файловая система представляет собой абстрактную файловую систему, которая позволяет операционной системе одинаковым образом обращаться к файловым системам разных типов.
К 1985 году операционные системы фирмы Sun использовали Berkeley fast filesystem (FFS). Эта файловая система базировалась на концепции индексных дескрипторов, которая органично трансформировалась в концепцию виртуальных индексных дескрипторов в новой файловой системе UFS, вобравшей в себя структуру FFS и новые идеи организации виртуальной файловой системы. Взаимодействие независимого от конкретного типа файловой системы уровня виртуальной файловой системы и файловых систем строго определенных типов иллюстрирует рис. 6.5.
Файловая система UFS претерпела некоторые изменения с 1985 года. Так, начиная с выпуска Solaris 9 8/03 поддерживаются многотерабайтные разделы, в то время как до этого UFS в Solaris могла работать только с разделами размером до 1 Тб. В настоящее время большие дисковые системы имеет смысл использовать в качестве элементов пула ZFS, так как файловая система ZFS лучше всего подходит для управления большими дисковыми пространствами.
Файловые системы UFS, VxFS и ZFS, поддерживаемые в Solaris, отличаются по некоторым важным параметрам, влияющим на их надежность и производительность. В табл. 6.3 показано, что различные файловые системы обладают разными алгоритмами выделения пространства под файлы, а также механизмом журналирования.
Выделение пространства блоками позволяет минимизировать фрагментацию файловой системы, а выделение пространства экстентами (большими частями пространства диска, состоящими из многих блоков) дает возможность снизить объем служебной информации, которая записывается на диск.
В файловой системе UFS размер блока может составлять от 512 до 8192 байт, по умолчанию в Solaris принят размер 8192 байт.
В Solaris поддерживается журналирование (logging) файловых систем UFS и VxFS. Журналирование позволяет записывать в журнал информацию обо всех начатых транзакциях. Если транзакция (т.е. операция записи на диск) по каким-то причинам не была завершена (например, отключилось питание), то после перезапуска системы файловая система будет автоматически возвращена в состояние, в котором она была до начала транзакции. Подобную функциональность предоставляет файловая система ext3fs в Linux, reiserfs для FreeBSD и Linux и некоторые другие.
В последние годы непременным условием использования файловой системы стала поддержка современных дисков больших объемов и больших файлов. Если несколько лет назад "большим" назывался диск объемом в 1 гигабайт, то сейчас дисковые массивы объемом в несколько терабайт становятся обычными для систем среднего класса. Скоро они придут в системы малых офисов и в дома, а сети предприятий начнут работать с серверами, в которых установлены дисковые массивы, содержащие десятки и сотни терабайт информации. Что на это отвечают создатели файловых систем для UNIX?
С 1991 года файловая система UFS претерпела заметные изменения, появилась версия UFS2, которая пока поддерживается только во FreeBSD 5.0. В Solaris модификация файловой системы позволила достичь предела поддерживаемого дискового объема одного раздела UFS в 1 терабайт.
Дерево каталогов
Все файлы в UNIX организованы древовидно: всегда существует корневой каталог, который обозначается "/". В нем есть подкаталоги. Обычно имеются подкаталоги, перечисленные в табл. 6.4.
Каталог /bin является символической ссылкой на каталог /usr/bin: так бывает не всегда.
Характерным свойством Solaris является выделение отдельного каталога /exports, в котором сосредотачиваются разделяемые по сети подкаталоги, доступные для пользователей других компьютеров. Каталог /opt, куда устанавливается некоторое дополнительное программное обеспечение (от optional, необязательное), тоже есть в системах Solaris, но отсутствует во многих других системах UNIX.
Это автоматически приводит к тому, что записанные в файловую систему tmpfs файлы теряются после перезагрузки. Поэтому не следует записывать в /tmp какие-либо полезные файлы.
Скорость работы файловой системы tmpfs высока, т.к. часто все ее файлы физически расположены в оперативной памяти. Вследствие этого кэширование файлов на tmpfs не производится: они и так хранятся не на диске.
Казалось бы, использование tmpfs таит в себе резерв увеличения производительности любого приложения, поскольку достаточно записать данные в каталог /tmp и работать с ними там, чтобы скорость доступа к данным возросла многократно. На самом деле это не так, потому что чтение и запись любых дисков кэшируется, и лишь для некоторых приложений использование tmpfs оправдано. Несомненно увеличивается быстродействие компиляторов и других программ с большими объемами промежуточных файлов – но они и так используют /tmp для хранения временной информации в процессе работы.
По умолчанию Solaris применяет tmpfs только для /tmp. При этом система избегает существенного объема дискового ввода-вывода, так как /tmp используется для временных файлов различных программ.
Внимание: создание отдельного раздела /tmp на диске приведет к тому, что /tmp не будет создан системой автоматически с типом файловой системы tmpfs и производительность системы может уменьшиться!