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

nas4free на RootOnZFS

NB Пост про тестовую функциональность для продвинутого пользователя, не рекомендованную разработчиком для установки куда-либо, кроме виртуальных машин и тестового железа.

Как известно, у nas4free два основных варианта установки - full и embedded (плюс LiveCD/USB для установки). Я настоятельно рекомендую и сам использую embedded вариант, в котором труднее что-то сломать, тк система работает с диска в памяти, который и пересоздаётся заново при каждом ребуте.

Но сегодняшняя тема - про full вариант, когда система устанавливается более привычным образом, непосредственно на HDD или SSD. Из коробки системный диск форматируется в UFS. Что, в целом, не так и плохо. Но есть более продвинутый вариант, RootOnZFS. Появлся он исходно на родине ZFS, в Солярисе, но давно доcтупен на полной FreeBSD. Можно сделать зеркальный системный том, устойчивый к сбою одиночного диска. Можно, что ещё важнее, использовать магию zfs снимков, чтобы откатываться к предыдущим версиям и, соответственно, уйти от угрозы ошибки при установке софта, требующей полной переустановки системы.

Всё это на nas4free недоступно. Точнее, недоступно из коробки. Но камрад JoseMR сделал простой в использовании скрипт для установки nas4free на RootOnZFS. Ветка на оффоруме здесь.

nas4free: ~# zpool status
pool: zroot
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/sysdisk0 ONLINE 0 0 0
gpt/sysdisk1 ONLINE 0 0 0

errors: No known data errors
nas4free: ~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 1.31G 33.3G 19K /zroot
zroot/ROOT 1.31G 33.3G 19K /zroot/ROOT
zroot/ROOT/default-install 1.31G 33.3G 1.31G /


Я на всё это дело посматривал с интересом - и только. Но самая свежая версия привнесла функционал, который заставил меня тестить. Теперь при установке можно заставить систему скачать FreeBSD мир - команды, библиотеки, утилиты. И иметь на zfs почти полную FreeBSD с гуем nas4free.

Mounting CD-ROM Drive
Check for existing zroot pool...
WARNING A pool called zroot already exist.
Do you wish to proceed with the install anyway? [y/N]:y
Proceeding...
kern.geom.debugflags: 0 -> 16
Cleaning disk ada0
Cleaning disk ada1
Creating GPT/Partition on ada0
Creating GPT/Partition on ada1
Creating bootable zroot Mirror
Installing system files on zroot.
.........................................................................Done!
Begin FreeBSD base/distfiles installation.
Fetching FreeBSD base/distfiles...
MANIFEST 100% of 1157 B 887 kBps 00m00s
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:80
requesting http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/11.0-RELEASE/ base.txz
remote size / mtime: 96364744 / 1475113804
base.txz 100% of 91 MB 4542 kBps 00m20s
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:80
requesting http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/11.0-RELEASE/ lib32.txz
remote size / mtime: 18860060 / 1475113804
lib32.txz 100% of 17 MB 4629 kBps 00m03s
Extracting FreeBSD base/distfiles...



Видно, что не только система на zroot, но и SWAP на GEOM зеркале!

nas4free: ~# uname -a
FreeBSD nas4free.local 11.0-RELEASE-p5 FreeBSD 11.0-RELEASE-p5 #0 r309722M: Thu Dec 8 22:52:57 CET 2016 root@dev.nas4free.org:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 amd64
nas4free: ~# zpool status
pool: zroot
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/sysdisk0 ONLINE 0 0 0
gpt/sysdisk1 ONLINE 0 0 0

errors: No known data errors
nas4free: ~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 1.31G 33.3G 19K /zroot
zroot/ROOT 1.31G 33.3G 19K /zroot/ROOT
zroot/ROOT/default-install 1.31G 33.3G 1.31G /
nas4free: ~# df -hT
Filesystem Type Size Used Avail Capacity Mounted on
zroot/ROOT/default-install zfs 35G 1.3G 33G 4% /
devfs devfs 1.0K 1.0K 0B 100% /dev
procfs procfs 4.0K 4.0K 0B 100% /proc
nas4free: ~# gpart show
=> 40 41942960 ada0 GPT (20G)
40 1024 1 freebsd-boot (512K)
1064 7128 - free - (3.5M)
8192 4194304 2 freebsd-swap (2.0G)
4202496 37732352 3 freebsd-zfs (18G)
41934848 8152 - free - (4.0M)

=> 40 41942960 ada1 GPT (20G)
40 1024 1 freebsd-boot (512K)
1064 7128 - free - (3.5M)
8192 4194304 2 freebsd-swap (2.0G)
4202496 37732352 3 freebsd-zfs (18G)
41934848 8152 - free - (4.0M)


PS Если будете тестить, обратите внимание на то, что системный диск разработчиком рекомендован от 20Gb. Для загрузки мира FreeBSD нужно не менее 3Gb физической RAM.

Tags: nas, nas4free, zfs
Subscribe

  • Распни Его!

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

  • Выезжала на берег «Катюша»

    Запрет на исполнение вместо гимна «Катюши» - это, несомненно, попытка плюнуть в лицо всей России. Но, парадоксальным образом, штука для нас очень…

  • День рожденья Чебурнета

    Сам по себе Твиттер, который сегодня начали замедлять - порядочная дрянь и вряд ли достоин жалости. Есть даже ирония в том, что от цензуры страдает…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 20 comments

  • Распни Его!

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

  • Выезжала на берег «Катюша»

    Запрет на исполнение вместо гимна «Катюши» - это, несомненно, попытка плюнуть в лицо всей России. Но, парадоксальным образом, штука для нас очень…

  • День рожденья Чебурнета

    Сам по себе Твиттер, который сегодня начали замедлять - порядочная дрянь и вряд ли достоин жалости. Есть даже ирония в том, что от цензуры страдает…