Hướng dẫn Cài đặt NFS Server & Client trên Linux (Ubuntu, CentOS)
Trong quản trị hệ thống Linux, việc chia sẻ file và thư mục qua mạng là một nhu cầu rất phổ biến. **NFS (Network File System)** là một giao thức mạnh mẽ và ổn định, cho phép bạn "mount" (gắn) một thư mục từ một máy chủ (server) xa vào máy khách (client). Máy khách sau đó có thể sử dụng thư mục mạng này y hệt như một thư mục cục bộ. Điều này rất hữu ích để tạo ra một không gian lưu trữ tập trung.
Bài viết này sẽ hướng dẫn bạn chi tiết, từng bước một, cách cài đặt và cấu hình một hệ thống NFS hoàn chỉnh. Chúng ta sẽ thiết lập một NFS Server và sau đó kết nối đến nó từ một NFS Client. Hướng dẫn này áp dụng cho các bản phân phối phổ biến như Ubuntu, Debian, CentOS và RHEL.
Mô hình Hệ thống
Để dễ hình dung, chúng ta sẽ làm việc với mô hình sau:
- NFS Server: Máy chủ chứa dữ liệu, có địa chỉ IP là
10.0.0.100. - NFS Client: Máy khách sẽ truy cập dữ liệu, có địa chỉ IP là
10.0.0.101. - Thư mục chia sẻ: Thư mục
/srv/nfs/sharedtrên Server sẽ được chia sẻ. - Điểm gắn (Mount Point): Thư mục
/mnt/nfs/sharedtrên Client sẽ được dùng để truy cập.
Phần 1: Cấu hình trên NFS Server (IP: 10.0.0.100)
Đầu tiên, chúng ta sẽ cài đặt và cấu hình máy chủ sẽ chia sẻ file.
Bước 1: Cài đặt gói NFS Server
Mở terminal trên máy chủ và cài đặt các gói cần thiết. Lệnh sẽ khác nhau tùy vào hệ điều hành của bạn.
Trên Ubuntu/Debian:
sudo apt update
sudo apt install nfs-kernel-server -y
Trên CentOS/RHEL:
sudo yum install nfs-utils -y
Bước 2: Tạo Thư mục Chia sẻ
Tiếp theo, chúng ta tạo thư mục sẽ được chia sẻ qua mạng. Đặt thư mục này trong /srv là một quy ước tốt.
sudo mkdir -p /srv/nfs/shared
Để tránh các vấn đề về quyền, chúng ta sẽ tạm gán quyền sở hữu thư mục này cho người dùng và nhóm nobody:nogroup.
sudo chown nobody:nogroup /srv/nfs/shared
sudo chmod 777 /srv/nfs/shared
Bước 3: Cấu hình Exports
Đây là bước quan trọng nhất. Chúng ta cần khai báo thư mục nào được chia sẻ và ai được phép truy cập nó trong file /etc/exports.
Mở file bằng trình soạn thảo:
sudo nano /etc/exports
Thêm dòng sau vào cuối file. Dòng này cho phép máy client có IP 10.0.0.101 được quyền đọc và ghi.
/srv/nfs/shared 10.0.0.101(rw,sync,no_subtree_check)
Trong đó, rw là quyền đọc/ghi, sync đảm bảo dữ liệu được ghi an toàn, và no_subtree_check giúp tăng hiệu năng. Lưu và đóng file.
Bước 4: Áp dụng Cấu hình và Khởi động Dịch vụ
Sau khi sửa file exports, hãy chạy lệnh sau để Nginx áp dụng thay đổi:
sudo exportfs -a
Cuối cùng, khởi động lại và kích hoạt dịch vụ NFS.
Trên Ubuntu/Debian:
sudo systemctl restart nfs-kernel-server
Trên CentOS/RHEL:
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
Nếu bạn đang dùng tường lửa (firewall), đừng quên mở cổng cho dịch vụ NFS từ IP của client.
Phần 2: Cấu hình trên NFS Client (IP: 10.0.0.101)
Bây giờ, chúng ta sẽ cấu hình máy khách để có thể truy cập vào thư mục đã được chia sẻ.
Bước 1: Cài đặt gói NFS Client
Mở terminal trên máy client và cài đặt các công cụ cần thiết.
Trên Ubuntu/Debian:
sudo apt update
sudo apt install nfs-common -y
Trên CentOS/RHEL:
sudo yum install nfs-utils -y
Bước 2: Tạo Điểm Gắn (Mount Point)
Tạo một thư mục trống trên máy client. Thư mục này sẽ là nơi nội dung từ server được hiển thị.
sudo mkdir -p /mnt/nfs/shared
Bước 3: Gắn (Mount) Thư mục Mạng
Sử dụng lệnh `mount` để kết nối đến thư mục chia sẻ trên server.
# Cú pháp: mount [IP Server]:[Thư mục Server] [Thư mục Client]
sudo mount 10.0.0.100:/srv/nfs/shared /mnt/nfs/shared
Để kiểm tra, hãy chạy lệnh df -h. Bạn sẽ thấy một dòng mới ở cuối, xác nhận thư mục mạng đã được gắn thành công.
Bước 4: Tự động Gắn khi Khởi động
Lệnh mount ở trên chỉ có tác dụng tạm thời. Để client tự động kết nối lại sau mỗi lần khởi động, chúng ta cần thêm một dòng vào file /etc/fstab.
Mở file:
sudo nano /etc/fstab
Thêm dòng sau vào cuối file. Các tùy chọn này giúp việc kết nối ổn định và hiệu quả hơn.
10.0.0.100:/srv/nfs/shared /mnt/nfs/shared nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Lưu và đóng file. Từ bây giờ, thư mục chia sẻ sẽ luôn sẵn sàng để sử dụng.
Kết luận
Bạn vừa hoàn thành việc cài đặt một hệ thống NFS hoàn chỉnh. NFS là một công cụ mạnh mẽ để quản lý dữ liệu tập trung, rất hữu ích cho các cụm máy chủ web, lưu trữ file media, hoặc các môi trường yêu cầu chia sẻ tài nguyên. Hãy thử nghiệm bằng cách tạo file trên client và xem chúng xuất hiện trên server. Chúc bạn thành công với dự án của mình!
1 Bình luận
Vui lòng đăng nhập để gửi bình luận.