Cấu hình NFS chia sẻ file trên Linux (Phần 2)

Trong bài viết này, mình sẽ hướng dẫn các bạn cấu hình NFS trên phía Server và Client để giúp chia sẻ dữ liệu. Mô hình mình thực hiện trong bài này là mạng LAN như sau:

Nếu các bạn muốn cho phép truy cập qua internet bạn cần thực hiện cấu hình NFS Server trên địa chỉ IP WAN và bên phía NFS Client cũng cần cấu hình Firewall (nếu cần) và NAT port để có thể truy xuất được dữ liệu từ xa. Tuy nhiên, về cách thức cấu hình NFS thì không có gì thay đổi.

1. Cấu hình NFS Server

Bước 1: Cài đặt NFS Server

Bạn cần cài đặt gói nfs-kernel-server bằng cách gõ lệnh sau:

sudo apt-get update
sudo apt-get install nfs-kernel-server

Bước 2: Tạo thư mục chia sẻ trên máy chủ

– Trên server (192.168.1.5) tạo ra thư mục cho mục đích chia sẻ chung và gán quyền cho thư mục:


#sudo mkdir -p /share/data

#sudo chown -R nobody:nogroup /share/data

=> khi bạn gán quyền sang nobody:nogroup thì superusers tại client sẽ không thể thực hiện hành động quản trị điển hình, như thay đổi chủ sở hữu của một tập tin hoặc tạo ra một thư mục mới cho một nhóm người dùng, trên dữ liệu chia sẻ NFS-mounted này.

– Exports (/etc/exports) thư mục đó để cho phép chia sẻ, chỉnh sửa file /etc/exports bằng cách gõ lệnh:


#sudo vim /etc/exports

Tại đây, cấu trúc chung của mỗi dòng cấu hình có dạng như sau:

directory_to_share client(share_option1,...,share_optionN)

Chúng ta sẽ cần phải tạo ra một dòng cho mỗi thư mục mà chúng ta dự định chia sẻ. theo mô hình trên sẽ như sau:


/share/data 192.168.1.1/24(rw,async,no_subtree_check)

Trong đó, ý nghĩa của một số tùy chọn:

  • rw: Tùy chọn này cho phép máy tính client truy cập cả đọc và viết vào bộ đĩa (volume).
  • sync: Tùy chọn này bắt buộc NFS phải ghi các thay đổi vào đĩa trước khi trả lời. Điều này dẫn đến một môi trường ổn định và phù hợp hơn kể từ khi trả lời phản ánh tình trạng thực tế của bộ đĩa (volume) từ xa. Tuy nhiên, nó cũng làm giảm tốc độ của hoạt động tập tin.
  • no_subtree_check: tùy chọn này ngăn cản việc kiểm tra cây con, đó là một quá trình mà host phải kiểm tra xem các tập tin thực sự vẫn có sẵn trong cây xuất cho mỗi yêu cầu.
  • no_root_squash: Theo mặc định, NFS chuyển yêu cầu từ người dùng root từ xa vào một người dùng không có đặc quyền trên máy chủ. Điều này đã được dự định như là tính năng bảo mật để ngăn chặn một tài khoản root trên máy khách (client) sử dụng hệ thống tập tin của máy chủ như là root.

– Sau cùng, bạn cần khởi động lại dịch dụ nfs-kernel-server


#sudo systemctl restart nfs-kernel-server

2. Cấu hình NFS Client

Bước 1: Cài đặt NFS Client

Bạn cần cài đặt gói nfs-common sẽ bao gồm NFS Client, mà không bao gồm các thành phần máy chủ không cần thiết:

sudo apt-get update
sudo apt-get install nfs-common

Bước 2: Tạo điểm kết nối trên Client
Bây giờ, bạn cần tạo ra thư mục trên Client và kết nối (mount) thư mục này đến thư mục chia sẻ trên Server.

– Tạo ra thư mục rỗng (không chứa dữ liệu sẵn có):

#sudo mkdir -p /storage/nfs/data 

– Thực hiện mount đến thư mục chia sẻ trên Server:


#sudo mount 192.168.1.5:/share/data /storage/nfs/data

Các bạn có thể dùng lệnh sau để kiểm tra việc gắn kết đã thành công hay chưa


#df -h

Nếu thấy có thông tin về thư mục mount thì bạn đã kết nối thành công. Ngoài ra, để xem có bao nhiêu không gian thật sự (dung lượng) đang được sử dụng theo từng điểm gắn kết (mount), sử dụng lệnh sau:


#du -sh /storage/nfs/data

3. Tháo gỡ các điểm gắn kết trên NFS Client

Nếu bạn không còn muốn các thư mục từ xa được gắn kết vào hệ thống trên NFS Server, bạn có thể gỡ bỏ nó bằng cách unmounting, thực hiện lệnh sau:

sudo umount /storage/nfs/data

Bạn có thể kiểm tra kết quả bằng cách dùng lệnh: df -h

Nếu cấu hình này đã được lưu để kích hoạt khi Server khởi động (được mô tả ở bước 4), bạn cần chỉnh sửa file /etc/fstab và xóa các dòng cấu hình cho thư mục này.

4. Tự động mounted thư mục khi Server khởi động

Bạn phải cấu hình /etc/fstab để lưu lại các kết nối từ xa đến NFS Server mỗi khi bạn khởi động lại máy client.

– Thực hiện chỉnh sửa file /etc/fstab


#sudo nano /etc/fstab

– Thêm vào cấu hình như sau:


#192.168.1.5:/share/data /storage/nfs/data nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Khi đó, các máy client sẽ tự động gắn kết (mount) các phân vùng từ xa lúc khởi động.

Nguồn: tổng hợp từ internet.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *