UniFi Controller újratelepítése TrueNAS 12 jail-ben

Hosszú évek óta használom az iXsystems FreeBSD alapú NAS rendszerét, a FreeNAS-t. Hat éve, 2014-ben azért választottam ezt a rendszert, mert azt gondoltam, hogy egy Linux alapú rendszerrel és egy saját építésű hardverrel egy megbízható, rugalmas, többcélú és időtálló megoldásra tehetek szert. Egyik fő szempont az adatok titkosításának lehetősége volt. A FreeBSD egy blokk-szintű titkosítást (GELI) is támogat, amely megfelelő hardver esetén (processzor AES-NI támogatással) teljesítményvesztés nélkül használható. Akkoriban rendszeradminisztrátorként dolgoztam és Netapp tárolók üzemeltetésével is foglalkoztam. Egy ilyen, nagyvállalatoknak szánt rendszer előtt sem kellett szégyenkeznie a FreeNAS-nak. Sok funkció elérhető volt ebben az ingyenes rendszerben is. Én a 9.2.1 verzióval kezdtem az ismerkedést. Eleinte voltak problémák az alaplapra integrált hálózati kártyával. Magamak kellett fordítanom egy működő drivert, amit jópár verzión át használtam. A hibát javították, a rendszer azóta is hiba nélkül üzemel.

2020 októbere óta elérhető a két termékvonal: FreeNAS és TrueNAS egyesítése során létrejött TrueNAS CORE változat. Gondoltam, ideje frissíteni az új szoftverre. A frissítés eseménytelen volt. A frissítés után minden működött. A klasszikus hálózati meghajtó (NAS) mellett két jail is fut a rendszeren. Az egyik az Ubiquiti hálózati eszközök vezérlője, a másik a ZoneMinder videórögzítő. Miközben a frissítés során a rendszer alapjául szolgáló FreeBSD már 12.2-RELEASE-p2-nél jár, mindkét jail FreeBSD 11.3-RELEASE-p14 verzión maradt.

A jail hivatalos frissítési módszere (iocage upgrade name -r release) sajnos nem működött.

Az UniFi Controller-ből már egy ideje elérhető a 6-os főverzió, a FreeBSD csomagkezelőben pedig csak az 5.14.23-as verzió volt elérhető. Szerencsémre valaki nemrégen portolta az UniFi Controller 6-os verzióját FreeBSD-re.

FreeBSD-n a bináris csomagok telepítése mellett (package vagy pkg) a forráskódból való telepítés az ún. FreeBSD Ports Collection segítségével történik.

Gondoltam létrehozok egy új jail-t, a controllert pedig forrásból telepítem. A controller beállításairól csináltam egy mentést, amit az új verzióban vissza fogok állítani.

Első lépésként a NAS felhasználói felületén keresztül létrehoztam egy új jail-t:

Ez után ssh-n keresztül bejelentkeztem a nas-ra és megnyitottam a jail-t:

root@truenas:~ # iocage console UniFi6
root@UniFi6:~ # portsnap fetch
root@UniFi6:~ # portsnap extract
root@UniFi6:~ # cd /usr/ports/net-mgmt/unifi6/ && make install clean BATCH=yes

Figyelem! A fordítás nálam nagyjából 8 órán keresztül futott és a jail ideiglenesen 16GB-ra „hízott”. A fordítás befejetztével a jail 4GB helyet foglalt. A fordítás után még engedélyeznem kellett a szolgáltatást, majd elindítani azt.

root@UniFi6:/usr/ports/net-mgmt/unifi6 # sysrc unifi_enable=YES
unifi_enable: -> YES
root@UniFi6:/usr/ports/net-mgmt/unifi6 # service unifi start
Starting unifi.

A controller web-es felületén ez a képernyő várt:

A mentésből való visszaállítást választottam, és feltöltöttem a mentést:

Az ujraindítást kézzel kellett elvégeznem, de a visszaállítás néhány apróságtól eltekintve sikeres volt. Az egyik vezeték nélküli hálózatot újra engedélyeznem kellett. Ennyi.

Az UniFi Controller-t és alatta a jail-t sikerült frissíteni. A következő feladat a ZoneMinder frissítése lesz. Az első próbálkozás (iocage upgrade) ott is sikertelenül zárult ezért a következő posztban arról a frissítésről lesz szó.