Tạo ổ cứng mạng NAS đơn giản cho gia đình với Raspberry Pi 4

Sunday, July 11, 2021
Edit this post


Đây là một project công nghệ nho nhỏ tôi làm vào dịp cuối tuần, giữa lúc Sài Gòn đang căng mình lên vì dịch bệnh bùng phát. Hy vọng mọi thứ sẽ sớm trở lại bình yên. Chẳng là dạo này con Raspberry Pi của tôi bị cất trong tủ hơi lâu, thêm nữa là tôi vẫn còn dư một chiếc ổ cứng HDD 500 GB tháo ra từ laptop cũ nên quyết định tìm hiểu để set up một ổ đĩa mạng dùng chung trong mạng gia đình, để việc chia sẻ file giữa mọi người được dễ dàng và thuận tiện hơn.

NAS là gì?

NAS là viết tắt của Network Attached Storage. Nói thì nghe phức tạp nhưng chỉ cần hiểu đơn giản rằng ổ cứng di động sẽ được gắn vào Pi 4. Chúng ta sẽ cầu hình để các thiết bị khác trong mạng có thể truy cập vào dữ liệu trong ổ cứng đó thông qua Pi 4. Dĩ nhiên, đây chỉ là một project hết sức đơn giản so với các hệ thống NAS phức tạp bên ngoài.

Chuẩn bị

- Raspberry Pi 4.
- Laptop cá nhân cài đặt hệ điều hành Windows.
- Pi 4 và laptop cần được kết nối vào chung mạng wifi.
- Một ổ cứng gắn ngoài: Ổ cứng của tôi là loại 2.5 inch được tháo ra từ laptop nên tôi mua thêm 1 box ổ cứng (giá tầm 40,000 VNĐ) để biến nó thành ổ cứng di động kết nối với các thiết bị khác thông qua cổng USB (như các bạn có thể thấy ở hình đầu bài).

Cài đặt Raspberry Pi OS cho PI 4

Đầu tiên, tôi tiến hành cài đặt lại Raspberry Pi OS (bản chất là Debian OS) cho con Pi 4 của mình: Hướng dẫn cài đặt Raspberry Pi 4 không cần màn hình

Cài đặt IP tĩnh cho Pi 4

Lưu ý: Các thao tác câu lệnh bên dưới được tiến hành hoàn toàn từ CMD của Windows. Dĩ nhiên, bạn cần phải truy cập vào Pi 4 thông qua SSH hoặc có thể thao tác trực tiếp trên Pi 4 nếu muốn.

Sau khi cài đặt xong, để thuận tiện hơn, tôi tiến hành set IP tĩnh cho Pi 4. Cách làm rất đơn giản, chỉ cần ssh vào IP local của Pi 4, cách làm cụ thể xem ở link trên luôn nhé. Giả sử IP local của Pi 4 là 192.168.1.5 thì từ Windows, tôi truy cập vào Pi 4 bằng cách mở CMD và gõ vào câu lệnh bên dưới:


ssh pi@192.168.1.5

Giải thích: pi ở đây là username, nếu bạn cài đặt Raspberry Pi OS với tùy chọn mặc định thì username mặc định sẽ là pi luôn.

Tiếp theo, tiến hành edit file dhcpcd.conf bằng câu lệnh dưới:


sudo nano /etc/dhcpcd.conf

Thêm đoạn cấu hình sau vào cuối file. Sau đó, nhấn Ctrl+X để yêu cầu lưu lại thay đổi, bấm Y để xác nhận, và Enter để tiến hành lưu.


interface wlan0
static ip_address=192.168.1.99
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Giải thich: 192.168.1.99 là IP tĩnh mà tôi muốn set cho Pi 4. 192.168.1.1 là IP mặc định của router. Bạn có thể dùng câu lệnh sau để lấy được thông tin này:


ip r | grep default


Sau cùng, hãy restart Pi 4 bằng câu lệnh:


sudo reboot

Format ổ đĩa

Gắn ổ cứng di động vào PI 4. Sử dụng câu lệnh bên dưới để liệt kê các ổ đĩa đang được kết nối vào Pi 4:


sudo fdisk -l

Như các bạn thấy ổ đĩa của tôi tương đương với /dev/sda và /dev/sda1 là phân vùng của nó

Chạy câu lệnh bên dưới để unmount các phân vùng của ổ đĩa (lưu ý nếu ổ đĩa có nhiều hơn một phân vùng thì bạn sẽ phải unmount tất cả):


umount /dev/sda1


Tiến hành xóa và format dữ liệu của ổ đĩa với câu lệnh:


sudo parted /dev/sda

Câu lệnh trên sẽ mở chương trình Parted. 


Vẫn trong Parted, chạy lần lượt các câu lệnh dưới (xem hình trên để tham khảo):


mklabel gpt (gõ y để xác nhận)
mkpart
My500Drive (đây là tên tôi đặt cho ổ đĩa)
ext4
0%
100%
quit

Câu lệnh quit sẽ thoát khỏi chương trình Parted.

Phân vùng ổ đĩa

Nếu ổ đĩa của bạn là /dev/sda thì phân vùng được tạo ra sẽ là /dev/sda1

Chạy câu lệnh dưới:


sudo mkfs.ext4 /dev/sda1

Nhấn y nếu được yêu cầu xác nhận. Nhấn enter để tạo journal.


sudo e2label /dev/sda1 My500Drive

My500Drive như đã nói ở trên là tên tôi đặt cho ổ đĩa của mình, còn bạn muốn đặt tên gì tùy ý.

Reboot Pi 4:


sudo reboot

Chạy lệnh sau để cấp quyền cho account pi được phép ghi phép lên ổ cứng:


sudo chown -R pi /media/pi/My500Drive

Chia sẻ ổ đĩa

Để làm được việc này, chúng ta sẽ cần tới Samba, một công cụ mã nguồn mờ hỗ trợ giao thức chia sẻ file SMB/CIFS. Cài đặt Samba vào Pi 4 như sau:


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 modify tập tin smb.conf hay không. Hãy chọn Yes để xác nhận.

Bây giờ mở file smb.conf bằng Nano lên:


sudo nano /etc/samba/smb.conf


Chèn đoạn cấu hình sau vào cuối file và lưu lại thay đổi:


[MyMedia]
path = /media/pi/My500Drive/
writeable = yes
create mask = 0775
directory mask = 0775
public=no

MyMedia sẽ là tên hiển thị của ổ đĩa trong mạng, bạn muốn đặt gì tùy ý.

Tạo password và user truy cập vào ổ đĩa

Tạo mật khẩu truy cập ổ đĩa cho user pi bằng câu lệnh:


sudo smbpasswd -a pi


Sau khi hoàn tất, restart Samba bằng câu lệnh:


sudo systemctl restart smbd

Truy cập vào ổ đĩa

Mọi thứ đã sẵn sàng, từ một máy tính Windows bất kỳ trong mạng nội bộ, bạn chỉ cần mở File Explorer và gõ vào thanh địa chỉ \\192.168.1.99\MyMedia hoặc \\RASPBERRYPI\MyMedia là đã có thể truy cập vào ổ cứng di động thông Pi 4 được rồi. Chúc các bạn thành công!

Lần đầu truy cập, bạn sẽ được yêu cầu nhập vào username và mật khẩu SMB đã tạo ở bước trên


.
Xin vui lòng chờ đợi
Dữ liệu bài viết đang được tải về

💻Nhận dạy online 1 kèm 1 Automation Test từ cơ bản tới nâng cao (From Zero to Hero) 😁😁😁
Lộ trình gồm 3 phần:
1) Kỹ thuật lập trình và tư duy lập trình cơ bản
2) Nhập môn kiểm thử (Manual Test)
3) Kiểm thử tự động (Automation Test) + Chuẩn bị cho phỏng vấn
* Lộ trình chi tiết: Xem tại đây

🎓Đối tượng người học:
- Những bạn bị mất gốc căn bản môn lập trình.
- Những bạn muốn theo con đường kiểm thử (testing), đặc biệt là kiểm thử tự động (Automation Test).

🦘Người giảng dạy:
- Mình sẽ là người trực tiếp hướng dẫn.
- Nếu là các vấn đề ngoài chuyên môn hoặc sở trường, mình sẽ nhờ các anh chị em khác cũng làm trong ngành.

🤓Giới thiệu:
- Mình đã có hơn 10 năm kinh nghiệm làm IT ở cả trong và ngoài nước. Trong đó 3 năm đầu là làm lập trình viên Java, sau đó bén duyên với mảng Automation Test và theo nghề tới tận bây giờ. Mình được đào tạo chính quy về IT từ một trường Đại học danh tiếng ở TP.HCM (hệ kỹ sư 4 năm rưỡi), có chứng chỉ ISTQB, có thể giao tiếp tốt bằng tiếng Anh và có kinh nghiệm làm việc thực tế ở cả 2 mảng Outsource và Product. Title chính thức của mình là QA Automation Engineer, tuy nhiên, mình vẫn làm những dự án cá nhân chuyên về lập trình ứng dụng như Học Tiếng Anh StreamlineSách Nhạc. Mình là người có thái độ làm việc chuyên nghiệp, chăm chỉ và luôn nhiệt tình trong công việc.

💵Chi phí và hình thức thanh toán:
- Các bạn vui lòng liên hệ qua email songtoigianvn@gmail.com (email, chat, hoặc call) để book nội dung và khung giờ học (từ 8h tối trở đi).
- Mức phí: 150.000đ/buổi, mỗi buổi 60 phút.
- Lộ trình From Zero to Hero: 4.350.000đ (29 buổi).
- Bạn có thể học riêng và đóng tiền theo từng phần nếu muốn.
- Có thể học trước 1-2 buổi trước khi quyết định đi full lộ trình hoặc từng phần.
- Thanh toán qua Momo, chuyển khoản v.v...
BÌNH LUẬN
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...