NFS là một cơ chế cho phép lưu trữ và truy vấn dữ liệu từ đĩa thông qua một mạng chia sẻ. Với NFS nó cho phép người dùng truy cập tới các file, thư mục ở xa (remote) như cách đang truy cập hệ thống file ở máy trạm. NFS khởi xướng và phát triển bởi Sun Microsystems
Mặc định giao thức NFS làm việc trên cổng 111/udp
và 2049/tcp
Cài đặt và cấu hình NFS Server trên CentOS 7
Chạy lệnh sau để cài đặt:
yum install nfs-utils
Chuẩn bị thư mục chia sẻ: giả sử thư mục sẽ chia sẻ như ổ đĩa NFS là /share-data
nếu chưa có thì tạo nó:
mkdir /share-data Thay đổi permission cho thư mục chmod -R 755 /share-data chown nfsnobody:nfsnobody /share-data
Kích hoạt và chạy các dịch vụ cần thiết:
systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap
Thiết lập quyền truy cập (client truy cập được từ một IP cụ thể của Client), cập nhật quyền này vào file /etc/exports
Ví dụ IP 192.168.1.100, 192.168.1.10 có quyền truy cập:
/share-data 192.168.1.100(rw,sync,no_root_squash,no_all_squash) /share-data 192.168.1.10(rw,sync,no_root_squash,no_all_squash)
Nếu IP thay bằng *
thì mọi client có quyền truy cập.
Chạy dịch vụ NFS
systemctl restart nfs-server
Mở cổng cho NFS qua firewall
firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload
Cài đặt NFS Client
Cài gói nfs-utils sau cài trên máy client CentOS để có khả năng truy cập, gắn ổ đĩa NFS từ server NFS
yum install nfs-utils
Gán ổ đĩa NFS Server vào máy Client
Thiết lập để thư mục /share-data
từ NFS Server có IP 192.168.1.3
, sẽ gắn vào /mnt/nfs/share-data
của máy Client
mkdir -p /mnt/nfs/share-data mount -t nfs 192.168.1.3:/share-data /mnt/nfs/share-data/
Giờ thì từ client truy cập đến /mnt/nfs/share-data
tương ứng đang truy cập /share-data
của Server NFS.
Có thể dùng NFS tạo ổ đĩa chia sẻ chạy các dịch vụ trên Docker Swarm