Содержащиеся вНайти другие документыРесурсы поддержки | Загрузить это руководство в формате PDF (1812 КБ)
Глава 1 Файловая система ZFS (введение)В этой главе содержится обзор файловой системы ZFS, ее функций и преимуществ. Здесь также рассматриваются некоторые базовые термины, используемые в остальной части руководства. В этой главе содержатся следующие разделы: Новые функции и возможности ZFSВ этом разделе содержится описание новых функций в файловой системе ZFS.
Поддержка ZFS и флеш-установкиВерсия Solaris 10 10/09: в этой версии Solaris можно настроить профиль JumpStart для идентификации архива корневого пула ZFS на флеш-накопителях. Для получения подробных сведений см. Установка корневой файловой системы ZFS (установка архива на флеш-накопителе). Квоты пользователя и группы в ZFSВерсия Solaris 10 10/09: в предыдущих версиях Solaris квоты и резервируемое пространство могли использоваться в файловой системе ZFS для управления и резервирования пространства. В данной версии Solaris можно установить квоту для объема пространства, используемого файлами, относящимися к отдельному пользователю или группе. Настройка квот пользователей и групп может быть целесообразной в тех областях, где имеется большое число пользователей или групп. Для настройки квот пользователя или группы используются свойства zfs userquota и zfs groupquota:
Просмотр текущей настройки квоты пользователя или группы выполняется следующим образом:
Отображение общей информации о квотах:
Отображение информации об использовании пространства отдельным пользователем или группой выполняется посредством просмотра свойств userused@user и groupused@group следующим образом:
Для получения подробной информации о настройке квот пользователей см. Настройки квот и резервируемого пространства в ZFS. Наследование списков ACL в ZFS при режиме Pass Through для разрешения на выполнениеВерсия Solaris 10 10/09: в предыдущих версиях Solaris можно было применить наследование списков ACL таким образом, чтобы все файлы создавались посредством разрешений 0664 или 0666. Если дополнительно требуется включить выполняемый бит из режима создания файлов в наследуемые списки ACL, в этой версии можно использовать наследование в режиме Pass Through для разрешения на выполнения. Если в наборе данных ZFS активирована функция aclinherit=passthrough-x, пользователь может включить разрешение на выполнение для выходного файла, генерируемого из инструментов cc или gcc. Если унаследованные списки ACL не включают разрешение на выполнение, то выполняемые выходные данные из компилятора не могут быть выполнены, пока для изменения разрешений для данного файла не будет использована команда chmod. Для получения дополнительной информации см. Пример 8–12. Усовершенствования в свойствах ZFSВерсия Solaris 10/09. Ниже перечислены усовершенствования файловой системы ZFS, включенные в эту версию.
Восстановление устройства протоколирования ZFSВерсия Solaris 10 10/09: в этой версии ZFS определяет сбои протокола намерений в команде zpool status. FMA также сообщает об этих ошибках. Как ZFS, так и FMA описывают метод восстановления после сбоя протокола намерений. Например, если система неожиданно отключается до выполнения синхронных операций записи в пул с помощью отдельного устройства протоколирования, будет выведено подобное сообщение:
Необходимо исправить сбой устройства протоколирования следующим образом.
Если устройство протоколирования необходимо восстановить после этой ошибки без его замены, можно удалить ошибку, используя команду zpool clear. В данном случае пул будет работать в режиме с ухудшенными характеристиками, а записи протокола будут записываться в основной пул до замены устройства протоколирования. Рекомендуется использовать зеркалированные устройства протоколирования для снижения риска сбоев устройства протоколирования. Использование устройств кэширования в пуле устройств хранения ZFSВерсия Solaris 10 10/09: в данной версии Solaris возможно создание пула и указание устройств кэширования, используемых для кэширования данных пула устройств хранения. Устройства кэширования действуют в качестве дополнительного уровня кэша между оперативной памятью и диском. Наибольшее повышение производительности от использования устройств кэширования достигается в случае рабочих нагрузок, для которых характерны операции случайного чтения преимущественно статических данных. При создании пула устройств можно указать одно или более устройств кэширования. Пример:
После добавления устройств кэширования они постепенно заполняются данными из оперативной памяти. В зависимости от размера устройства кэширования для заполнения может потребоваться более часа. Контроль емкости и операций чтения может проводиться командой zpool iostat следующим образом:
Устройства кэширования можно добавлять к пулу или удалять из него после создания пула. Для получения подробной информации см. Создание пула устройств хранения данных ZFS с устройствами кэширования и Пример 4–4. Перенос зон в среде ZFSВерсия Solaris 10 5/09: в этой версии расширена поддержа переноса зон в среде ZFS с помощью Live Upgrade. Дополнительные сведения приведены в разделе Перенос или обновление системы с зонами с помощью Solaris Live Upgrade (Solaris 10 5/09 и Solaris 10 10/09). Список известных проблем данной версии приведен в сопроводительной документации к версии Solaris 5 от 10/09. Поддержка установки и загрузки ZFSВерсия Solaris 10 от 10/08: в этой версии поддерживается возможность установки и загрузки файловой системы ZFS. Для установки корневой файловой системы ZFS можно использовать параметр начальной установки или функцию JumpStart. Можно также использовать функцию Live Upgrade для перехода корневой файловой системы UFS в корневую файловую систему ZFS. Кроме того, обеспечивается поддержка ZFS для устройств подкачки и дампа. Для получения дополнительных сведений см. Глава 5Установка и загрузка корневой файловой системы ZFS. Список известных проблем данной версии приведено в сопроводительной документации к версии Solaris 10 от 10/08. Откат набора данных без размонтированияВерсия Solaris 10 от 10/08: в этой версии поддерживается возможность восстановления набора данных без предварительного размонтирования. Эта функциональная возможность означает, что больше не требуется использовать параметр -f в команде zfs rollback для принудительной операции размонтирования. Параметр -f больше не поддерживается и игнорируется, если указан. Усовершенствования в команде zfs sendВерсия Solaris 10 от 10/08: в эту версию включены следующие усовершенствования для команды zfs send.
Для получения дополнительной информации см. раздел Отправка и получение потоковых представлений сложных моментальных снимков ZFS. Настройки квот и резервируемого пространства в ZFS только для данных файловой системыВерсия Solaris 10 от 10/08: в дополнение к существующим квотам ZFS и функциям резервирования в данную версию входят квоты и резервирования наборов данных, не включающие потомков, таких как снимки и клоны, при учете занимаемого пространства.
Например, для studentA можно определить квоту refquota размером 10 ГБ, устанавливающую жесткий предел в 10 ГБ занимаемого пространства. Для дополнительной гибкости можно установить 20-гигабайтную квоту, позволяющую управлять снимками studentA.
Для получения дополнительной информации см. Настройки квот и резервируемого пространства в ZFS. Свойства пула устройств хранения данных ZFSВерсия Solaris 10 от 10/08: свойства пула устройств хранения данных ZFS были введены в более ранних версиях. В данной версии предусмотрены дополнительные свойства. Пример:
Описание этих свойств приведено в Таблица 4–1.
Усовершенствования журнала команд ZFS (zpool history)Версия Solaris 10 от 10/08: команда zpool history теперь предоставляет следующие новые возможности:
Для получения дополнительной информации об использовании команды zpool history см. Выявление проблем в ZFS. Обновление файловых систем ZFS (zfs upgrade)Версия Solaris 10 от 10/08: в этой версии представлена команда zfs upgrade, с помощью которой можно применять последующие усовершенствования файловой системы ZFS к существующим файловым системам. Пулы устройств хранения данных ZFS обладают сходной функцией обновления, при помощи которой можно реализовать расширения пула для существующих пулов устройств хранения данных. Пример:
Примечание – Обновляемые файловые системы и потоки данных, создаваемые из этих обновленных файловых систем с помощью команды zfs send, недоступны в системах, работающих с программным обеспечением более ранних версий. Делегированное администрирование ZFSВерсия Solaris 10 от 10/08: в этой версии непривилегированным пользователям можно делегировать детализированные полномочия на выполнение административных задач ZFS. Для назначения и отмены разрешений используются команды zfs allow и zfs unallow. Доступность функций делегированного администрирования можно изменять с помощью свойства пула delegation. Пример:
По умолчанию свойство delegation разрешает использовать эти функции. Для получения дополнительной информации см. Глава 9Делегированное администрирование ZFS и zfs(1M). Настройка отдельных устройств протоколирования ZFSВерсия Solaris 10 от 10/08: поддерживается протокол намерений ZFS (ZFS Intent Log – ZIL), обеспечивающий соответствие требованиям POSIX для синхронных транзакций. Например, после системного вызова транзакции баз данных часто должны располагаться на устойчивых устройствах хранения. fsync() также может использоваться NFS и другими приложениями для обеспечения стабильности данных. По умолчанию ZIL выделяется из блоков в основном пуле устройств хранения данных. Однако в целях достижения наилучшей производительности можно использовать отдельные устройства для протокола намерений в пуле устройств хранения данных ZFS, например NVRAM или выделенный диск. Устройства протоколирования для протокола намерений ZFS не связаны с файлами протоколов базы данных. Устройство протоколирования ZFS можно настроить во время создания пула устройств хранения данных или после создания пула. Примеры настройки устройств протоколирования приведено в разделах Создание пула устройств хранения данных ZFS с устройствами протоколирования и Добавление устройств в пул устройств хранения данных. Для создания зеркального устройства протоколирования можно присоединить новое устройство протоколирования к существующему. Эта операция идентична присоединению устройства в незеркалируемом пуле устройств хранения данных. Чтобы определить, уместна ли настройка устройств протоколирования ZFS в используемой среде, следует принять во внимание следующие моменты:
Создание промежуточных наборов данных ZFSВерсия Solaris 10 от 10/08: для быстрого создания еще не существующего промежуточного набора данных можно воспользоваться параметром -p в командах zfs create, zfs clone и zfs rename. В качестве примера рассмотрим создание наборов данных ZFS (users/area51) в пуле устройств хранения данных datab.
Если промежуточный набор данных уже существует на момент операции создания, операция завершается успешно. Указанные свойства относятся к целевому набору данных, а не к промежуточным наборам данных. Пример:
Промежуточный набор данных создается с точкой монтирования по умолчанию. Дополнительные свойства для промежуточного набора данных деактивируются. Пример:
Для получения дополнительных сведений см. zfs(1M). Усовершенствования горячей замены в ZFSВерсия Solaris 10 от 10/08: в этой версии ZFS более оперативно реагирует на удаляемые устройства и поддерживает механизм автоматического определения вставляемых устройств с помощью следующих усовершенствований:
Для получения дополнительных сведений см. zpool(1M). Рекурсивное переименование снимков ZFS (zfs rename -r)Версия Solaris 10 от 10/08: с помощью команды zfs rename -r можно выполнить рекурсивное переименование всех снимков дочерних элементов ZFS. Например, можно сделать снимок ряда файловых систем ZFS.
Затем можно переименовать снимки завтрашним днем.
Снимки представляют собой единственный набор данных, который можно переименовывать рекурсивно. Для получения дополнительной информации о снимках см. Краткий обзор снимков ZFS и запись блога, в которой описывается создание развертывающихся снимков: http://blogs.sun.com/mmusante/entry/rolling_snapshots_made_easy Доступное для ZFS сжатие GZIPSolaris 10 версии 10/08: в этой версии Solaris помимо сжатия lzjb в файловых системах ZFS можно указать сжатие gzip. Сжатие можно определить как gzip (по умолчанию) или gzip-N, где N принимает значение от 1 до 9. Пример:
Для получения дополнительной информации о задании свойств ZFS см. Установка свойств ZFS. Сохранение нескольких копий пользовательских данных в ZFSВерсия Solaris 10 от 10/08: для надежности метаданные файловой системы ZFS автоматически сохраняются несколько раз на разных дисках, если это возможно. Эта функция называется дубликаты блоков. В этой версии Solaris можно также с помощью команды zfs set copies настроить хранение нескольких копий пользовательских данных для каждой файловой системы. Пример:
Доступныe значения: 1, 2 или 3. Значение по умолчанию: 1. Эти копии являются дополнительными по отношению к избыточности уровня пула, например, при зеркальной настройке или настройке RAID-Z. Хранение множественных копий пользовательских данных ZFS дает следующие преимущества:
В зависимости от выделения дубликатов блоков в пуле устройств хранения данных несколько копий могут находиться на одном диске. В результате полного отказа диска все дубликаты блоков могут оказаться недоступными. Вопрос использования дубликатов блоков следует рассматривать в том случае, если случайно создан нерезервированный пул и если необходимо настроить политику сохранности данных. Подробную информацию о том, как настройка копий в системе с однодисковым или многодисковым пулом может повлиять на общую защиту данных, приведено в блоге: http://blogs.sun.com/relling/entry/zfs_copies_and_data_protection Для получения дополнительной информации о задании свойств ZFS см. Установка свойств ZFS. Улучшенный вывод команды zpool statusВерсия Solaris 10 от 8/07: с помощью команды zpool status -v можно вывести на экран список файлов с устойчивыми ошибками. Ранее было необходимо использовать команду find -inum для определения имен файлов на основе списка отображаемых индексных дескрипторов. Для получения дополнительной информации об отображении списка файлов с устойчивыми ошибками см. Восстановление поврежденного файла или каталога. Усовершенствования в ZFS и iSCSI SolarisВерсия Solaris 10 от 8/07: в этой версии Solaris можно создать том ZFS в качестве целевого устройства iSCSI Solaris; для этого нужно указать свойство shareiscsi на томе ZFS. Этот метод позволяет быстро создавать целевые устройства iSCSI в Solaris. Пример:
После создания целевого устройства iSCSI настраивается инициатор iSCSI. Для получения информации по созданию инициатора iSCSI Solaris см. раздел Глава 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), в System Administration Guide: Devices and File Systems. Для получения дополнительной информации об управлении томом ZFS как целевым устройством iSCSI см. Использование тома ZFS в качестве целевого устройства iSCSI Solaris. Журнал команд ZFS (zpool history)Версия Solaris 10 от 8/07: в этой версии Solaris ZFS автоматически протоколирует успешные команды zfs и zpool, которые изменяют информацию о состоянии пула. Пример:
Эта функция позволяет пользователю или сотрудникам службы технической поддержки Sun определить точный состав выполненных команд ZFS для выяснения причин возникновения ошибки. С помощью команды zpool history можно идентифицировать определенный пул устройств хранения данных. Пример:
В этой версии Solaris команда zpool history не записывает идентификатор пользователя, имя узла или имя зоны. Для получения дополнительной информации см. Усовершенствования журнала команд ZFS (zpool history). Для получения дополнительной информации о поиске и устранении проблем ZFS см. Выявление проблем в ZFS. Расширения свойств ZFSСвойство ZFS xattrВерсия Solaris 10 от 8/07: свойство ZFS xattr можно использовать для отключения или включения расширенных атрибутов для определенной файловой системы ZFS. Значение по умолчанию – включено. Описание свойств ZFS приведено в разделе Введение в свойства ZFS. Свойство ZFS canmountВерсия Solaris 10 от 8/07:с помощью нового свойства ZFS canmount можно определить для набора данных возможность монтирования командой zfs mount. Для получения дополнительной информации см. Свойство canmount. Пользовательские свойства ZFSВерсия Solaris 10 от 8/07: в дополнение к стандартным системным свойствам ZFS поддерживает пользовательские свойства, которые могут использоваться для экспорта внутренней статистики или управления поведением файловой системы ZFS. Пользовательские свойства не влияют на поведение ZFS, но их можно использовать для добавления пользовательской информации к наборам данных. Для получения дополнительной информации см. Пользовательские свойства ZFS. Настройка свойств при создании файловых систем ZFSВерсия Solaris 10 от 8/07: в этой версии Solaris свойства можно назначать не только после создания файловой системы, но и непосредственно в процессе ее создания. В следующих примерах показан эквивалентный синтаксис:
Отображение информации обо всех файловых системах ZFSВерсия Solaris 10 от 8/07: в этой версии Solaris можно использовать различные формы команды zfs get для отображения информации обо всех наборах данных, если не указывается отдельный набор данных или команда all. В предыдущих версиях получить информацию обо всех наборах данных при помощи команды zfs get было невозможно. Пример:
Новый параметр -F в команде zfs receiveВерсия Solaris 10 от 8/07: в этой версии Solaris можно использовать новый параметр -F в команде zfs receive для принудительного отката файловой системы к последнему снимку перед выполнением операции получения. Этот параметр может потребоваться в случае изменения файловой системы в промежутке между моментами отката и инициирования процедуры получения. Для получения дополнительной информации см. Получение снимка ZFS. Рекурсивные снимки ZFSВерсия Solaris 10 от 11/06: при создании снимка файловой системы с помощью команды zfs snapshot параметр -r позволяет рекурсивно создавать снимки для всех дочерних файловых систем. Кроме того, с помощью параметра -r можно рекурсивно удалять все дочерние снимки при удалении родительского снимка. Рекурсивные снимки ZFS создаются быстро в рамках одной элементарной операции. Снимки создаются все вместе (одновременно) или не создаются вообще. Преимущество элементарных снимков состоит в том, что данные снимка всегда извлекаются в один и тот же момент времени даже из дочерних файловых систем. Для получения дополнительной информации см. Создание и уничтожение снимков ZFS. RAID-Z с двойным контролем четности (raidz2)Версия Solaris 10 от 11/06: теперь можно создать резервную настройку RAID-Z с однократным или двойным контролем четности, обеспечивающим непрерывное функционирование без потери данных в случае отказа одного или двух устройств соответственно. Для использования настройки RAID-Z с двойным контролем четности укажите ключевое слово raidz2. Для использования настройки RAID-Z с однократным контролем четности укажите ключевое слово raidz или raidz1. Для получения дополнительной информации см. Создание пулов устройств хранения данных RAID-Z или zpool(1M). Горячий резерв устройств в пуле устройств хранения данных ZFSВерсия Solaris 10 от 11/06: функция горячего резерва ZFS позволяет идентифицировать диски, которые можно использовать для замены отказавших или неисправных устройств в одном или нескольких пулах устройств хранения данных. Обозначение устройства в качестве устройства горячего резерва означает, что в случае отказа активного устройства в пуле это отказавшее устройство автоматически заменяется устройством горячего резерва. Кроме того, устройство горячего резерва можно использовать для замены устройства в пуле вручную. Для получения дополнительной информации см. Устройства горячего резерва в пуле устройств хранения данных и zpool(1M). Замена файловой системы ZFS клоном ZFS (zfs promote)Версия Solaris 10 от 11/06: команда zfs promote позволяет заменить существующую файловую систему ZFS клоном этой файловой системы. Эту функцию рекомендуется использовать при необходимости выполнения тестов на альтернативной версии файловой системы с последующей установкой этой альтернативной версии в качестве активной файловой системы. Для получения дополнительной информации см. Замена файловой системы ZFS на клон ZFS и zfs(1M). Обновление пулов устройств хранения данных ZFS (zpool upgrade)Версия Solaris 10 от 6/06: для обновления пулов до более новой версии, что позволит воспользоваться всеми преимуществами новейших функций, используется команда zpool upgrade. Кроме того, измененная команда zpool status может проинформировать пользователя об использовании в пулах старых версий. Для получения дополнительной информации см. Обновление пулов устройств хранения данных ZFS и zpool(1M). При необходимости использования консоли администрирования ZFS в системе с пулом предыдущей версии Solaris сначала убедитесь в том, что пулы обновлены. Для определения необходимости обновления пулов используется команда zpool status. Для получения информации о консоли администрирования ZFS см. Управление ZFS через веб-интерфейс. Переименованные команды резервного копирования и восстановления ZFSВерсия Solaris 10 от 6/06: в этой версии Solaris команды zfs backup и zfs restore переименованы в zfs send и zfs receive, что более точно описывает их функцию. Эти команды предназначены для сохранения и восстановления представлений потоков данных ZFS. Для получения дополнительной информации об этих командах см. радел Отправка и получение данных ZFS. Восстановление уничтоженных пулов устройств хранения данныхВерсия Solaris 10 от 6/06: в эту версию включена команда zpool import -D, которая используется для восстановления пулов, ранее уничтоженных с помощью команды zpool destroy. Для получения дополнительной информации см. Восстановление уничтоженных пулов устройств хранения данных ZFS. Интеграция ZFS с Fault ManagerВерсия Solaris 10 от 6/06: в эту версию включен интегрированный механизм диагностики ZFS, позволяющий диагностировать и регистрировать отказы пула и устройств. Также обеспечивается регистрация ошибок контрольной суммы, ввода/вывода и устройств, связанных с отказом пула или устройства. Механизм диагностики не обеспечивает прогнозный анализ ошибок контрольной суммы и ввода/вывода и упреждающие действия на основе анализа отказов. В случае отказа ZFS может появиться сообщение, подобное сообщению, появляющемуся при выполнении команды fmd:
Изучение рекомендуемых действий в дополнение к проверке более подробных результатов команды zpool status позволит быстро выявить и устранить отказ. Пример решения зарегистрированной проблемы ZFS приведен в разделе Восстановление отсутствующего устройства. Новая команда zpool clearВерсия Solaris 10 от 6/06: в эту версию включена команда zpool clear, которая используется для сброса счетчиков ошибок, связанных с устройством или пулом. Ранее сброс счетчиков ошибок осуществлялся при активации устройства пула с помощью команды zpool online. Для получения дополнительной информации см. zpool(1M)Сброс ошибок устройств в пуле устройств хранения данных. Компактный формат списков ACL NFSv4Версия Solaris 10 от 6/06: в этой версии доступны три формата списков ACL NFSv4 – подробный, позиционный и компактный. Для настройки и просмотра списков ACL теперь доступны новые компактные и позиционные форматы списков ACL. При этом для определения всех трех форматов списков ACL можно по-прежнему использовать команду chmod. Для просмотра компактных и позиционных форматов списков ACL используется команда ls -V, а для просмотра подробных форматов списков ACL – командаls -v. Для получения дополнительной информации см. Настройка и просмотр списков ACL файлов ZFS в компактном формате, chmod(1)ls(1). Средство наблюдения за файловой системой (fsstat)Версия Solaris 10 от 6/06: новое средство наблюдения за файловой системой, fsstat, предназначена для вывода информации об операциях файловой системы. Эта информация может быть представлена по точке монтирования или типу файловой системы. В следующем примере показаны общие операции файловой системы ZFS.
Для получения дополнительной информации см. fsstat(1M) Управление ZFS через веб-интерфейсВерсия Solaris 10 от 6/06: при помощи средства управления ZFS через веб-интерфейс можно выполнять множество административных задач. Это средство позволяет решать следующие задачи:
Для доступа к консоли администрирования ZFS введите следующий URL-адрес в безопасном веб-обозревателе:
Если после ввода соответствующего URL-адреса консоль администрирования ZFS недоступна, возможно, не запущен сервер. Для запуска сервера выполните следующую команду:
При необходимости автоматического запуска сервера в процессе начальной загрузки системы выполните следующую команду:
Примечание – Консоль управления Solaris (smc) невозможно использовать для управления пулами устройств хранения данных или файловыми системами ZFS. Что такое ZFS?ZFS – это принципиально новая файловая система, кардинально меняющая принципы администрирования файловых систем с уникальными на сегодняшний день функциями и преимуществами. Система ZFS была разработана как надежный, масштабируемый и простой в администрировании инструмент. Модель хранения данных по принципу пула в ZFSДля управления физическим хранением в ZFS применяется принцип пулов устройств хранения данных. Исторически файловые системы строились на основе одного физического устройства. Для использования нескольких устройств и обеспечения избыточности данных была введена концепция диспетчера томов , обеспечивающая представление нескольких устройств в виде одного устройства, чтобы исключить необходимость изменения файловых систем. Эта разработка позволила перейти на новый уровень сложности и, в конечном счете, предшествовала определенным усовершенствованиям файловых систем, поскольку типичная файловая система не обеспечивала контроль над физическим размещением данных в виртуализированных томах. ZFS полностью исключает процесс управления томами. Вместо принудительного создания виртуализированных томов ZFS объединяет устройства в пул устройств хранения данных. Пул устройств хранения данных описывает физические характеристики хранения (размещение устройств, избыточность данных и т.д.) и выступает в качестве хранилища данных для создания файловых систем. Файловые системы больше не ограничиваются отдельными устройствами, что позволяет им совместно использовать пространство в пуле. Предварительное определение размера файловой системы больше не требуется, поскольку файловые системы автоматически расширяются в рамках пространства, выделенного для пула устройств хранения данных. При добавлении нового хранилища все файловые системы в пуле могут немедленно начать использование дополнительного пространства без вмешательства администратора. Во многих отношениях пул устройств хранения данных выступает в качестве системы виртуальной памяти. При добавлении в систему модуля DIMM оперативной памяти операционная система не требует вызова определенных команд для настройки памяти и ее назначения отдельным процессам. Все процессы в системе автоматически используют дополнительную память. Транзакционная семантикаZFS – это транзакционная файловая система. Это означает, что ее состояние на диске всегда является непротиворечивым. Традиционные файловые системы перезаписывают данные на физическом носителе. Поэтому, например, при снижении производительности между временем выделения блока данных и его присвоением каталогу файловая система остается в противоречивом состоянии. Исторически эта проблема решалась с помощью команды fsck, которая использовалась для просмотра и проверки состояния файловой системы с попыткой устранения всех противоречий. Эта задача была особенно сложной для администраторов и всегда вызывала сопутствующие затруднения. Позже в файловые системы был введен принцип журналирования. В процессе журналирования операции регистрируются в отдельном журнале, который при необходимости может быть безопасно воспроизведен в случае полного отказа системы. Этот процесс влечет за собой дополнительные расходы, поскольку запись данных выполняется дважды и часто ведет к появлению новых проблем, например когда не удается корректно воспроизвести журнал. В транзакционной файловой системе управление данными осуществляется с использованием семантики копирования при записи. Данные никогда не перезаписываются, и любая последовательность операций либо полностью выполняется, либо полностью игнорируется. Этот механизм обеспечивает невозможность повреждения файловой системы в результате непредвиденного отключения электропитания или полного отказа системы. Поэтому в этой системе эквивалент команды fsck отсутствует. Несмотря на то, что последние записанные элементы данных могут быть потеряны, сама файловая система всегда остается целостной. Кроме того, синхронные данные (записанные с использованием флага O_DSYNC) всегда гарантированно сохраняются перед возвратом и поэтому не могут быть утрачены. Контрольные суммы и самовосстановление данныхВ ZFS контроль сумм для всех данных и метаданных выполняется с помощью алгоритма, который может быть выбран пользователем. Традиционные файловые системы, действительно обеспечивающие вычисление контрольной суммы, выполняли эту процедуру поблочно, в силу необходимости на уровне управления томами и структуры традиционной файловой системы. Традиционная модель подразумевает, что определенные типы сбоя, такие как запись целого блока в ошибочное местоположение, могут привести к тому, что данные, по которым была правильно рассчитана контрольная сумма, фактически оказываются неверными. Контрольные суммы ZFS сохраняются таким образом, что эти сбои идентифицируются и могут быть корректно устранены. Все операции с контрольными суммами и восстановление данных осуществляются на уровне файловой системы и не сказываются на работе приложений. Кроме того, ZFS предоставляет возможность самовосстановления данных. ZFS поддерживает пулы устройств хранения данных с различными уровнями избыточности данных, включая зеркальное отражение и варьирование на RAID-5. При обнаружении поврежденного блока данных ZFS переносит правильные данные из другой резервной копии и восстанавливает данные, заменяя их качественной копией. Непревзойденная масштабируемостьСистема ZFS была изначально разработана как самая масштабируемая файловая система. Это 128-разрядная файловая система с возможностью хранения данных в объеме 256 септильонов зеттабайт. Все метаданные распределяются динамически, и необходимость в предварительном распределении индексных дескрипторов или каких-либо иных ограничениях масштабируемости файловой системы при ее создании отсутствует. Все алгоритмы были разработаны с учетом масштабируемости. Каталоги могут содержать до 248 (256 триллионов) записей, при этом не существует ограничений по числу файловых систем или файлов, содержащихся в файловой системе. Снимки ZFSСнимок представляет собой копию файловой системы или тома, доступную только для чтения. Снимки создаются в рамках быстрой и простой процедуры. Изначально снимки не занимают дополнительного пространства пула. По мере изменения данных в активном наборе данных снимок начинает занимать пространство из-за наличия ссылок на старые данные. В результате снимок предотвращает освобождение пространства в пуле. Упрощенное администрированиеЧто особенно важно, в ZFS предусмотрена существенно упрощенная модель администрирования. За счет иерархического размещения файловых систем, наследования свойств, автоматического управления точками монтирования и семантикой совместного использования NFS, технология ZFS упрощает создание и администрирование файловых систем, устраняя необходимость в выполнении большого количества команд или редактирования конфигурационных файлов. Настройка квот или резервируемого пространства, активация или деактивация сжатия или управление точками монтирования для нескольких файловых систем выполняются с помощью одной команды. Диагностика и исправление устройств могут осуществляться без использования специальных наборов команд диспетчера томов. Можно создавать неограниченное количество мгновенных снимков файловых систем. Можно выполнять резервное копирование и восстановление отдельных файловых систем. ZFS осуществляет управление файловыми системами через иерархию, обеспечивающую упрощенное администрирование таких свойств, как квоты, резервируемое пространство, сжатие и точки монтирования. В этой модели центральной точкой администрирования становятся файловые системы. Сами файловые системы не являются дорогостоящими (по затратам эквивалентны новому каталогу), что позволяет создать файловую систему для каждого пользователя, проекта, рабочего стола и т.д. Благодаря такой структуре можно более точно определить отдельные точки администрирования. Терминология ZFSВ этом разделе представлена базовая терминология, используемая в настоящем руководстве:
Требования к именованию компонентов ZFSКаждый компонент ZFS должен именоваться в соответствии со следующими правилами:
|
|||||||||||||||||||||||||||||||||||||||||||||