Linux-сервер своими руками
Шрифт:
В этом пункте я вкратце постараюсь объяснить, какие файлы ассоциируются с какими устройствами. Договоримся, что символ N обозначает номер устройства, например, ttyN обозначает устройства /dev/tty1…/dev/ttyN, а x — символ. Наиболее используемые стандартные имена устройств (в соответствии с принятыми обозначениями) приведены в табл. 4.2.
Наиболее используемые стандартные имена устройств Таблица 4.2
Файл | Устройство |
---|---|
TtyN | Консоль |
mouse | Мышь |
audio | Звуковая карта |
modem Модем. | Обычно файл /dev/modem является ссылкой на один из файлов /dev/ttyS0 |
ttySN | Последовательный
|
IpN | Параллельный порт |
cuaN | Могут обозначать последовательные порты. Используются немного в другом контексте, чем ttySN |
hdxN | IDE жесткий диск |
sdxN | SCSI жесткий диск |
fd0 | Первый дисковод для гибких дисков, то есть А:, для В: используется имя /dev/fd1 |
stN | Стример с интерфейсом SCSI |
nrtfN | Стример с интерфейсом FDC |
mdN | Массив RAID |
ethN | Сетевая плата |
null | Пустое устройство |
На устройствах hdxN и sdxN необходимо остановиться подробнее. Известно, что к (E)IDE (ATA) контроллеру можно подключить четыре IDE-устройства: Primary Master, Primary Slave, Secondary Master, Secondary Slave.
Этим устройствам соответствуют символы: а, b, с, d. Например, /dev/hda — Primary Master, a /dev/hdd — Secondary Slave. Номер N в обозначении устройства обозначает номер раздела на жестком диске. Первичный раздел DOS на первом жестком диске обозначается так: /dev/hda1.
4.5. Стандартные каталоги
В ОС Linux есть каталоги, которые называются стандартными. Иногда их еще называют системными. Эти каталоги присутствуют практически в каждой ОС Linux. В них находятся файлы, необходимые для управления и сопровождения системы, а также стандартные программы. Описание стандартных каталогов сведено в табл. 4.3.
Стандартные каталоги Таблица 4.3
Каталог | Назначение |
---|---|
/ | Корневой каталог |
/bin | Содержит стандартные программы |
/home | Содержит домашние каталоги пользователей |
/usr | Содержит все программы, используемые системой |
/sbin | Команды для системного администрирования |
/var | Содержит файлы, которые постоянно изменяются, например, спулы для принтеров, а также файлы почтовых ящиков |
/etc | Содержит файл настройки системы |
/dev | Здесь находятся файлы устройств |
/tmp | Каталог для временных файлов |
/mnt | Обычно здесь создаются точки монтирования. Тем не менее, подмонтировать файловую систему можно к любому другому каталогу, а использование каталога /mnt не является обязательным |
4.6. Создание файловой системы. Типы файловых систем
Каждая операционная система имеет основной тип файловой системы, а также дополнительные типы, поддержка которых осуществляется модулями (драйверами), подключаемыми к ядру. В случае с Linux поддержку той или иной файловой системы можно встроить непосредственно в ядро. Основной файловой системой Linux на момент написания этих строк является ext2fs, однако на ее смену сейчас приходит ext3fs и последние версии дистрибутивов Linux используют именно ее. Переход на новую файловую систему обеспечивает более надежную ее работу.
Кроме основной файловой системы, Linux поддерживает файловые системы, указанные в табл. 4.4.
В табл. 4.4 рассмотрены базовые типы файловых систем. ОС Linux поддерживает и другие файловые системы, не указанные в таблице. Поддержку нужной вам файловой системы можно включить при перекомпилировании ядра. Подробно этот процесс рассмотрен в гл. 18. Для нормальной работы
Типы файловых систем Таблица 4.4
Файловая система | Комментарий |
---|---|
Minix Filesystem (minix) | Устаревшая и практически неиспользуемая в наше время файловая система |
Xia Filesystem (xia) | Редко используется |
UMSDOS Filesystem (umsdos) | Использовалась для установки Linux в раздел MSDOS |
MSDOS Filesystem (msdos) | Файловая система msdos |
(*) VFAT Filesystem (vfat) | Файловая система Windows |
NT Filesystem (ntfs) | Файловая система Windows NT |
HPFS Filesystem (hpfs) High Performance FS. | Файловая система OS/2 |
(*) ISO 9660 | Файловая система, используемая большинством CDROM |
(*) /proc | Предоставляет информацию о процессах |
Extended Filesystem (ext) | Устаревшая версия основной файловой системы Linux |
(*) Second Extended Filesystem (ext2) или Third Extended Filesystem (ext3) | Основная файловая система |
Network Filesystem (nfs) | Сетевая файловая система |
Внимание! Старайтесь никогда не использовать файловую систему msdos. Она поддерживает только имена в формате 8+3 (так называемые короткие имена файлов). Вместо нее нужно использовать файловую систему vfat. Она поддерживает «длинные» имена файлов и нормально работает со старыми разделами (дискетами), отформатированными под файловую систему msdos.
Прежде чем перейти к созданию файловой системы, хочу рассмотреть несколько новых файловых систем, которые, скорее всего, становятся стандартом в настоящее время. Ядро 2.4.8 уже поддерживает файловые системы: Ext3, ReiserFS, XFS.
Список файловых систем, которые поддерживаются ядром системы, содержится в файле /proc/filesystems. Просмотреть этот список поможет команда
Файловая система Ext3 (Third Extended Filesystem) представляет собой журналируемую надстройку над ext2, поэтому возможно чтение одной файловой системы как драйвером Ext3, так и драйвером Ext2. Возможно отключение журналирования. Файловую систему ext2 можно конвертировать в ext3, запустив программу создания журнала. После конвертирования новую файловую систему можно использовать и без журнала — для этого достаточно примонтировать ее драйвером для ext2.
RaiserFS — журналируемая файловая система. Основной ее особенностью является способность хранить несколько мелких файлов в одном блоке.
XFS — также журналируемая файловая система, первоначально разрабатывалась компанией Silicon Graphics (SGI) для ОС Irix. Особенностью этой файловой системы является устройство журнала: в журнал пишется часть метаданных самой файловой системы таким образом, что весь процесс восстановления после сбоя сводится к копированию этих данных из журнала в файловую систему. Размер журнала задается при создании системы, он должен быть не меньше 32 мегабайт.
JFS первоначально разрабатывалась компанией IBM для AIX OS, позднее была перенесена на OS/2, а не так давно и под Linux. Размер журнала составляет примерно 40% от размера файловой системы. Максимальный размер равен 32 мегабайтам. Эта файловая система может содержать несколько сегментов, содержащих журнал и данные. Эти сегменты называются агрегатами и могут монтироваться отдельно.
Все эти файловые системы предназначены для создания высокопроизводительного файлового сервера или рабочей станции, ориентированной на работу с файлами больших размеров. Какая из них лучше — трудно сказать. Нужно исходить из потребностей.
Производительность JFS ниже, чем у остальных трех файловых систем, но она более предсказуема по своему поведению, то есть можно с большой вероятностью предсказать, когда начнется падение производительности. XFS обладает значительно большими показателями производительности. Особенно хорошо она себя проявляет при работе с файлами больших размеров. Производительность этой файловой системы можно значительно повысить, если создать журнал на отдельном контроллере.
Файловая система ReiserFS показала еще большую производительность, но трудна в прогнозировании падения производительности. Файловая система ext3 практически по всем параметрам производительности мало чем отличается от ReiserFS.