ZFS - это комбинированная файловая система, а также менеджер логических томов, который предлагает функциональность типа raid с целостностью данных и упрощенным управлением хранением. Она позволяет хранить и управлять большим объемом данных. Впервые она была создана в компании Sun Microsystems и сейчас является частью проекта OpenZFS. Сейчас она перенесена на другие ОС, включая FreeBSD, Linux и Mac OSX. Пул хранения ZFS может работать с большим объемом данных, что позволяет расширить облачное решение на месте.
В этой статье мы расскажем вам, как установить ZFS и как настроить пул хранения ZFS.
Особенности ZFS
Ниже перечислены некоторые особенности ZFS:
- Объединенное хранилище
- Открытый исходный код
- Копирование при записи
- шифрование
- Снимки
- Непрерывная проверка целостности
- Эффективное сжатие данных
- Проверка целостности данных и автоматическое восстановление
Установка ZFS в Ubuntu
Чтобы установить ZFS на Ubuntu 18.04 LTS, запустите Терминал, нажав Ctrl+Alt+T, и введите в него следующую команду:
1 | sudo apt install zfsutils-linux |
Подождите некоторое время до завершения установки.
Чтобы проверить установку, выполните следующую команду в Терминале:
1 | whereis zfs |
Вы увидите результат, аналогичный приведенному ниже.
Создание пула хранения данных ZFS
После установки мы создадим пул дисков. Первым шагом при создании пула хранения ZFS является определение типа пула, который вы хотите создать. Затем решите, какие диски следует поместить в пул хранения.
1. Выберите тип пула ZFS
Существует два типа пулов, которые вы можете создать:
Полосатый пул
В полосатом пуле копия данных хранится на всех дисках. Вы можете получить объединенное хранилище и более высокую скорость чтения/записи. Однако если один диск выйдет из строя, вы потеряете все свои данные.
Зеркальный пул
В зеркальном пуле на всех дисках хранится одна полная копия данных. Если один диск выйдет из строя, вы все равно сможете получить доступ к своим данным.
2. Выбор дисков для объединения в пул
Теперь нам нужно определить, какие диски доступны в нашей системе для объединения в пул. Чтобы узнать диски, выполните следующую команду в Терминале:
1 | sudo fdisk -l |
В выводе команды fdisk запишите имена дисков, которые должны быть примерно такими: sda, sdb, sdc.
В нашем сценарии у нас есть два диска - sdb и sdc. Я буду использовать эти два диска для создания пула хранения.
3. Создание пула
После того как вы определились с типом пула и дисками, которые необходимо объединить в пул, следующим шагом будет создание пула из вышеуказанного набора дисков с помощью команды zpool, доступной в Linux, которая используется для настройки пулов хранения в ZFS.
Чтобы создать пул с чередованием, выполните следующую команду в терминале:
1 | sudo zpool create <имя_пула> <диск1> <диск2> |
Чтобы создать зеркальный пул, выполните следующую команду в Терминале:
1 | sudo zpool <имя_пула> mirror <drive1> <drive2> |
Вы можете создать любой пул в зависимости от ваших требований к хранению данных. Мы создадим зеркальный пул с помощью приведенной выше команды:
1 | sudo zpool new-pool mirror /dev/sdb /dev/sdc |
После создания пула вы можете проверить подробный статус zpool с помощью следующей команды:
1 | zpool status |
Чтобы посмотреть состояние здоровья пула и использование пространства, используйте следующую команду в Терминале. Эта команда также показывает диски, которые вы выбрали для пула хранения. Вы можете добавить дополнительные диски позже для дальнейшего увеличения избыточности.
1 | zpool list |
Теперь запустите команду df -h, и вы увидите, что только что созданный пул автоматически смонтирован в точке монтирования.
Пул, который вы только что создали, имеет размер 1,9 Гб и монтируется в точку монтирования по умолчанию /new-pool. Если вы хотите, вы можете изменить точку монтирования, используя следующий синтаксис:
1 | sudo zfs set mountpoint=<путь> <имя_пула> |
Например, мы хотим установить /usr/share/pool в качестве новой точки монтирования. для этого мы используем следующую команду:
1 | sudo zfs set mountpoint=/usr/share/pool new-pool |
Чтобы проверить, успешно ли изменилась точка монтирования, используйте команду df -h.
Из приведенных выше результатов видно, что точка монтирования успешно изменилась на новую точку монтирования /usr/share/pool.
Теперь пул хранения создан, теперь мы создадим наборы данных и будем хранить все внутри этих наборов данных. Эти наборы данных похожи на каталоги и имеют точку монтирования.
Чтобы создать наборы данных, выполните следующую команду в терминале:
1 | sudo zfs create <имя_пула>/directory_name |
Например, я хочу создать набор данных под названием docs в моем пуле хранения. Я использую следующую команду:
1 | sudo zfs create new-pool/docs |
Наборы данных, которые мы только что создали, будут автоматически смонтированы с именем /new-pool/docs в точке монтирования /usr/share/pool, которую мы можем просмотреть с помощью команды df -h.
1 | df -h |
Удаление пула ZFS
Если вы хотите удалить пул, вы можете использовать команду zpool destroy, как показано ниже:
1 | zpool destroy <имя_пула> |
Вот и все, что нам понадобилось для создания пула хранения ZFS в Ubuntu. Теперь вы можете начать хранить свои файлы в только что созданном пуле. Это потрясающая и мощная файловая система, которую вы можете использовать при работе с большим объемом памяти.