Saturday, March 28, 2009

Testing/upgrading new versions of EON

Testing new versions of EON ZFS NAS with a previous USB/CF install is simple. The risk is minimal and backing out to the previous working version is simple. Simply boot the previous verion and follow the steps. This should work with USB(tested), compact flash(tested) and virtual installs(untested). First, transfer the new eon-0.590-b110-64-cifs.iso to your storage pool. You can do a transfer using a CIFS share or winSCP or via sftp. Let's say we transferred it to /pool/eon-0.590-b110-64-cifs.iso. Then we would mount the new image:
lofiadm -a /pool/eon-0.590-b110-64-cifs.iso /dev/lofi/1
mkidr -p /mnt/new
mount /dev/lofi/1 /mnt/new
Preserve your previous version
cd /mnt/eon0/boot
mv x86.eon /pool/x86.eon.backup
tar -cvf - . | gzip > /pool/boot.tgz
Transfer the new version (still in /mnt/eon0/boot, which should be empty)
rm -rf amd64 grub platform
cd /mnt/new/boot
cp -pR * /mnt/eon0/boot
updimg.sh /mnt/eon0/x86.eon
The new contents of /mnt/eon0/boot should have amd64, grub, platform and the new x86.eon. Now, replace any custom changes you had in /mnt/eon0/boot/menu.lst. Also, do not run zpool or zfs upgrade until you're satisfied you like the new version as there is no way of going back to a previous zpool (currently v14) or zfs (currently v3) version. You can now reboot into the new EON ZFS NAS. From there you can re-run setup and updimg.sh to re-id your new version or mount your previous version and transfer any customizations.

7 comments:

Rob said...

A question...
Do you/will you be supporting NFS in Eon... as it is now, I can't see a clean way to enable it ?

A suggestion...
Add the ssh keys to the files that are saved by updimg.sh

Andre Lue said...

Rob,

NFS is supported. There are a couple of ways to enable it.

cd /var/svc/manifest/network/nfs
svccfg -v import (each filename in dir)
svcadm enable (each service name)

at the end ps/ptree should show:
540 /usr/sbin/rpcbind
542 /usr/lib/nfs/statd
544 /usr/lib/nfs/nfsmapid
553 /usr/lib/nfs/lockd
557 /usr/lib/nfs/nfs4cbd

Another way, (less recommended) is to comment #exit at line 27 in /lib/svc/method/manifest-import and then run it.

I will add the ssh keys to updimg.sh. The original thought was that the user would customize this and make addition to the FILES list. If you make the changes on your updimg.sh it will be preserved.

Rob said...

Couple more questions...
1) Are you planning to produce a vmware appliance of this ? I'm thinking of writing a script that injects the vmware tools into the ramdisk image

2) Have you seen any performance issues with CIFS ? I don't have numbers right now, but nfs performance is much better than cifs right now. Watching zpool iostat 1, while writing files over CIFS, I'll see a burst of writes, and then nothing for 5 seconds (this pattern repeats)

3) Would it make sense to separate the FILES list out into a separate file that lives in /mnt/eon0 (just makes customization a bit easier)

dmitry.sorokin said...

Where do I get imgsol.sh and other scripts to build modified version of EON?

Andre Lue said...

Rob,

1)It would be quite easy to produce a vm appliance and a good idea. However, this requires vmstudio which I do not have. Maybe you could produce the appliance for me?

2)I have seen the pausing behavior you described but haven't gotten to the root of it because it seems a CIFS related pattern.

3)The FILES list will be located in /mnt/eon0 for the next release. Most likely snv_112.

Andre Lue said...

dmitry,

You can find the 104 build kit here

http://cloud.github.com/downloads/eonstorage/eon/eon-104.tgz

Mark50+ said...

Hi Andre,

One joy you do encounter with upgrades is the ZFS/Zpool version differences.
Once upgraded there is no going back !!
Mark.

PS. Web gui is making somewhat slow progress.