Вступление
ZFS - это файловая система, изначально поставляемая с Solaris, но позже адаптированная во многих операционных системах Unix и Linux. Основным преимуществом файловой системы ZFS является поддержка зеттабайтов данных и ее 128-битный размер, поэтому она часто используется на крупных корпоративных серверах и сборщиками данных, такими как правительственные учреждения. В отличие от других файловых систем, ZFS устойчива к проблеме гниения данных на жестких дисках, поскольку сохраняет целостность данных при хранении, и при добавлении дополнительных жестких дисков к существующему массиву RAID не требуется разбиение на разделы. ZFS - это, по сути, будущее файловых систем Unix благодаря огромному количеству преимуществ. Однако маловероятно, что в ближайшее время это будет очень полезно для обычного домашнего пользователя, но администраторы серверов должны знать о ZFS и ее преимуществах. Итак, эта статья демонстрирует, как легко использовать ZFS на серверах Ubuntu.
Как установить ZFS
Установить ZFS так же просто, как и любой другой пакет, но он должен быть установлен с правами root. Чтобы получить root-доступ, используйте sudo su, которая затем запрашивает пароль администратора. После ввода пароля пользователю предоставляется root-доступ. После получения root-доступа используйте команду install вместе с именем пакета - zfs, чтобы установить zfs в систему. Установка займет некоторое время, но как только она будет завершена, появится уведомление.
sudo su
apt установить zfs
Как настроить ZFS
После установки ZFS в системе необходимо создать пул (также известный как Zpool). Пул состоит из группы жестких дисков, которые объединены вместе, и внутри этого пула есть наборы данных, в которых фактически хранятся данные. На этом этапе создается пул и набор данных.
Введите либо lsblk для вывода списка блочных устройств в системе, либо ls -l / dev / sd * для вывода всех блоков / dev. В любом случае он возвращает список блочных устройств, обнаруженных Ubuntu. В этом руководстве предполагается, что в системе есть несколько жестких дисков, которые фактически объединены в пул.
Перед созданием пула. Таблица разделов GUID должна быть создана на каждом жестком диске. Таблица разделов - это своего рода схема, помогающая разбивать жесткие диски на разделы. Zpool требует, чтобы он был на жестких дисках перед созданием пула. Используйте следующие команды для создания таблицы разделов на запасных жестких дисках, подключенных к системам. здесь запасные жесткие диски / dev / sdb а также / dev / sdc
parted / dev / sdb mklabel GPT q parted / dev / sdc mklabel GPT q
После того, как таблица разделов создана на каждом жестком диске, теперь создайте zpool. Поскольку здесь используются только два жестких диска, используйте зеркальные группы, но если есть 3 или более жестких диска, используйте raidz, а для 4 или более используйте команды raidz2. Зеркальное отображение также известно как RAID 1, который беспрепятственно копирует данные с одного диска на другой, что весьма полезно для увеличения избыточности данных.
zpool создать зеркало vol0 / dev / sdb / dev / sdc
На этом этапе пул уже создан, теперь создайте набор данных, в котором на самом деле данные, включая файлы, каталоги, хранилища.
Формат создания набора данных выглядит так…
zfs создать
Используйте этот формат и создайте пару каталогов, как показано на следующем снимке экрана.
zfs создает vol0 / dondilanga_files
zfs создать vol0 / dondilanga_images
zfs создать vol0 / dondilanga_music
zfs создать vol0 / dondilanga_movies
zfs создать vol0 / dondilanga_games
Создание набора данных недостаточно для наличия функционирующей файловой структуры, для него также необходимы соответствующие разрешения (см. Разрешения для файлов Linux). Настройка разрешений довольно проста, поскольку она соответствует стандартному формату набора разрешений.
chown -R имя пользователя: имя группы / имя пула / набор данных
chown -R dondilanga: пользователи / vol0 / dondilanga_files
Как контролировать ZFS
Мониторинг обычно включает в себя проверку состояния пула, статистику ввода-вывода, перечисление доступных пулов, перечисление конкретных деталей пула, отображение состояния пула в подробном режиме, перечисление файловых систем ZFS и т. Д. Эта информация дает ценную информацию о пулах, наборах данных и весьма полезна при принятии решений относительно файловых систем ZFS.
Проверка работоспособности пула
статус zpool
Проверка статистики ввода / вывода (IO) для пулов
zpool iostat
Список доступных пулов
список zpool
Перечислите конкретные детали бассейна
zpool list -o имя, размер, емкость
См. Список файловых систем (набор данных) в пуле.
список zfs
Смотрите статистику пула каждые 15 секунд.
zpool iostat -v 15
Как администрировать, настраивать и поддерживать ZFS
В этом сегменте рассматриваются различные типы пулов, способы их создания, создание блочных устройств в пуле, уничтожение или удаление пулов (удаление полезно, когда пул создается на жестком диске USB или аналогичном съемном носителе), установка различных свойств для бассейны, монтаж и демонтаж.
Различные типы бассейнов
Существует 4 основных типа пулов, и каждый имеет свою цель при их создании. Обычно здесь учитывается тип RAID при создании пула. Как описано ранее, при создании пула вместе с ним необходимо указать тип. В этом руководстве используется тип зеркального пула, кроме этого есть raidz для RAID5, raidz2 для RAID5 с дуэльной четностью, и когда не задействована избыточность, тип пула не указывается.
Чередующиеся группы или группы без резервирования могут иметь столько же жестких дисков, например ... как в следующей команде. Каждый SD * представляет собой новый виртуальный / физический жесткий диск, и все они могут быть объединены в один пул с помощью следующей команды под именем vol1.
zpool создать vol1 / dev / sdb / dev / sdc / dev / sdd
Как видно на следующем снимке экрана, теперь все вышеупомянутые жесткие диски являются частью пула vol1, который можно расширить, чтобы увидеть компоненты с zpool iostat команда.
В отличие от приведенного выше примера, в зеркальной группе жесткие диски сгруппированы парами.
zpool создать зеркало vol1 / dev / sda / dev / sdb mirror / dev / sdc / dev / sdd
Создание блочного устройства в пуле
Блочные устройства - это наборы данных, созданные в пуле, и изначально имеют заранее определенный размер, например, если блочное устройство создается с размером 1 ГБ, то это конкретное блочное устройство весит 1 ГБ. В следующем примере показано, как создать блочное устройство в существующем пуле.
zfs create -V
zfs create -V 1GB vol0 / dondilanga_new1
Разрушение пула
Несомненно, знание об уничтожении пула так же важно, как и его создание, но это нужно делать очень осторожно, поскольку нет возможности вернуть его, когда он исчезнет, так как удаление является постоянным, если данные не созданы в другом месте.
zpool destroy имя пула
zpool уничтожить vol0
После удаления пула можно попытаться перечислить доступный пул с помощью параметра list в команде zpool, если он возвращает «нет доступных пулов», это означает, что удаление было успешным.
Удаление / восстановление пула
Что это означает: временно удалить пул из системы и смонтировать его обратно, когда это необходимо. Это очень полезно, когда пул создается на жестком диске / диске USB или любом другом портативном устройстве. Веб-администраторы могут создать пул на своем портативном жестком диске, скопировать на него системные данные, размонтировать и забрать его домой для использования. Следующие команды демонстрируют, как удалить пул и смонтировать его обратно.
имя пула экспорта zpool
zpool экспорт vol0
имя пула импорта zpool
zpool import vol0
Добавление нового жесткого диска в пул
Поскольку существует множество типов пулов, жесткие диски можно добавлять в пул различными способами. Обычный метод добавления жесткого диска - как запасной. Что это означает, когда один из жестких дисков не работает, запасной жесткий диск используется для замены сломанного. Запасной жесткий диск добавляется следующим образом.
Здесь перечислены доступные жесткие диски. Как видно на следующем снимке экрана. SDD жесткого диска в настоящее время доступен для операционной системы; следовательно, он используется здесь.
ls -l / dev / sd *
Как обычно, сначала форматируется перед добавлением в пул. Следующие команды форматируют жесткий диск со схемой разделов GUID.
разделены / dev / sdd
mklabel GPT
q
После форматирования добавьте в пул с помощью следующей команды.
zpool добавить vol0 запасной / dev / sdd
Затем введите zpool status -v, чтобы вывести список всех доступных жестких дисков в zpools. Как видно на следующем снимке экрана, запасные диски помечены как «запасные» и используются только при выходе из строя основных дисков.
Как создавать снимки на ZFS?
Снимок является точной копией определенного zpool и создается с помощью команды zfs, как показано на следующем снимке экрана. Процесс создания снимка - это прогулка по парку, хотя некоторые учебники делают его сложнее, чем необходимо. Формат команды создания снимка:.
снимок zfs [защита электронной почты]
снимок zfs [защита электронной почты] _snapshot
Восстановить снимок
Восстановить моментальный снимок обратно в пул так же просто, как и сделать его резервную копию. Все, что нужно сделать, это указать его название вместе с названием пула. Помните, что восстановление моментального снимка обратно в пул перезапишет существующие в настоящее время данные в пуле; следовательно, это должно быть сделано с умом.
Откат zfs [электронная почта защищена]
Откат zfs [электронная почта защищена] _snapshot
Удалить снимок
Создание, восстановление и удаление снимков - все это прогулка по парку с ZFS. Следующая команда просто удаляет снимок из системы; и, следовательно, освободить больше места для него.
zfs destroy [электронная почта защищена]
zfs destroy [электронная почта защищена] _snapshot