Sử dụng ổ cứng của một máy chủ từ xa với SSHFS

0
1404
(Last Updated On: Th12 5, 2017)

SSHFS (SSH File System) là một công cụ cho phép bạn “mount” (gắn kết) một thư mục hay ổ cứng của một máy chủ nào đó từ xa vào hệ thống hiện tại. Chẳng hạn như bạn có một máy chủ A với dung lượng ổ cứng 500GB, và trên máy chủ B chỉ có 10GB. Bạn muốn lưu trữ nhiều hơn trên máy chủ B, sẽ không phải mất thêm tiền để nâng cấp máy chủ B. Bạn chỉ cần tạo một thư mục trên A và chia sẻ nó qua máy chủ B. SSHFS cho phép bạn sử dụng ổ cứng hoặc thư mục trên máy chủ B y như là một ổ cứng vật lý được gắn vào máy chủ B vậy.

sshfs-vngeek
Minh họa cho mô hình chia sẻ dữ liệu qua SSHFS

Cách thức rất đơn giản:

Trên máy chủ B bạn cài đặt SSHFS:

sudo apt-get install sshfs

Sau đó tạo một thư mục để bạn có thể “mount” thư mục từ máy chủ A

mkdir /usb

Ở đây mình tạo thư mục /usb (tượng trưng như là một cổng USB ấy).

Bạn cần xác định được IP của máy chủ A. Chẳng hạn IP của máy chủ A là aaa.aaa.aaa.aaa, chúng ta thực hiện lệnh sau:

sudo sshfs -o allow_other,default_permissions root@aaa.aaa.aaa.aaa:/ /usb

Các bạn chú ý aaa.aaa.aaa.aaa:/ có nghĩa là “mount” cả thư mục gốc trên máy chủ A vào thư mục /usb của máy chủ B nhé.

2017-11-13_224131_4
Như vậy là đã thành công rồi nhỉ.

Mình thử view các thư mục trong thư mục /usb với lệnh dir:

2017-11-13_231335_5

Mình thử tạo tập tin vngeek.com:

nano vngeek.com

Mình đánh địa chỉ VnGeek.com vào tập tin này và lưu lại.

cat vngeek.com

Vâng thế này là đã thành công rồi:

2017-11-13_231535_6

Chúc các bạn thành công!

Bonus:

ln -s /usb/videos/ /var/www/html/

(Trang VnGeek sử dụng Symlink để lưu trữ các videos trên máy chủ Media). Việc sử dụng liên kết mềm như trên, trong thư mục /var/www/html sẽ có thêm thư mục videos. Và mỗi khi có một video được upload lên thư mục này, thực chất được lưu ở thư mục /usb/videos của server A.

Cũng đừng quên cấp quyền lại cho webserver có quyền truy cập:

chown -R www-data:www-data /usb/videos

Bạn nào muốn gỡ gắn kết ổ cứng từ xa sử dụng lệnh:

umount /mount_dir

Trong đó /mount_dir là thư mục mà các bạn đã gắn kết ổ cứng từ xa trước đó.

Nếu bạn muốn gắn ổ cứng từ xa tự động mà không cần phải chạy dòng lệnh, hoặc coi đó như một ổ đĩa cục bộ, hãy chỉnh sửa tập tin /etc/fstab:

nano /etc/fstab

Và thêm dòng như sau:

root@aaa.aaa.aaa.aaa:/ /mount_point      fuse.sshfs  defaults,_netdev  0  0

Trong đó aaa.aaa.aaa.aaa là địa chỉ IP của máy từ xa, và /mount_point là nơi các bạn muốn gắn ổ cứng từ xa vào thư mục trên máy local.

Chúc các bạn ngày thành công!

Bình luận