Home Máy chủ LinuxLinux căn bản NFS là gì? hướng dẫn cài đặt và sử dụng NFS trên Linux

NFS là gì? hướng dẫn cài đặt và sử dụng NFS trên Linux

by Quân Đỗ Trung
A+A-
Reset

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

AZDIGI.COM
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

AZDIGI.COM
systemctl enable nfs-server
systemctl start nfs-server
systemctl status nfs-server
    
NFS là gì? hướng dẫn cài đặt và sử dụng NFS

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

AZDIGI.COM
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.

AZDIGI.COM
systemctl enable nfs-kernel-server
systemctl start nfs-kernel-server
systemctl status nfs-kernel-server
    
CleanShot 2024 01 21 at 14.31.18

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

AZDIGI.COM
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

AZDIGI.COM
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.
AZDIGI.COM
/root/lab_nfs 103.110.2.2(rw,sync,no_root_squash,no_subtree_check)

    
CleanShot 2024 01 21 at 15.10.37

Bây giờ bạn hãy khởi động lại dịch vụ để áp dụng cấu hình

AZDIGI.COM
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ẻ

AZDIGI.COM
mkdir -p /mnt/lab_nfs
    

Tiếp theo sử dụng lệnh mount để kết nối với máy chủ NFS:

AZDIGI.COM
mount 103.110.1.1:/root/lab_nfs /mnt/lab_nfs
    
CleanShot 2024 01 21 at 15.09.45

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

CleanShot 2024 01 21 at 15.13.15

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ị.

CleanShot 2024 01 21 at 15.12.07

Để 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

AZDIGI.COM
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

AZDIGI.COM
vi /etc/fstab 
    

Sau đó thêm vào nội dung sau cuối tệp cấu hình.

AZDIGI.COM
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:

Đánh giá

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign