Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Файловая система
Термин "файловая система"
Термин "файловая система" в литературе используется для обозначения трех разных понятий.
- Во-первых, файловая система – это набор правил и конструкций, описывающих то, как сохраняются файлы на диске. В этом смысле мы употребляем, например, выражение "файловая система FAT32", и "файловая система" здесь тождественна понятию "тип файловой системы".
- Во-вторых, файловая система – это совокупность всех файлов, хранимых в компьютере.
- В-третьих, и это значение термина характерно именно для 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 соответственно.