Hướng dẫn thiết lập hệ thống NFS Server và Client trên nền tảng CentOS 5.5:

Cập nhật lúc 10h20' ngày 28/09/2010

QuanTriMang.com - Trong bài viết sau, Quản Trị Mạng sẽ giới thiệu với các bạn cách thiết lập hệ thống NFS server và client trên hệ điều hành CentOS 5.5. NFS - Network File System, qua đó client có thể truy cập (đọc va ghi) tới 1 thư mục remote bất kỳ trên NFS server.

Lưu ý sơ bộ:

Tại đây, chúng tôi có sử dụng 2 hệ thống như sau:
 - NFS Server: server.example.com, IP address: 192.168.0.100
 - NFS Client: client.example.com, IP address: 192.168.0.101

Cài đặt NFS:

Với hệ thống NFS server, chúng ta sẽ sử dụng lệnh sau:

yum install nfs-utils nfs-utils-lib

và tạo đường dẫn khởi động cho NFS server và kích hoạt luôn dịch vụ này:

chkconfig --levels 235 nfs on
/etc/init.d/nfs start

Với hệ thống NFS client cũng tương tự:

yum install nfs-utils nfs-utils-lib

Export các thư mục trên server:

Trên server, chúng ta sẽ thử thao tác trên thư mục /home và /var/nfs sẽ được truy cập từ phía client, do vậy cần thiết phải export chúng ngay trên server. Khi 1 client truy cập tới thư mục NFS chia sẻ, thông thường đó là tài khoản nobody, và thư mục /home không thuộc quyền quản lý của tài khoản nobody này, thêm 1 điểm nữa là chúng ta cần phân quyền đọc và ghi trên thư mục /home, ta cần “thông báo” với NFS rằng các kết nối truy cập sẽ được tạo ra từ tài khoản root (nếu thư mục /home có thuộc tính read-only thì bước này hoàn toàn không cần thiết). Thư mục /var/nfs không tồn tại, do vậy chúng ta phải tạo và gán các thuộc tính thích hợp cho nó. Trong bài thử nghiệm này, tài khoản người dùng và nhóm đều có ID là 99 trên cả 2 hệ thống CentOS server và client. Khi cố gắng thực hiện lệnh ghi dữ liệu đến /var/nfs từ phía NFS client, ta sẽ nhận được lỗi Permission denied, do đó hãy sử dụng lệnh chmod 777 /var/nfs để bất cứ tài khoản nào cũng có thể thực hiện thao tác ghi trên thư mục đó, và áp dụng tương tự với /var/nfs. Nhưng trên hệ thống server, chúng lại được quản lý bởi các tài khoản và nhóm nonexistant – với ID 65534:

mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfs

Tiếp theo, chúng ta phải thiết lập /etc/exports tại nơi ta export các thư mục chia sẻ NFS. Khởi tạo tham số /home và /var/nfs như NFS share và tạo ra các truy cập tới /home như tài khoản root (để tìm hiểu thêm về lệnh /etc/exports, các định dạng cho phép và lựa chọn phù hợp, hãy tham khảo thêm tại đây - man 5 exports):

vi /etc/exports

/home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs 192.168.0.101(rw,sync,no_subtree_check)

(lựa chọn no_root_squash sẽ khiến cho /home được truy cập như tài khoản root). Mỗi khi chỉnh sửa /etc/exports chúng ta phải thực hiện lệnh:

exportfs -a

thì các thay đổi mới có hiệu quả.

Gán các thư mục NFS chia sẻ trên client:


Trên hệ thống client, hãy tạo thư mục để gán dữ liệu NFS chia sẻ, ví dụ:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

sau đó áp dụng lệnh sau:

mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

và bạn sẽ thấy trong kết quả hiển thị của lệnh:

df -h

là 2 thư mục chia sẻ vừa được gán:

[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
28G 2.2G 25G 8% /
/dev/sda1 99M 13M 82M 14% /boot
tmpfs 250M 0 250M 0% /dev/shm
192.168.0.100:/home 28G 2.6G 25G 10% /mnt/nfs/home
192.168.0.100:/var/nfs
28G 2.6G 25G 10% /mnt/nfs/var/nfs
[root@client ~]#

và lệnh:

mount

[root@client ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (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 on /mnt/nfs/home type nfs (rw,addr=192.168.0.100)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.0.100)
[root@client ~]#

Kiểm tra:

Trên thành phần client, bạn hãy thử tạo file thử nghiệm trên NFS chia sẻ:

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

Trên server:

ls -l /home/
[root@server ~]# ls -l /home/
total 55540
-rw-r--r-- 1 root root 0 Sep 16 17:30 test.txt
[root@server ~]#

ls -l /var/nfs
[root@server ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 65534 65534 0 Sep 16 17:30 test.txt
[root@server ~]#

Hãy lưu ý đến thuộc tính quyền sở hữu của file test, thư mục /home NFS được gán quyền truy cập như root, do đó file /home/test.txt thuộc về tài khoản root, và tương tự, /var/nfs sẽ thuộc quyền quản lý của 65534.

Tự động ghép các thư mục NFS chia sẻ khi hệ thống khởi động:

Thay vì việc gán các thư mục chia sẻ này theo cách thủ công từ phía client, chúng ta có thể chỉnh lại file /etc/fstab để hệ thống tự động nhận dạng khi khởi động. Trên client, mở file /etc/fstab:

vi /etc/fstab

[...]
192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0
192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0

thay vì rw,sync,hard,intr bạn có thể sử dụng các lựa chọn khác nhau. Để tìm hiểu thêm về những lựa chọn này, hãy xem thêm tại dòng lệnh:

man nfs

Kiểm tra lại xem việc chỉnh sửa /etc/fstab có mang lại hiệu quả hay không, hãy khởi động lại hệ thống client:

reboot

Sau quá trình này, bạn sẽ thấy 2 thư mục chia sẻ NFS khi gõ lệnh:

df -h

[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       28G  2.2G   25G   8% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 250M     0  250M   0% /dev/shm
192.168.0.100:/home    28G  2.6G   25G  10% /mnt/nfs/home
192.168.0.100:/var/nfs
                       28G  2.6G   25G  10% /mnt/nfs/var/nfs
[root@client ~]#

và:

mount

[root@client ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (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 on /mnt/nfs/home type nfs (rw,sync,hard,intr,addr=192.168.0.100)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,addr=192.168.0.100)
[root@client ~]#

Trên đây là 1 số thao tác để thiết lập hệ thống NFS Server và Client trên nền tảng CentOS 5.5. Chúc các bạn thành công!

T.Anh (theo HowToForce)
Đánh giá(?):
META.vn | Mua sắm trực tuyến
Bài viết mới nhất
Xem tất cả
Bài viết cũ hơn cùng chủ đề
Xem tất cả