Версия Solaris 10 от 10/08: поддерживается протокол намерений ZFS (ZFS Intent Log – ZIL), обеспечивающий соответствие требованиям POSIX для синхронных транзакций. Например, после системного вызова транзакции баз данных часто должны располагаться на устойчивых устройствах хранения. fsync() также может использоваться NFS и другими приложениями для обеспечения стабильности данных. По умолчанию ZIL выделяется из блоков в основном пуле устройств хранения данных. Однако в целях достижения наилучшей производительности можно использовать отдельные устройства для протокола намерений в пуле устройств хранения данных ZFS, например NVRAM или выделенный диск.
Устройства протоколирования для протокола намерений ZFS не связаны с файлами протоколов базы данных.
Устройство протоколирования ZFS можно настроить во время создания пула устройств хранения данных или после создания пула. Примеры настройки устройств протоколирования приведено в разделах Создание пула устройств хранения данных ZFS с устройствами протоколирования и Добавление устройств в пул устройств хранения данных.
Для создания зеркального устройства протоколирования можно присоединить новое устройство протоколирования к существующему. Эта операция идентична присоединению устройства в незеркалируемом пуле устройств хранения данных.
Чтобы определить, уместна ли настройка устройств протоколирования ZFS в используемой среде, следует принять во внимание следующие моменты:
Повышение производительности в результате реализации отдельного устройства протоколирования зависит от типа устройства, состава оборудования пула и рабочей нагрузки приложений. Начальные сведения о производительности приведено в блоге:
Устройства протоколирования могут использоваться без репликации или с зеркальным отражением, но RAID-Z для этих устройств не поддерживается.
Если на отдельном устройстве протоколирования не используется отражение, то в случае отказа устройства, содержащего файлы протокола, сохранение блоков данных протоколирования снова переходит к пулу устройств хранения данных.
Устройства протоколирования можно добавлять, заменять, подключать, отключать, а также импортировать и экспортировать как часть более крупного пула устройств хранения данных. В настоящее время устройства протоколирования нельзя удалять.
Минимальный размер устройства протоколирования совпадает с минимальным размером каждого устройства в пуле и составляет 64 МБ. Объем активных данных, которые могут храниться на устройстве протоколирования, относительно невелик. Блоки данных протоколирования освобождаются после выполнения транзакции протоколов (системный вызов).
Максимальный размер устройства протоколирования должен составлять примерно 1/2 размера физической памяти, поскольку это максимальный объем потенциальных активных данных, которые могут храниться на устройстве. Например, если в системе имеется 16 ГБ физической памяти, максимальный размер устройства протоколирования должен составлять 8 ГБ.