AuFS mengimplementasikan Union File system yang sudah ada di Linux.
Sebuah union filesystem mengambil file system yang sudah ada dan secara transparant menerapkannya di filesystem yang baru , ini berarti AuFS dapat menggabungkan beberapa direktori di filesystem yang berbeda menjadi satu filesystem.AuFS ini adalah salah satu type mount dari perintah mount yang sudah ada di linux.
Aufs digunakan pada beberapa proyek opensource seperti Docker , Slax , Knopix , dan beberapa Live CD atau Live USB di beberapa distribusi Linux.
Pada Distribusi Debian dan Ubuntu dapat menginstall aufs dengan cara berikut.
#apt-get install aufs-tools
Contoh 1 : Memahami Cara kerja AuFS
Contoh dibawah menerangkan cara memount dua direktori ke dalam satu direktori
Baris pertama sampai ketiga adalah perintah untuk membuat direktori baru,sedangkan baris keempat adalah perintah untuk mount filesystem sebagai Union mount.
Perintah mount diatas , menspesifikasikan direktori "/tmp/dir1" dan "/tmp/dir2" yang akan dimount di direktori "/tmp/aufs-dir" .Direktori "/tmp/aufs-dir" akan memiliki konten dari direktori "/tmp/dir1" dan "/tmp/dir2".
Berikut keterangan dari option yang digunakan pada contoh perintah mount :
Secara default,jika direktori dimount tanpa permissions ,maka direktori pertama writable dan direktori ke dua hanya read only.
Jadi ketika kamu membuat file di "/tmp/aufs-dir" ,maka file itu juga ada di folder "/tmp/dir1".
Perintah diatas memiliki option tambahan "udba" yang berasal dari singkatan "User's Direct Branch Access" , perintah ini berarti ketika user mengakses direktori user entah mengcreate/update file tanpa lewat AuFS direktori.
Berikut nilai yang dapat digunakan di option udba:
Catat juga bahwa diperintah mount sebelumnya tidak menambahkan permissions nya ,tapi pada perintah di atas menggunakan permissions Read dan Write disetiap direktori "/home/ dan "/home1".
jadi ketika kita create/update file di "/data-gabungan/" maka akan dibuat juga di direktori home.
# mkdir /tmp/dir1 # mkdir /tmp/dir2 # mkdir /tmp/aufs-dir # mount -t aufs -o br=/tmp/dir1:/tmp/dir2 none /tmp/aufs-dir
Baris pertama sampai ketiga adalah perintah untuk membuat direktori baru,sedangkan baris keempat adalah perintah untuk mount filesystem sebagai Union mount.
Perintah mount diatas , menspesifikasikan direktori "/tmp/dir1" dan "/tmp/dir2" yang akan dimount di direktori "/tmp/aufs-dir" .Direktori "/tmp/aufs-dir" akan memiliki konten dari direktori "/tmp/dir1" dan "/tmp/dir2".
Berikut keterangan dari option yang digunakan pada contoh perintah mount :
- -o : menspesifikasikan option yang akan digunakan pada perintah mount.
- br : menspesifikasikan direktori yang akan dimount.
- none : menspesifikasikan device/partisi lain yang tidak ingin dihubungkan pada perintah mount.
# ls -l /tmp/dir1 -rw-r--r-- 1 root root 0 Mei 20 12:42 file_di_tmp_dir1 # ls -l /tmp/dir2 -rw-r--r-- 1 root root 0 Mei 20 12:42 file_di_tmp_dir2 # ls -l /tmp/aufs-dir -rw-r--r-- 1 root root 0 Mei 20 12:42 file_di_tmp_dir1 -rw-r--r-- 1 root root 0 Mei 20 12:42 file_di_tmp_dir2
Secara default,jika direktori dimount tanpa permissions ,maka direktori pertama writable dan direktori ke dua hanya read only.
Jadi ketika kamu membuat file di "/tmp/aufs-dir" ,maka file itu juga ada di folder "/tmp/dir1".
Contoh 2 : Tampilkan beberapa direktori home
Suatu ketika , seorang sysadmin memiliki multiple partisi yang memiliki direktori home dari multiple user.Kita akan melihat contoh penggabungan direktori home tadi menggunakan AuFS.
Dalam contoh ini :
- /home : berada pada partisi "/dev/sda2" dengan user "ferico" dan "admin"
- /home1 : berada pada partisi "/dev/sdb2" dengan user "test"
# mount -t aufs -o br=/home=rw:/home1=rw -o udba=reval none /data-gabungan/ # ls -l /data-gabungan/ drwxr-xr-x 39 ferico ferico 4096 Mar 25 15:52 ferico drwxr-xr-x 26 admin admin 4096 Mar 25 15:51 admin drwxr-xr-x 2 root root 4096 Mar 25 16:36 test
Perintah diatas memiliki option tambahan "udba" yang berasal dari singkatan "User's Direct Branch Access" , perintah ini berarti ketika user mengakses direktori user entah mengcreate/update file tanpa lewat AuFS direktori.
Berikut nilai yang dapat digunakan di option udba:
- udba=none : perintah none dapat mempercepat process AuFS ,tapi resiko kesalahan file lebih besar,jika user membuat/mengupdate file tanpa lewat direktori AuFS.
- udba=reval : perintah reval akan mengecek secara terus menerus perubahan pada direktori user,jika ada pengubahan maka akan langsung diupdate di direktori "/data-gabungan/".
- udba=notify : perintah ini akan mendaftarkan AuFS ke program inotify untuk memberi notifikasi setiap ada perubahan file system.
# touch /home/ferico/file-dari-ferico.txt # ls -l /data-gabungan/ferico/ -rw-r--r-- 1 root root 0 Mar 25 17:17 file-dari-ferico.txtPerintah touch diatas untuk membuat file "file-dari-ferico.txt" tanpa lewat direktori "/data-gabungan",sejak memakai perintah udba=reval , maka AuFS akan mengecek dan menyalin file yang terbuat atau terupdate di direktori /home/
Catat juga bahwa diperintah mount sebelumnya tidak menambahkan permissions nya ,tapi pada perintah di atas menggunakan permissions Read dan Write disetiap direktori "/home/ dan "/home1".
jadi ketika kita create/update file di "/data-gabungan/" maka akan dibuat juga di direktori home.
# touch /data-gabungan/test/baru.txt # ls -l /home1/test/ -rw-r--r-- 1 root root 0 Mar 25 17:28 baru.txt
Contoh 3 : Mount dengan Read Only permission
Kamu juga dapat menset permissions di setiap direktori yang akan dimount.
# mount -t aufs -o br=/tmp/dir1=rw:/tmp/dir2=ro -o udba=reval none /tmp/aufs-dirPerintah mount diatas akan membuat direktori AuFS "/tmp/aufs-dir" yang memiliki direktori "/tmp/dir1" sebagai writable dan "/tmp/dir2" sebagai read only.
Berikut ini contoh perintah yang bisa membuktikan perintah diatas:
# cat > /tmp/dir2/baru.txt Ini dari dir2 # cat /tmp/aufs-dir/baru.txt Ini dari dir2 # cat >> /tmp/aufs-dir/baru.txt Ini updatean dari aufs-dir # cat /tmp/dir2/baru.txt Ini dari dir2 # cat /tmp/dir1/baru.txt Ini dari dir2 Ini updatean dari aufs-dirBerikut keterangan dari perintah diatas ;
- Kita membuat file baru.txt dari direktori "/tmp/dir2"
- file tadi tersalin ke direktori "tmp/aufs-dir/" dengan isi yang sama
- Selanjutnya ditambahkan baris kalimat baru lewat direktori "/tmp/aufs-dir/baru.txt'
- lalu setelah dicek di "/tmp/dir2/baru.txt" updatean baris tadi tidak ada ,karena direktori "/tmp/dir2" read only
- Dan pada direktori "/tmp/dir1" yang permissionsnya writeable ,maka updatean file tadi ditampilkan.
Contoh 4 : Menggunakan Round robin policy pada AuFS
Ketika kita memiliki dua direktori writeable yang dimount di AuFs ,kita dapat memilih policy yang tersedia pada perintah Mount ,ini berarti file yang tersimpan akan mengikuti aturan dari policy yang dipilih.
# mount -t aufs -o br=/tmp/dir1=rw:/tmp/dir2=rw -o udba=reval -o create=rr none /tmp/aufs-diroption "create=rr" adalah perintah untuk menggunakan policy round robin,yang berarti ketika kita membuat 2 file lewat direktori "/tmp/aufs-dir" maka file pertama akan disimpan ke "tmp/dir1" dan file kedua akan disimpan ke "/tmp/dir2" , begitu seterusnya.
# touch /tmp/aufs-dir/file-pertama.txt # touch /tmp/aufs-dir/file-kedua.txt # ls -l /tmp/dir1/ -rw-r--r-- 1 root root 0 Mar 25 21:53 file-pertama.txt # ls -l /tmp/dir2/ -rw-r--r-- 1 root root 0 Mar 25 22:00 file-kedua.txt
Tidak ada komentar:
Posting Komentar