Kembali
lagi bersama saya. Kali ini saya ingin share tentang NFS. Sebelumnya saya sudah
share mengenai Intalasi NFS di CentOs7. Sekarang saya ingin share tentang
Instalasi NFS di Debian 7.2 Wheezy. Saya menggunakan repository online
dikarenakan Internet yang cukup kencang di tempat kerja saya.
Apa
itu NFS ? Sistem berkas jaringan (Inggris: network
file system disingkat NFS) adalah sebuah
kumpulan protokol yang digunakan untuk mengakses beberapa sistem berkas melalui jaringan.
Spesifikasi NFS didefinisikan dalam RFC 1094, dan saat ini telah
mencapai versi 3 yang didefinisikan dalam RFC 1813-menurut wiki
Jadi
NFS itu adalah protokol jaringan yang digunakan untuk mengakses suatu berkas
melalui sebuah jaringan. Mirip-mirip dengan FTP, jadi si NFS Client nanti bisa
mengakses (mengedit ataupun mengambil) berkas yang telah di share oleh NFS Server.
NFS
ini sangat berguna karena si client hanya tinggal mengakses direktorinya saja
tanpa harus memasukkan Username seperti di FTP. Bila kalian menginginkan
sharing file yang cepat, maka inilah jawabannya. Sekarang kita masuk ke
konfigurasi
1 Catatan
Penting!
Saya
menggunakan 2 Debian 7.2 , satu sebagai server dan satu lagi sebagai Client. B
·
NFS
Server : IP address: 192.168.5.180
·
NFS
Client : IP address: 192.168.5.xx
Saya
menggunakan dua direktori yang nanti saya akan buat untuk NFS. Semua direktori
berada di direktori root, yaitu :
·
/anjay
= untuk opsi direktori mode standar (user bebas mengedit berkas)
·
/tapir
= untuk opsi “no_root_squash” (user hanya bias mengambil)
2
Installing NFS
server:
Kita
install paket NFS terlebih dahulu dengan perintah :
apt-get install
nfs-kernel-server nfs-common
Lalu
kita taruh NFS ini agar berjalan saat startup, dan jalankan
service nfs restart
Konfigurasi
client:
Di
client Debian ini, kita hanya menginstall NFS tanpa kernel untuk servernya :
apt-get install nfs-common
3.
Export Direktori Untuk Server
server:
Saya
ingin membuat direktori baru pada root yaitu /anjay dan /tapir .
Alasan saya menggunakan 2 direktori yang berbeda ini agar kita bisa mencoba 2
tipe mode untuk mengakses NFS Server ini. Direktori /anjay dibagikan
untuk mode standar, jadi user atau siapapun bisa mengedit file berkas ini
seperti user nobody dan grup ungroup. Sedangkan direktori /tapir
menggunakan opsi "no_root_squash" dimana
NFS Server bertanggung jawab penuh atas izin dari berkas tersebut (user dan
group saja).
Pertama-tama
buat direktori /anjay terlebih dahulu
mkdir /anjay
chown nobody:nogroup /anjay
chmod 755 /anjay
chown nobody:nogroup /anjay
chmod 755 /anjay
Direktori
/tapir belum ada di server anda, buatlah terlebih dahulu dengan perintah:
mkdir /tapir
chown root:root /tapir
chmod 755 /tapir
chown root:root /tapir
chmod 755 /tapir
Sekarang
kita harus edit dikit nih file di /etc/exports
dimana kita bisa mengekspor (mengirim
keluar) berkas untuk dibagikan ke seluruh NFS Client. Kita akan meng-ekspor
direktori /anjay dan /tapir untuk ke client. Kalau
anda ingin mempelajari lebih lanjut tentang Ekspor ini, ketikkan periintah:
man 5 exports
Sekarang
kita harus edit sedikit file di exports nya:
nano /etc/exports
/anjay
192.168.0.101(rw,sync,no_subtree_check)
/tapir
192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)
|
rw : memberikan akses read and
write kepada client,
no_root_squash : tidak ada
penyamaan root pada client dengan root pada server,
no_subtree_check : tidak ada
pengecekan subtree pada direktori yang dimount,
sync : untuk sinkronisasi
antara perubahan di client dengan direktori yang sebenarnya di server.
Untuk
mengaktifkan konfigurasi /etc/exports , kita restart kernel NFS
Servernya :
/etc/init.d/nfs-kernel-server
restart
4
Mounting the NFS shares on the Client
client:
Pertama
kita harus membuat direktori untuk mout file NFS nya, contoh :
mkdir -p /mnt/nfs/anjay
mkdir -p /tapir
mkdir -p /tapir
Lalu,
sekarang kita coba untuk me-mounting 2 file NFS tersebut:
mount 192.168.0.100:/anjay
/mnt/nfs/anjay
mount 192.168.0.100:/tapir /tapir
mount 192.168.0.100:/tapir /tapir
Kita
cek, apakah 2 NFS tersebut sudah ter-mount oleh client atau belum :
df -h
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/anjay 9.7G 1.7G 7.5G 19% /mnt/nfs/anjay
192.168.0.100:/tapir
9.7G 1.7G 7.5G 19% /tapir
[root@client ~]#
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/anjay 9.7G 1.7G 7.5G 19% /mnt/nfs/anjay
192.168.0.100:/tapir
9.7G 1.7G 7.5G 19% /tapir
[root@client ~]#
dan
mount
[root@client
~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/anjay on /mnt/nfs/anjay type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/tapir on /tapir type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/anjay on /mnt/nfs/anjay type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/tapir on /tapir type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#
5
Testing
Sekarang
kita coba di client, kita coba membuat file test.txt sebagai percobaan pada 2
NFS
client:
touch /mnt/nfs/anjay/test.txt
touch /tapir/test.txt
touch /tapir/test.txt
Sekarang,
kita cek di server apakah folder yang sudah di kirim sukses atau tidak
server:
ls -l /anjay/
[root@server ~]# ls -l /anjay
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#
ls -l /var/nfs
[root@server ~]# ls -l /tapir
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#
Catatan
: Perbedaan kepemilikan di direktori NFS /anjay bisa diakses
nobody atau nogroup dan gak ada kepemilikan khusus di direktori ini. Berbeda
dengan direktori NFS /tapir , ini bisa hanya bisa diakses sebagai
root untuk mengambil /tapir/test. yang kepemilikan nya dimiliki oleh user
and group root.
6
Mounting NFS Shares At Boot Time
Instead
of mounting the NFS shares manually on the client, you could modify /etc/fstab so
that the NFS shares get mounted automatically when the client boots.
client:
Open /etc/fstab and
append the following lines:
vi /etc/fstab
[...]
192.168.0.100:/anjay /mnt/nfs/anjay nfs
rw,sync,hard,intr 0 0
192.168.0.100:/tapir /tapir
nfs rw,sync,hard,intr 0
0
|
Instead
of rw,sync,hard,intr you can use different mount options. To
learn more about available options, take a look at
man nfs
To
test if your modified /etc/fstab is working, unmount the
shares and run mount -a:
umount /mnt/nfs/anjay
umount /tapir
mount -a
umount /tapir
mount -a
You
should now see the two NFS shares in the outputs of
df -h
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#
and
mount
[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#
0 comments: