Cài đặt và định cấu hình NFS trên Ubuntu
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ổ.
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 Debian và Ubuntu hãy chạy:
$ sudo apt update
$ sudo apt install nfs-common
Để cài đặt ứng dụng khách NFS trên CentOS và Fedora:
$ 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
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