Biến Raspberry Pi thành thiết bị lưu trữ qua mạng – NAS

Lưu trữ mạng (NAS) cho phép bạn lưu trữ dữ liệu từ máy tính và thiết bị di động vào ổ cứng ngoài thông qua mạng không dây tại nhà hoặc văn phòng. Với Raspberry Pi, bạn có thể kết nối các thiết bị lưu trữ hiện có — chẳng hạn như ổ cứng di động ngoài và ổ đĩa flash USB — để tạo bản sao lưu an toàn cho tất cả các tệp quan trọng, có thể truy cập từ bất kỳ đâu trên thế giới.

Cần chuẩn bị:

  • Bo mạch Raspberry Pi (chắc chắn rồi)
  • Bộ nguồn phù hợp với Raspberry Pi của bạn
  • Thẻ nhớ microSD
  • Một adapter chuyển thẻ microSD sang SD nếu máy tính bạn không có đầu đọc microSD mà chỉ có SD
  • Powered USB hub
  • Ethernet cable
  • Ổ cứng di động USB

Để cài đặt thẻ hệ điều hành lên thẻ nhớ bạn cũng cần có:

  • Một máy tính có kết nối mạng

Chọn đúng loại bo mạch Raspberry Pi

Với bo mạch càng mạnh, càng nhanh, thì dữ liệu của bạn sẽ được lưu ra ổ cứng di động theo cấp độ nhanh tương ứng. Trong bài viết này, chúng tôi dùng bo mạch Raspberry Pi 4 8GB.

Chọn đúng ổ đĩa và thẻ nhớ

Trừ khi bạn rất tiết kiệm về kích thước file, thẻ SD có thể không đủ lớn cho NAS để chứa file.

Trong hướng dẫn này, chúng tôi sẽ sử dụng ổ USB di động chuẩn SSD. Bạn cũng có thể sử dụng ổ USB flash hoặc ổ cứng di động (HDD). Khuyến cáo nên xóa sạch (format) dữ liệu trước khi tiến hành.

Để đảm bảo nguồn điện đủ cung cấp cho ổ cứng di động, tốt nhất bạn nên sử dụng USB hub có nguồn rời để kết nối với Raspberry Pi.

Cấu hình cho Raspberry Pi

Để bắt đầu, bạn cần cài đặt hệ điều hành cho Rasperry Pi

Bước chọn OS cho Pi, bạn chọn Raspberry Pi OS Lite (32-bit) để chạy không cần chuột và bàn phím

Trong suốt quá trình tùy chỉnh, bạn thiết lập như sau:

  • Nhập hostname  theo ý bạn (chúng tôi gợi ý pi-nas cho hướng dẫn này)
  • Nhập username và password; Bạn cần nó để xác thực sau khi cài xong
  • Nhấn vào ô Configure wireless LAN để Pi có thể tự động kết nối Wifi
  • Nhập thông tin Wifi bao gồm SSID (name) và password;
  • Nhấn luôn vào ô Enable SSH để bạn có thể kết nối Pi mà không cần chuột với bàn phím gắn trực tiếp vào Pi

Cài đặt Raspberry Pi

Để hiệu năng tốt nhất, hãy kết nối Raspberry Pi của bạn bằng cáp mạng thông qua cổng mạng trên Raspberry Pi, điều này tương đương với việc Raspberry Pi đang kết nối trưc tiếp với Modem nhà mạng.

Rút nguồn Raspberry Pi, cắm thẻ nhớ , cắm ổ cứng di động vào USB hub. Cuối cùng, cắm nguồn cho Raspberry Pi và Pi sẽ tự động bật.

Điều khiển từ xa Raspberry Pi

SSH cho phép bạn điều khiển từ xa Raspberry Pi, sử dụng chính chuột và bàn phím từ máy tính bạn đang điều khiển.

Kết nối bằng SSH

Sử dụng chương trình có hỗ trợ SSH như Puty, sau đó kết nối với Raspberry Pi của bạn và nhập user name pasword đã cấu hình ở trên:

$ ssh <username>@pi-nas.local
$ ssh <username>@pi-nas.local
The authenticity of host 'pi-nas.local (fd81:b8a1:261d:1:acd4:610c:b069:ac16)' can't be established.
ED25519 key fingerprint is SHA256:s6aWAEe8xrbPmJzhctei7/gEQitO9mj2ilXigelBm04.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/
[fingerprint])? yes
Warning: Permanently added 'pi-nas.local' (ED25519) to the list of known hosts.

<username>@pi-nas.local's password:
Linux pi-nas 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Oct 24 09:41:00 2023
<username>@pi-nas:~ $

Cấu hình lưu trữ

Khi Raspberry Pi đã chạy, giờ là lúc biến nó thành ổ lưu trữ mạng

Tìm ổ cứng của bạn

Đầu tiên, chúng ta cần tìm và xác định ổ cứng chúng ta muốn định dạng (format). Để xem ổ cứng đang kết nối với Pi, chạy lệnh sau:

$ lsblk

Bạn sẽ thấy danh sách hiển thị như

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   1.8T  0 disk
mmcblk0     179:0    0 238.8G  0 disk
├─mmcblk0p1 179:1    0   256M  0 part /boot
└─mmcblk0p2 179:2    0 238.5G  0 part /

Lệnh này mô tả các thiết bị lưu trữ được kết nối với Raspberry Pi của bạn. Thiết bị mmcblk0 là thẻ nhớ microSD. Thiết bị lưu trữ USB đầu tiên bạn kết nối sẽ hiển thị là Thiết bị Lưu trữ A, hay gọi tắt là sda. Nếu bạn kết nối thêm các thiết bị lưu trữ USB khác, bạn sẽ thấy chúng là Thiết bị Lưu trữ B (sdb), C (sdc), v.v.

Phân vùng cho ổ cứng

Tiếp theo, phân vùng ổ cứng để Raspberry Pi có thể nhận dạng nó:

$ sudo fdisk /dev/sda

Khi được nhắc:

Nhập n để tạo phân vùng mới.

Nếu phân vùng đã tồn tại, hãy dùng d để xóa.

Nhập p cho phân vùng chính.

Sử dụng tùy chọn mặc định cho tất cả các lời nhắc khác.

Định dạng ổ đĩa
Giờ ổ đĩa đã được phân vùng, chúng ta cần định dạng nó để Raspberry Pi OS có thể đọc và ghi dữ liệu. Lệnh sau sẽ định dạng ổ đĩa của bạn thành hệ thống tệp ext4:

$ sudo mkfs.ext4 /dev/sda1

Gán ổ đĩa
Tiếp theo, gán ổ đĩa để sử dụng được trong hệ thống tệp trên Raspberry Pi của bạn:

$ sudo mount /dev/sda1

Và đảm bảo rằng ổ đĩa được gán sau mỗi lần khởi động:

$ sudo nano /etc/fstab

Thêm dòng sau vào cuối tệp:

/dev/sda1 /mnt/sda1/ ext4 defaults,noatime 0 1

Nhấn Ctrl+X, sau đó nhấn Y và cuối cùng là Enter để lưu tệp đã chỉnh sửa bằng nano.

Tạo thư mục dùng chung
Chạy lệnh sau để tạo thư mục dùng chung trên ổ đĩa của bạn:

$ sudo mkdir /mnt/sda1/shared

Chạy lệnh sau để cấp quyền đọc, ghi và thực thi thư mục cho tất cả người dùng trên Raspberry Pi của bạn:

$ sudo chmod -R 777 /mnt/sda1/shared

Chia sẻ ổ đĩa qua mạng
Chạy lệnh sau để cài đặt Samba, một công cụ chia sẻ thư mục qua mạng giữa các máy tính:

$ sudo apt install samba samba-common-bin

Sau đó, yêu cầu Samba chia sẻ thư mục qua mạng. Chúng ta có thể hướng dẫn Samba thông qua tệp cấu hình Samba, smb.conf. Mở tệp cấu hình trong trình soạn thảo:

$ sudo nano /etc/samba/smb.conf

Và thêm dòng sau vào cuối tệp:

[shared]
path=/mnt/sda1/shared
writeable=Yes
create mask=0777
directory mask=0777
public=no

Nhấn Ctrl+X, sau đó nhấn Y và cuối cùng là Enter để lưu tệp đã chỉnh sửa bằng nano.

Khởi động lại Samba để tải các thay đổi cấu hình:

$ sudo systemctl restart smbd

Cấp quyền truy cập ổ đĩa
Cuối cùng, bạn sẽ muốn cấp quyền truy cập vào chia sẻ Samba của mình để chỉ những người dùng đã được xác thực mới có thể truy cập các tệp qua mạng.

Chạy lệnh sau để tạo người dùng quản lý chia sẻ Samba:

$ sudo adduser pi-nas-user

Và thêm mật khẩu cho người dùng đó bằng lệnh sau:

$ sudo smbpasswd -a username

Truy cập từ macOS
Từ màn hình nền, nhấn Command+K. Nhập smb://pi-nas.local và nhấn phím Enter.

Nhập tên người dùng pi-nas-user và mật khẩu bạn đã chọn ở bước Cấp quyền truy cập ổ đĩa:

Thư mục chia sẻ của bạn bây giờ sẽ hiển thị trong cửa sổ Finder.

Truy cập từ Windows
Mở Windows Explorer. Trong thanh đường dẫn, nhập pi-nas.local và nhấn phím Enter.

Thao tác này sẽ tạo một mục mới trong mục Mạng trên thanh điều hướng bên trái và hiển thị nội dung của mục đó. Nhấp đúp vào mục chia sẻ và nhập tên người dùng pi-nas-user và mật khẩu bạn đã chọn ở bước Cấp quyền truy cập ổ đĩa khi được nhắc.

Truy cập từ iOS
Bạn có thể kết nối iPhone với hệ thống NAS bằng ứng dụng Tệp iOS.

Mở ứng dụng, điều hướng đến chế độ xem Duyệt và chọn biểu tượng ba chấm ở góc trên bên phải màn hình.

Bạn sẽ thấy tùy chọn Kết nối đến Máy chủ. Nhập pi-nas.local.

Trong mục Kết nối với tư cách, chọn Người dùng đã đăng ký. Nhập tên người dùng pi-nas-user và mật khẩu bạn đã chọn ở bước Cấp quyền truy cập ổ đĩa.

Nhấn Tiếp theo ở góc trên bên phải để kết nối.

Các bước tiếp theo
Giờ đây, bạn đã có bộ nhớ chia sẻ trên mạng, hãy tận dụng nó! Hãy sử dụng nó để cộng tác với bạn bè và gia đình một cách nhanh chóng và dễ dàng. Hãy quyên góp tất cả ổ USB flash của bạn cho một mục đích chính đáng, vì bạn không còn cần chúng để chia sẻ dữ liệu nữa. Giảm thiểu việc sử dụng bộ nhớ đám mây bằng cách di chuyển các tệp lớn sang NAS.

Để cấu hình bộ nhớ mạng của bạn tốt hơn nữa, hãy cân nhắc thiết lập RAID (Mảng đĩa dự phòng giá rẻ) để bảo vệ dữ liệu của bạn khỏi bị hỏng và lỗi ổ đĩa.