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

Tác giả NetworkEngineer, T.Mười 28, 2021, 11:20:56 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

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


NFS hay Hệ thống tập tin mạng (Network File System) là một giao thức hệ thống tập tin phân tán ban đầu chỉ được phát triển bởi Sun Microsystems. Thông qua NFS, bạn có thể cho phép hệ thống chia sẻ thư mục và tập tin với những người khác qua mạng. Bằng cách chia sẻ các tập tin NFS, người dùng và thậm chí các chương trình có thể truy cập thông tin trên các hệ thống từ xa gần như thể họ đang ở trên một máy cục bộ.

NFS hoạt động trong môi trường máy khách-máy chủ, nơi máy chủ chịu trách nhiệm quản lý xác thực, ủy quyền và quản trị máy khách, cũng như tất cả dữ liệu được chia sẻ trong một hệ thống tập tin cụ thể. Sau khi ủy quyền, bất kỳ số lượng máy khách nào cũng có thể truy cập vào dữ liệu được chia sẻ như thể nó nằm trong hệ thống lưu trữ của họ. Cài đặt một máy chủ NFS trên hệ thống Ubuntu của bạn rất dễ dàng. Bạn chỉ cần thực hiện một số cài đặt và cấu hình cần thiết, cả trên máy chủ và máy khách là bạn đã sẵn sàng.

Trong bài viết này, mình sẽ giải thích từng bước cách cài đặt máy chủ và máy khách NFS cho phép bạn chia sẻ tập tin từ hệ thống Ubuntu này sang hệ thống Ubuntu khác.

Mình đã chạy các lệnh và thủ tục được mô tả trong bài viết này trên hệ thống Ubuntu 18.04 LTS và gần đây đã thử nghiệm chúng với Ubuntu 20.04 mới. Vì vậy chúng ta sẽ sử dụng dòng lệnh Ubuntu, Terminal để thực hiện tất cả các thao tác, bạn có thể mở nó bằng cách sử dụng dấu gạch ngang hệ thống hoặc tổ hợp phím Ctrl + Alt + T.

1. Cài đặt máy chủ NFS.

Để cài đặt hệ thống máy chủ để chia sẻ thư mục, chúng ta sẽ cần cài đặt máy chủ NFS Kernel trên đó, sau đó tạo và xuất các thư mục mà chúng ta muốn hệ thống máy khách truy cập. Vui lòng làm theo các bước sau để cài đặt phía máy chủ một cách suôn sẻ.

1.1. Cài đặt máy nhân NFS Kernel.

Trước khi cài đặt máy chủ NFS Kernel, chúng ta cần cập nhật chỉ mục kho lưu trữ của hệ thống với Internet thông qua lệnh apt sau đây là sudo:

Mã nguồn [Chọn]
$ sudo apt-get update
Lệnh trên cho phép chúng tôi cài đặt phiên bản mới nhất hiện có của phần mềm thông qua kho lưu trữ Ubuntu.
Bây giờ, hãy chạy lệnh sau để cài đặt NFS Kernel Server trên hệ thống của bạn:

Mã nguồn [Chọn]
$ sudo apt install nfs-kernel-server

Hệ thống sẽ nhắc bạn với tùy chọn Y / n để xác nhận xem bạn có muốn tiếp tục cài đặt hay không. Vui lòng nhập Y rồi nhấn Enter để tiếp tục, sau đó phần mềm sẽ được cài đặt thành công trên hệ thống của bạn.

1.2. Tạo thư mục dùng để chia sẻ với máy khách (Export Directory)

Thư mục mà chúng tôi muốn chia sẻ với hệ thống máy khách được gọi là Export Directory. Bạn có thể đặt tên cho nó theo sự lựa chọn của bạn, ở đây, mình sẽ tạo một thư mục xuất có tên là "sharedfolder" trong thư mục mnt (mount) của hệ thống của mình.

Sử dụng lệnh sau, bằng cách chỉ định tên thư mục theo nhu cầu của bạn, thông qua lệnh sau với tư cách là thư mục gốc:

Mã nguồn [Chọn]
$ sudo mkdir -p /mnt/sharedfolder

Vì chúng ta muốn tất cả các máy khách truy cập vào thư mục này, chúng ta sẽ xóa các quyền hạn chế của thư mục xuất thông qua các lệnh sau:

Mã nguồn [Chọn]
$ sudo chown nobody:nogroup /mnt/sharedfolder
Mã nguồn [Chọn]
$ sudo chmod 777 /mnt/sharedfolder
Giờ đây, tất cả người dùng từ tất cả các nhóm trên hệ thống máy khách sẽ có thể truy cập "sharedfolder" của chúng ta.


Bạn có thể tạo bao nhiêu thư mục con trong thư mục Export Directory tùy thích để máy khách truy cập.

1.3. Gán quyền truy cập máy chủ cho các máy khách thông qua tập tin NFS Export.

Sau khi tạo thư mục Export Directory, chúng ta sẽ cần cung cấp cho máy khách quyền truy cập vào máy chủ NFS. Quyền này được xác định thông qua tập tin Exports nằm trong thư mục /etc của hệ thống của bạn. Vui lòng sử dụng lệnh sau để mở tập tin này thông qua trình chỉnh sửa Nano:

Mã nguồn [Chọn]
$ sudo nano /etc/exports
Chỉnh sửa tập tin này cần quyền truy cập root, do đó bạn sẽ cần sử dụng sudo với lệnh của mình. Bạn cũng có thể mở tập tin trong bất kỳ trình soạn thảo văn bản yêu thích nào của bạn.

Khi bạn đã mở tập tin, bạn có thể cho phép máy khách truy cập vào.

Cho phép một máy khách truy cập vào thư mục được chia sẻ bằng cách thêm dòng sau vào tập tin:

Mã nguồn [Chọn]
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
Cho phép nhiều máy khách truy cập vào thư mục được chia sẻ bằng cách thêm các dòng sau vào tập tin:

Mã nguồn [Chọn]
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)

Cho phép một máy khách truy cập vào thư mục được chia sẻ bằng cách chỉ định toàn bộ mạng con mà các máy khách đó thuộc về:

Mã nguồn [Chọn]
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)
Trong ví dụ này, chúng ta đang chỉ định toàn bộ một mạng con của tất cả các máy khách mà chúng ta muốn cấp quyền truy cập vào thư mục xuất của chúng ta (sharedfolder)


Thêm các dòng bắt buộc vào tập tin Export của bạn rồi lưu bằng cách nhấn Ctrl + X, nhập Y, rồi nhấn Enter.

Các quyền "rw, sync, no_subtree_check" được xác định trong tập tin này có nghĩa là các máy khách có thể thực hiện:

  • rw: thao tác đọc và ghi
  • sync: ghi bất kỳ thay đổi nào vào đĩa trước khi áp dụng nó
  • no_subtree_check: ngăn kiểm tra các thư mục con

1.4. Xuất ra thư mục chia sẻ.

Sau khi thực hiện tất cả các cấu hình trên trong hệ thống máy chủ NFS, bây giờ là lúc xuất thư mục chia sẻ thông qua lệnh sau dưới dạng sudo:

Mã nguồn [Chọn]
$ sudo exportfs -a
Cuối cùng, để làm cho tất cả các cấu hình có hiệu lực, hãy khởi động lại máy chủ NFS Kernel như sau:

Mã nguồn [Chọn]
$ sudo systemctl restart nfs-kernel-server

1.5. Mở tường lửa cho các máy khách truy cập vào.

Một bước quan trọng là xác minh rằng tường lửa của máy chủ được mở cho các máy khách để họ có thể truy cập các thư mục được chia sẻ. Lệnh sau sẽ cấu hình tường lửa để cấp quyền truy cập cho máy khách truy cập đến máy chủ NFS.

Trong ví dụ của mình, chúng ta sẽ cấp quyền truy cập vào toàn bộ mạng con của các máy khách thông qua lệnh sau:

Mã nguồn [Chọn]
$ sudo ufw allow from 192.168.100/24 to any port nfs

Bây giờ khi bạn kiểm tra trạng thái tường lửa Ubuntu của mình thông qua lệnh sau, bạn sẽ có thể xem trạng thái Action là "Allow" đối với IP của máy khách.

Mã nguồn [Chọn]
$ sudo ufw status

Máy chủ NFS Kernel của bạn hiện đã sẵn sàng chia sẻ thư mục sang các máy khách được chỉ định.

2. Cấu hình máy khách NFS.

Bây giờ là lúc để thực hiện một số cấu hình đơn giản cho máy khách, để thư mục chia sẻ từ máy chủ NFS có thể được gắn kết với máy khách và sau đó truy cập suôn sẻ.

2.1.Cài đặt NFS Common.

Trước khi cài đặt ứng dụng NFS Common, chúng ta cần cập nhật chỉ mục kho lưu trữ của hệ thống với Internet thông qua lệnh apt sau đây là sudo:

Mã nguồn [Chọn]
$ sudo apt-get update

Lệnh trên cho phép chúng ta cài đặt phiên bản mới nhất hiện có của phần mềm thông qua kho lưu trữ Ubuntu.

Bây giờ, hãy chạy lệnh sau để cài đặt NFS Common client trên hệ thống của bạn:

Mã nguồn [Chọn]
$ sudo apt-get install nfs-common

Hệ thống sẽ nhắc bạn với tùy chọn Y / n để xác nhận xem bạn có muốn tiếp tục cài đặt hay không. Vui lòng nhập Y rồi nhấn Enter để tiếp tục, sau đó phần mềm sẽ được cài đặt thành công trên hệ thống của bạn.

2.2. Tạo điểm gắn kết (mount point) cho thư mục chia sẻ của máy chủ lưu trữ NFS.

Hệ thống của máy khách của bạn cần một thư mục để chúng ta có thể gắn kết thư mục mà máy chủ NFS chia sẻ.

Bạn có thể tạo thư mục này ở bất kỳ đâu trên hệ thống của mình. Chúng ta sẽ tạo một thư mục gắn kết trong thư mục mnt của máy khách của chúng ta:

Mã nguồn [Chọn]
$ sudo mkdir -p /mnt/sharedfolder_client

2.3. Gắn thư mục chia sẻ vào máy khách.

Thư mục mà bạn đã tạo ở bước trên giống như bất kỳ thư mục nào khác trên hệ thống của bạn trừ khi bạn gắn thư mục được chia sẻ từ máy chủ NFS của mình vào thư mục mới tạo này.

Sử dụng lệnh sau để gắn kết thư mục được chia sẻ từ máy chủ NFS vào một thư mục gắn kết trên máy khách.

Trong ví dụ của mình, chúng ta sẽ chạy lệnh sau để gắn kết thư mục "sharedfolder" của chúng ta từ máy chủ NFS sang thư mục gắn kết "sharedfolder_client" trên máy khách:

Mã nguồn [Chọn]
$ sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client
2.4. Kiểm tra kết nối.

Các bạn có thể thử tạo hoặc lưu tập tin trong thư mục sharedfolder của máy chủ lưu trữ NFS. Bây giờ, hãy mở thư mục gắn kết trên máy khách, bạn sẽ có thể thấy cùng một tập tin được chia sẻ và có thể truy cập trong thư mục này.

Cài đặt môi trường máy khách và máy chủ NFS trên hệ thống Ubuntu là một nhiệm vụ dễ dàng.

Qua bài viết này, bạn đã biết cách cài đặt các gói NFS cần thiết trên cả máy chủ và máy khách NFS. Bạn cũng đã học cách cấu hình máy chủ NFS và máy khách để các thư mục có thể được chia sẻ và sau đó truy cập trơn tru mà không gặp bất kỳ trục trặc nào liên quan đến tường lửa hoặc quyền. Giờ đây, bạn có thể dễ dàng chia sẻ nội dung thư mục từ hệ thống Ubuntu này sang hệ thống Ubuntu khác bằng giao thức NFS.