Cài đặt và định cấu hình NFS trên Ubuntu

Tác giả: VPS chính hãng 06 tháng 06, 2023

Nếu bạn cần chia sẻ dữ liệu chung giữa các hệ thống máy khách khác nhau, bạn sẽ thấy NFS (Network File System) hữu ích để chia sẻ thư mục và tệp với các máy khách khác. NFS là một giao thức được sử dụng để chia sẻ tệp và thư mục qua mạng máy khách Linux. Bất kể bạn đang sử dụng bản phân phối nào, NFS cho phép bạn chia sẻ các thư mục qua mạng được tạo trên máy chủ NFS và các tệp được thêm vào mạng đó. Vì giao thức NFS không được mã hóa theo mặc định nên nó không cung cấp xác thực người dùng và bạn có thể truy cập máy chủ bằng địa chỉ IP hoặc tên máy chủ của máy khách. Trong bài viết này, bạn sẽ biết được cách Cài đặt và Cấu hình NFS trên Ubuntu. 

Điều kiện tiên quyết để cài đặt NFS trên Ubuntu

Để hướng dẫn này hoạt động chính xác, hãy cung cấp các tùy chọn bên dưới:

  • Một hệ thống chạy Ubuntu.
  • Người dùng không phải root có đặc quyền sudo.
  • Có quyền truy cập vào dòng lệnh/Terminal.
  • Hai máy Ubuntu.

Mẹo: Máy chạy Ubuntu của bạn sẽ hoạt động như một máy chủ NFS và máy thứ hai chạy bất kỳ bản phân phối Linux nào khác mà phần chia sẻ sẽ được gắn trên đó. Mặc dù máy chủ và máy khách phải liên lạc với nhau qua mạng riêng, nhưng bạn nên sử dụng địa chỉ IP công cộng và định cấu hình tường lửa máy chủ để chỉ cho phép lưu lượng truy cập trên cổng 2049 từ các nguồn đáng tin cậy.

=>> Đọc thêm: Cài đặt và thiết lập Squid Proxy trên Ubuntu

Hướng dẫn cài đặt và cấu hình NFS trên Ubuntu

Hãy thực hiện các bước của hướng dẫn này để cài đặt và định cấu hình NFS trên Ubuntu và các bản phân phối dựa trên Debian khác.

Bước 1: Cài đặt máy chủ NFS

Đối với bước đầu tiên, bạn nên bắt đầu với việc thiết lập máy chủ NFS. Vì vậy, hãy chạy:

$ sudo apt update 

$ sudo apt install nfs-kernel-server

Khi bạn được nhắc, hãy nhập Y và nhấn ENTER để quá trình cài đặt tự động bắt đầu.

Bước 2: Tạo thư mục NFS dùng chung

Để cấu hình máy chủ NFS, bạn cần tạo một thư mục được chia sẻ bởi tất cả các hệ thống máy khách. Ở đây chúng tôi đặt tên cho nó là ”nfs-share”. Vì vậy, hãy chạy:

$ sudo mkdir -p /mnt/nfs_share

Bước 3: Định cấu hình quyền thư mục

Khi thư mục của bạn được tạo, tất cả các máy khách sẽ có thể truy cập nó một cách dễ dàng. Vì vậy, hãy đặt quyền của nó bằng cách chạy lệnh sau:

$ sudo chown -R nobody:nogroup /mnt/nfs_share/

Bước 4: Thiết lập quyền đối với tệp

Bước thứ 4 để cài đặt và định cấu hình NFS trên Ubuntu là nơi bạn có thể đặt quyền truy cập tệp cho tệp thư mục ”nfs-share”.

$ sudo chmod 777 /mnt/nfs_share/

Bằng cách này, các quyền đọc, viết và thực thi sẽ được phân bổ.

Thiết lập quyền cho tệp trên NFS để thực thi đa dạng chức năng

Thiết lập quyền cho tệp trên NFS để thực thi đa dạng chức năng

Bước 5: Cấp quyền truy cập NFS

Để truy cập máy chủ NFS, bạn cần cấp quyền truy cập cho hệ thống máy khách. Mở “/etc/exports” trong trình chỉnh sửa yêu thích của bạn. Ở đây chúng tôi sử dụng nano.

$ sudo nano /etc/exports

Và nếu bạn thích Vim:

$ sudo vim /etc/exports

Sau đó, thêm dòng bắt buộc tùy thuộc vào việc bạn muốn cấp quyền truy cập cho toàn bộ mạng con, cho một hay nhiều máy khách. Sau đó nhấn CTRL+O để lưu tệp.

/mnt/nfs_share ‘’EntireSubnetIP’’(rw,sync,no_subtree_check).

Các chức năng của lệnh trên là:

  • Khách hàng được cấp quyền truy cập đọc và ghi vào các thư mục máy chủ bằng cách sử dụng tùy chọn “rw”.
  • Để trả lời máy khách, “sync” khiến NFS viết các sửa đổi. Bằng cách sử dụng tùy chọn này, khách hàng sẽ luôn thấy tình trạng thực tế của máy chủ.
  • Kiểm tra subtree bị vô hiệu hóa bởi “no subtree check“, khi người dùng đổi tên tệp, quy trình này có thể dẫn đến sự cố.

Sử dụng lệnh dưới đây để cấp quyền truy cập cho một khách hàng:

/mnt/nfs_share client_IP_1 (re,sync,no_subtree_check)

Và nếu bạn thích nhiều khách hàng, bạn cần chỉ định từng khách hàng trên một tệp riêng biệt như bạn thấy bên dưới:

/mnt/nfs_share client_IP_1 (re,sync,no_subtree_check) 

/mnt/nfs_share client_IP_2 (re,sync,no_subtree_check)

Bước 6: Xuất thư mục chia sẻ NFS

Vì các chỉnh sửa được thực hiện trên /etc/exports, bạn có thể xuất tất cả các thư mục dùng chung mà bạn đã đăng ký trong tệp đó. Để làm điều này, hãy chạy:

$ sudo exportfs -a

Tiếp theo, gõ lệnh sau để khởi động lại NFS Kernel Server để áp dụng các thay đổi cho cấu hình:

$ sudo systemctl restart nfs-kernel-server

Bước 7: Cấp quyền truy cập NFS thông qua tường lửa

Trong bước này, bạn sẽ cho phép máy khách truy cập máy chủ nếu bạn đang sử dụng UFW. Bằng cách này, có thể truy cập và gắn thư mục dùng chung.

sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

Ngoài ra, nếu tường lửa bị tắt, hãy bật nó:

$ sudo ufw enable

Sau đó, bạn có thể sử dụng lệnh bên dưới để kiểm tra các thay đổi:

sudo ufw status

Khi bạn thấy rằng lưu lượng truy cập trong cổng 2049  (chia sẻ tệp mặc định) được cho phép trong đầu ra của mình, điều đó có nghĩa là bạn đã hoàn tất.

Bước 8: Thiết lập ứng dụng khách NFS trên Ubuntu

Cho đến bước này, bạn đã cài đặt máy chủ NFS và xuất các chia sẻ cần thiết. Hãy cấu hình máy khách và gắn hệ thống tệp từ xa. Quá trình tương tự có thể được thực hiện trên các máy MacOS và Windows để gắn chia sẻ NFS trên chúng. Chạy các lệnh bên dưới để bật NFS trên máy khách và cài đặt gói chung NFS.

Để cài đặt ứng dụng khách NFS trên DebianUbuntu hãy chạy:

$ sudo apt update 

$ sudo apt install nfs-common

Để cài đặt ứng dụng khách NFS trên CentOSFedora:

$ sudo yum install nfs-utils

Và cuối cùng, gõ “y” và nhấn ENTER để bắt đầu cài đặt.

Bước 9: Tạo một Mount Point trên hệ thống máy khách NFS

Vì máy khách cần một điểm gắn kết cho thư mục dùng chung do máy chủ xuất, hãy sử dụng lệnh sau để tạo thư mục:

sudo mkdir -p /mnt/nfsdir_client

Tiếp theo, hãy chạy lệnh bên dưới để gắn thư mục dùng chung trên hệ thống máy khách:

sudo mount host_IP:/mnt/nfsdir /mnt/nfsdir_client

Xác minh xem thư mục gắn kết có được thực hiện thành công hay không bằng cách sử dụng lệnh  df -h

Chạy lệnh bên dưới để ngắt kết nối thư mục dùng chung khi bạn không cần nó nữa:

sudo umount /mnt/nfsdir_client

Bước 10: Kiểm tra NFS Share trên hệ thống máy khách

Bạn có thể tạo một vài tệp trong thư mục chia sẻ NFS nằm trên máy chủ để kiểm tra xem thiết lập NFS của bạn có hoạt động chính xác không.

$ cd /mnt/nfs_share/ 

$ touch file1.txt file2.txt file3.txt

Để kiểm tra xem các tệp có tồn tại trong thư mục hay không, hãy quay lại hệ thống máy khách NFS:

$ ls -l /mnt/nfs_clientshare/

Trên đầu ra của bạn, hãy kiểm tra xem bạn có thể truy cập các tệp bạn đã tạo trên máy chủ NFS hay không. Nếu các tệp được truy cập thành công trên máy khách thông qua máy chủ NFS thì bạn đã hoàn tất.

=>> Đọc thêm: Cách cài đặt và cấu hình Redis trên Ubuntu

Kiểm tra các tệp NFS trên Ubuntu để biết đã truy cập thành công hay chưa

Kiểm tra các tệp NFS trên Ubuntu để biết đã truy cập thành công hay chưa

Các thiết lập bổ sung khác

Cách gắn các thư mục dùng chung NFS khi khởi động hệ điều hành

Bạn có thể chạy lệnh bên dưới để cho phép các thư mục được gắn kết sau khi bạn khởi động lại máy. Chỉ cần thêm chúng vào tệp /etc/fstab.

sudo nano /etc/fstab

hoặc:

sudo vim /etc/fstab

Tiếp theo, sao chép dòng sau vào cuối tệp, thay thế “host_IP” bằng địa chỉ IP thực của máy chủ lưu trữ:

host_IP:/mnt/nfsdir /mnt/nfsdir_client nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Bằng cách này, tất cả các thư mục trong danh sách sẽ được gắn tự động vào mỗi lần khởi động. Bạn có thể thêm dòng cho bất kỳ thư mục nào bạn cần.

Cách gỡ cài đặt máy chủ NFS trên Ubuntu

Nếu bạn xem xét gỡ cài đặt máy chủ NFS, hãy sử dụng lệnh sau:

$ sudo apt remove nfs-kernel-server

Cách gỡ cài đặt ứng dụng khách NFS trên Ubuntu

Chạy lệnh bên dưới để gỡ cài đặt máy khách NFS:

$ sudo apt remove nfs-common

Trong bài viết này, bạn đã biết được cách cài đặt và cấu hình NFS trên Ubuntu.Giao thức NFS không được mã hóa theo mặc địn, vì vậy nếu bạn đang cân nhắc triển khai NFS trong sản xuất và chia sẻ dữ liệu quan trọng, thì bạn nên bật xác thực Kerberos. Là một giải pháp tốt để truy cập dữ liệu từ xa, NFS đi kèm với một thiết lập dễ dàng. Nếu bạn muốn đăng ký sử dụng dịch vụ VPS Linux/Windows hay có bất kỳ câu hỏi nào cần giải đáp, xin vui lòng liên hệ với chúng tôi qua vpschinhhang.com. Chúc các bạn thành công!

Kerberos