อุปกรณ์ Network-Attached Storage (NAS) คือไดรฟ์ที่ให้คุณเข้าถึงข้อมูลผ่านเครือข่ายท้องถิ่น (LAN) โดยพื้นฐานแล้วมันคือ cloud storage รุ่นบ้าน เหมาะสำหรับเก็บไฟล์ที่ใหญ่เกินคอมพิวเตอร์ หรือแชร์ไฟล์ระหว่างอุปกรณ์หลายเครื่อง หากคุณมี Raspberry Pi คุณสามารถสร้าง NAS server ได้เองอย่างง่ายและประหยัด
มีหลายวิธีทำ แต OpenMediaVault (OMV) และ Samba เป็นสองตัวเลือกยอดนิยม ที่นี่เราจะใช้ Samba เพราะรันบน Raspbian ปัจจุบันได้ ไม่ต้องเปลี่ยน OS เหมือน OMV ซึ่งแทนที่ OS หลักและไม่ให้ใช้ Pi ทำอย่างอื่น OMV มีฟีเจอร์มากกว่า เช่น เข้าถึงไฟล์จากเครือข่ายภายนอกง่าย ถ้าวางแผนใช้ Pi แค่ NAS แล้ว OMV คุ้มค่าที่จะลอง
สิ่งที่ต้องเตรียม
- Raspberry Pi แนะนำรุ่น 4, 3, หรือ 2 Samba ใช้ทรัพยากรน้อย ไม่ต้องการสเปคสูง
- การ์ด SD ติดตั้ง Raspbian แล้ว
- คอมพิวเตอร์ในเครือข่ายเดียวกับ Pi
- [ตัวเลือก] อุปกรณ์จัดเก็บภายนอก เช่น ฮาร์ดดิสก์ ต่อ USB เข้า Pi
ผมใช้ Raspberry Pi 4 4GB RAM เพราะมีอยู่ แต่ผู้ใช้รุ่น 2 และ 3 รายงานว่าทำงานกับ Samba ได้ดี ขึ้นอยู่กับจำนวนไฟล์ที่ต้องการเก็บ อาจใช้ MicroSD กำลังสูงได้ แต่ต่อฮาร์ดดิสก์ภายนอกจะเพิ่มพื้นที่มาก ยังสามารถใช้ 2 อุปกรณ์ตั้งค่า RAID กันข้อมูลหายได้ แต่ขอทำแบบง่ายๆ ก่อน
หากระบบยังไม่ได้อัปเดตเต็มที่ ตอนนี้เป็นเวลาที่ดี! รัน:
sudo apt update && sudo apt -y upgrade
เพื่ออัปเดต package list และติดตั้งอัปเดต
ขั้นตอนที่ 1: เตรียมพื้นที่จัดเก็บ
เหมือนโปรเจกต์ Pi ส่วนใหญ่ คุณจะต้องเปิด Terminal บน Pi เองหรือผ่าน SSH
กรณีใช้ฮาร์ดดิสก์ภายนอก:
หากมีไดรฟ์ต่อ USB ต้องฟอร์แมทก่อน สามารถใช้ GParted แบบ GUI ได้ แต่คำสั่งด้านล่างสำหรับ Terminal
lsblk
หรือ:
sudo fdisk -l
ระบุไดรฟ์ที่ต้องการใช้เป็น shared storage หากต่ออันเดียว มักจะชื่อ "sda" หรือ "sda1" จดจำไว้
Unmount ไดรฟ์ด้วย:
sudo umount /dev/NAME
โดย NAME คือ "sda" หรือ "sda1" หรือชื่อที่เห็นจากคำสั่งข้างต้น
ฟอร์แมทไดรฟ์:
sudo mkfs -t ext4 /dev/NAME
จะล้างและฟอร์แมทเป็น ext4 เร็วและปัญหาน้อยที่สุด สามารถใช้ NTFS หรือ FAT32 ได้แต่ ext4 แนะนำ
ฟอร์แมทใช้เวลาสักครู่ เมื่อเสร็จ ให้ตั้งชื่อไดรฟ์ด้วย:
sudo e2label /dev/NAME YOURLABEL
NAME คือ sda/sda1 YOURLABEL คือชื่อที่คุณต้องการ หลังนั้นแนะนำ reboot:
sudo reboot
กรณีใช้การ์ด SD:
หากไม่ต้องการจัดเก็บภายนอก สร้าง shared folder บน SD card ของ Pi ได้เลย
mkdir /home/pi/FOLDERNAME
แค่นี้เสร็จ! เปลี่ยน directory หรือชื่อโฟลเดอร์ได้ตามต้องการ ผมตั้งชื่อ "raspsharey"
ขั้นตอนที่ 2: ติดตั้ง Samba
Samba คือเครื่องมือให้ Windows และ Unix แชร์ไฟล์ได้ รันคำสั่งติดตั้ง:
sudo apt install samba samba-common-bin
ขั้นตอนที่ 3: ตั้งค่า Samba
เข้าถึงไฟล์ config ของ Samba:
sudo nano /etc/samba/smb.conf
เลื่อนลงล่างสุด เพิ่มบรรทัดเพื่อบอก Samba ว่าจะแชร์อะไร ควรเป็นแบบนี้:
[sambadrive] path = /media/pi/pisharedrive writeable=Yes read only=no create mask=0777 directory mask=0777 public=no
[sambadrive] คือที่อยู่ที่ใช้เข้าถึง shared folder จากคอมพิวเตอร์อื่น
สำหรับ path หากใช้ไดรฟ์จะเหมือนข้างต้น หากใช้โฟลเดอร์บน SD card จะเป็น directory ที่ตั้งค่าด้วย mkdir ตอนขั้นตอน 1 สำหรับผมคือ:
/home/pi/raspsharey
ถ้า public เป็น "no" ต้องมี username/password เข้าถึง ถ้า "yes" ใครในเครือข่ายก็เข้าถึงได้ด้วยที่อยู่เพียงอย่างเดียว
ผมเพิ่มทั้งไดรฟ์ภายนอกและโฟลเดอร์ภายในใน config - สามารถแชร์หลายโฟลเดอร์/ไดรฟ์พร้อมกันได้
เสร็จแล้ว กด Ctrl+O Enter เพื่อเซฟ แล้ว Ctrl+X ปิดไฟล์
ขั้นตอนที่ 4: สร้างผู้ใช้ Samba
ต้องสร้าง username/password สำหรับ Samba ผู้ใช้ Pi เริ่มต้นคือ "pi" ใช้ง่าย รัน:
sudo smbpasswd -a pi
เพื่อสร้าง user "pi" พร้อมรหัสผ่าน จะขอใส่รหัส 2 ครั้ง
รีสตาร์ท Samba โหลดการเปลี่ยนแปลง:
sudo systemctl restart smbd
ตอนนี้ setup เสร็จแล้ว! เหลือแค่เข้าถึง shared folder จากเครื่องอื่น
ขั้นตอนที่ 5: เข้าถึง NAS จาก Windows
- เปิด File Explorer
- หาปุ่ม "Map drive" บนแถบด้านบน (อาจอยู่ในกลุ่ม New ใต้ "Easy Access" ชื่อ "Map as Drive" หรือที่ "This PC" ชื่อ "Map Network Drive" ใต้แท็บ Computer)
- คลิกจะออก dialog ใส่ Folder: ใส่ที่อยู่ Raspberry Pi และชื่อในวงเล็บ config ข้างต้น เช่น
\\raspberrypi\sambadrive - ใช้ local IP ของ Pi แทน "raspberrypi" ก็ได้
- ติ๊ก "Connect using different credentials"
- คลิก Finish ใส่ credentials ที่ตั้งตอนสร้าง Samba user
เปิดโฟลเดอร์และใช้งานได้เลย
หมายเหตุสุดท้าย
หากเจอปัญหาเข้าถึงโฟลเดอร์ เช่น ต้องการ permission เขียน อาจเพราะ user Pi ไม่ได้ ownership แก้ได้ด้วย:
sudo chown -R [PI USER] [PATH TO FOLDER]
เช่นของผม:
sudo chown -R pi /home/pi/raspsharey
อาจเจอคำแนะนำให้แก้ไฟล์ "/etc/fstab" เพื่อแก้ permission แต่ระวัง การแก้ไฟล์นี้อาจทำให้ Pi เสียหายร้ายแรงหากผิดพลาด ควรเป็นทางเลือกสุดท้าย
หากทั้งหมด顺利 โปรเจกต์นี้ทำเสร็จภายใน 30 นาที หลังจากนั้นคุณจะมี NAS ของตัวเองตลอดเวลาที่ Pi ทำงานอยู่
อ่านต่อ:
- How to Turn Your Raspberry Pi 4 into an Edge Gateway
- How to Install OSMC on a Raspberry Pi
- How to Build a DIY Wireless Printer with a Raspberry Pi