Введение в файловую систему Z (ZFS) для Linux
ZFS обычно используется хардерами данных, любителями NAS и другими фанатами, которые предпочитают доверять собственной резервной системе хранения, а не облачной. Это отличная файловая система, которая используется для управления несколькими дисками данных, и конкурирует с некоторыми из лучших установок RAID.
Фото Кенни Луи.
Что такое ZFS и почему я должен его использовать?
Файловая система Z - это бесплатный менеджер логических томов с открытым исходным кодом, созданный Sun Microsystems для использования в их операционной системе Solaris. Некоторые из его наиболее привлекательных функций включают в себя:
Бесконечная масштабируемость
Ну это не технически бесконечна, но это 128-битная файловая система, которая способна управлять зетабайтами (один миллиард терабайт) данных. Независимо от того, сколько места на жестком диске у вас есть, ZFS подойдет для управления им.
Максимальная целостность
Все, что вы делаете внутри ZFS, использует контрольную сумму для обеспечения целостности файла. Вы можете быть уверены, что ваши файлы и их избыточные копии не столкнутся с повреждением данных без вывода сообщений. Кроме того, пока ZFS занята проверкой целостности ваших данных, он будет выполнять автоматическое восстановление в любое время..
Пул накопителей
Создатели ZFS хотят, чтобы вы думали об этом как о том, как ваш компьютер использует оперативную память. Когда вам нужно больше памяти на вашем компьютере, вы вставляете другую флешку, и все готово. Аналогично ZFS, когда вам нужно больше места на жестком диске, вы вставляете другой жесткий диск, и все готово. Не нужно тратить время на разметку, форматирование, инициализацию или выполнение каких-либо других действий с вашими дисками - когда вам нужен больший «пул», просто добавьте диски.
RAID
ZFS поддерживает множество различных уровней RAID, обеспечивая при этом производительность, сравнимую с производительностью аппаратных RAID-контроллеров. Это позволяет сэкономить деньги, упростить настройку и получить доступ к превосходным уровням RAID, которые ZFS улучшила.
Установка ZFS
Так как мы рассматриваем только основы этого руководства, мы не собираемся устанавливать ZFS в качестве корневой файловой системы. В этом разделе предполагается, что вы используете ext4 или другую файловую систему и хотели бы использовать ZFS для некоторых дополнительных жестких дисков. Вот команды для установки ZFS на некоторые из самых популярных дистрибутивов Linux.
Solaris и FreeBSD уже должны поставляться с ZFS, установленной и готовой к использованию..
Ubuntu:
$ sudo add-apt-repository ppa: zfs-native / stable
$ sudo apt-get update
$ sudo apt-get установить ubuntu-zfs
Debian:
$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get update
# apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum установить zfs
Если у вас есть какой-то другой дистрибутив, зайдите на zfsonlinux.org и щелкните ваш дистрибутив в списке «Пакеты» для получения инструкций по установке ZFS..
Продолжая работу с этим руководством, мы собираемся использовать Ubuntu, потому что это, кажется, выбор № 1 для фанатов Linux. Вы все равно сможете следить, несмотря ни на что, поскольку команды ZFS не изменятся в разных дистрибутивах..
Установка занимает много времени, но как только она закончится, запустите $ sudo zfs list
чтобы убедиться, что он установлен правильно. Вы должны получить такой вывод:
Мы сейчас используем свежую установку сервера Ubuntu, используя только один жесткий диск.
Настройка ZFS
Теперь, скажем, мы вставили еще шесть жестких дисков в наш компьютер.
$ sudo fdisk -l | ошибка grep
покажет нам шесть жестких дисков, которые мы только что установили. В настоящее время они непригодны для использования, так как не содержат никакой таблицы разделов..
Как мы упоминали ранее, одна из приятных вещей в ZFS - то, что нам не нужно беспокоиться о разделах (хотя вы можете, если хотите). Давайте начнем с того, что возьмем три наших жестких диска и поместим их в пул хранения, выполнив следующую команду:
$ sudo zpool create -f geek1 / dev / sdb / dev / sdc / dev / sdd
Zpool создать
команда, используемая для создания нового пула хранения, -е
переопределяет любые возникающие ошибки (например, если на диске (дисках) уже есть информация о них), geek1
это имя пула хранения, и / dev / sdb / dev / sdc / dev / sdd
это жесткие диски, которые мы положили в бассейн.
После того, как вы создали свой пул, вы сможете увидеть его с помощью Д.Ф.
команда или список sudo zfs
:
Как видите, / geek1 уже смонтирован и готов к использованию.
Если вы хотите увидеть, какие три диска вы выбрали для своего пула, вы можете запустить статус sudo zpool
:
Мы уже создали пул с динамической полосой 9 ТБ (по сути, RAID 0). Если вы не знакомы с тем, что это значит, представьте, что мы создали файл размером 3 КБ в / geek1. 1 КБ автоматически перейдет на SDB, 1 КБ на SDC и 1 КБ на SDD. Затем, когда мы прочитаем файл размером 3 КБ, каждый жесткий диск предоставит нам 1 КБ, объединяя скорость трех дисков. Это ускоряет запись и чтение данных, а также означает, что у нас есть единственная точка отказа. Если выйдет из строя только один жесткий диск, мы потеряем наш файл размером 3 КБ.
Предполагая, что защита ваших данных важнее, чем быстрый доступ к ним, давайте рассмотрим другие популярные настройки. Сначала мы удалим созданный zpool, чтобы мы могли использовать эти диски в более избыточной установке:
$ sudo zpool destroy geek1
Бэм, наш зпул исчез. На этот раз давайте используем наши три диска для создания пула RAID-Z. RAID-Z в основном является улучшенной версией RAID 5, потому что он позволяет избежать «дыры в записи» с помощью копирования при записи. Для RAID-Z требуется не менее трех жестких дисков, и это своего рода компромисс между RAID 0 и RAID 1. В пуле RAID-Z вы все равно получите скорость чередования на уровне блоков, но также будете иметь распределенную четность. Если один диск в вашем пуле умирает, просто замените этот диск, и ZFS автоматически перестроит данные на основе информации о четности с других дисков. Чтобы потерять всю информацию в вашем пуле хранения, два диска должны были бы умереть. Чтобы сделать вещи еще более избыточными, вы можете использовать RAID 6 (RAID-Z2 в случае ZFS) и иметь двойную четность.
Для этого мы можем использовать то же Zpool создать
команда, как и раньше, но указать RAIDZ
после названия бассейна:
$ sudo zpool create -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd
Как вы видете, дф-ч
показывает, что наш пул в 9 ТБ теперь уменьшен до 6 ТБ, поскольку 3 ТБ используются для хранения информации о паритете. С статус зпула
Команда, мы видим, что наш пул в основном такой же, как и раньше, но сейчас использует RAID-Z.
Чтобы показать, как просто добавить больше дисков в наш пул хранения, добавим три других диска (еще 9 ТБ) в наш пул хранения geek1 в качестве другой конфигурации RAID-Z:
$ sudo zpool add -f geek1 raidz / dev / sde / dev / sdf / dev / sdg
Мы заканчиваем с:
Сага продолжается ...
Мы едва рассмотрели поверхность ZFS и ее возможности, но, используя то, что вы узнали в этой статье, вы теперь сможете создавать избыточные пулы хранения ваших данных. Обратитесь к нам за будущими статьями о ZFS, посмотрите справочные страницы и найдите бесконечные нишевые руководства и видеоролики на YouTube, посвященные функциям ZFS..