Европейский Университет в Санкт-Петербурге
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 1320 / 264 | Оценка: 4.34 / 3.65 | Длительность: 21:13:00
Лекция 6:

Файловая система

Ключевые слова: файловая система, FAT32, раздел диска, mount, выражение, Unix, администратор, format, диск, разделы, ПО, память, жесткий диск, logically, 'volume', manager, Linux, приложение, пул, место, SUN Microsystems, поддержка, solaris, freebsd, mac os, UFS, администрирование, файл устройства, указатель, ядро, драйвер устройства, подкаталог, device-specific, конфигурация, символьная ссылка, символьное устройство, блочное устройство, вывод, запись, поле, slice, группа, расстояние, контроллер, SCSI, target, numbering, LUN, logical unit, IDE, mastering, Slave, адаптер, x86, плата, B-канал, SPARC, master boot record, MBR, загрузчик, FAT, primaries, secondary, RAW, disk, присоединение, PCI-X, SD, дерево, шина, IBM, список, файл, системный администратор, слово, NOT, attachment, POSIX, IEEE, STD, editing, суперблок, метаданные, атрибут файла, индексный дескриптор, абстракция, вспомогательные данные, логическое ИЛИ, система типов, DVD, монтирование файловой системы, целостность, корень дерева, родительский каталог, VAR, запуск процесса, init, boot, root, точка монтирования, текущий каталог, определение процессов, fuser, admin, компакт-диск, программа, daemon, ZIP, компонент, графическая среда, виртуальная файловая система, дескриптор, тип файла, доступ к файлу, имя файла, корневой каталог, file system, zettabyte, кластер, lustre, CFS, cluster, транзакционная, SMB, CIFS, high-q, CD-ROM, оперативная память, свопинг, NFS, разделяемый каталог, кэширование, удаленная файловая система, динамические объекты, PROC, сокет, FIFO, pipe, API, fopen, CP/M, SUN, fast, FFS, производительность, журналирование, block, extent, байт, транзакция, гигабайт, bin, символическая ссылка, export, opt, программное обеспечение, option, kernel, lost, TMP, ввод/вывод, door, исполняемый код, текстовый файл, командный процессор, интерпретатор, обмен данными, directory, symbolic link, Character, полное имя файла, кодировка, UTF-1, процессор, news, HTML, programming, executable file, Data, localization, полное имя, идентифицирующая, относительное имя файла, CD+G, экранирование, перевод строки, тильда, командный интерпретатор, домашний каталог пользователя, домашний каталог, bash, regular, текстовый редактор, веб-сервер, touch, сборка, мегабайт, переименование файлов, удаление файла, unerase, trash, CDE, file management, xterm, эмулятор терминала, CAT, enter, подстрока, ctrl, Директория, folder, копирование, RP, profiler, history, эквивалентность, ссылка, жёсткая ссылка, права, информация, команда, таблица, find, путь, shortcut, Windows, ресурс, busy, выход, идентификатор процесса, доступ, словосочетание, группа пользователей, размер файла, t-бит, USER, read-only, Write, запуск, executive, двоичное представление, право на чтение, поиск, значение, создание файла, группа процессов, sticky-notes, BIT, право доступа, списки управления доступом, access control, listing, ACL, хозяин файла, UID, GID, идентификатор пользователя, имя пользователя, имя группы, изменение записей, драйвер, корректность, ISO, ex, связь, скрипт

Термин "файловая система"

Термин "файловая система" в литературе используется для обозначения трех разных понятий.

  1. Во-первых, файловая система – это набор правил и конструкций, описывающих то, как сохраняются файлы на диске. В этом смысле мы употребляем, например, выражение "файловая система FAT32", и "файловая система" здесь тождественна понятию "тип файловой системы".
  2. Во-вторых, файловая система – это совокупность всех файлов, хранимых в компьютере.
  3. В-третьих, и это значение термина характерно именно для UNIX-систем, файловая система – это совокупность всех файлов на разделе диска или устройстве, или, что точнее, файловая система – это логическая единица монтирования (то, что можно смонтировать командой mount в отдельный каталог дерева каталогов).

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

Две концепции файловой системы в UNIX

В системах UNIX до 2004 года существовала только одна концепция файловых систем, основанная на представлении файловой системы компьютера как единого дерева, отдельные "ветви" которого могут быть расположены на различных физических носителях или в различных разделах одного и того же носителя. Концепция предполагала необходимость разметки любого физического носителя (часто – вручную, т.е. системный администратор должен был спланировать разметку диска и потратить некоторое время на его разметку с помощью fdisk, format или аналогичного инструмента).

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

В то же время, системные администраторы со временем масштабируются хуже компьютеров – и бдительность их скорее снижается из-за распыления внимания на новые задачи и объекты растущих масштабов.

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

С появлением больших дисковых массивов, состоящих из десятков и сотен дисков, особенно в системах, связанных с высокопроизводительными вычислениями и обработкой больших объемов данных, потребовалось собирать из физических дисков виртуальные тома. Для этого разные производители систем использовали разные приложения, среди которых большую популярность получил Logical Volume Manager (LVM) для Linux. Однако, хотя применение LVM облегчало группировку разделов в логические тома большого объема, необходимость размечать каждый диск и создавать на нем разделы сохранялась.

Поэтому в 2004 году появилась вторая концепция файловой системы, которая тоже предполагала существование единого логического дерева каталогов, но на уровне физических устройств требовала создания единого пула, из которого можно выделить произвольный объем для любой файловой системы (в смысле "логической единицы монтирования"). Эта концепция представляла дисковую память таким же образом, как виртуальную память, в которой работают процессы в UNIX.

В самом деле, когда вы запускаете новое приложение и оно запрашивает у системы некий объем памяти для работы, система обходится без указания, в каких именно микросхемах памяти разместить данные и код нового приложения! Так и новая концепция пулов устройств требовала лишь указания, какие физические устройства (или, если администратор пожелает, их части) будут входить в пул. После этого вы можете пожелать выделить какой угодно объем памяти для ваших файлов или файловых систем, и он будет вам предоставлен – если только хватит места в пуле (понятно, что если у вас есть диск объемом 250 Гб и вы просите выделить место для записи 500-гигабайтного файла, то места может и не хватить!)

Вторая концепция была впервые воплощена в файловой системе ZFS, разработанной компанией Sun Microsystems в 2004 году; ее поддержка появилась в Solaris 10. К началу 2008 года код поддержки ZFS был перенесен во FreeBSD и Mac OS X Leopard.

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

Александр Тагильцев
Александр Тагильцев

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