Starting work on a new ZFS Web Admin

Hello there.

After the Stats showed me, that the ancient Post about a Web based ZFS Interfaces produces a lot attention, i decided to restart with that project from scratch.

You can find the current sources here. I am currently working with the FreeBSD ZFS Version (so basically FreeNAS), but there are already some Test-Cases for Nexenta.
The basic idea of the system is, to use remote SSH Sessions for accessing the different systems and parse the receiving data. There is already a quite stable, JNA based Java Binding for ZFS, but it seems to be broken for the latest Versions of ZFS. And to have a simple solution to manage ZFS on different system, seems to me a great idea.

I have some ideas how to do some things, but it still seems a lot of work :-).

FreeNAS 8

Wie einige ja vielleicht wissen, betreibe ich schon seit einiger Zeit ein NAS auf FreeNAS Basis.
Da mir die Verschlüsselung sehr wichtig war und ich bedingt anfangs schwache Speicherausstattung auf Nummer sicher gehen wollte, nutze ich hier aktuell ein FreeBSD Raid5 mit ELI Verschlüsselung.

Aber eigentlich bin ich ja schon immer ein großer FAN von ZFS gewesen. Da der Support von FreeNAS 7 ja scheinbar in absehbarer Zeit nicht mehr gesichert ist, habe ich mich gleich der aktuellsten Version “FreeNAS 8” zugewandt.

Allerdings muss ich sagen, dass ich nach einigen ersten Tests in einer VirtualBox VM doch arg enttäuscht bin.
Natürlich ist nicht zu erwarten, dass die Mädels und Jungs von IX Systems (die sonst einen Prima Job machen), eine neue Version mit allen Features von 7.x raus bringen.
Aber zumindest das was sie dann als final Version 8 raus bringen sollte doch das tun, was es verspricht.

Aber zuerst einmal die positiven Aspekte:

The Good

1. Installation

Im Vergleich zu FreeNAS 7 ist die Installation von FreeNAS 8 in einem Bruchteil der Zeit durchführbar. Da in der offiziellen Empfehlung auch eine Installation auf einem USB Stick empfohlen wird, ist nicht damit zu rechnen, dass solche unschönen Bugs auftauchen, wie in der letzten Version (von 7.2) der Bug mit den Samba-Usern (SMB User müssen nach jedem Neustart per smbpasswd -a neu angelegt werden, da das System ein paar Einstellungen scheinbar “vergißt”).

2. Boot

Der Boot-Prozess wurde ebenfalls deutlich beschleunigt. Im Gegensatz zu den paar Minuten dauerndem Boot-Prozess von 7.2 ist das Booten von 8 in unter einer Minute durch.

3. UI

Das UI wirkt zumindest moderner als die Version 7.2. Es wird viel JS/CSS Foo geboten. Aber irgendwie haben es die Entwickler zu gut gemeint: an einigen Stellen gibt es deutliche Redundanzen in der Navigation – einige Verhaltensweisen des UIs sind in meinen Augen unlogisch. Was sehr schön ist, ist dass sich das UI die geöffneten Tabs merkt – und das überhaupt Tabs benutzt werden (ein Feature, was seit Firefox ja scheinbar zum Standard gehört 😉 ).

The Bad

Irgendwie habe ich das Gefühl, dass zumindest der Unix (FreeBSD?) Unterbau nur sehr schwach mit dem UI (Python/DOJO) verbunden ist. So gibt es über die Shell noch nicht mal einfache Tools wie FDISK. Zudem scheinen ZFS Pools, die über die Web UI angelegt wurden, über die CLI-Tools Zpool und ZFS unauffindbar zu sein.

Was mir persönlich auch fehlt ist die Möglichkeit, Log-Meldungen über das Web UI einzusehen. Scheinbar ist das auch noch so eine Baustelle die da offen ist :-).

Fazit

Zu guter Letzt lässt sich sagen, dass der Anfang schon sehr gut aussieht. Allerdings hat die Software noch so arge Fehler und Probleme, dass ich sie die nächsten paar Monate wohl nicht mehr anfassen werde. Das ich schon bei der einfachsten und essentiellen Funktion, nämlich dem Anlegen eines simplen RAIDZ Pools auf solche Probleme treffe, hätte ich eigentlich nicht erwartet. Mein Test-System bestand wirklich nur aus einer einfachen VM mit 1x4GB Boot Device und 4x2GB Data-Devices. Wieso es hierbei zu solchen Problemen kommt ist mir schleierhaft.

Wuala and Nexenta…

… just works!

Just download wuala from their homepage.
I just copied the contents of the archive to my NAS, started with ./wualacmd and… thats it.

Imagine: a NAS System with perfekt online mirroring … like a charme ;-).

BTW:
I just changed some folders within the original Nexenta system.
Because i am using a 4GB Flash Drive as my boot drive, but a 2TB Pool as my file Storage, i made some hard-links:

/home/ -> /tank/home
/opt/ -> /tank/opt

where /tank is the mount point of my zfs-pool.

Nexenta CP 2 RC1 & Java 6

root@sunny:/tank/home# apt-get install sun-java6-jre

root@sunny:/tank/home# java -version
dl failure on line 685Error: failed /usr/lib/jvm/java-6-sun-1.6.0.10/jre/lib/i386/client/libjvm.so, because ld.so.1: java: fatal: libCrun.so.1: open failed: No such file or directory

root@sunny:/tank/home# apt-get install sunwlibc

root@sunny:/tank/home# java -version
java version “1.6.0_10”
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)

Good signature, but could not determine key fingerprint?!

root@sunny:/tank/home# apt-get update
Get:1 http://apt.nexenta.org hardy-unstable Release.gpg [185B]
Hit http://apt.nexenta.org hardy-unstable Release
Ign http://apt.nexenta.org hardy-unstable Release
Hit http://apt.nexenta.org hardy-unstable/main Packages
Hit http://apt.nexenta.org hardy-unstable/contrib Packages
Hit http://apt.nexenta.org hardy-unstable/non-free Packages
Hit http://apt.nexenta.org hardy-unstable/main Sources
Hit http://apt.nexenta.org hardy-unstable/contrib Sources
Hit http://apt.nexenta.org hardy-unstable/non-free Sources
Fetched 185B in 1s (151B/s)
Reading package lists… Done
W: GPG error: http://apt.nexenta.org hardy-unstable Release: Internal error: Good signature, but could not determine key fingerprint?!
W: You may want to run apt-get update to correct these problems

root@sunny:/tank/home# apt-get install gnupg add-apt-key
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
gpgv makedev
Suggested packages:
gnupg-doc xloadimage
The following NEW packages will be installed:
gpgv makedev
The following packages will be upgraded:
gnupg add-apt-key
1 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 1957kB of archives.
After this operation, 5050kB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
gpgv makedev gnupg
Install these packages without verification [y/N]? y

root@sunny:/tank/home# apt-get update
Hit http://apt.nexenta.org hardy-unstable Release.gpg
Hit http://apt.nexenta.org hardy-unstable Release
Hit http://apt.nexenta.org hardy-unstable/main Packages
Hit http://apt.nexenta.org hardy-unstable/contrib Packages
Hit http://apt.nexenta.org hardy-unstable/non-free Packages
Hit http://apt.nexenta.org hardy-unstable/main Sources
Hit http://apt.nexenta.org hardy-unstable/contrib Sources
Hit http://apt.nexenta.org hardy-unstable/non-free Sources
Reading package lists… Done

Nexenta iSCSI Target Setup

root@sunny:~# zfs create tank/home
root@sunny:~# zfs create tank/home/philipp
root@sunny:~# zfs create -V 250M tank/home/philipp/TM
root@sunny:~# zfs set shareiscsi=on tank/home/philipp/TM
root@sunny:~# iscsitadm modify target -p 1 tank/home/philipp/TM
root@sunny:~# zfs list
NAME                             USED  AVAIL  REFER  MOUNTPOINT
syspool                          689M  16.6G    23K  none
syspool/rootfs-nmu-000           688M  16.6G   641M  legacy
syspool/rootfs-nmu-000@initial  47.3M      –   631M  –
tank                             250M  1.34T    21K  /tank
tank/home                        250M  1.34T  27.5K  /tank/home
tank/home/philipp                250M  1.34T    27K  /tank/home/philipp
tank/home/philipp/TM             250M  1.34T    24K  –
tank/media                        18K  1.34T    18K  /tank/media
root@sunny:~# iscsitadm list target -v
Target: tank/home/philipp/TM
    iSCSI Name: iqn.1986-03.com.sun:02:f683c44e-e774-c018-9f6f-89ef914db75b
    Alias: tank/home/philipp/TM
    Connections: 0
    ACL list:
    TPGT list:
        TPGT: 1
    LUN information:
        LUN: 0
            GUID: 0
            VID: SUN
            PID: SOLARIS
            Type: disk
            Size:  250M
            Backing store: /dev/zvol/rdsk/tank/home/philipp/TM
            Status: online

(via Solaris iSCSI Target with ESX 3.02 Server)

Blogged with the Flock Browser

Sunny-Notes

Network-Driver:

myamanet-vel (2.6.0)
Driver for VIA VT6122 GbE chipset
myamanet-vfe (2.6.2a-1)
Driver for VIA Rhine family fast ethernet chipset

iSCSI-Update [1]

To be continued….

Blogged with the Flock Browser