Friday, October 16, 2009

A new and simpler way to upgrade EON ZFS storage

There is a new and simple way to upgrade your current EON ZFS storage to the newest version. I've added a tool, transporter.sh which allows you to backup, upgrade or restore(NOTE: restore only works if you have a backed-up version) your EON ZFS storage version. Here is a usage output:
transporter.sh 
usage: transporter.sh -i /path/eon.iso -b /path/backup -d /mnt/eon0
transporter.sh -i /tmp/eon-0.593-122-64-smb.iso -d /mnt/eon0
transporter.sh -i /tmp/eon-0.593-122-64-smb.iso -b /pool/backup -d /mnt/eon0
transporter.sh -r /pool/backup/0.59.3 -d /mnt/eon0

-i path to the source ISO
-b path to the backup destination [optional]
-d path to the upgrade destination
-r path to the restore source [optional]
Here's an example run without backup options. It is always wise to have a backup. I cannot stress this enough. There is no backup in this example because I have a previous backup in /abyss/eonback/0.593.
transporter.sh -i /tmp/eon.iso -d /mnt/eon0
OK: lofiadm -a /tmp/eon.iso /dev/lofi/1
OK: mount -F hsfs /dev/lofi/1 /tmp/upgrade
removing /mnt/eon0/boot
copying /tmp/upgrade -> /mnt/eon0
x ., 0 bytes, 0 tape blocks
x ./boot, 0 bytes, 0 tape blocks
x ./boot/amd64, 0 bytes, 0 tape blocks
x ./boot/grub, 0 bytes, 0 tape blocks
x ./boot/grub/bin, 0 bytes, 0 tape blocks
x ./boot/grub/bin/grub, 180380 bytes, 353 tape blocks
[...]   excerpt clipped
./boot/platform/i86xpv/kernel/amd64, 0 bytes, 0 tape blocks
x ./boot/platform/i86xpv/kernel/amd64/unix, 2084984 bytes, 4073 tape blocks
x ./boot/platform/i86xpv/kernel/unix, 1544152 bytes, 3016 tape blocks
x ./boot/x86.eon, 49523134 bytes, 96725 tape blocks
x ./.backup, 1454 bytes, 3 tape blocks
x ./.catalog, 2048 bytes, 4 tape blocks
x ./.disable, 137 bytes, 1 tape blocks
x ./.exec, 1383 bytes, 3 tape blocks
x ./.remove, 3264 bytes, 7 tape blocks
unmounting /dev/lofi/1
OK: umount /dev/lofi/1
releasing /dev/lofi/1
OK: lofiadm -d /dev/lofi/1
Please report any inconsistent findings.

9 comments:

what said...

hi, why dont you just use ips to update?

Andre Lue said...

what,

"transporter.sh" upgrades, restores or backs-up your EON ZFS storage. It is an embedded system.

Using IPS to upgrade the packages would break on so many levels, I wouldn't even know where to start. Even if it was built on IPS it would still break it.

tralafiti said...

maybe a stupid question, but where can i find this transporter.sh? i tried 'find / -name "transporter.sh" -print', which ends in an empty result :-( currently running 0.59.5 and want to upgrade to 0.95.9

Andre Lue said...

tralafiti,

It is included in EON 0.59.9. Before that, transporter.sh can be found on the download site.

Denis J. Cirulis said...

Andre, I just upgraded snv_124 to snv_129. Just wanted to ask how can I preserve files (drivers config files) from current image just to not wasting time after reboot. EON is my primary NFS storage for virtual machine images, so I can not afford long downtime.

Andre Lue said...

Denis,

You would add the file to /mnt/eon0/.backup and then run updimg.sh.

Denis J. Cirulis said...

So, if I understand correctly, after successfull transporter.sh (before reboot) process I must launch updimg.sh just to fill new eon image with my current files listed in .backup ?

Andre Lue said...

Denis,

That is the correct, with the exception of (install.sh, setup, updimg.sh). Those entries should be commented or the newer version in the new image will be overwritten with the current versions.

Patrick said...

I am liking EON, thanks for all your help. One question: so I backed up using dd if the usb drive to a file, then i used the -b flag and successfully updated. I made no indiv. file backup as I have nothing custom. Do I have to run updimg.sh and/or reboot for the update to take effect?
Bonus Question: If I want to install mediatomb or firefly, where should I untar the files and is the default install locations ok?