пятница, 23 июля 2010 г.

FreeBSD 8.1

Now I'm downloading FreeBSD 8.1 DVD. Release was announced today. New features includes
1) addition of zfsloader
2) zpool support updated to version 14 (passthrough-x aclinherit maybe very useful on terminal server)
3) support for new SPARC and Power PC chips (does someone really use FreeBSD on SPARC? it looks strange even to meet SPARC nowadays :()
4) contributed software updates...
Link to news: http://www.freebsd.org/releases/8.1R/announce.html
Among these features I like new zpool version and presence of zfsloader...

It's interesting, will FreeBSD/8.1-i386 be quite stable with ZFS mirror pool, 2 GB of RAM and KDE? Let's test it...

четверг, 15 июля 2010 г.

FreeBSD monitoring tool

I like to have a single monitoring tool for all my needs: to monitor I/O, interface bandwidth, virtual memory usage, ip statistics and so on.
Fortunately, there is such tool in FreeBSD: systat:
# systat
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average ||

/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root idle XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
alp trackerd XXXXXXXXX
alp firefox-bi X

Now, as in vi, we could use command line to choose necessary statisctics: e.g. we can type ":io"
and then ":numbers" to look at I/O rates:
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average ||

/0% /10 /20 /30 /40 /50 /60 /70 /80 /90 /100
cpu user|
nice|
system|X
interrupt|
idle|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ad4 ad6 ad12
KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
0,00 0 0,00 0,00 0 0,00 0,00 0 0,00
0,00 0 0,00 0,00 0 0,00 0,00 0 0,00


ar0 md0 cd0
KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s
61,46 457 27,45 0,00 0 0,00 0,00 0 0,00
61,05 452 26,97 0,00 0 0,00 0,00 0 0,00

Or, we just can watch interface bandwidth with ":ifstat":
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average |

Interface Traffic Peak Total
lo0 in 0,039 KB/s 0,039 KB/s 1,777 MB
out 0,039 KB/s 0,039 KB/s 1,777 MB

em0 in 0,403 KB/s 0,403 KB/s 26,535 MB
out 0,000 KB/s 0,000 KB/s 4,549 MB

I really like this tool!

вторник, 13 июля 2010 г.

Good news

I've just read that ZFS v15 was commited to FreeBSD-HEAD with 2 months before MFC to 8-STABLE (http://ivoras.sharanet.org/blog/tree/2010-07-13.all-welcome-zfs-v15-in-freebsd.html). It's really good news: we'll have faster, more stable ZFS version and it will support user quotas (lack of quotas was one of the things that prevented us from deploying it on our file server)... Great thanks to Martin for his work!

It's not enough - another piece of good news pc-sysinstall now supports packages. What does it mean? As I understand, this means one more step in side of easy binary package management in FreeBSD (http://www.freebsd.org/cgi/query-pr.cgi?pr=148584).

And last one. I've just read that NASA is going to use PostgreSQL to store data for quazy realtime monitoring system of Space Station (http://www.spinics.net/lists/pgsql/msg112022.html). I'm happy for PostgreSQL.

четверг, 8 июля 2010 г.

Updating ZFS-based FreeBSD installation to 8.1-RC2

Updating ZFS-based FreeBSD installation to 8.1-RC2 was rather easy, but time consuming: it took more then 2 hours.
1) freebsd-update couldn't fetch updates from first try. freebsd-update is ugly thing. Comparing checksums file-by-file, sorting lists of files on disk and other "lovely" habits... Source update would be faster.
2) this good tool erased my zfs booter, had to boot from 8.0 dvd and recover it.
3) However, i386 FreeBSD 8.0 runs on ZFS quite stable (768 Mb of memory, no any tuning - 160 Mb arc, kmem_size_max - 330 Mb, kmem_size - 256 Mb (defaults))

среда, 7 июля 2010 г.

Moving data to FreeBSD

Now I decided to move from OpenSolaris to FreeBSD.
Just for now I emulate this procedure in VirtualBox, later I'll do it on real hardware...
1) Installed OpenSolaris 09.06 and updated it to b134, updated zfs pool to version 19, added mirror disk to pool. So, I have configuration identical to my workstation.
2) Splitted pool (used zpool split for this task), destroyed second pool (which appeared as result of split) and filled first sectors of disk with zeroes (dd if=/dev/zero of=/dev/rdsk/) to erase all signs of zfs pool.
3) Booted from FreeBSD dvd (i386) and made everything similar to http://wiki.freebsd.org/RootOnZFS/ZFSBootPartition. Some caveats: I didn't manage to get zpool.cache from first time, had to import/export pool to get it. At the end of the procedure I got zfs pool consisting from /dev/ad1s1.
4) After some time I managed to boot from my pool (made several errors during install, e.g. forgot about zpool.cache and accidentally wrote wrong rc.conf).
5) Booted in OpenSolaris and imported my pool under alternative /fbsd root. Create on the FreeBSD zfs pool filesystem /old and zfs send all data from OpenSolaris /export fs there.
6) Rebooted. Couldn't boot FreeBSD. So I booted from FreeBSD DVD, imported ZFS pool and moved /boot/zfs/zpool.cache to zpool's /boot/zfs/zpool.cache
7) Now I have running ZFS FreeBSD installation
TODO:
a) add second mirror drive (old OpenSolaris drive) to new ZFS pool and put boot code and loader there.
b) tune i386 FreeBSD for ZFS usage...

After completing these tasks I'm going to make this procedure on physical system... (Certainly, after creating backup...)

понедельник, 5 июля 2010 г.

Leaving sinking ship

We could be very optimistic, but bad things really happen. So, after waiting for half a year after Sun end, I decided to migrate my home workstation from OpenSolaris to some other solid OS.
The choice is not evident. Solaris is good in several things:
- It supports commercial soft. And I need Adobe Flash, Oracle DBMS, recent Java version.
- It supports zones. Experiments with OS is very easy. Being a system administrator, I appreciate this.
- It has ZFS. Yes, I like using ZFS mirror on my desktop PC.
- It has DTrace and truss, which help me to answer questions "What does my OS do?".

I see several alternatives: Solaris 10, FreeBSD 8.1 and Debian. I use Ubuntu on my notebook and it proved to be quite unstable.
At first glance, best choice is Solaris 10 - you shouldn't change your habits a lot. But it's a trap. I don't believe Oracle any more after 2010.H1 has come to end :)
Solaris 10 also has quite old software and awful IIIMD, and package management from 90's.... So, it's not my way. I wouldn't consider using it even for server (because it is illegal now).

Debian is good choice. It's stable. Oracle and Flash work there. And JDK has native support. But migration would look like:
1) split ZFS mirror
2) install Debian on one part of mirror
3) move data there using zfs-fuse
4) create several md-devices from other part of mirror
5) move data there
6) add first disk to md-device
7) update fstab
8) update mbr...
9) forget about snapshots, dtrace and easy ways to monitor disk pool.

So, I'd like to try hard way - FreeBSD/x86.
- Using x86 system will allow me to use wine without tambourines.
- Adobe Flash will work by means of nspluginwrapper.
- I'll migrate my data by splitting ZFS pool, creating new one with lower Zpool version from half of pool (e.g. 14 version), importing data there by means of zfs send/receive and mounting it in FreeBSD LiveCD.
- OpenJDK in FreeBSD is quite fresh, I can migrate all my projects to it (already successfully tried).
- I really like this system and have a lot of experience in it, so let's try this scenario,
- One big question is Oracle. I know that Oracle XE works perfectly in FreeBSD. Trying to install Oracle 10g - is a challenging exercise :)

Just for now I'm going to emulate all this actions in VirtualBox. After finishing this work, I'm going to share my experience.