2gusia (2gusia) wrote,
2gusia
2gusia

Categories:

nas4free, SWAP и ZFS разделы на жёстком диске

При конфигурировании нового жёсткого диска я решил сделать на нём небольшой SWAP раздел, а остальное отдать под данные, создав однодисковый ZFS пул. Зачем - обсудим отдельно, сейчас как

На входе у нас не содержащий полезной информации жёсткий диск.

1. В вебгуе идём в Disks|Management и добавляем диск как не форматированный. (Вариант - жмём кнопку Import disks).

2. Настраиваем там же параметры диска - APM, AAM, включаем SMART

3. Форматируем диск в zfs через Disks|Format. Прим. Единственный смысл этой процедуры - иметь в вебгуе правильное понимание о том, что диск - часть ZFS пула. На работоспособность никак не повлияет, всё ниже делаем руками.

4. Идём в вебгуе в Diagnostics|Information|S.M.A.R.T. и смотрим серийный номер нашего диска

5. Теперь стоит перегрузиться. Ведь мы подключали новый диск и после ребута номера дисков могут съехать. Запоминаем идентификатор диска, у меня он da0. Такого типа ID бывают у SAS и USB дисков. У PATA / SATA - что-то вроде ada1 (или ad2). Используйте ID своего диска в командах ниже, заменяя им da0!!! Будьте крайне внимательны, ошибка приведёт к стиранию всей информации с нужного вам диска.

6. Идём в командную строку, например через putty
Прим от КО. Ниже [ n4fodroid: ~# ] - системное приглашение. То, что идёт за ним, напр [zpool labelclear /dev/da0] - вводимая вами команда, завершаемая нажатием на кнопку Enter. То, что ниже, без системного приглашения - вывод команды. Он может и отсутствовать. Например [da0p1 added].
Осторожно! Перепутаете диск (напр написав da0 вмеcто da1 в вашем конкретном случае) - потеряете всю инфу на нём.

7. Чистим диски от возможных остатков прошлой разметки
n4fodroid: ~# zpool labelclear /dev/da0
n4fodroid: ~# gpart destroy -F /dev/da0
n4fodroid: ~# gpart create -s GPT /dev/da0


8. Создаём SWAP раздел размером в 2G - можете поменять размер.
n4fodroid: ~# gpart add -t freebsd-swap -s 2G -l gptswap -a 4K /dev/da0
da0p1 added


9. Создаём zfs раздел с именем, использующим серийный номер диска, выровненный по 4K на остаток пространства
n4fodroid: ~# gpart add -t freebsd-zfs -l D_WMAVU0055531 -a 4K /dev/da0
da0p2 added


10. Смотрим, что получилось
n4fodroid: ~# gpart show da0

=> 40 2930277088 da0 GPT (1.4T)
40 4194304 1 freebsd-swap (2.0G)
4194344 2926082776 2 freebsd-zfs (1.4T)
2930277120 8 - free - (4.0K)


Видим раздел 1 типа swap 2Gb размером и раздел 2 типа zfs 1.4Tb размером - как и хотелось.

UPD от 28 февраля 2017
Оказалось, что от версии к версии параметр, определяющий размер ashift создаваемого пула меняется :(

Поэтому перед командой zpool create проверим его

nas4free ~/ root~$ sysctl vfs.zfs.min_auto_ashift
vfs.zfs.min_auto_ashift: 9


Для дисков с К сектором нужен 12, для 512б сектором (которых новых уже найти с трудом) 9

Если по умолчанию не то - вот так меняем и проверяем
nas4free ~/ root~$ sysctl vfs.zfs.min_auto_ashift=12
vfs.zfs.min_auto_ashift: 9 -> 12
nas4free ~/ root~$ sysctl vfs.zfs.min_auto_ashift
vfs.zfs.min_auto_ashift: 12



затем создаём пул.
Значение параметра сохранится до перезагрузки. При желании сразу после создания пула можно вернуть в исходное. /UPD

11. Создаём на разделе с этой меткой пул с именем Pool, монтируемый в /mnt/Pool и настраиваем умолчания
n4fodroid: ~# zpool create -m /mnt/Pool Pool /dev/gpt/D_WMAVU0055531
n4fodroid: ~# zfs set atime=off Pool
n4fodroid: ~# zfs set checksum=fletcher4 Pool


Можно дать команду

n4fodroid: ~# zdb Pool | grep ashift

И убедиться, что ashift=12, то есть пул настроен на диск с 4K сектором.

12. (Опционально) даём полный доступ к содержимому пока пустого пула. IMHO будет нужда - ограничите в той части, в какой сочтёте нужным.
n4fodroid: ~# chmod -R 777 /mnt/Pool

13. В вебгуе синхронизируем конфиг с реальностью. Идём в
Disks|ZFS|Configuration|Detected
затем Disks|ZFS|Configuration|Synchronize
и жмём нопку Synchronize

Инфа о новом пуле сохранена в конфиг.

14. Теперь настроим swap
Идём в System|Advanced|Swap
И указываем использовать свежесозданный swap раздел

Не нужно. При наличии правильной метки gptswap система сама подхватывает.

Чтобы изменения SWAP вступили в силу следует перегрузить систему. Ср экран статуса, строка swap usage.


Tags: nas, nas4free
Subscribe

Recent Posts from This Journal

  • Распни Его!

    Подрывал основы государственного строя. Оскорблял чувства верующих. Устраивал несогласованные митинги. Производил спиртосодержащую продукцию без…

  • Иноходец

    Садовник спросил у Эзопа - Почему за огородными растениями нужно ухаживать, а сорняки растут сами? - Потому, что одни для земли родные дети, а…

  • Лайфхак

    Выходя из туалета, обязательно потряхивайте в воздухе растопыренными пальцами. Руки можно и не мыть, но у всех встречных вы создадите себе славу…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 124 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

Recent Posts from This Journal

  • Распни Его!

    Подрывал основы государственного строя. Оскорблял чувства верующих. Устраивал несогласованные митинги. Производил спиртосодержащую продукцию без…

  • Иноходец

    Садовник спросил у Эзопа - Почему за огородными растениями нужно ухаживать, а сорняки растут сами? - Потому, что одни для земли родные дети, а…

  • Лайфхак

    Выходя из туалета, обязательно потряхивайте в воздухе растопыренными пальцами. Руки можно и не мыть, но у всех встречных вы создадите себе славу…