На страницах проекта gotoADM.ru была затронута тема организации файлового хранилища:
- первая часть Сетевое хранилище с помощью NAS4Free, установка
- вторая часть Сетевое хранилище с помощью NAS4Free, настройка
В указанных статьях было упоминание о файловой системе 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.
Следующая статья будет практической – работа с дисками, создание и администрирование пулов данных.
все ты хорошо написал, но nas4free – вариант худший их возможных. Другое дело NexentaStor) Для ZFS – это самое то.
Хотелось бы услышать мнения “за” и “против” nas4free.