Kompilasi ZFS-Fuse di Ubuntu

ZFS juga sudah bisa dinikmati di Linux walau mungkin blom selengkap, sehandal, dan sestabil yg ada di OpenSolaris. Karena satu dan lain hal, implementasi di Linux dibuat di atas FUSE yang bisa saja mengorbankan kinerja.

  • Donlod ZFS-Fuse versi terakhir, 0.5.0.

  • Instal paket2 yang dibutuhkan.

    $ sudo apt-get install libaio1 libaio-dev zlib1g-dev libfuse-dev 
      scons build-essential
  • Extrak, masuk ke direktori src dan lakukan kompilasi.

    $ tar xjf zfs-fuse-0.5.0.tar.bz2
    $ cd zfs-fuse-0.5.0/src
    $ scons

    Andai gak bisa dikompilasi karena error berikut, ubah isi berkas SConstruct dan hapus -Werror dari CCFLAGS.

    cc1: warnings being treated as errors
    cmd/zdb/zdb.c: In function 'zdb_dump_block_raw':
    cmd/zdb/zdb.c:2007: error: ignoring return value of 'write', declared with attribute warn_unused_result
    scons: *** [cmd/zdb/zdb.o] Error 1
    scons: building terminated because of errors.

    Hapus -Werror dari CCFLAGS.

    $ vi SConstruct
    ...
    env['CCFLAGS'] = Split('-pipe -Wall -std=c99 -Wno-switch ...
    ...

    lalu ulangi kompilasi dg scons.

    Tadi nyoba juga ngompile di Debian Lenny Belum Jadi edisi amd64, ngga ada masalah kaya gtu soale.

  • Setelah kompilasi selesai, instal ZFS Fuse. Misalnya di /usr/local

    $ sudo scons install install_dir=/usr/local

Kalau sudah, yaa.. silakan dimainkan =D

Referensi tambahan: milis zfs-fuse

Ngatur storage dg ZFS

Beberapa fungsi dasar

  • Lihat pool yang udah ada

    # zpool list

    kayanya pake status lebih enak diliat

    # zpool status
  • Lihat filesystem yang udah ada

    # zfs list
  • Buat pool

    # zpool create nama c0t0d0

    c0t0d0 itu nama device yg biasa ada di /dev/dsk

    kalau mau pake mount point yang lain

    # zpool create -m /mount/point nama c0t0d0
  • Nambahin disk

    # zpool add nama c0t1d0
  • Mengganti disk andai rusak atau gmana

    # zpool replace nama c0t0d0 c0t1d0

    Disk pengganti harus berukuran sama atau lebih besar. Pada contoh di atas, c0t0d0 diganti oleh c0t1d0

  • Memirror disk

    Andai ada disk yang tiba-tiba mau dibuat mirror-nya

    # zpool attach nama c0t0d0 c0t1d0

    c0t1d0 itu disk baru yg mau digandengin bareng c0t0d0

  • Ubah mount point filesystem

    # zfs set mountpoint=/baru poolnya/si/fs
  • Atur quota alias ukuran max

    # zfs set quota=5G poolnya/si/fs

Referensi (antara lain):