NFS là giao thức chia sẻ file phổ biến trên UNIX. Nó cho phép mount một thư mục trên một máy tính từ xa vào một thư mục cục bộ. Ví dụ trong các hệ thống cluster, thư mục /home thường được đặt trên một NFS server và tất cả các node mount thư mục này về /home cục bộ. Điều đó cho phép chúng ta có một cái nhìn nhất quán về thư mục chủ, mọi người dùng khi log-in vào bất cứ node nào cũng truy cập được vào thư mục của chính mình. Bài viết này sẽ trình bày cách thức cài đặt Network File System trên họ Linux Ubuntu và Debian.

Sơ đồ mạng

Sơ đồ demo NFS
Sơ đồ demo NFS

Hệ thống của chúng ta gồm bốn máy Ubuntu/Debian Server.

Master server đóng vài trò NFS Server chia sẻ tài nguyên của nó cho các nút.

Tất cả các nút mount dữ liệu được chia sẻ về thư mục cục bộ của chúng.

Trước tiên, ta định nghĩa các hostname /etc/hosts

root@Master:~$ nano /etc/hosts

Thêm các dòng sau vào cuối file:

192.168.161.10 Master
192.168.161.11 Node1
192.168.161.12 Node2
192.168.161.13 Node3

Lưu lại, bây giờ trên Master ta tạo thư mục chứa dữ liệu chia sẻ.

root@Master:~$ mkdir /Share

Làm tương tự với các nút con.

Ta tiến hành cài đặt NFS Server trên máy Master và NFS Client trên các nút.

root@Master:~$ apt-get install nfs-kernel-server
root@Master:~$ apt-get install nfs-client

Tiếp theo, định nghĩa tài nguyên cần chia sẻ trong /etc/exports

root@Master:~$ nano /etc/exports

Để chia sẻ folder /Share

/Share *(rw,sync)

(*)Nếu bạn chỉ muốn chai sẻ thư mục /Share cho Node2, dòng phía trên sẽ thành:

/Share Node2(rw,sync)

OK, restart nfs-server để load lại tất cả cấu hình

root@Master:~$ service nfs-kernel-server restart

Cuối cùng, trên các nút ta mount thư mục /Share vào thư mục local

root@Node1:~$ nano /etc/fstab

Thêm dòng này vào cuối:

Master:/Share    /Share    nfs

Lưu file, và remount tất cả partitions

root@Node1:~$ mount -a

Trên Master server, tạo một file để test NFS

root@Master:~$ echo "Hello" > /Share/test.txt

Bây giờ trên các nút, file test.txt sẽ xuất hiện trong thư mục /Share .

(*)Note: Nếu bạn sử dùng iptables làm firewall, bạn buộc phải cho phép hai cổng 111 và 2049 (TCP và UDP) trước khi chặn tất cả các cổng.

Đào Xuân Hưng – AdminVietnam.org