Thiết bị lưu trữ gắn mạng (NAS) về cơ bản chỉ là một ổ đĩa cho phép bạn truy cập qua mạng cục bộ. Nó về cơ bản là phiên bản gia đình của cloud storage (lưu trữ đám mây) và tuyệt vời cho lưu trữ tệp không vừa trên máy tính hoặc chia sẻ giữa nhiều thiết bị. Nếu bạn có Raspberry Pi, bạn có thể dễ dàng và rẻ xây dựng NAS server với Pi.
Có vài cách khác nhau để làm điều này, nhưng OpenMediaVault (OMV) và Samba là hai phổ biến nhất. Ở đây, chúng ta sẽ dùng Samba, chủ yếu vì bạn có thể chạy nó trên cài đặt Raspbian hiện tại, trong khi OMV thay thế hệ điều hành chính và ngăn bạn dùng Pi cho việc khác. OMV có nhiều tính năng hơn, đáng chú ý là khả năng dễ dàng truy cập tệp từ mạng ngoài. Nếu bạn dự định dùng Pi chỉ cho NAS, nó đáng xem xét.
Chuẩn Bị
- Raspberry Pi, ưu tiên mẫu 4, 3, hoặc 2. Samba không tốn nhiều tài nguyên chạy, nên không cần phần cứng top.
- Thẻ SD lắp trong Pi và đã cài đặt Raspbian.
- Máy tính kết nối cùng mạng với Pi.
- [Tùy chọn] Thiết bị lưu trữ ngoài, như ổ cứng, cắm vào Pi.
Tôi dùng Raspberry Pi 4 4GB RAM vì đó là cái tôi có, nhưng người dùng thế hệ 2 và 3 báo cáo thành công với Samba. Tùy vào số tệp bạn muốn Pi lưu trữ, bạn có thể dùng thẻ MicroSD dung lượng cao, nhưng thiết lập ổ ngoài kết nối với Pi sẽ tăng không gian lưu trữ khá nhiều. Bạn thậm chí có thể dùng hai thiết bị ngoài và thiết lập RAID để chắc chắn không mất dữ liệu nếu một ổ hỏng, nhưng chúng ta giữ đơn giản cho nay.
Nếu hệ thống chưa cập nhật hoàn toàn, bây giờ là lúc tốt! Chạy
sudo apt update && sudo apt -y upgrade
để cập nhật danh sách gói và cài đặt bản cập nhật.
Bước 1: Chuẩn Bị Lưu Trữ
Giống hầu hết dự án Pi, bạn sẽ muốn mở Terminal, trên chính Pi hoặc qua SSH.
Nếu bạn dùng ổ ngoài:
Nếu bạn có ổ cắm qua USB, bạn cần format nó trước. Nếu muốn, bạn có thể dùng GParted làm trong GUI, nhưng hướng dẫn dưới dùng Terminal.
Chạy:
lsblk
hoặc:
sudo fdisk -l
và xác định ổ bạn muốn dùng làm thiết bị lưu trữ chia sẻ. Nếu bạn chỉ cắm một, nó có thể gọi là "sda" hoặc "sda1", bạn sẽ muốn nhớ. Tôi biết, cái của tôi nhỏ – chỉ là cái tôi có lòi ra và không ngại format cho demo.
Unmount (ngắt gắn) ổ bằng:
sudo umount /dev/NAME
trong đó NAME là "sda" hoặc "sda1", hoặc bất cứ thứ gì bạn thấy trong output từ lsblk hoặc sudo fdisk -l.
Để format ổ, nhập:
sudo mkfs -t ext4 /dev/NAME
Điều này sẽ xóa và format ổ dùng định dạng ext4. Bạn có thể dùng NTFS hoặc FAT32 nếu muốn, nhưng ext4 nhanh hơn và gây ít vấn đề nhất.
Format sẽ mất thời gian. Khi xong, đổi tên ổ thành bất kỳ đường dẫn tùy chỉnh nào bạn muốn dùng:
sudo e2label /dev/NAME YOURLABEL
trong đó NAME có thể là sda/sda1, và YOURLABEL là nhãn tùy chỉnh cho ổ. Sau đó, tốt nhất reboot, nên tiến hành nhập:
sudo reboot
Nếu bạn dùng thẻ SD:
Nếu không cần lưu trữ ngoài, bạn chỉ cần tạo thư mục chia sẻ trên thẻ SD của Pi.
Để làm vậy, chỉ cần chạy:
mkdir /home/pi/FOLDERNAME
Đó là tất cả! Bạn có thể đổi thư mục hoặc tên folder thành bất cứ gì bạn thích. Tôi đặt là "raspsharey".
Bước 2: Cài Đặt Samba
Samba là công cụ cho phép máy Windows và Unix chia sẻ tệp. Chạy lệnh sau để cài Samba.
sudo apt install samba samba-common-bin
Bước 3: Cấu Hình Samba
Bạn có thể truy cập tệp cấu hình Samba bằng cách chạy:
sudo nano /etc/samba/smb.conf
Khi đã vào, cuộn xuống cuối và thêm vài dòng để báo cho Samba biết bạn muốn chia sẻ gì. Nó nên trông như thế này:
[sambadrive] path = /media/pi/pisharedrive writeable=Yes read only=no create mask=0777 directory mask=0777 public=no
[sambadrive] là địa chỉ bạn sẽ dùng để truy cập thư mục chia sẻ từ PC khác.
Đối với path, nếu bạn dùng ổ, nó sẽ trông như trên. Nếu bạn dùng thư mục trên thẻ SD, nó sẽ là bất kỳ thư mục nào bạn thiết lập dùng mkdir ở Bước 1. Với tôi, đó là:
/home/pi/raspsharey
Nếu cài đặt public là "no", bạn sẽ cần username/mật khẩu để truy cập thư mục. Đặt thành "yes" sẽ cho phép bất kỳ ai trên mạng vào chỉ với địa chỉ.
Tôi thêm cả ổ ngoài và thư mục nội bộ vào tệp config – bạn có thể chia sẻ nhiều thư mục/ổ trên Samba cùng lúc nếu muốn.
Với đó, bạn xong với tệp config! Nhấn Ctrl + O và Enter để lưu (chỉ để an toàn!), sau đó Ctrl + X để đóng tệp.
Bước 4: Tạo User Samba
Tiếp theo, bạn cần tạo username/mật khẩu Samba. User Raspberry Pi mặc định chỉ gọi là "pi", nên đó là cái dễ dùng. Dùng
sudo smbpasswd -a pi
để tạo user Samba tên "pi" với mật khẩu. Bạn sẽ nhận nhắc nhập mật khẩu. Gõ vào, Enter, và làm lại lần nữa.
Tiếp theo, khởi động lại Samba để nạp thay đổi:
sudo systemctl restart smbd
Với đó, bạn xong thiết lập! Giờ bạn chỉ cần truy cập thư mục chia sẻ từ máy khác.
Bước 5: Truy Cập NAS Từ Windows
- Mở File Explorer.
- Tìm nút trên thanh trên có nhãn biến thể của "Map drive" (Ánh xạ ổ). Cái của tôi ở nhóm New sau nút "Easy Access" và gọi là "Map as Drive" nếu tôi ở bất cứ đâu trừ folder chính "This PC", nơi nó gọi là "Map Network Drive" và ngồi trong nút lớn hơn dưới tab "Computer".
- Nhấp vào nó sẽ đưa bạn đến hộp thoại thiết lập. Trong hộp Folder, bạn nhập địa chỉ Raspberry Pi và địa chỉ bạn nhập trong ngoặc vuông trong tệp config trên. Với tôi, trông như
\\raspberrypi\sambadrive. - Điều giống hệt cho thư mục. Dùng IP cục bộ của Pi thay vì "raspberrypi" cũng chạy.
- Chắc chắn tick ô "Connect using different credentials" (Kết nối dùng thông tin xác thực khác).
- Nhấp Finish và nhập thông tin đăng nhập bạn thiết lập khi tạo user Samba.
Mở thư mục và tận hưởng.
Ghi Chú Cuối
Nếu bạn gặp vấn đề truy cập thư mục, như cần quyền ghi, có thể vì user Pi không có quyền sở hữu. Để sửa, nhập:
sudo chown -R [PI USER] [PATH TO FOLDER]
Với tôi, đó là:
sudo chown -R pi pi/raspsharey
Bạn có thể gặp lời khuyên online bảo chỉnh sửa tệp "/etc/fstab" để sửa vấn đề quyền, nhưng hãy cẩn thận vì thay đổi tệp này có thể làm hỏng sâu Pi nếu sai. Đó nên là最后的手段 (last resort).
Nếu mọi thứ suôn sẻ, đây là dự án bạn nên hoàn thành trong nửa giờ, sau đó bạn sẽ có NAS riêng bất cứ khi nào Pi đang chạy.
Đọc Tiếp:
- Cách Biến Raspberry Pi 4 Thành Edge Gateway
- Cách Cài OSMC Trên Raspberry Pi
- Cách Xây Dựng Máy In Không Dây DIY Với Raspberry Pi