Pi 5 : NAS Project

ความหมายคือ

  • NAS (Network Attached Storage) คืออุปกรณ์หรือคอมพิวเตอร์ที่ตั้งค่าให้ทำหน้าที่เป็น เซิร์ฟเวอร์เก็บไฟล์
  • ทุกคนในเครือข่ายสามารถ เข้าถึง / อ่าน / เขียนไฟล์ ได้ เหมือนแชร์โฟลเดอร์ใหญ่ ๆ
  • สามารถใช้ ฮาร์ดดิสก์หลายลูก (RAID) เพื่อป้องกันข้อมูลหาย

ทำอะไรได้บ้าง

  • เก็บไฟล์ภาพ/วิดีโอ/เอกสารให้ทุกเครื่องในบ้านเข้าถึงได้
  • Backup อัตโนมัติจากคอมพิวเตอร์หรือมือถือ
  • ใช้เป็น Media Server (Plex, Jellyfin, Kodi) ดูหนัง/เพลงผ่านทีวี
  • เข้าถึงไฟล์ได้จากนอกบ้าน (ผ่าน Internet + VPN)

ผมจะ Connect ไปหาเครื่อง Raspberry Pi 5 โดยใช้ Raspberry Pi Connect

2.2 จากรูปจะเห็นว่า เครื่อง Raspberry Pi 5 (Comname : Pi5K1) ผมใช้ harddisk ที่เป็น M.2 Nvme ขนาด 500 GB

3.คือ IP Address ของ Raspberry Pi 5

4.ถ้าเครื่อง Raspberry Pi 5 ถูก connect โดย Raspbrry Pi Connect ไอคอนจะเป็นสีม่วง

5.ถ้าขึ้นแบบนี้ให้กด Update ได้เลย

หลังจากที่ Connect ไปแล้วให้ update ตามรุปเลย แล้ว restart 1 ครั้ง เพื่อให้ระบบ update file ใหม่จาก website

Open Terminal
1.สร้าง Folder WriteData เพื่อใช้สำหรับ Save File
1.1 sudo mkdir DATA512
1.2 cd DATA512
1.3 sudo mkdir WriteData
1.4 sudo chown -R admin:admin /home/admin/DATA512/WriteData

2.สร้าง Folder ReadData เพื่อใช้สำหรับ อ่าน File อย่างเดียว ต้องใช้ user root เพื่อไม่ให้ user อื่นๆมีสิทธิ์ในการเขียนและลบไฟล์
(ในกรณีนี้ ผมจะทำ Script ตั้งเวลา Copy File จาก Folder WriteData มาใส่ Folder ReadData แบบอัตโนมัติ)
2.1 su –
2.2 cd /home/admin/DATA512/
2.3 mkdir ReadData

3.ติดตั้ง samba และ Config (เครื่องผมเคยติดตั้งไปแล้วเลยโชว์แค่นี้)
admin@vpnserver:-$ sudo apt install samba

แก้ไขไฟล์ /etc/samba/smb.conf ให้เพิ่มข้อมูลตามด้านล่าง

admin@vpnserver:-$ sudo nano /etc/samba/smb.conf

— Move to end
[data_write]
path=/home/admin/DATA512/WriteData
read only=no
writeable=yes

[data_read]
path=/home/admin/DATA512/ReadData
read only=no
writeable=yes

กด Ctrl+X , Y , Enter เพื่อ save

4.สร้าง user สำหรับ Samba

admin@vpnserver:-$ sudo smbpasswd -a admin
admin@vpnserver:-$ sudo systemctl restart smbd (เพื่อเช็คสถานะว่า samba ทำงานได้ ให้กด Ctrl+C เพื่อออกจากหน้าจอ)
admin@vpnserver:-$ sudo reboot

ทดสอบการใช้งาน ครั้งแรกให้ Run ไปที่ \\192.168.1.52 ให้ใส่ user name และ password

ทดสอบ Copy File ไปที่ WriteData เมื่อ copy file ไปวางที่ด้ารซ้าย ด้านขวาเป็น เครื่อง Raspberry Pi 5 จะเห็นว่ามี File มาวางไว้จริงๆ

ทดสอบ Copy File ไปที่ ReadData จะเห็นว่ามี ERROR copy file ไปวางไม่ได้ เพราะ Folder ReadData เราสร้างให้เพื่อ user root อ่านและเขียน โดยที่ user อื่นๆ จะอ่านได้อย่างเดียว