Каждая операционная система использует собственную файловую систему для хранения данных. Windows использует NTFS, macOS использует APFS, а большинство дистрибутивов Linux используют Ext4. Хотя эти файловые системы фундаментально отличаются друг от друга, во всех этих файловых системах есть одна особенность — ведение журнала.
Давайте узнаем больше о журналируемых файловых системах и о том, как они влияют на повседневную работу.
Что такое ведение дневника?
Представьте каждый файл на компьютере как уникальный библиотечный каталог журналов, периодических изданий или документов. Каждый новый выпуск, добавляемый в каталог, немного менял его информацию. Вместо поиска записи в библиотеке вам достаточно просмотреть соответствующий каталог.
Журналир
Что такое ведение дневника?
мах работает очень похоже. Его цель — отслеживать изменения, еще не зафиксированные в файловой системе. Даже после сбоев или неожиданных отключений вы все равно сможете получить доступ к последней версии файла с меньшей вероятностью его повреждения.![Журналирование файловых систем: как это выглядит](https://saintist.ru/wp-content/uploads/2024/05/Journaling-File-Systems-What-it-looks-like.jpg)
Термин «журнал» происходит от аналогии с дневником. Любые изменения, которые вы записываете в записи дневника, сохраняются по дате и времени. Аналогичным образом ведение журнала позволяет хранить все обновления файла в непрерывной части диска.
Эти обновления не обязательно должны располагаться физически рядом друг с другом: фактически записи файла журнала разбросаны по всему диску. Но вместо того, чтобы получать к ним доступ в случайном порядке, они доступны в дневниковой последовательности, что происходит в тысячи раз быстрее.
![Схема журналируемых файловых систем](https://saintist.ru/wp-content/uploads/2024/05/Journaling-File-Systems-Schematic.jpg)
Журналирование экономит много времени при извлечении файлов из хранилища благодаря непрерывному выделению памяти.
Определения
В зависимости от операционной системы существуют разные виды записей журнала, о которых мы поговорим ниже. Прежде чем мы это сделаем, нам нужно разобраться с некоторыми числовыми терминами.
Тебибайты (ТиБ) : мы все знаем, сколько стоит гигабайт. Тебибайт (ТиБ) равен 1024 (= 210) гигабайтам. ТиБ — одна из единиц по умолчанию для выражения больших значений в файловом хранилище. Кроме того, 1 ТиБ = 1,09951 терабайт (ТБ).
Пебибайт (PiB) : пебибайт (PiB) равен 1024 ТиБ или примерно миллиону гигабайт – действительно очень большое значение.
Кластеры : кластеры данных — это наименьшая единица дискового пространства, которую можно использовать для хранения файла. Он может варьироваться от 512 байт для одного сектора до 64 КБ для 128 секторов.
1. NTFS
Файловая система новой технологии (NTFS) — это система ведения журналов Microsoft по умолчанию для Windows и Windows Server. Он использует файлы журналов и информацию контрольных точек для восстановления стабильных значений файловой системы после перезапуска.
NTFS поддерживает большие объемы данных: при размере кластера 4 КБ она может вместить 16 ТиБ данных. Для размера кластера 64 КБ (максимум) это означает 256 ТиБ данных и максимальный размер файла 256 ТиБ.
В настоящее время NTFS исправляет любые повреждения файлов в Интернете с помощью так называемой «самовосстанавливающейся NTFS». Пользователи Windows 10, возможно
Определения
заChkdsk
, от которых страдали старые версии Windows. В последнем обновлении самовосстанавливающейся NTFS проблема решена онлайн, и простоев не происходит.
Читайте также: FAT32, exFAT и NTFS: в чем разница?
2. Доб.
Расширенная файловая система (ext) была системой журналирования Linux с самого начала. Она была вдохновлена файловой системой Unix (UFS) и с момента ее появления в начале 90-х претерпела еще три итерации.
- ext2 : первоначально использовавшаяся в Debian и Red Hat Linux, ext2 до сих пор используется во флэш-носителях, таких как SD-карты и USB-накопители. Он может вместить от 2 до 32 ТиБ данных с максимальным размером кластера 8 КБ.
- ext3 : ext3, третья расширенная файловая система, использовалась в Linux, BSD и ReactOS. Ограничения на размер аналогичны ext2.
- ext4 : последняя версия расширенной файловой системы. Она используется хранилищем файлов Google, BSD, PowerPC и большинством последних дистрибутивов Linux. Ограничения на размер равны 1024 ПиБ или около миллиона ТиБ. Самый большой размер кластера — 64 КБ.
ext4 использует 1. NTFSольные суммы">контрольные суммы в журнале для повышения надежности, поскольку позволяет безопасно избежать ожидания дискового ввода-вывода во время ведения журнала и немного повысить производительность диска.
3. APFS
Файловая система Apple (APFS) используется в macOS High Sierra, iOS 10.3 и более поздних версиях, а также в некоторых других системах. Он поддерживает до 8000 ПиБ (263байт), что примерно в восемь раз больше, чем у ext4.
![Журналируемые файловые системы Apfs](https://saintist.ru/wp-content/uploads/2024/05/Journaling-File-Systems-APFS.jpg)
Основных возможностей APFS много: они включают создание «снимков», которые похожи на фотокопию системы в определенный момент. Как и NTFS, он использует контрольные суммы для обеспечения целостности данных и защищает от сбоев системы с помощью подхода, называемого «копирование при записи». APFS использует полное шифрование диска.
Заключение
Журналирование в файловых системах — это базовая страховка от сбоев системы и неожиданных остановок. Быстро записывая изменения в журнал, мы можем гарантировать, что все изменения в файлах будут записаны и не будут потеряны при отключении питания или сбоях компьютера.
Существует множество журналируемых файловых систем, помимо обсуждаемых здесь. Oracle, VMware, BSD, Cisco, Solaris и многие другие имеют собственные журнальные единицы.