Linux — файловые системы ext3 и ext4

Честно говоря, мало кто задумывается над тем, какую файловую систему использовать для своих компьютеров.

Определение доступных дисков в системе

Процедуру форматирования диска linux следует начинать с выяснения названия требуемого устройства. Для этого достаточно использовать команду lsblk. После ее ввода появится список подключенных на текущий момент блочных устройств.

В отображаемом списке под графой Name можно увидеть названия устройств. При этом они могут измениться и все зависит от времени их подключения к компьютеру. При этом названия sda, sdb и другие заканчивающиеся на букву алфавита, указывают что это блочные устройства. Если же в списке появились названия sda1, sda2 и дальше по порядке — они обозначают номер раздела определенного устройства. Символы MAJ:MIN указывают на минорный и мажорный номера, а RM значит, что этот диск съемный.

Определение доступных дисков в системе

По графе Size можно определить, каким объемом обладают доступные устройства. Под колонкой RO показаны устройства для чтения, которым являются DVD-диски или защищенные флеш-диски — они отмечаются цифрой 1. При этом 0 значит, что диск можно использовать для записи. В столбце Type показан тип каждого диска — disk (отдельный диск), part (раздел). Последний столбик позволяет узнать, какие точки монтирования получили разделы.

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

Поддержка автономной работы с данными.

Использование распределенной файловой системы увеличивает зависимость компьютерных систем от сети. Эта зависимость от данных, к которым люди могут обращаться только по сети, вызывает некоторые интересные проблемы для пользователей лаптопов/мобильных компьютеров, которые нуждаются в доступе к своим данным даже тогда, когда доступ к сети невозможен. Это называется «автономная работа» – система должна функционировать, если ресурсы, которые обычно присутствуют в сети (например, пользовательские данные), по каким-то причинам не доступны. Даже Windows обеспечивает графический интерфейс для возможности маркировки файлов, с которыми вы хотите работать, когда вы отключены от сети, и для синхронизации этих файлов, когда вы соединяетесь повторно.

Читайте также:  SFTP клиенты для Windows, Linux, MacOS, Android

Распределенные файловые системы Coda и InterMezzo, которые являются в настоящее время доступными для Linux, тоже обеспечивают интегрированную поддержку для автономной работы. Так же сейчас ведется работа над обеспечением этой возможности для файловых систем NFS. Coda и InterMezzo уже поддерживаются ядром Linux – поддержка Intermezzo встроена в ядро, начиная с версии 2.4.5, а Coda вообще была интегрирована в ядро 2.4 с самого начала.

Coda – распределенная файловая система с происхождением из OpenAFS, которая разрабатывается в университете Carnegie Mellon с 1987 года. InterMezzo – относительно новая распределенная файловая система, упор в разработке которой сделан на высокой доступности, гибком дублировании каталогов, поддержке автономных операций, и постоянном кэшировании. Создатели InterMezzo были вдохновлены CMU Coda, но этот проект не основан на исходном тексте Coda. Начальный создатель InterMezzo, Питер Браам, был главой проекта Coda в CMU в течение нескольких лет, и после этого он сам начал разрабатывать InterMezzo и несколько других проектов.

Понимание ext4: плюсы и минусы

Ограничения Ext4 остаются довольно внушительными. Максимальный объем / раздел, который вы можете создать с помощью ext4, составляет 1 exbibyte, что эквивалентно примерно 1 152 921,5 терабайт. Максимальный размер файла составляет 16 ТБ, или примерно 17,6 ТБ, что намного больше, чем у любого жесткого диска, который в настоящее время может купить обычный потребитель.

Известно, что Ext4 приносит улучшение скорости по сравнению с ext3, используя несколько различных методов. Как и большинство современных файловых систем, это журнальная файловая система, что означает, что она ведет «журнал» о том, где находятся файлы на диске, и о любых других изменениях на диске.

Понимание ext4: плюсы и минусы

Несмотря на все свои функции, он не поддерживает прозрачное сжатие, прозрачное шифрование или дедупликацию данных. Снимки поддерживаются технически, но в лучшем случае эта функция является экспериментальной.

Читайте также:  Linux Mint vs Ubuntu: что лучше выбрать

Теодор Цо, разработчик, сыгравший ключевую роль в создании ext4, назвал ext4 релизом, основанным на устаревшей технологии 1970-х годов, и полагал, что Btrfs предложил лучший путь вперед. Это было более десяти лет назад.

Оптимизация и тонкая настройка файловой системы

Одной из ответственных задач системного администратора является обеспечение доступа к данным пользователей за определенное время. Так же, как и в операционной системе Windows, наблюдение за производительностью системы является в Linux одной из главных задач. Как и производительность сети, производительность дисковой подсистемы чтения/записи может стать узким местом в системе, поэтому она требует оптимизации и тонкой настройки.

Для настройки файловой системы можно использовать следующие методы:

  • Применить инструмент tune2fs.
  • Изменить точки монтирования в файле /etc/fstab.
  • Изменить параметры ядра.

Настройка с помощью tune2fs

Утилита командной строки tune2fs используется для настройки параметров жесткого диска. Например, если у вас имеются директории большого объема на разделе с файловой системой ext3, то можно ускорить обращения к ним с помощью хешированных b-деревьев, для чего используется переключатель tune2fs dir_index:

# tune2fs -O dir_index /dev/sda5

Команду tune2fs следует запускать с привилегиями пользователя root. Переключатель -O определяет опцию для указанного раздела.

Монтирование с использованием специальных опций

Процесс, после которого файловая система становится доступной для использования, называется монтированием файловой системы. На практике для этого используется команда mount. Когда вы включаете компьютер с Linux, то система должна знать, как монтировать доступные файловые системы. Для этих целей служит файл /etc/fstab. Как и любые другие конфигурационные файлы Linux, этот файл можно редактировать с помощью любого текстового редактора, например, viили vim. Внутри файла /etc/fstab указаны точки монтирования различных файловых систем. При настройке параметров монтирования используется четвертый столбец. Например, чтобы отключить аудит времени последнего доступа к файлам для определенной файловой системы (что потенциально может повысить производительность), можно добавить опциюnoatime. Если у вас имеется файловая система, в которую пользователи не должны записывать данные (например, если в ней хранятся архивы), то можно смонтировать ее с опцией ro («только для чтения»).

Для изменения параметров монтирования в файле /etc/fstab используйте следующую командную строку:

UUID=97ee2cc4-8a26-41e9-9da1 /archives ext4 defaults,ro,noatime 1 2

Все изменения, которые вы вносите в файл /etc/fstab, вступают в силу после перезагрузки компьютера. Чтобы применить их без перезагрузки, можно демонтировать и повторно смонтировать затрагиваемую файловую систему с помощью командыmount:

# mount -o remount /archives

Если раздел можно демонтировать в текущей рабочей среде, то команда mount -o remount позволит избежать перезагрузки системы после изменения файла /etc/fstab.

Настройка параметров ядра

Для просмотра и изменения параметров ядра используется команда sysctl. Чтобы получить список параметров, относящихся к файловой системе, и их текущие значения, выполните команду sysclt -a | grep fs, как показано в листинге 3. Листинг 3. Просмотр параметров ядра, относящихся к файловой системе

# sysctl -a | grep fs. | less …. = 1 = 23 _dquots = 0 _dquots = 0 _hits = 0 = 0 = 0 = 0 = 0 _dumpable = 0 _queued_events = 16384 _user_watches = 8192 _user_instances = 128 = 65536 = 0 = 45 = 1 = 1 = 65534 = 65534 = 26674 23765 45 0 0 0 = 102263 ………

В листинге 3 показан фрагмент списка параметров ядра, относящихся к файловой системе и отфильтрованных с помощью команды grep. Изменить эти параметры можно с помощью команды sysclt -w. Например, если ваш сервер обрабатывает большое количество мелких файлов и на нем постоянно возникают ошибки с сообщением «running out of file handles» (недостаточно обработчиков файлов), то можно увеличить максимальное число дескрипторов открытых файлов с помощью команды sysclt -w file-max=xxxxxx, где xxxxxx – необходимое максимальное количество обработчиков.

Любые изменения, сделанные с помощью sysctl, работают до первой перезагрузки. Чтобы эти изменения действовали после перезагрузки, необходимо открыть файл /etc/sysconf в любом текстовом редакторе и внести изменения в него. В этом файле содержатся не все параметры ядра, поэтому если вы не нашли в нем нужный параметр, то просто добавьте его вместе с нужным значением.

Читайте также:  IOS 10.3.2 Beta 5 уже можно скачать для iPhone и IPad