FreeNAS 9.3: limited system partition

FreeNAS

FreeNAS ist eine robuste und solide NAS-Umgebung, jedoch erlaubt der derzeitige Installer keine „Größenangabe“ der Systempartition 🙁

Ein Server mit 3 Festplatten lässt sich also mit dem „default“ Image nur sehr unvorteilhaft einrichten

Beispiel:

Wird das FreeNAS System auf der kompletten HDD 1 installiert und HDD 2 & 3 wird für den Storagepool verwendet, entstehen folgende Probleme:

plitc_freenas_limited_system_partition_1

FAIL 1.
!!! FreeNAS 9.3 belegt nach der Installtion nur 2 GB Space, weitere Systemupgrades halten sich dank „zfs clone“ Technik sehr klein, der unnötig zugewiesene Speicherplatz kann nur mit frickeligen symbolischen Links, gpart mbr/gpt Manipulationen oder nullfs mountpoints gehandhabt werden !!!
FAIL 2.
!!! Fällt die Systemplatte aus ! fällt das FreeNAS aus !!!
FAIL 3.
!!! Bei einer defekten Systemplatte muss FreeNAS neuinstalliert werden, die Konfigurationsdatenbank wiederhergestellt und eventuell individuelle Systemanpassungen wieder berücksichtigt werden !!!

eleganter wäre aber:

plitc_freenas_limited_system_partition_2

Punkt 1. die FreeNAS Systempartition auf 16 GB zu beschränken (falls zukünftig Speicherplatzmangel entstehen sollte, können einfach alte ZFS Snapshot Clone/Boot Environments gelöscht werden
Punkt 2. das angepasste install.sh Skript erstellt bei der Installation, je nach Anzahl vorhandener Festplatten, immer ein RAID1 (zmirror) zpool fürs System, fällt eine der „3“ Festplatten aus, läuft die Systempartitionspiegelung über die restlichen, funktionsfähigen Platten weiter!
Punkt 3. abzüglich des jeweils 16 GB reservierten Speicherplatzes, für die Systempartitionen, kann der übriggebliebene Space mit einem beliebigen ZFS zpool Schema eingerichtet werden, z.B. RAID5 (durch raidz1)
Punkt 4. nicht vergessen! die SWAP Partitionen vor dem Storagepool zu erstellen (diese werden beim Storage-Pool Import, über die WebGUI, automatisch mit aktiviert)

$
gpart add -s 4G -t freebsd-swap -i 3 /dev/ada0
gpart add -s 4G -t freebsd-swap -i 3 /dev/ada1
gpart add -s 4G -t freebsd-swap -i 3 /dev/ada2

gpart add -t freebsd-zfs -i 4 -a 4k /dev/ada0
gpart add -t freebsd-zfs -i 4 -a 4k /dev/ada1
gpart add -t freebsd-zfs -i 4 -a 4k /dev/ada2

zpool create storagepool raidz /dev/ada0p4 /dev/ada1p4 /dev/ada2p4

zpool set feature@lz4_compress=enabled storagepool
zfs set compress=lz4 storagepool
$

Im FreeNAS install.sh Skript müssen dabei die „gpart“ Stellen zur Speicherplatzreservierung abgeändert werden und ein vollständiges FreeNAS Image (unter einer FreeBSD 9.3 Umgebung) neugebaut werden

https://github.com/plitc/freenas/blob/master/build/files/install.sh#L358

Um euch die Arbeit zu ersparen stelle ich euch ein fertigen Build (FreeNAS-9.3-STABLE-201503121615) zur Verfügung!

ISO: FreeNAS-9.3-STABLE-201503121615_PLITC_limited_system_partition_16g_zmirror.iso

HASH: FreeNAS-9.3-STABLE-201503121615_PLITC_limited_system_partition_16g_zmirror.iso.sha256.txt

SHA256: 8523a7553e99ba246911699fe854e7dde9eda654ec9cc35f431aef96b4803b97

Wer dem nicht traut kann sich natürlich mit Hilfe der Anleitung unter:
https://github.com/freenas/freenas
selbst das Image zusammenbauen 😉

Ergänzungen:
1. -> Nach dem erstellen des Storage Pools muss der zpool einmal exportiert und wieder importiert werden, damit er per Web GUI autoimportiert werden kann
2. -> der smartmontools daemon funktioniert nur noch per manueller Konfiganpassung

Viel Spaß damit

Schreibe einen Kommentar