Nội dung
NFS là gì?
NFS là viết tắt của Network File System, là một giao thức chia sẻ file cho phép các máy tính truy cập và sử dụng các tệp trên một máy tính khác trong mạng, giống như cách chúng truy cập các tệp trên ổ cứng cục bộ của chính chúng.
NFS được phát triển bởi Sun Microsystems vào năm 1984 và hiện đang được sử dụng rộng rãi trên các hệ thống Linux, Unix, macOS và Windows.
NFS có những ưu điểm nổi bật sau và rất phù hợp đối với các hệ thống sử dụng.
- NFS là một giải pháp chia sẻ file hiệu quả và đáng tin cậy.
- NFS sử dụng cơ sở hạ tầng IP hiện có, vì vậy nó không yêu cầu thêm phần cứng hoặc phần mềm.
- NFS có thể được sử dụng để chia sẻ file giữa các hệ điều hành khác nhau.
Hướng dẫn cài đặt NFS
NFS hỗ trợ trên nhiều OS Linux, và trong hướng dẫn này tôi sẽ hướng dẫn bạn cài đặt trên CentOS,Almalinux và Ubuntu/Debian
Cài đặt NFS Server trên CentOS/Almalinux
Trên hệ điều hành CentOS bạn cài đặt bằng lệnh sau
yum install nfs-utils -y
Sau khi cài đặt xong bạn sử dụng các lệnh sau để bật kích hoạt và khởi động
systemctl enable nfs-server systemctl start nfs-server systemctl status nfs-server
Cài đặt NFS Server trên Ubuntu/Debian
Trên Ubuntu/Debian bạn cài đặt NFS bằng lệnh sau. Bạn chỉ cần copy và chạy trong cửa sổ Terminal
apt-get update -y apt-get install nfs-kernel-server -y apt-get install nfs-common -y
Sau khi cài xong bạn chạy các lệnh sau để bật kích hoạt và khởi động.
systemctl enable nfs-kernel-server systemctl start nfs-kernel-server systemctl status nfs-kernel-server
Hướng dẫn sử dụng NFS
Để hướng dẫn cách sử dụng thì trong bài viết này tôi sẽ đưa ra ví dụ thực tế. Với ví dụ thực tế bạn sẽ dễ dàng thao tác và dễ hiểu hơn. Và tôi có 2 máy chủ VPS sử dụng 2 OS khác nhau, cụ thể như sau
Máy chủ chia sẻ (A)
- Sử dụng CentOS 7
- IP:
103.110.1.1
- Thư mục cần chia sẻ:
/root/lab_nfs
Máy chủ được chia sẻ (B)
- Sử dụng Ubuntu
- IP: 103.110.2.2
Bước 1: Tạo thư mục chia sẻ và cấu hình NFS trên Máy chủ chia sẻ (A)
Trên máy chủ chia sẻ(A) bạn hãy tạo và phân quyền lại thư mục như sau
mkdir -p /root/lab_nfs chown nobody:nogroup /root/lab_nfs
Tiếp theo bạn mở cấu hình NFS tại vị trí sau. Tôi sẻ sử dụng lệnh vi
để mở file
vi /etc/exports
Sau đó thêm dòng sau vào file và lưu lại
- /root/lab_nfs: Thư mục cần chia sẻ
- 103.110.2.2: Địa chỉ IP của máy chủ cần chia sẻ đến
- rw,sync,no_subtree_check
- rw (read-write): Cho phép máy khách truy cập thư mục được chia sẻ ở chế độ đọc và ghi. Điều này có nghĩa là máy khách có thể đọc các tệp hiện có và tạo, sửa đổi hoặc xóa các tệp mới
- sync: Yêu cầu máy chủ NFS ghi tất cả các thay đổi vào đĩa ngay lập tức sau khi chúng được thực hiện. Điều này đảm bảo rằng dữ liệu được đồng bộ hóa và giảm nguy cơ mất dữ liệu trong trường hợp máy chủ NFS bị lỗi.
- no_root_squash: Cho phép người dùng root trên máy khách truy cập các tệp với quyền root trên máy chủ NFS. Theo mặc định, NFS sẽ ánh xạ người dùng root trên máy khách thành người dùng nobody hoặc bất kỳ người dùng nào không có đặc quyền trên máy chủ NFS để tăng cường bảo mật. Tùy chọn này vô hiệu hóa hành vi mặc định đó.
- no_subtree_check: Tắt kiểm tra cây con, một tính năng bảo mật được thiết kế để ngăn chặn các vòng lặp vô hạn xảy ra khi một thư mục được chia sẻ được gắn kết bên trong chính nó. Tuy nhiên, việc vô hiệu hóa kiểm tra cây con có thể có những rủi ro về bảo mật, vì vậy nó chỉ nên được sử dụng khi cần thiết và nếu bạn hiểu rõ những rủi ro liên quan.
/root/lab_nfs 103.110.2.2(rw,sync,no_root_squash,no_subtree_check)
Bây giờ bạn hãy khởi động lại dịch vụ để áp dụng cấu hình
systemctl restart nfs-server
Bước 3: Cấu hình NFS trên máy chủ được chia sẻ (B)
Trên máy chủ nhận chia sẻ bạn hãy tạo thư mục để mount thư mục chia sẻ
mkdir -p /mnt/lab_nfs
Tiếp theo sử dụng lệnh mount để kết nối với máy chủ NFS:
mount 103.110.1.1:/root/lab_nfs /mnt/lab_nfs
Lưu ý: Đảm bảo thay đổi IP (103.110.1.1) bằng IP thực của máy chủ CentOS 7 và /root/lab_nfs là đường dẫn trên máy chủ CentOS 7.
Sau khi mount xong bạn hãy kiểm tra lại thư mục đã mount bằng lệnh df -h
Bạn hãy thực hiện kiểm tra dữ liệu trong thư mục sau khi mount. Mọi dữ liệu đã sẵn sàng hiển thị.
Để ngắt kết nối nếu không sử dụng nữa, bạn sử dụng lệnh umount với cú pháp như sau. Lưu ý lệnh umount
được chạy ở máy khách tức là máy chủ được chia sẻ (B). Và khi chạy lệnh bạn không được đứng trong thư mục, nếu không khi chạy umount bạn sẽ nhận được thông báo device is busy
umount /mnt/lab_nfs
Bước 4: Cấu hình khởi động cùng hệ thống (Thực hiện trên máy Client)
Trường hợp nếu bạn reboot lại máy chủ bạn cần khởi mount lại. Do đó bạn hãy ghi thêm tệp cấu hình vào /etc/fstab
để khởi đông cùng hệ thống.
Bạn mở file /etc/fstab
lên
vi /etc/fstab
Sau đó thêm vào nội dung sau cuối tệp cấu hình.
mount 103.110.1.1:/root/lab_nfs /mnt/lab_nfs defaults 0 0
Chú thích:
- 103.110.1.1:/root/lab_nfs: Đây là địa chỉ IP của máy chủ NFS và đường dẫn đến thư mục chia sẻ trên máy chủ.
- /mnt/lab_nfs: Đây là đường dẫn đến thư mục trên máy khách nơi thư mục được mount.
- nfs: Đây là loại filesystem, trong trường hợp này, là NFS.
- defaults: Đây là tùy chọn mặc định cho việc mount filesystem. Nó bao gồm một tập hợp các tùy chọn như rw (read-write), suid (set user ID on execution), dev (interpret character or block special devices on the file system), và một số tùy chọn khác.
- 0 0: Đây là hai giá trị cho việc dump và pass. Trong hệ thống Linux, dump là một chương trình sao lưu, và pass là một số để xác định thứ tự trong quá trình kiểm tra và mount filesystems trong quá trình khởi động. Trong trường hợp cụ thể này, giá trị 0 cho dump và pass có thể được hiểu là không thực hiện sao lưu và không kiểm tra filesystem trong quá trình khởi động.
NFS là một cách hiệu quả để chia sẻ dữ liệu trên mạng Linux. Bằng cách cài đặt và định cấu hình NFS, bạn có thể cho phép các máy khách khác truy cập vào thư mục và tệp của mình.
Chúc bạn thực hiện thành công
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
- Hotline 247: 028 888 24768
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.