• About
  • Contact
  • Daftar Isi
  • Privacy Policy

Linux AuFS : Pengertian dan Contoh Implementasi

 on Jumat, 20 Mei 2016  

AuFS singkatan dari Another union File System.

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
# 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.
Bisa kita lihat hasil dari perintah mount di atas dengan perintah ls -l dibawah.Direktori "/tmp/aufs-dir" telah menggabungkan konten dari 2 direktori yang berbeda.
# 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.
Kita akan cek perintah udba diatas dengan membuat file baru:
# 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.txt
Perintah 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-dir
Perintah 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-dir
Berikut 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-dir
option "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

Linux AuFS : Pengertian dan Contoh Implementasi 4.5 5 Unknown Jumat, 20 Mei 2016 AuFS singkatan dari Another union File System. AuFS mengimplementasikan Union File system yang sudah ada di Linux. Sebuah union filesy...


Tidak ada komentar:

Posting Komentar

Diberdayakan oleh Blogger.