NFS viết tắt cho Network File System; Thông qua NFS, các máy tính có thể chia sẻ dữ liệu (đọc, ghi/xóa) như thể nằm ngay trên ổ đĩa cứng của máy mình.
Bài hướng dẫn sẽ sử dụng 2 máy tính cài đặt Centos 7 như sau:
- NFS Server: server.tgs.com.vn, IP address: 192.168.1.100
- NFS Client: client.tgs.com.vn, IP address: 192.168.1.101
Bước 1: Cấu hình Firewall
Sử dụng firewall mặc định của Centos 7
yum -y install firewalld
Khởi động và đặt chế độ khởi động mặc định
systemctl start firewalld.service systemctl enable firewalld.service
Mở các port SSH và NFS
firewall-cmd --permanent --zone=public --add-service=ssh firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --reload
Bước 2: Cài đặt NFS
Trên server, ta chạy lệnh:
yum -y install nfs-utils
Sau đó khởi động nfs server service.
systemctl enable nfs-server.service systemctl start nfs-server.service
Trên client:
yum install nfs-utils
Bước 3: Tạo thư mục chia sẻ trên Server
Trên server ta tạo thư mục /home và /var/nfs .Khi truy cập vào một vùng NFS share, user thực hiện là nfsnobody. Thông thường /home không được own bởi nfsnobody và vì chúng ra muốn đọc và ghi trên /home, ta nên để cho NFS biết rằng truy nhập đó thực hiện bởi root. Thư mục /var/nfs không tồn tại, ta phải tạo nó và thay đổi ownership thành nfsnobody.
mkdir /var/nfs chown nfsnobody:nfsnobody /var/nfs chmod 755 /var/nfs
Sử dụng export để khai báo phân vùng sử dụng NFS share
vi /etc/exports
Sau đó thêm vào:
/home 192.168.1.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.1.101(rw,sync,no_subtree_check)
Tùy chọn no_root_squash để /home được access bởi root. Sau đó chạy lệnh:
exportfs -a
Bước 4: Mount NFS Shares trên Client
Trên client, trước tiên tạo các các thư mục sau để mount NFS share
mkdir -p /mnt/nfs/home mkdir -p /mnt/nfs/var/nfs
Sau đó mount vào như sau:
mount 192.168.1.100:/home /mnt/nfs/home mount 192.168.1.100:/var/nfs /mnt/nfs/var/nfs
Khi đó sẽ thấy 2 phân vùng như sau:
df -h
[root@client ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 28G 1.7G 26G 7% / devtmpfs 909M 0 909M 0% /dev tmpfs 919M 0 919M 0% /dev/shm tmpfs 919M 8.6M 910M 1% /run tmpfs 919M 0 919M 0% /sys/fs/cgroup /dev/sda1 497M 208M 290M 42% /boot tmpfs 184M 0 184M 0% /run/user/0 192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home 192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs
Bước 5: Kiểm tra
Trên máy Client, tạo các file trên NFS share
touch /mnt/nfs/home/test.txt touch /mnt/nfs/var/nfs/test.txt
Chuyển sang server để kiểm tra các file này
ls -l /home/
[root@server1 ~]# ls -l /home/ total 0 drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator -rw-r--r--. 1 root root 0 Jun 29 13:07 test.txt
ls -l /var/nfs
[root@server1 ~]# ls -l /var/nfs total 0 -rw-r--r--. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt
Chú ý rằng, ownership của file test trọng /home sẽ nhận quyền của thư mục root nên các file cũng có ownership là root còn /var/nfs nhận ownership là nfsnobody.
Bước 6: Mount NFS Shares lúc khởi động
Để NFS share luôn được mount kể cả khi khởi động lại, ta làm như sau:
vi /etc/fstab
Thêm vào dòng sau:
192.168.1.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.1.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0
Chú ý các tùy chọn rw,sync,hard,intr của NFS
Như vậy chúng ta đã cài đặt xong NFS Server. Chúc bạn thành công