Домашняя » как » Введение в файловую систему Z (ZFS) для Linux

    Введение в файловую систему 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..