ZFS in practice – verifying transparent compression –

I had read about the transparent compression that zfs offers. I wanted to verify it so I did, and sent my results off.

As we all know no experiment is valid unless verifiable. I wanted be sure that the transparent compression was actually working so I set up a sample zfs volume and purposefully made some files that i knew would compress really well. I grabbed their sizes, transferred them to another machine without zfs, and compared the size. It works.
filesystems usually suck

1. Create the zfs filesystem
root@machine1:~# zfs create rpool/ztest
root@machine1:~# zfs set mountpoint=/ztest rpool/ztest

as soon as you do this /ztest shows up in the filesystem
root@machine1:~# ls /ztest/

2. enable compression and set it use gzip at level 6 (default)
root@machine1:/ztest# zfs set compression=gzip rpool/ztest

3. create some files you know will compress well
time for i in $(seq 1 3); do echo -n “file${i} “; echo $(seq 1 10000000) >> file${i} 2>&1; done

4. check the compression ratio
root@machine1:/ztest# zfs get compressratio rpool/ztest
NAME         PROPERTY       VALUE        SOURCE
rpool/ztest  compressratio  3.69x        –

5. verify the compression is working by transferring the file to a machine without such an awesome FS, and checking the filesize there
root@machine1:/ztest# du -sh file1
23M     file1
scp -rvp /ztest/file1 root@machine2:/root/file1

root@machine2]# du -sh file1
83M    file1

Conclusion: transparent compression is working, and working rather well on a file I made to be easily compressed.

Stateless Linux How To:

Stateless Linux sounds like a great idea for those of us that have many systems with similar configurations to manage. If you have never heard of the idea RTFM. I have stateless linux almost working here at my house. Here are the steps that I followed thus far.

on server system:
yum -y install cobbler
configure cobbler to manage dhcpd and start it
download Fedora 9 DVD ISO
sha1sum the iso to make sure the checksums match
mount the iso somewhere with the -o loop option eg. mount -o loop Fedora9.iso /media
import the distro into cobbler eg. cobbler import –mirror=/media/ –name=Fedora9
cp /sbin/lspci to /usr/sbin/lspci (if you skip this anaconda fails later under fedora 9)
mkdir -p /export/NFSroots/F9/
install os image into that directory eg. anaconda –headless -r /export/NFSroots/F9/ -m http://black/cobbler/ks_mirror/Fedora9/ –kickstart /var/lib/cobbler/kickstarts/f9base.ks
chroot into newly created environment
update environment (yum -y update)
create initrd
edit /etc/sysconfig/readonly-root
exit chroot
create cobbler distro
create cobbler profile
create cobbler system

on client system:
boot from lan.