Cách biến Raspberry Pi thành NAS để chia sẻ tệp cho cả nhà

Tác giả Security+, T.Hai 21, 2024, 04:42:43 CHIỀU

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

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

Cách biến Raspberry Pi thành NAS để chia sẻ tệp cho cả nhà


Nếu bạn muốn có một thiết bị lưu trữ gắn mạng nhưng chưa sẵn sàng đầu tư vào một thiết bị, hãy tạo một thiết bị bằng Raspberry Pi dự phòng. Đây là cách biến một bo mạch đơn giản thành bộ não của NAS để chia sẻ tệp. Ngôi nhà của tôi vô cùng gọn gàng và ngăn nắp, nhưng khi nói đến cuộc sống số, tôi lại nghĩ đến từ "người tích trữ". Nếu điều đó có vẻ giống bạn, thì một  thiết bị lưu trữ gắn mạng — hay gọi tắt là NAS — là khoản đầu tư hoàn hảo để cung cấp các tệp của bạn không dây trên bất kỳ thiết bị nào trong nhà bạn.


Thật không may, những thiết bị này có thể đắt tiền. Thay vì bỏ qua việc cải thiện việc lưu trữ tệp, một cách để tiết kiệm tiền là tự xây dựng một cái với giá rẻ! Điều này nghe có vẻ phức tạp nhưng sẽ dễ thực hiện nếu bạn có bo mạch Raspberry Pi rẻ tiền. Đây là cách xây dựng thiết bị NAS của riêng bạn.

1. Lưu trữ đính kèm mạng là gì?

Bộ lưu trữ gắn mạng là ổ lưu trữ độc lập mà bất kỳ thiết bị nào trên mạng đều có thể sử dụng để chia sẻ tệp. Thiết bị luôn bật này hoạt động như một máy chủ thu nhỏ khắp ngôi nhà của bạn, cho phép bạn lưu trữ phim, sao lưu ảnh hoặc lưu bản sao lưu PC. Máy tính chính của bạn cũng có thể thực hiện tất cả những điều này, nhưng NAS có công suất thấp và được thiết kế để hoạt động cả ngày lẫn đêm. Một khi bạn bắt đầu sử dụng một cái, thật khó để quay lại.

Hiện có rất nhiều thiết bị NAS được xây dựng sẵn từ các công ty như Synology, QNAP và Asustor. Chỉ cần mua một cái, lắp ổ đĩa vào và bạn có thể tham gia cuộc đua. Nhưng chúng có thể đắt tiền vì bạn phải mua riêng các ổ đĩa. Nếu bạn không chắc chắn liệu NAS có phù hợp với mình hay không thì thật khó để biện minh cho khoản đầu tư—đặc biệt nếu bạn muốn thứ gì đó có thể phát triển theo nhu cầu lưu trữ của mình.

2. Raspberry Pi là gì?


Một giải pháp thay thế không tốn kém là sử dụng bo mạch Raspberry Pi thay cho thiết bị NAS. Những bo mạch máy tính dựa trên Linux, giá rẻ này có thể được sử dụng cho nhiều mục đích khác nhau. Chúng tôi đã sử dụng nó để xây dựng một máy chơi game cổ điển, máy chủ VPN và trợ lý giọng nói cùng với các dự án khác. Giá cả và tính linh hoạt của nó có nghĩa là nó có thể hoạt động như một NAS dùng thử giá rẻ mà—khi bạn đã dùng hết nó—có thể được tái sử dụng cho mục đích khác.

Nó không vững chắc như thiết bị NAS Synology và RAID không hoạt động đặc biệt tốt trên Pi nếu bạn muốn dự phòng dữ liệu. Vì vậy, nếu bạn sử dụng Raspberry Pi để lưu trữ dữ liệu, bạn muốn đảm bảo rằng mọi thông tin quan trọng trên NAS dựa trên Pi của bạn cũng được sao lưu ở nơi khác. Tuy nhiên, đây là một dự án tuyệt vời nếu bạn muốn biết cuộc sống của NAS là như thế nào. Sau đó, sau khi đã kết nối, bạn có thể nâng cấp lên mô hình Synology hoặc QNAP chuyên dụng phù hợp với nhu cầu lâu dài của mình.

3. Những gì bạn cần mua


Trước khi bạn có thể bắt đầu, bạn sẽ cần một số thứ để xây dựng thiết bị NAS của riêng mình. Lưu ý rằng bản phát hành bo mạch chính cuối cùng của Raspberry Pi Foundation là Raspberry Pi 5 vào năm 2023. Đây là những gì bạn cần:

  • Raspberry Pi (với tất cả các phụ kiện trang trí): Ngoài bo mạch Raspberry Pi, bạn cũng cần nguồn điện và thẻ nhớ microSD, cùng với chuột, bàn phím và màn hình để thiết lập ban đầu. Các nhà bán lẻ được phê duyệt này bán bảng riêng hoặc như một phần của bộ công cụ khởi đầu với mọi thứ bạn cần để bắt đầu. Bạn cũng có thể tìm thấy những bộ dụng cụ này trên Amazon. Để biết thêm thông tin về các phụ kiện bạn cần cho dự án này, hãy xem hướng dẫn của chúng tôi để bắt đầu với Raspberry Pi.
  • Ổ lưu trữ: Trừ khi bạn chỉ chia sẻ một vài tệp, thẻ nhớ microSD của bạn có thể không đủ dung lượng cho NAS. Thay vào đó, một  ổ đĩa ngoài tiêu chuẩn  sẽ thực hiện thủ thuật này trong hầu hết các trường hợp. Tuy nhiên, vì Pi có thể không cung cấp đủ năng lượng cho tất cả các ổ đĩa của bạn nên bạn có thể cần một ổ cắm vào tường hoặc  bộ chia USB được cấp nguồn. Nếu muốn thiết lập gọn gàng hơn, bạn có thể sử dụng ổ đĩa trong  được thiết kế để lưu trữ gắn mạng, nhưng điều đó sẽ yêu cầu hộp đựng đủ lớn.
  • Vỏ thân thiện với NAS (tùy chọn): Nếu bạn muốn hệ thống của mình có giao diện gọn gàng, bạn có thể cần có một vỏ bọc phù hợp với Pi và các ổ đĩa được kết nối của bạn. Điều này cũng sẽ giúp sắp xếp mớ dây và cáp lộn xộn mà dự án này sẽ tạo ra. Ví dụ: Geekworm tạo ra một bo mạch có tên X825 cho phép bạn gắn ổ đĩa trong 2,5 inch, kết nối nó với Pi của bạn và gắn tất cả vào một chiếc hộp nhỏ gọn (chỉ cần đảm bảo bạn có được một chiếc vừa với Pi của mình). Hiện tại, tôi chỉ đang sử dụng vỏ Raspberry Pi tiêu chuẩn có ổ USB ngoài được dán Velcro ở trên cùng, nhưng nếu bạn muốn thỏa sức sáng tạo thì thế giới chính là con hàu của bạn ở đây.

Khi bạn đã có sẵn tất cả các thành phần, đã đến lúc thiết lập và chạy NAS của bạn.

4. Cài đặt hệ điều hành


Có những hệ điều hành đặc biệt như Openmediavault biến Pi của bạn thành NAS, nhưng đối với người mới bắt đầu thiết lập, tôi thực sự khuyên dùng Raspbian cũ thông thường—nó linh hoạt, dễ sử dụng và đủ tốt để chia sẻ một vài tệp qua mạng. Bắt đầu bằng cách cài đặt Raspbian với phần mềm được đề xuất như được mô tả trong hướng dẫn dành cho người mới bắt đầu của chúng tôi.

Tôi khuyên bạn nên kết nối Pi với mạng qua Ethernet để truyền tệp nhanh, nhưng Wi-Fi sẽ hoạt động trong tình trạng khó khăn. Sau khi bạn khởi động Raspbian lần đầu tiên, chỉ định mật khẩu mới và tải xuống tất cả các bản cập nhật, hãy kết nối ổ đĩa của bạn với một trong các cổng USB của Pi. Ổ đĩa sẽ hiển thị trên màn hình nền, nhưng chúng tôi sẽ thực hiện hầu hết công việc của mình trong Terminal. (Nếu muốn, bạn có thể SSH vào Pi của mình và thực hiện các lệnh này từ một PC khác.)

5. Ngắt kết nối ổ đĩa của bạn


Trước khi tiếp tục, chúng tôi cần xóa ổ đĩa bạn đã đính kèm, vì vậy nếu có các tệp quan trọng trên đó, bạn cần lưu trữ chúng ở nơi khác trước khi chuyển chúng sang Pi-NAS của mình. Từ cửa sổ Terminal, chạy lệnh sau để xem các ổ đĩa được kết nối với Pi của bạn:

Mã nguồn [Chọn]
sudo fdisk -l
Tìm ổ đĩa ngoài mà bạn muốn sử dụng cho các tệp của mình—trong trường hợp của tôi, đó là ổ đĩa 80 GB có tên "MyExternalDrive"—và ghi lại đường dẫn của nó. Trong ảnh chụp màn hình ở trên, ổ 80GB cắm vào Pi của tôi tương ứng với /dev/sda. (Hãy chắc chắn rằng bạn ghi lại đúng ổ đĩa vì chúng tôi sắp xóa nó!)

Đầu tiên, bạn cần ngắt kết nối ổ đĩa. Nếu đang sử dụng giao diện Raspbian, bạn chỉ cần nhấp vào nút nhả bên cạnh ổ đĩa để ngắt kết nối nó. Nhưng nếu bạn đang sử dụng thiết bị đầu cuối qua SSH, bạn phải chạy:

Mã nguồn [Chọn]
umount /dev/sda1
Nếu ổ đĩa của bạn có nhiều phân vùng, bạn sẽ phải xóa từng phân vùng riêng biệt bằng cách sử dụng các số thứ tự. Chạy lệnh trước đó, nhưng với sda2và sda3, v.v. Sau đó, để xóa và định dạng ổ đĩa của bạn để sử dụng Linux, hãy chạy:

Mã nguồn [Chọn]
sudo parted /dev/sda
6. Phân vùng ổ đĩa của bạn


Khi bạn chạy mã đó, nó sẽ mở ra một trình hướng dẫn có tên Parted, cho phép bạn tạo một phân vùng mới trên ổ đĩa. Chạy các lệnh sau và nhấn Enter sau mỗi câu trả lời trong trình hướng dẫn:

Mã nguồn [Chọn]
mklabel gpt
Nếu được nhắc xóa ổ đĩa, hãy nhập Y và nhấn Enter. Sau đó chạy:

Mã nguồn [Chọn]
mkpart
Thay thế MyExternalDrive bằng tên bạn muốn sử dụng cho ổ đĩa:

Mã nguồn [Chọn]
MyExternalDrive
Tiếp tục bằng cách nhập như sau:

Mã nguồn [Chọn]
ext4

0%

100%

Sau đó chạy lệnh sau để thoát khỏi trình hướng dẫn Parted:

Mã nguồn [Chọn]
quit
Rõ ràng, bạn có thể điều chỉnh các lệnh này cho phù hợp với tên ổ đĩa của mình, số lượng và kích thước phân vùng bạn muốn tạo trên đó, v.v.—nhưng đối với hầu hết người dùng cơ bản mới bắt đầu, các lệnh này sẽ hoạt động tốt.

7. Định dạng phân vùng


Tiếp theo, chúng ta cần định dạng phân vùng đó. Nếu ổ đĩa của bạn nằm ở /dev/sda, phân vùng mới sẽ được đặt tại /dev/sda1(nếu ổ đĩa là /dev/sdb, bạn sẽ sử dụng /dev/sdb1, v.v.). Chạy mã này:

Mã nguồn [Chọn]
sudo mkfs.ext4 /dev/sda1
Nhấn Y và Enter khi được hỏi nếu bạn muốn tiếp tục. Sau đó chạy và thay thế MyExternalDrive bằng bất kỳ tên nào bạn muốn đặt tên cho ổ đĩa của mình:

Mã nguồn [Chọn]
sudo e2label /dev/sda1 MyExternalDrive
Quá trình định dạng sẽ mất vài phút, đặc biệt nếu bạn có ổ đĩa lớn, vì vậy hãy kiên nhẫn. Khi hoàn tất, hãy chạy lệnh này để khởi động lại Pi của bạn:

Mã nguồn [Chọn]
sudo shutdown -r now
Khi Pi của bạn khởi động lại, bạn sẽ thấy rằng ổ đĩa ngoài tự động xuất hiện trên màn hình nền, sẵn sàng hoạt động. Tuy nhiên, bạn sẽ phải chạy một lệnh cuối cùng để cấp cho mình quyền ghi các tệp mới vào ổ đĩa. Trong Terminal, hãy chạy:

Mã nguồn [Chọn]
sudo chown -R pi /media/pi/MyExternalDrive
8. Chia sẻ ổ đĩa


Bây giờ là lúc chia sẻ ổ đĩa đó trên mạng của bạn để bạn có thể thêm tệp của mình và truy cập chúng từ bất kỳ thiết bị nào trong nhà. Để thực hiện điều này, chúng ta cần một công cụ có tên Samba, đây là một công cụ mã nguồn mở triển khai giao thức chia sẻ tệp SMB/CIFS của Windows.

Đây không phải là lựa chọn duy nhất của bạn để chia sẻ tệp nhưng Samba rất dễ cài đặt và tương thích với hầu hết mọi hệ thống bạn có trên mạng, vì vậy đó là điều tôi khuyên dùng. Raspbian không được cài đặt Samba theo mặc định, vì vậy bạn cần  đảm bảo kho lưu trữ của mình được cập nhật  và cài đặt nó bằng các lệnh sau:

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

sudo apt upgrade

sudo apt install samba samba-common

Trình cài đặt sẽ hỏi bạn có muốn sửa đổi smb.conf để sử dụng cài đặt WINS từ DHCP hay không. Chọn Có và nhấn Enter. Bây giờ bạn tự chỉnh sửa tệp cấu hình đó để chia sẻ ổ đĩa của mình. Chạy:

Mã nguồn [Chọn]
sudo nano /etc/samba/smb.conf

Sau đó, từ trình soạn thảo văn bản dòng lệnh xuất hiện, hãy sử dụng phím mũi tên để cuộn xuống cuối tài liệu. Bạn muốn thêm một khối văn bản trông giống như thế này:

Mã nguồn [Chọn]
[MyMedia]

path = /media/pi/MyExternalDrive/

writeable = yes

create mask = 0775

directory mask = 0775

public=no

Trong phiên bản này, MyMedia sẽ là tên chia sẻ của bạn (đặt tên bất cứ thứ gì bạn muốn) và /media/pi/MyExternalDrive sẽ là vị trí được gắn ổ đĩa của bạn. (Bạn có thể cần mở trình quản lý tệp và truy cập /media/pi/ để tìm hiểu tên của nó.)

Khi hoàn tất, nhấn Ctrl-X để thoát nano, nhấn Y và Enter khi được hỏi bạn có muốn lưu file không.

9. Tạo mật khẩu và thêm người dùng


Cuối cùng, bạn sẽ cần tạo mật khẩu cho Samba để có thể xem chia sẻ của mình từ các máy khác. (Có nhiều cách để định cấu hình Samba mà không yêu cầu mật khẩu, nhưng đây thường không phải là phương pháp bảo mật tốt, vì vậy tôi khuyên bạn nên thêm mật khẩu.) Để thêm mật khẩu cho người dùng Pi hiện có, hãy chạy:

Mã nguồn [Chọn]
sudo smbpasswd -a pi
Nhập mật khẩu mong muốn của bạn khi được nhắc—nó không nhất thiết phải giống với mật khẩu người dùng của bạn trên chính Pi, nhưng có thể—và nhấn Enter. Sau đó, bạn có thể thêm những người dùng khác bằng mã sau (trong đó jeff  là người dùng bạn muốn thêm):

Mã nguồn [Chọn]
sudo adduser jeff
Bạn cũng có thể chọn cung cấp cho người dùng đó mật khẩu của riêng họ bằng cách chạy tiếp theo:

Mã nguồn [Chọn]
sudo smbpasswd -a jeff
Điều này không thực sự cần thiết nhưng có thể hữu ích nếu bạn có nhiều người trong gia đình mà bạn muốn cấp các quyền đọc và ghi khác nhau trên một số chia sẻ nhất định. Khi tất cả người dùng đã được thêm, hãy chạy lệnh sau để khởi động lại Samba:

Mã nguồn [Chọn]
sudo systemctl restart smbd
Từ đây, quá trình thiết lập kết thúc. Bây giờ bạn có thể truy cập phương tiện của mình từ mạng.

10. Truy cập phương tiện của bạn

Trên PC chạy Windows của bạn, hãy mở File Explorer và nhập \\raspberrypi\MyMedia vào thanh địa chỉ (thay thế MyMedia bằng tên chia sẻ của bạn) rồi nhấn Enter. Sau đó, bạn có thể nhập tên người dùng Samba (pi) và mật khẩu để xem bộ nhớ dùng chung của mình. Nếu gặp sự cố, bạn có thể phải sử dụng địa chỉ IP của Pi, chẳng hạn như \\192.168.1.10\MyMedia. Nếu bạn muốn kết nối với phương tiện của mình từ máy Mac, hãy mở Finder và nhấp vào Đi > Kết nối với máy chủ, sau đó nhập smb://raspberrypi khi được nhắc.

Điều này chỉ là bề nổi của những gì bạn có thể làm với NAS dựa trên Pi. Khi nhu cầu lưu trữ của bạn tăng lên, bạn có thể thêm nhiều ổ đĩa và chia sẻ hơn, tạo thêm người dùng với các quyền khác nhau và thậm chí thiết lập mảng RAID để tránh mất dữ liệu trong trường hợp ổ cứng bị lỗi. Tuy nhiên, vào thời điểm đó, có thể đáng để chi thêm một chút cho thiết bị NAS chuyên dụng để có hiệu suất tốt hơn.