Файловая система ZFS — основа надежного и недорогого хранилища данных

Автор Igor Ovcharenko | 03.04.2015

Файловая система ZFS — основа надежного и недорого хранилища данных

файловая система ZFS - описание

На страницах проекта gotoADM.ru была затронута тема организации файлового хранилища:

В указанных статьях было упоминание о файловой системе ZFS, сейчас как и обещал, поговорим о ней подробнее.

Введение в ZFS

Аббревиатура ZFS получилось из словосочетания zettabyte file system, обозначая тем самым одну их самых современных и совершенных файлововых систем. Например, уже из названия следует, что это зетабайтная файловая система, если быть точнее, то данная FS поддерживает  256 квадриллионов зетабайт. Для справки — один зетабайт равен 1 073 741 824 терабайт!

Пусть извенят меня читатели, но больших академических выкладок в данной статье не будет. Предлагаю сконцентрироваться непосредственно на практическом аспекте, а именно созданию отказоустойчивого и масштабируемого хранилища данных. Такие хранилища безусловно строятся при помощи технологий RAID массивов, а у файловой системы ZFS имеется свой штатный инструмент для работы с физическими дисками и организации их в RAID-Z массивы (аналог RAID5). При этом, в отличие от аналогичных технологий, данная FS самостоятельно восстанавливает поврежденные блоки и исправляет их на лету без вмешательства пользователя. RAID-Z постоянно проверяет контрольные суммы данных для поддержания их целостности и может идентифицировать блоки, требующие перекомпоновки. Это делается до того, как запрашиваемые данные попадают к пользователю.

К основным плюсам данной FS — практически неограниченное дисковое пространство и встроенные инструменты построения отказоустойчивых RAID-Z массивов, относится также и атомарная запись данных. Под этим термином понимается следующее — данные либо полностью записываются на диск, либо не записываются вовсе. Такая технология позволяет избежать проблем, которые возникают в случаях сбоев работы сети, подсистемы питания и отказа операционной системы.

Поддержка со стороны операционных систем

Изначально ZFS была разработана в недрах компании Sun Microsystems для операционной системы Solaris. Сейчас благодаря ряду проектов, данная файловая система стала доступной для других ОС. К ним относятся — помимо Solaris, еще и OpenSolaris, Apple Mac OS X 10.5, FreeBSD, Linux (через FUSE или отдельный модуль ядра (ZFS on Linux)). Выбор конкретной ОС для своего проекта или проще говоря, для файлового хранилища остается за вами. Наибольшее распространение получила FreeBSD и производная — NAS4Free.

Конструктивные особенности системы хранения

При организации хранилища данных приходится оценивать ряд моментов. Одни из самых насущных — сколько необходимо дискового пространства предоставить для пользователей и сервисов, а также какие имеются возможности расширения и масштабирования массива устройств хранения данных. Далее возникают более технические вопросы — сколько нужно дисков, какие контроллеры, материнские платы и конфигурацию RAID-Z нужно использовать. Ответить на данные вопросы нужно перед началом работ, поэтому остановимся на их рассмотрении более подробно.

  • Объем дискового пространства

Из потребностей и требований к объему создаваемого хранилища, определяется количество HDD, их модели,  а также тип конфигурации RAID-Z. Сразу приведу несколько рекомендаций:

— максимальная надежность и производительность достигается при испольловании жестких дисков одной модели и производителя

— ОС не следует размещать в самом хранилище, лучше использовать отдельный HDD/USB-напопитель

— количество дисков должно соответствовать выбранной системе RAID-Z

  • Варианты RAID-Z

Существует несколько разновидностей RAID-Z массивов, но сейчас мы рассмотрим два наиболее практичных и популярны:

— raid-z1 — здесь используется для контроля четности один диск из пула (минимум дисков для организации данного вида массива — 3 шт). При выходе из строя одного диска, массив будет работать корректно, при его замене массив перестроится самостоятельно. При выходе из строя двух дисков — массив разрушается и данные восстановлению не подлежат.

— raid-z2 — в данном случае для контроля четности выделяется 2 диска (минимум дисков для такой конфигурации — 5 шт.). Эта система является более отказоустойчивой.

  • Жесткие диски

Как было сказано ранее — лучше всего использовать одинаковые диски одного производителя (объем, модель и т.п.). При этом, стоит учитывать один важный момент, который молодые специалисты упускают. Настоятельно рекомендуется приобретать на один диск больше, т.е. производить закупку по формуле n+1 количество дисков. Это снизит время простоя и риски потери информации при «заводском браке» или повреждении HDD при транспортировке, а также сократит время в будущем по замене неисправного жесткого диска. Стоит отметить, ZFS поддерживает «hot spare», т.е. можно выполнить конфигурирование пула и дисков так, что один из них будет использоваться для горячей замены (без остановки хранилища), в том числе и в автоматическом режиме. Также стоит понимать, что от количества жестких дисков зависит и скорость работы хранилища (за счет распределения нагрузки по дискам в моменты чтения и записи).

  • Другие компоненты системы

Исходя из требований к объему хранилища, стоит выбирать мат. платы, контроллеры, блоки питания и корпуса для серверов с возможность расширения. При организации хранилища корпоративного класса стоит использовать только MB и RAM с контролем четности (ECC)!

  • Масштабируемость системы

Как было сказано в предыдущем пункте — MB и корпуса серверов должны поддерживать установки дополнительных устройств. При этом, если создается хранилище начального или среднего класса (без серьезных требований к надежности и производительности системы), SATA-контроллеры могут стать узким местом.

Подведем итог

Файловая система ZFS имеет ряд уникальных возможностей по работе с HDD и организации их в отказоустойчивые и масштабируемые пулы данных. При этом, чтобы получить все преимущества данной FS, необходимо использовать как минимум два жестких диска.

Кратко перечислю основные преимущества и свойства ZFS:

  • встроенные инструменты для работы с разделами HDD и организации RAID-Z
  • нет привязки к оборудованию
  • нечувствительна к незапланированных отключениям электропитания
  • автоматическая подмена вышедших из строя HDD, исправление ошибок и перестроение RAID
  • поддерживаются огромные размеры томов, файлов, пулов, а также легкая масштабируемость хранилища
  • быстрое и удобное администрирование ZFS Pool’ов
  • при увеличении HDD повышается производительность хранилища
  • дедупликация и сжатие данных

К минусам данной файловой системы можно отнести:

  • высокие требования к ресурсам CPU и RAM
  • хранилища, используемые для важных корпоративных данных, должны быть построены при использовании ECC RAM.

Следующая статья будет практической — работа с дисками, создание и администрирование пулов данных.

  • все ты хорошо написал, но nas4free — вариант худший их возможных. Другое дело NexentaStor) Для ZFS — это самое то.

    • Igor Ovcharenko

      Хотелось бы услышать мнения «за» и «против» nas4free.