Файловая система 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 со стороны операционных систем

Изначально 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.

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

blank

Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор... Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!

Оцените автора
IT для специалистов и бизнеса
Добавить комментарий

  1. blank
    kvantor

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

    Ответить
    1. blank
      Игорь Овчаренко автор

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

      Ответить