Zfs добавить диск в пул
Заметил, что на Хабре много статей про ZFS. И вот, решил написать краткое руководство, как же этой ZFS пользоваться. В качестве ОС буду рассматривать Solaris, т.к. ZFS изначально разрабатывалась для Соляры да и познакомился с ZFS я именно там. Понимаю, что мало у кого стоит Open Solaris на десктопе, а администраторы Solaris и так должны это знать. Но может кому и пригодится.
- ZFS является 128 битной файловой системой. Максимальный размер пула — 16 экзабайт (18млн Терабайт) Максимальное количество файлов в одном пуле — 20х10 12 .
- ZFS является self-healing системой. ZFS использует 256-битный контрольные суммы для проверки данных.
- Позволяет добавлять пулы или же наращивать емкость пула без остановки системы или же приложений
- Очень гибкая организация RAID'ов.
Немного терминологии
- checksum — Контрольная сумма. 256-разрядный хеш-код данных в блоке файловой системы.
- clone — Клон. Файловая система, исходное содержимое которой идентично содержимому снапшота.
- snapshot — Снимок. Образ файловой системы или тома в определенный момент времени, доступный только для чтения.
- dataset — Набор данных. Общее название следующих объектов ZFS: клонов, файловых систем, снимков или томов. Каждый набор данных идентифицируется по уникальному имени в пространстве имен ZFS. Наборы данных определяются с помощью следующего формата: пул/путь[ @снимок]
- pool — Пул. Логическая группа устройств, описывающая размещение и физические характеристики доступного пространства для хранения данных. Из пула берется пространство для наборов данных.
- volume — Том. Набор данных, используемый для эмулирования физического устройства. Например, можно создать том ZFS в качестве устройства подкачки.
Собственно руковдство
В Solaris работа с ZFS идет в основном через 2 команды. Это zpool и zfs.
zpool — работа с пулами. Их создание, изменение, удаление и т.д.
zfs — работа с самой файловой системой.
Итак, из чего же можно создать пул? Да из чего угодно. От файлов под другой фс, до дисков в дисковом массиве.
Примеры создания пула MyPool
zpool status -v
pool: MyPool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
MyPool ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
- DEGRADED — Один или несколько устройства верхнего уровня находятся в нерабочем состоянии, т.к. были отключены. Но дальнейшее функционирование возможно.
- FAULTED — Один или несколько устройства верхнего уровня находятся в состоянии FAULT. Дальнейшее функционирование не возможно.
- OFFLINE — Пул был отключен командой «zpool offline».
- ONLINE — Пул находится в состоянии ONLINE и нормально функционирует.
- REMOVED — Устройство (Пул) было физически удалено при работающей системе.
- UNAVAIL — Устройство (Пул) недоступно.
Изменение пула MyPool
Как это отобразится на Пуле в целом:
zpool status -v
pool: myzfs
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning
in a degraded state.
action: Online the device using 'zpool online' or replace the device
with 'zpool replace'.
scrub: resilver completed with 0 errors on Tue Sep 11 13:39:25 2007
config:
NAME STATE READ WRITE CKSUM
myzfs DEGRADED 0 0 0
mirror DEGRADED 0 0 0
/disk1 OFFLINE 0 0 0
/disk2 ONLINE 0 0 0
Создание и работа с файловой системой
опцией -о мы можем выбрать точку монтирования, отличную от /MyPool/systemname
Как видите, ничего сложного с ZFS на начальном этапе нет. Очень и очень гибкая штука.
Большая часть информации по устройствам представлена в разделе Компоненты пула устройств хранения данных ZFS. После создания пула можно выполнить ряд задач по управлению физическими устройствами в пуле.
Установка ZFS
В последних версиях Ubuntu файловая система ZFS была добавлена в официальный репозиторий и в установочный диск. Поэтому для того, чтобы ее установить будет достаточно выполнить несколько команд:
sudo apt install -y zfs
В других дистрибутивах. например, CentOS или Fedora ситуация немного сложнее, сначала вам придется добавить официальный репозиторий, а затем установка zfs и самого набора утилит и модулей ядра:
Затем осталось включить загрузить модуль ядра с поддержкой этой файловой системы:
sudo modprobe zfs
Теперь файловая система установлена и готова к использованию. Дальше нам нужно выбрать разделы и создать на них файловые системы. Для настройки zfs используется утилита zpool, но для начала давайте рассмотрим ее синтаксис и возможности. Файловая система может быть расположена на нескольких разделах или жестких дисках, поэтому на уровне ядра формируется общий пул (куча), а к нему уже подключаются разделы. Тут можно провести аналогию с группой томов LVM.
Оцените статью:
Об авторе
14 комментариев
Спасибо за великолепную статью. Очень познавательно.
Есть один минус.
Если устанавливать Android-x86 OS, в частности в режиме Dual Boot (т.е., как бы внутри Linux), то запустить Андрюшу не удастся!
Андрюша поддерживает из Линя только ф/с Ext.
Самое классное - использование ZFS для полноценной работы/загрузки ОС а-ли Solaris
Автор не понимает ZFS - совсем. Где виды пулов ? Чем отличается mirror от raidz (x) ?
Facebook Если у вас не работает этот способ авторизации, сконвертируйте свой аккаунт по ссылке ВКонтакте Google RAMBLER&Co ID
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Выводы
В этой статье мы рассмотрели как работает файловая система zfs, как выполняется настройка zfs и как ее использовать. Это очень перспективная файловая система, с огромным набором функций, которая способна сравняться, а в некоторых областях и обойти Btrfs. Надеюсь, эта информация была полезной для вас, если у вас остались вопросы, спрашивайте в комментариях!
Создание файловой системы
Сначала посмотрим есть ли уже созданные пулы ZFS. Для этого выполните такую команду:
sudo zpool list
Если вы устанавливаете эту файловую систему в первый раз, то здесь будет пустой список. Теперь создадим пул на основе существующего раздела, мы будем использовать раздел /dev/sda6
sudo zpool create -f pool0 /dev/sda6
Хотя вы можете использовать не только раздел, а целый диск. Теперь смотрим еще раз список пулов:
sudo zpool list
Затем смотрим состояние нашего пула с помощью команды status, здесь выводится больше подробной информации. Если у вас есть несколько дисков, вы можете настроить RAID массив, чтобы данные хранились не на одном разделе, а синхронно копировались на несколько, это может в несколько раз увеличить производительность.
sudo zpool create pool0 zraid /dev/sda /dev/sdb /dev/sdc
Обратите внимание, что диски должны иметь одинаковый раздел. Если вам не нужен RAID, вы можете настроить обычное зеркалирование на второй диск. Это увеличивает надежность хранения данных:
sudo zpool create pool0 mirror sda sdb
Теперь данные будут писаться на оба диска. Такую же вещь можно проделать с разделами, но здесь нет смысла, поскольку если жесткий диск накроется, то данные вы потеряете, а прироста производительности не увидите. Вы можете использовать даже файлы, для создания файловых систем.
Вы можете добавить новый жесткий диск или раздел к пулу:
sudo zpool attach pool0 /dev/sdd
Или удалить устройство из пула:
sudo zpool detach pool0 /dev/sdd
Чтобы удалить пул используйте команду destroy:
sudo zpool destroy pool0
Для проверки раздела на ошибки используйте команду scrub:
sudo zpool scrub pool0
Статистику использования пула можно посмотреть с помощью команды iostat:
sudo zpool iostat pool0
Добавление устройств в пул устройств хранения данных
Добавить пространство в пул можно динамически путем добавления нового виртуального устройства верхнего уровня. Это пространство немедленно становится доступным для всех наборов данных в пуле. Для добавления в пул нового виртуального устройства используется команда zpool add . Пример:
Формат указания виртуальных устройств совпадает с форматом команды zpool create , при этом применяются те же правила. Для устройств выполняется проверка на использование; изменить степень избыточности при помощи этой команды без параметра -f невозможно. Эта команда также поддерживает параметр -n , предназначенный для выполнения пробного прогона. Пример:
Этот синтаксис позволяет добавить зеркальные устройства c3t1d0 и c3t2d0 в существующую конфигурацию zeepool .
Для получения дополнительной информации о проверке действительности виртуальных устройств см. Обнаружение используемых устройств.
Пример 4–1 Добавление дисков в зеркальную конфигурацию ZFS
В следующем примере еще одно зеркало добавляется в существующую зеркальную конфигурацию ZFS в системе Sun Fire x4500.
Пример 4–2 Добавление дисков в конфигурацию RAID-Z
Аналогичным образом в конфигурацию RAID-Z добавляются дополнительные диски. Следующий пример демонстрирует преобразование пула устройств хранения данных с одним устройством RAID–Z, содержащего 3 диска, в пул устройств хранения данных RAID-Z, содержащий 3 диска.
Пример 4–3 Добавление зеркального устройства протоколирования в пул устройств хранения данных ZFS
Следующий пример демонстрирует добавление зеркального устройства протоколирования в зеркальный пул устройств хранения данных. Дополнительные сведения об использовании устройств протоколирования в пуле устройств хранения данных приведены в разделе Настройка отдельных устройств протоколирования ZFS.
Для создания зеркального устройства протоколирования можно присоединить новое устройство протоколирования к существующему. Эта операция идентична присоединению устройства в незеркалируемом пуле устройств хранения данных.
Пример 4–4 Добавление и удаление устройств кэширования в пуле устройств хранения данных ZFS
Пользователь может добавлять и удалять устройства кэширования в пуле устройств хранения ZFS
Используйте команду zpool add для добавления устройств кэширования. Пример:
Зеркалирование устройств кэширования невозможно; кроме того, они не могут быть частью конфигурации RAID-Z.
Используйте команду· zpool remove для удаления устройств кэширования. Пример:
В настоящее время команда zpool remove поддерживает только удаление устройств горячего резерва и устройств кэширования. Устройства, являющиеся частью основной конфигурации зеркалированного пула могут быть удалены с помощью команды zpool detach . Удаление устройств без избыточности и устройств RAID-Z из пула невозможно.
Подробные сведения об использовании устройств кэширования в пуле устройств хранения ZFS представлены в разделе Создание пула устройств хранения данных ZFS с устройствами кэширования.
Как пользоваться ZFS
Настройка ZFS не очень сильно отличается от Btrfs, все базовые действия выполняются очень просто, вы сами в этом убедитесь.
Перевод устройства в оперативный режим
После перевода устройства в автономный режим его можно восстановить с помощью команды zpool online :
При переводе устройства в оперативный режим данные, записанные в пуле, заново синхронизируются с новым доступным устройством. Следует отметить, что перевод устройства в оперативный режим не позволяет произвести замену диска. Если вы переводите устройство в автономный режим, заменяете диск и пытаетесь вернуть его в оперативный режим, оно остается в состоянии ошибки.
Для получения дополнительной информации о замене неисправных устройств см. Восстановление отсутствующего устройства.
Что такое ZFS?
Файловая система ZFS имеет обычные для таких файловых систем возможности. Это просто огромный размер одного раздела, и размер файла, поддерживается возможность хранения файлов на нескольких устройствах, проверка контрольных сумм для данных и шифрование на лету, а также запись новых данных в режиме COW, когда данные не переписываются, а пишутся в новое место, что позволяет делать мгновенные снапшоты.
Возможности очень похожи на Btrfs, но есть кое-какие отличия. В Btrfs можно посмотреть все файлы, измененные с момента последнего снапшота. Второе отличие, это отсутствие в Btrfs логических блоков zvol.
Перевод устройства в автономный режим
Для перевода устройства в автономный режим используется команда zpool offline . Требуемое устройство можно указать при помощи пути или краткого имени (если это устройство является диском). Пример:
При переводе устройства в автономный режим необходимо учитывать следующее:
Перевод в автономный режим пула в точке монтирования, в которой возникает сбой, невозможен. Например, невозможно перевести в автономный режим два устройства из конфигурации RAID-Z, невозможно также перевести в автономный режим виртуальное устройство верхнего уровня.
По умолчанию автономный режим сохраняется. Устройство остается в этом режиме при перезагрузке системы.
Для временного перевода устройства в автономный режим используется параметр zpool offline -t . Пример:
При перезагрузке системы это устройство автоматически возвращается в состояние ONLINE.
Для использования устройства, переведенного в автономный режим, в другом пуле устройств хранения данных после уничтожения исходного пула сначала необходимо перевести это устройство обратно в оперативный режим, а затем уничтожить исходный пул устройств хранения данных.
Другой способ использования устройства из другого пула устройств хранения данных при необходимости сохранения исходного пула заключается в замене существующего устройства в исходном пуле на другое аналогичное устройство. Для получения информации о замене устройств см. Замена устройств в пуле устройств хранения данных.
При запросе состояния пула устройства в автономном режиме имеют статус OFFLINE. Для получения информации о запросе состояния пула см. Запрос состояния пула устройств хранения данных ZFS.
Для получения дополнительной информации о работоспособности устройств см. Определение статуса работоспособности пулов устройств хранения данных ZFS.
Перевод устройств в пуле устройств хранения данных в оперативном или автономном режиме
ZFS позволяет переводить отдельные устройства в оперативный или автономный режим. Если оборудование является ненадежным или работает неправильно, ZFS продолжает считывание или запись данных в устройство, поскольку такое состояние рассматривается как временное. Если это состояние не является временным, в ZFS можно выполнить настройку для игнорирования такого устройства путем его перевода в автономный режим. ZFS не отправляет запросы на автономное устройство.
Примечание –
Для замены устройств их перевод в автономный режим не требуется.
Команда offline используется при необходимости временного отключения устройства. Например, перевод в автономный режим может потребоваться для физического отключения массива, входящего в пулы ZFS, от одного набора коммутаторов оптоволоконных каналов и его подключения к другому набору LUN. После повторного подключения массива и его инициализации в новом наборе коммутаторов эти LUN можно перевести в оперативный режим. Данные, добавленные в пулы устройств хранения данных во время нахождения LUN в автономном режиме, переносятся в LUN после перевода в оперативный режим.
Этот случай возможен при условии, что рассматриваемые системы распознают пул хранения после его подключения к новым коммутаторам, возможно, с помощью других контроллеров, и для пулов устанавливаются конфигурации RAID-Z или зеркальные конфигурации.
Команда zpool
Это основной инструмент управления разделами и функциональными возможностями ZFS, поэтому вам важно его освоить. Общий синтаксис команды достаточно прост, но у нее есть множество подкоманд, которые имеют свой синтаксис и параметры:
$ zpool команда параметры опции устройства
Как я уже сказал, параметры и опции для каждой команды свои, а в качестве устройства может указываться пул или физический раздел на жестком диске. Теперь рассмотрим основные команды и их предназначение, чтобы вы могли немного ориентироваться, а более детальные параметры разберем уже на примерах:
Это были все основные опции команды, которые мы будем использовать. Теперь рассмотрим примеры настройки zfs и управления разделами.
Присоединение и отсоединение устройств в пуле устройств хранения данных
Помимо команды zpool add для добавления нового устройства в существующую зеркальную или незеркальную конфигурацию может использоваться команда zpool attach .
Если выполняется добавление или отключение диска в корневом пуле ZFS в целях замены диска, см. Замена диска в корневом пуле ZFS.
Пример 4–5 Преобразование двустороннего зеркального пула устройств хранения данных в трехсторонний зеркальный пул
В этом примере zeepool представляет собой существующее двустороннее зеркало, преобразуемое в трехстороннее зеркало путем присоединения нового устройства c2t1d0 к существующему устройству c1t1d0.
Если существующее устройство является частью двустороннего зеркала, то при присоединении нового устройства будет создано трехстороннее зеркало, и т.д. В любом случае новое устройство начинает немедленный перенос актуальных данных.
Пример 4–6 Преобразование пула устройств хранения данных ZFS без избыточности в зеркальный пул
Кроме того, с помощью команды zpool attach пул устройств хранения данных без избыточности можно преобразовать в пул с избыточностью. Пример:
Для отсоединения устройства от зеркального пула устройств хранения данных используется команда zpool detach . Пример:
Однако выполнить эту операцию при отсутствии других действительных реплик данных невозможно. Пример:
Сброс ошибок устройств в пуле устройств хранения данных
При переводе устройства в автономный режим вследствие сбоя, приводящего к отображению списка ошибок в выходных данных команды zpool status , можно сбросить счетчики ошибок с помощью команды zpool clear .
Если аргументы не указаны, команда сбрасывает ошибки всех устройств в пуле. Пример:
Если указано одно или несколько устройств, эта команда используется для сброса только тех ошибок, которые связаны с указанными устройствами. Пример:
Для получения дополнительной информации о сбросе ошибок zpool см. Сброс временных ошибок.
Активация и деактивация устройств горячего резерва в пуле устройств хранения данных
Устройства горячего резерва можно активировать следующими способами:
Замена вручную. Замена неисправного устройства в пуле устройств хранения данных устройством горячего резерва с помощью команды zpool replace .
Автоматическая замена. При регистрации сбоя агент FMA проверяет пул на наличие доступных устройств горячего резерва. При их обнаружении осуществляется замена неисправного устройства доступным устройством резерва.
При сбое используемого в настоящее время устройства горячего резерва агент отключает устройство резерва и, таким образом, отменяет замену. Затем агент пытается заменить устройство другим устройством горячего резерва, если оно доступно. В настоящее время эта функция ограничена тем, что механизм диагностики ZFS сообщает об сбоях только в случае исчезновения устройства из системы.
Если выполняется физическая замена сбойного устройства с активным устройством резерва, можно повторно активировать замененное устройство с помощью команды zpool detach , чтобы отсоединить устройство резерва. Если включено свойство пула autoreplace, то устройство резервирования автоматически отсоединяется в пул устройств резерва, когда вставляется новое устройство и завершается операция перевода в оперативный режим.
Для замены устройства на устройство горячего резерва вручную используется команда zpool replace . Пример:
При доступности устройства горячего резерва неисправное устройство заменяется автоматически. Пример:
В настоящее время существует три способа деактивации устройств горячего резерва:
отмена горячего резерва путем удаления устройства из пула устройств хранения данных;
замена исходного устройства устройством горячего резерва;
постоянная подкачка устройства горячего резерва.
После замены неисправного устройства для возврата устройства горячего резерва в набор резервных устройств используется команда zpool detach . Пример:
Добавить пространство в пул можно динамически путем добавления нового виртуального устройства верхнего уровня. Это пространство немедленно становится доступным для всех наборов данных в пуле. Для добавления в пул нового виртуального устройства используется команда zpool add . Пример:
Формат указания виртуальных устройств совпадает с форматом команды zpool create , при этом применяются те же правила. Для устройств выполняется проверка на использование; изменить степень избыточности при помощи этой команды без параметра -f невозможно. Эта команда также поддерживает параметр -n , предназначенный для выполнения пробного прогона. Пример:
Этот синтаксис позволяет добавить зеркальные устройства c3t1d0 и c3t2d0 в существующую конфигурацию zeepool .
Для получения дополнительной информации о проверке действительности виртуальных устройств см. Обнаружение используемых устройств.
Пример 4–1 Добавление дисков в зеркальную конфигурацию ZFS
В следующем примере еще одно зеркало добавляется в существующую зеркальную конфигурацию ZFS в системе Sun Fire x4500.
Пример 4–2 Добавление дисков в конфигурацию RAID-Z
Аналогичным образом в конфигурацию RAID-Z добавляются дополнительные диски. Следующий пример демонстрирует преобразование пула устройств хранения данных с одним устройством RAID–Z, содержащего 3 диска, в пул устройств хранения данных RAID-Z, содержащий 3 диска.
Пример 4–3 Добавление зеркального устройства протоколирования в пул устройств хранения данных ZFS
Следующий пример демонстрирует добавление зеркального устройства протоколирования в зеркальный пул устройств хранения данных. Дополнительные сведения об использовании устройств протоколирования в пуле устройств хранения данных приведены в разделе Настройка отдельных устройств протоколирования ZFS.
Для создания зеркального устройства протоколирования можно присоединить новое устройство протоколирования к существующему. Эта операция идентична присоединению устройства в незеркалируемом пуле устройств хранения данных.
Пример 4–4 Добавление и удаление устройств кэширования в пуле устройств хранения данных ZFS
Пользователь может добавлять и удалять устройства кэширования в пуле устройств хранения ZFS
Используйте команду zpool add для добавления устройств кэширования. Пример:
Зеркалирование устройств кэширования невозможно; кроме того, они не могут быть частью конфигурации RAID-Z.
Используйте команду· zpool remove для удаления устройств кэширования. Пример:
В настоящее время команда zpool remove поддерживает только удаление устройств горячего резерва и устройств кэширования. Устройства, являющиеся частью основной конфигурации зеркалированного пула могут быть удалены с помощью команды zpool detach . Удаление устройств без избыточности и устройств RAID-Z из пула невозможно.
Подробные сведения об использовании устройств кэширования в пуле устройств хранения ZFS представлены в разделе Создание пула устройств хранения данных ZFS с устройствами кэширования.
В наши дни все большей и большей популярности набирают файловые системы следующего поколения, которые имеют более широкую функциональность, чем в обычных файловых системах. Одни из таких файловых систем - это Btrfs и ZFS, Обе они уже стали достаточно стабильными и активно применяются пользователями. Для многих пользователей очень важна сохранность данных, и такие файловые системы могут обеспечить ее наилучшим образом.
В одной из предыдущих статей мы рассматривали файловую систему Btrfs. В нашей сегодняшней статье мы остановимся на ZFS, эти файловые системы похожи по своему применению и назначению, но имеют некоторые отличия. Мы рассмотрим как установить эту файловую систему в вашем дистрибутиве, настроить ее и использовать для решения повседневных задач.
Устройства горячего резерва в пуле устройств хранения данных
Функция горячего резерва позволяет идентифицировать диски, которые можно использовать для замены сбойных или неисправных устройств в одном или нескольких пулах устройств хранения данных. Обозначение устройства в качестве горячего резерва означает, что это устройство не является активным устройством, однако в случае сбоя активного устройства в пуле это сбойное устройство автоматически заменяется устройством горячего резерва.
Устройства могут быть назначены в качестве устройств горячего резерва следующими способами:
при создании пула с помощью команды zpool create ;
после создания пула с помощью команды zpool add ;
устройства горячего резерва могут совместно использоваться несколькими пулами.
При создании пула устройства должны быть обозначены как устройства горячего резерва. Пример:
Устройства горячего резерва необходимо назначать путем их добавления в пул после его создания. Пример:
Несколько пулов могут совместно использовать устройства, назначенные в качестве устройств горячего резерва. Пример:
Для удаления устройств горячего резерва из пула устройств хранения данных используется команда zpool remove . Пример:
Устройство горячего резерва не может быть удалено, если в настоящее время оно используется пулом устройств хранения данных.
При использовании устройств горячего резерва ZFS необходимо учитывать следующее:
В настоящий момент команда zpool remove может использоваться только для удаления устройств горячего резервирования и устройств кэширования.
Емкость добавляемого резервного диска должна быть не меньше размера самого большого диска в пуле. В качестве устройства резерва к пулу можно добавить диск с меньшей емкостью. Однако при автоматической активации резервного диска с меньшей емкостью или при его активации с помощью команды zpool replace операция завершается со следующей ошибкой:
Устройства горячего резерва могут совместно использоваться несколькими пулами. Однако невозможно экспортировать пул с используемым общим устройством резерва, за исключением случая использования команды zpool export с параметром -f (force). Это предотвращает возможное повреждение данных при экспорте пула с используемым общим устройством резерва и попытке другого пула использовать общее устройство во время экспорта. Если пул с используемым общим устройством резерва экспортируется с помощью параметра - f , следует помнить, что эта операция может привести к повреждению данных, если другой пул попытается активировать используемое общее устройство резервирования.
Монтирование ZFS
Точка монтирования для пула и для каждой созданной в нем файловой системы создается в корневом каталоге. Например, в нашем случае точки монтирования выглядят так:
Или можно использовать такую команду:
Чтобы размонтировать файловую систему для одного из созданных разделов используйте команду zfs umount:
sudo zfs umount /pool0/data
Затем можно ее обратно примонтировать:
sudo zfs mount pool0/data
Файловые системы ZFS
Теперь нужно создать файловые системы на только что созданном пуле. Создадим три файловые системы, data, files и media. Для этого используется команда zfs:
sudo zfs create pool0/data
$ sudo zfs create pool0/files
$ sudo zfs create pool0/media
Файловые системы готовы, дальше рассмотрим монтирование zfs.
Параметры файловой системы
Кроме всего прочего, вы можете настроить различные параметры файловой системы ZFS, например, можно изменить точку монтирования или способ сжатия. Вы можете посмотреть все текущие параметры для файловой системы или пула с помощью команды:
sudo zfs get all pool0/files
Сначала включим сжатие:
sudo zfs set compression=gzip pool0/files
Затем отключим проверку контрольных сумм:
sudo zfs set checksum=off pool0/files
Смотрим точку монтирования:
sudo zfs get mountpoint pool0/files
Затем установим свою:
sudo zfs set mountpoint=/mnt pool0/files
Теперь раздел будет монтироваться в /mnt, настройки можно изменить для каждого из разделов.
Настройка жёстких дисков в zfs пул на nas4free, вариант для новичков
1) Определяем новый диск для nas4free - идём в Disks|Management
Замечание 1. Диски FreeBSD нумерует по порядку портов, а не в том порядке по времени, в котором вы их подключали. И вновь подключённый диск запросто может оказаться ada0, а бывший ada0 стать ada1. Вообще-то вся затея с zfs на GPT метках и придумана чтобы при такой перетасовке дисков с пулами ровным счётом ничего не происходило - имена-то остаются неизменными!
Замечание 2. Любые ваши действия в Disks|Management (но это не обязатено так в других вкладках) изменяют инфу, занесённая в конфиг nas4free. Перед началом её правки НАСТОЯТЕЛЬНО советую в System|Backup/Restore сохранить этот конфиг (Download configuration). Потом его можно восстановить. А с самими дисками операции в ЭТОЙ вкладке ничего не делают.
Чтобю добавить диски по-одному есть плюс в правом нижнем углу диалога (отмечен галкой)
Альтернативно есть кнопка Clear Config and Import Disks. По её нажатии кнопки Система сама определяет какие диски подключены и какой у них формат. Но в этом случае всё равно придётся потом нажать гаечный ключ у каждого из дисков и установить второстепенные параметры.
2) Устанавливаем параметры диска
При нажатии серого плюса или гаечного ключа открывается диалог параметров диска
Самое важное поле - первое, Disk. Важно не перепутать с учётом замечания выше. Остальные поля я заполняю как указано (для реальных дисков, конечно, не для виртуальных как на картинке)
Description - необязательное описание диска.
Transfer mode - оставляем Auto, если у вас нет веских причин для иного
Hard disk standby time - через сколько врем5ени после последнего обращения диск остановится. Остановка диска снижает шум и электропотребление на ватт-другой. Но есть мнение, что остановки отрицательно влияют на срок жизни диска. Верно ли мнения - я не уверен, но IMHO - верно. Поэтому свои диски я не торможу - пусть крутятся
Advanced Power Management (APM) - управление энергопотреблением. Я ставлю 128 - минимум, при котором диски не тормозятся. Вы - как пожелаете.
Acoustic Level - уровень шума. Как всегда меньше шума - меньше производительность. Очень многие современные бытовые диски этот параметр игнорируют.
SMART - самоконтроль дисков. Для HDD и SSD стоит поставть галку. Для флешек - галку снять, они всё равно не понимают SMART
Preformatted file system - файловая система, которая будет значиться за диском в конфиге. Если вы подключаете диск с данными - её стоит указать правильно. Если пустой - поставить не форматировано.
3) Сохраняем
Жмём кнопку Apply - возвращаемся к предыдущему диалогу, но он изменился
Как видите, появилась запись о новом диске и кнопка сверху Apply Changes (применить изменения). Закончите настройку для всез дисков - тогда её и нажмите.
4) Форматируем диск для ZFS пула - Идём в Disks|Format
Выбираем диск и zfs - диалог соответвенно меняется. Очень советую поставить галку на GPT Partition. Это нововведение, о котром говорилосб вначале.
ВАЖНО. После того как вы нажмёте кнопку Format инфа на диске будет стёрта. НЕ ошибитесь. В крайнем случае - выключите NAS и временно отключите все диски с важными данными, а затем продолжайте.
5) Описываем виртуальное устройство.
Замечание 3 Для простоты я создам страйп (stripe) из единственного диска. Если вам нужно зеркало (mirror) - понадобится 2 или три (для тройного зеркала) диска. Для raidz (аналог RAID5) - от 3 до 8 дисков (можно больше, но не рекомендуется). Хороший пример - 3 или 5. Для raidz2 (аналог RAID6) - от 4 до 8 дисков. Напр. 4, 6 или 8. Для raidz3 - от 5 до 9 дисков. Отформатируйте каждый из этих дисков аналогично.
Идём в Disks|ZFS
Нажимаем кнопку Virtual Device
У меня одно уже создано, у вас может быть пусто.
Жмём серый плюс внизу-справа
Открывается диалог описания виртуального устройства.
Введите уникальное имя из английских букв (обычно главный пул я называю Pool, но у каждого свой вкус)
Тип - страйп, зеркало или raidz - по вашим потребностям.
Devices - выделите мышкой все устройства, которые войдут в этот vdev (напомню - не менее 2 для зеркала, не менее 3 для raidz. )
ВАЖНО - на картинке видно, что будем использовать GPT разделы - ada2p1, a не сырые диски ada2. Если это не так - вернитесь в пункт Format и поставьте галочку на GPT partition.
4KB Wrapper нажимать НЕ надо - в 10 и так всё работает.
Жмём кнопку Add
и, в новом диалоге - Apply changes
Замечание 4. Для понимания происходящего. Мы информировали nas4free о наших желаниях, и они записаны в конфиг. Диски (кроме форматирвания) пока не трогали. vdev потому и виртуальные устройства, что существовать помимо пула НЕ могут. А пул нам ещё предстоит создать.
6) Создание пула
Мы сейчас в Disks|ZFS|Pools|Virtual device. Жмём кнопку Management, попадаем в очень похожий на предыдущий диалог, озаглавленный Disks|ZFS|Pools|Management.
Жмём серый плюс внизу-справа
Введите уникальное имя из английских букв (обычно главный пул я называю Pool, но у каждого свой вкус)
Выберите мышкой одно (или больше) виртуальных устройств для создания пула. (Обычно у новичков - одно, но можно сделать, к примеру пул из двух и более зеркал - аналог RAID10 или из двух и более raidz2 - аналог RAID60. vdev можно добавить к пулу и в будущем. Но vdev нельзя удалить из пула)
Остальное заполнять не обязательно.
Уточню про галку Force use. Если без неё не получается - скорее всего есть ВЕСКАЯ ПРИЧИНА и вы можете СИЛЬНО ПОЖАЛЕТЬ о потерянных данных. Семь раз проверьте, прежде чем её ставить. Но если убеждены что надо - ставьте.
Жмём Add
Затем Apply Changes
БИНГО - пул готов, смонтирован в /mnt/TestPool и активен. Как нибудь вскоре мы займёмся его лёгким улучшением - заменим пул на номерах GPT разделах на пул на GPT метках. Но это потребует командной строки. Хорошая новость в том, что это можно сделать и позже. В отличие от пулов на сырых дисках, которые "превратить" нельзя - только убить и создать по новой.
PS В принципе, всё прекрасно работает. Но если добавите дисков - имена могут съехать. Поэтому когда немного освоитесь с командной строкой советую выполнить
процедуру из Превращаем zfs пул на номерах разделов в пул на GPT метках
Снимки состояния ZFS
Снапшоты zfs или снимки состояния могут использоваться восстановления данных. Благодаря особенностям файловой системы снимки можно создавать мгновенно. Для создания снимка просто наберите:
sudo zfs snapshot pool0/files pool0/files@shot1
Для восстановления используйте:
sudo zfs rollback pool0/files@shot1
Посмотреть список снимков вы можете командой:
sudo zfs list -t snapshot
А удалить ненужный снимок:
sudo zfs destory pool0/files@shot1
Замена устройств в пуле устройств хранения данных
Можно заменить устройство в пуле устройств хранения данных с помощью команды zpool replace .
В случае физической замены устройства другим устройством в том же расположении в пуле с избыточностью необходимо указать только заменяемое устройство. ZFS распознает, что это другой диск в том же расположении. Например, для замены сбойного диска (c1t1d0) путем его удаления и добавления нового устройства в том же расположении используется синтаксис, аналогичный следующему:
При замене устройства в пуле устройств хранения данных без избыточности, который содержит только одно устройство, требуется указать оба устройства. Пример:
Если в корневом пуле ZFS выполняется замена диска, см. Замена диска в корневом пуле ZFS.
Основные действия для замены диска:
Если необходимо, переведите диск в автономный режим командой zpool offline .
Удалите заменяемый диск.
Вставьте диск на замену.
Выполните команду zpool replace . Пример:
Верните диск в оперативный режим командой zpool online .
В некоторых системах, например Sun Fire x4500, необходимо удалить диск из конфигурации перед его переводом в автономный режим. Если вы просто заменяете диск в одном гнезде в этой системе, достаточно выполнить команду zpool replace , как описано выше.
Как пример замены диска в этой системе см. Пример 11–1.
При замене устройства в пуле устройств хранения данных ZFS необходимо учитывать следующее:
Если свойство пула autoreplace включено, все новые устройства, обнаруженные в том же самом физическом местоположении, что и устройство, ранее принадлежавшее пулу, автоматически форматируются и заменяются без использования команды zpool replace . Эта функциональная возможность может быть доступной не на всех типах оборудования.
Емкость устройства замены должна быть не меньше минимального размера всех устройств в зеркале или конфигурации RAID-Z.
В противном случае такая замена приводит к увеличению размера пула. В настоящее время для определения расширенной емкости необходимо выполнить экспорт и импорт пула. Пример:
Для получения дополнительной информации об экспорте и импорте пулов см. Переход пулов устройств хранения данных ZFS.
Сейчас при увеличении размера существующего LUN, который является частью пула устройств хранения данных, необходимо также выполнить действия по экспорту и импорту, чтобы увидеть увеличение емкости диска.
Замена нескольких дисков в большом пуле требует существенного количества времени вследствие переноса актуальных данных на новые диски. Кроме того, можно выполнить команду zpool scrub между операциями замены дисков для обеспечения работоспособности заменяемых устройств и правильности записанных данных.
Если отказавший диск заменен автоматически в порядке горячего резервирования, может потребоваться отключение резервного диска после замены отказавшего. Для получения информации об отключении устройства горячего резервирования см. Активация и деактивация устройств горячего резерва в пуле устройств хранения данных.
Читайте также: