วิธีเปลี่ยน Raspberry Pi ให้เป็น NAS สำหรับการแชร์ไฟล์ทั้งบ้าน

เผยแพร่แล้ว: 2022-01-29

บ้านของฉันดูเรียบร้อยและเป็นระเบียบอย่างเหลือเชื่อ แต่เมื่อพูดถึงชีวิตดิจิทัล คำว่า "ผู้กักตุน" ก็เข้ามาในหัว หากฟังดูคล้ายกับคุณ อุปกรณ์จัดเก็บข้อมูลที่เชื่อมต่อกับเครือข่าย—หรือเรียกสั้นๆ ว่า NAS— คือการลงทุนที่สมบูรณ์แบบในการทำให้ไฟล์ของคุณพร้อมใช้งานแบบไร้สายบนทุกอุปกรณ์ในบ้านของคุณ แต่อุปกรณ์เหล่านี้อาจมีราคาแพง ดังนั้นวิธีหนึ่งในการประหยัดเงินคือสร้างตัวเองในราคาถูกด้วย Raspberry Pi ที่เป็นแกนหลัก


NAS คืออะไร?

Asustor Lockerstor 2 NAS
Asustor Lockerstor 2

พื้นที่เก็บข้อมูลบนเครือข่ายช่วยให้คุณสามารถแชร์ไฟล์จากอุปกรณ์ที่เปิดใช้งานตลอดเวลาได้ทั่วทั้งบ้าน ด้วย NAS บนเครือข่ายของคุณ คุณสามารถใช้เพื่อจัดเก็บภาพยนตร์และเล่นจากกล่อง Kodi หลายกล่อง จัดเก็บข้อมูลสำรองจากพีซีของคุณ หรือใช้เป็นกล่อง BitTorrent ที่รวบรวมไฟล์ของคุณทุกวันตลอด 24 ชั่วโมง

แน่นอนว่า คุณสามารถทำสิ่งนี้ทั้งหมดกับพีซีหลักของคุณได้ แต่ NAS นั้นใช้พลังงานน้อยกว่า และได้รับการออกแบบมาให้ทำงานทั้งกลางวันและกลางคืน แม้ว่าเดสก์ท็อปของคุณจะไม่มีค่าคอมมิชชันก็ตาม เมื่อคุณเริ่มใช้แล้ว ยากที่จะย้อนกลับ

มีอุปกรณ์ NAS สำเร็จรูปมากมายจากบริษัทต่างๆ เช่น Synology, QNAP และ Asustor เพียงซื้อหนึ่งแผ่น ใส่ดิสก์ไดรฟ์ เท่านี้คุณก็พร้อมออกสู่สนามแข่งแล้ว แต่อาจมีราคาแพง และหากคุณไม่แน่ใจว่า NAS เหมาะกับคุณหรือไม่ เป็นการยากที่จะปรับการลงทุนให้เหมาะสม โดยเฉพาะอย่างยิ่งหากคุณต้องการสิ่งที่สามารถเติบโตได้ตามความต้องการพื้นที่เก็บข้อมูลของคุณ

ในทางกลับกัน Raspberry Pi เป็นบอร์ดขนาดเล็กอเนกประสงค์ที่สามารถทำหน้าที่เป็น NAS รุ่นทดลองราคาถูก ซึ่งเมื่อคุณเติบโตจากบอร์ดนี้แล้ว สามารถนำไปใช้ใหม่ในอย่างอื่นได้ มันไม่ได้แข็งแกร่งเหมือนหน่วย Synology NAS และ RAID นั้นทำงานได้ไม่ดีกับ Pi โดยเฉพาะหากคุณต้องการความซ้ำซ้อนของข้อมูล คุณจะต้องแน่ใจว่าข้อมูลสำคัญใดๆ บน NAS ที่ใช้ Pi ของคุณได้รับการสำรองข้อมูลไว้ที่อื่นด้วย

อย่างไรก็ตาม มันเป็นโครงการที่ดีถ้าคุณมี Pi อยู่รอบๆ และต้องการดูว่าชีวิตของ NAS เกี่ยวกับอะไร จากนั้น เมื่อคุณติดงอมแงมแล้ว คุณสามารถอัปเกรดเป็นรุ่น Synology หรือ QNAP ที่สร้างขึ้นโดยเฉพาะซึ่งตรงกับความต้องการระยะยาวของคุณ


สิ่งที่คุณต้องการ...

ราสเบอร์รี่ pi

Raspberry Pi พร้อมอุปกรณ์ตกแต่งทั้งหมด
แน่นอน คุณจะต้องมี Raspberry Pi สำหรับโปรเจ็กต์นี้ พร้อมด้วยอุปกรณ์เสริมที่จำเป็น: พาวเวอร์ซัพพลาย การ์ด microSD และเมาส์ คีย์บอร์ด และจอภาพสำหรับการตั้งค่าเริ่มต้น Pis รุ่นล่าสุดใด ๆ ควรใช้งานได้สำหรับโครงการนี้ และคุณสามารถอ่านเพิ่มเติมเกี่ยวกับอุปกรณ์เสริมอื่น ๆ ในคู่มือการเริ่มต้นใช้งาน Raspberry Pi ของเรา

ดิสก์ไดรฟ์ (หรือสองหรือสาม)
การ์ด microSD ของคุณอาจไม่เพียงพอสำหรับ NAS เว้นแต่คุณจะแชร์ไฟล์เพียงไม่กี่ไฟล์ คุณจะต้องใช้ไดรฟ์เพื่อเติมเต็มภาพยนตร์ เพลง หรือไฟล์อื่นๆ ที่คุณต้องการแชร์ระหว่างอุปกรณ์ ในกรณีส่วนใหญ่ ไดรฟ์ภายนอกแบบมาตรฐานจะช่วยได้ แม้ว่าคุณอาจต้องใช้ไดรฟ์ที่เสียบกับผนังแยกต่างหาก หรือฮับ USB ที่ใช้พลังงานได้ เนื่องจาก Pi อาจไม่สามารถจ่ายพลังงานเพียงพอให้กับไดรฟ์ทั้งหมดของคุณ หากคุณต้องการการตั้งค่าที่สะอาดขึ้น คุณสามารถใช้ไดรฟ์ภายในที่ออกแบบมาสำหรับที่เก็บข้อมูลบนเครือข่ายได้เช่นกัน แต่จะต้องใช้กรณีนี้

กรณีที่เป็นมิตรกับ NAS (ไม่บังคับ) :
หากคุณต้องการให้ระบบของคุณดูสะอาดตา คุณอาจต้องมีกล่องหุ้มสำหรับ Pi และไดรฟ์ของคุณ ดังนั้นจึงไม่ใช่แค่สายไฟและดิสก์เท่านั้น ตัวอย่างเช่น Geekworm สร้างบอร์ดชื่อ X825 ที่ให้คุณเชื่อมต่อฮาร์ดไดรฟ์ภายในขนาด 2.5 นิ้ว เชื่อมต่อกับ Pi ของคุณ และติดตั้งทั้งหมดในกล่องเล็ก ๆ (ตรวจสอบให้แน่ใจว่าคุณได้อันที่เข้ากันได้กับ Pi ของคุณ—มีเคสที่แตกต่างกันสำหรับ Pi 3, Pi 4 และอื่นๆ)

สำหรับตอนนี้ ฉันแค่ใช้เคส Raspberry Pi มาตรฐานที่มีไดรฟ์ภายนอกแบบ USB แบบเวลโครอยู่ด้านบน แต่ถ้าคุณยินดีที่จะสร้างสรรค์ โลกทั้งใบก็คือหอยนางรมของคุณที่นี่ เมื่อคุณมีส่วนประกอบทั้งหมดอยู่ในมือแล้ว ก็ถึงเวลาเริ่มต้นใช้งาน NAS ของคุณ


ติดตั้งระบบปฏิบัติการ

ราสเบอร์รี่

มีระบบปฏิบัติการพิเศษ เช่น Openmediavault ที่เปลี่ยน Pi ของคุณให้เป็น NAS แต่สำหรับการตั้งค่าเริ่มต้น ฉันขอแนะนำ Raspbian รุ่นเก่าทั่วไป ซึ่งยืดหยุ่น ใช้งานง่าย และดีพอสำหรับการแชร์ไฟล์สองสามไฟล์ผ่านเครือข่าย เริ่มต้นด้วยการติดตั้ง Raspbian ด้วยซอฟต์แวร์ที่แนะนำตามที่อธิบายไว้ในคู่มือสำหรับผู้เริ่มต้นใช้งานของเรา

ฉันแนะนำให้เชื่อมต่อ Pi กับเครือข่ายของคุณผ่านอีเทอร์เน็ตเพื่อการถ่ายโอนไฟล์ที่รวดเร็ว แต่ Wi-Fi จะทำได้อย่างรวดเร็ว เมื่อคุณบูท Raspbian เป็นครั้งแรก กำหนดรหัสผ่านใหม่และดาวน์โหลดการอัปเดตทั้งหมดของคุณ ให้เชื่อมต่อฮาร์ดไดรฟ์ของคุณกับพอร์ต USB ของ Pi

คุณจะเห็นมันปรากฏขึ้นบนเดสก์ท็อป แต่เราจะทำงานส่วนใหญ่ในเทอร์มินัล (หากต้องการ คุณสามารถ SSH ลงใน Pi ของคุณและดำเนินการคำสั่งเหล่านี้จากพีซีเครื่องอื่นได้)


เลิกเมานท์ไดรฟ์ของคุณ

เลิกเมานท์

ก่อนดำเนินการต่อ เราจะต้องลบไดรฟ์ที่คุณเชื่อมต่อ ดังนั้นหากคุณมีไฟล์สำคัญอยู่ในนั้น คุณจะต้องเก็บไว้ที่อื่นก่อนที่จะโอนไปยัง Pi-NAS ของคุณ จากหน้าต่าง Terminal ให้รันคำสั่งต่อไปนี้เพื่อดูดิสก์ที่เชื่อมต่อกับ Pi ของคุณ:

sudo fdisk -l

ค้นหาไดรฟ์ภายนอกที่คุณต้องการใช้สำหรับไฟล์ของคุณ ในกรณีของฉัน มันคือไดรฟ์ขนาด 80GB ชื่อ "MyExternalDrive" และจดเส้นทางของมันไว้ ในภาพหน้าจอด้านบน ไดรฟ์ 80GB ที่เสียบเข้ากับ Pi ของฉันนั้นสอดคล้องกับ /dev/sda (ตรวจสอบให้แน่ใจว่าคุณจดบันทึกไดรฟ์ที่ถูกต้อง เนื่องจากเรากำลังจะลบข้อมูลดังกล่าว!) ขั้นแรก คุณจะต้องยกเลิกการต่อเชื่อมไดรฟ์ หากคุณกำลังใช้อินเทอร์เฟซ Raspbian คุณสามารถคลิกปุ่มนำออกที่อยู่ถัดจากไดรฟ์เพื่อยกเลิกการต่อเชื่อม แต่ถ้าคุณใช้เทอร์มินัลบน SSH คุณจะต้องเรียกใช้:

umount /dev/sda1

ทั้งนี้ขึ้นอยู่กับไดรฟ์ คุณอาจต้องเรียกใช้ umount /dev/sda2 , umount /dev/sda3 และอื่นๆ ขึ้นอยู่กับจำนวนพาร์ติชั่นในไดรฟ์จากการใช้งานครั้งก่อน

จากนั้น ในการลบและฟอร์แมตแฟลชไดรฟ์ของคุณสำหรับการใช้งาน Linux ให้รัน:

sudo parted /dev/sda
พาร์ทิชันราสเบอร์รี่ pi

ซึ่งจะเป็นการเปิดวิซาร์ดที่เรียกว่า Parted ซึ่งจะช่วยให้คุณสามารถสร้างพาร์ติชั่นใหม่บนไดรฟ์ได้ เรียกใช้คำสั่งนี้ โดยกด Enter หลังจากแต่ละคำตอบในตัวช่วยสร้าง และแทนที่ MyExternalDrive ด้วยชื่อที่คุณต้องการใช้สำหรับไดรฟ์:

mklabel gpt

หากได้รับแจ้งให้ลบไดรฟ์ ให้พิมพ์ y แล้วกด Enter จากนั้นเรียกใช้:

mkpart MyExternalDrive ext4 0% 100% quit

คำสั่ง quit ขั้นสุดท้ายจะออกจากวิซาร์ดที่แยกส่วน แน่นอน คุณสามารถปรับคำสั่งเหล่านี้ให้พอดีกับชื่อไดรฟ์ของคุณ จำนวนและขนาดของพาร์ติชั่นที่คุณต้องการสร้าง และอื่นๆ—แต่สำหรับผู้ใช้พื้นฐานส่วนใหญ่ที่เพิ่งเริ่มต้น คำสั่งเหล่านี้ควรทำงานได้ดี


แบ่งพาร์ติชั่นไดรฟ์ของคุณ

พาร์ทิชันราสเบอร์รี่ pi

ต่อไป เราจะต้องฟอร์แมตพาร์ติชั่นนั้น หากไดรฟ์ของคุณอยู่ที่ /dev/sda พาร์ติชันใหม่จะอยู่ที่ /dev/sda1 (หากไดรฟ์คือ /dev/sdb คุณจะใช้ /dev/sdb1 เป็นต้น):

sudo mkfs.ext4 /dev/sda1

กด y และ Enter เมื่อถูกถามว่าคุณต้องการดำเนินการต่อหรือไม่ จากนั้นเรียกใช้:

sudo e2label /dev/sda1 MyExternalDrive

เพียงแทนที่ MyExternalDrive ด้วยสิ่งที่คุณต้องการตั้งชื่อไดรฟ์ของคุณ การฟอร์แมตจะใช้เวลาสองสามนาที โดยเฉพาะถ้าคุณมีไดรฟ์ขนาดใหญ่ ดังนั้นโปรดอดใจรอ เมื่อคุณทำเสร็จแล้ว ให้รันคำสั่งนี้เพื่อรีบูต Pi ของคุณ:

sudo shutdown -r now

เมื่อ Pi ของคุณบูทสำรอง คุณจะพบว่าไดรฟ์ภายนอกปรากฏขึ้นโดยอัตโนมัติบนเดสก์ท็อป พร้อมสำหรับการดำเนินการ อย่างไรก็ตาม คุณจะต้องรันคำสั่งสุดท้ายหนึ่งคำสั่งเพื่อให้ตัวเองได้รับอนุญาตให้เขียนไฟล์ใหม่ไปยังไดรฟ์ ใน Terminal ให้รัน:

sudo chown -R pi /media/pi/MyExternalDrive

แบ่งปันไดรฟ์

แชร์ไดรฟ์

ตอนนี้ได้เวลาแชร์ไดรฟ์นั้นบนเครือข่ายของคุณแล้ว คุณจึงเพิ่มไฟล์และเข้าถึงได้จากอุปกรณ์ใดก็ได้ในบ้าน ในการทำเช่นนี้ เราจะใช้เครื่องมือที่เรียกว่า Samba ซึ่งเป็นการใช้งานโอเพนซอร์สของโปรโตคอลการแชร์ไฟล์ SMB/CIFS ของ Windows ไม่ใช่ตัวเลือกเดียวของคุณสำหรับการแชร์ไฟล์ แต่ง่ายต่อการติดตั้งและเข้ากันได้กับระบบใดๆ ที่คุณอาจมีในเครือข่าย นี่คือสิ่งที่ผมแนะนำ

Raspbian ไม่ได้มาพร้อมกับ Samba ที่ติดตั้งไว้ตามค่าเริ่มต้น ดังนั้น คุณจะต้องตรวจสอบให้แน่ใจว่าที่เก็บข้อมูลของคุณเป็นปัจจุบัน และติดตั้งโดยใช้คำสั่งต่อไปนี้:

sudo apt update sudo apt upgrade sudo apt install samba samba-common

โปรแกรมติดตั้งจะถามว่าคุณต้องการแก้ไข smb.conf เพื่อใช้การตั้งค่า WINS จาก DHCP หรือไม่ เลือกใช่แล้วกด Enter ตอนนี้คุณแก้ไขไฟล์การกำหนดค่าด้วยตนเองเพื่อแชร์ไดรฟ์ของคุณ วิ่ง:

sudo nano /etc/samba/smb.conf
samba config

จากนั้น จากโปรแกรมแก้ไขข้อความบรรทัดคำสั่งที่ปรากฏขึ้น ให้ใช้ปุ่มลูกศรเพื่อเลื่อนไปที่ด้านล่างของเอกสาร คุณจะต้องเพิ่มกลุ่มข้อความที่มีลักษณะดังนี้:

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

ในเวอร์ชันนี้ MyMedia จะเป็นชื่อการแชร์ของคุณ (ตั้งชื่ออะไรก็ได้ที่คุณต้องการ) และ /media/pi/MyExternalDrive จะเป็นตำแหน่งที่ต่อเชื่อมกับไดรฟ์ของคุณ (คุณอาจต้องเปิดตัวจัดการไฟล์และไปที่ /media/pi/ เพื่อค้นหาว่าชื่ออะไร) เมื่อเสร็จแล้วให้กด Ctrl+X เพื่อออกจาก nano กด y และ Enter เมื่อระบบถามว่าคุณต้องการ บันทึกไฟล์.


สร้างรหัสผ่านและเพิ่มผู้ใช้

เพิ่มผู้ใช้

สุดท้าย คุณจะต้องสร้างรหัสผ่านสำหรับ Samba เพื่อดูการแบ่งปันของคุณจากเครื่องอื่น (มีวิธีกำหนดค่า Samba โดยไม่ต้องใช้รหัสผ่าน แต่โดยทั่วไปแล้วนี่ไม่ใช่แนวทางปฏิบัติด้านความปลอดภัยที่ดี ดังนั้นฉันจึงแนะนำให้เพิ่มรหัสผ่าน) ในการเพิ่มรหัสผ่านให้กับผู้ใช้ Pi ที่มีอยู่ ให้เรียกใช้:

sudo smbpasswd -a pi

ป้อนรหัสผ่านที่คุณต้องการเมื่อได้รับแจ้ง ไม่จำเป็นต้องเหมือนกับรหัสผ่านผู้ใช้ของคุณใน Pi แต่สามารถเป็นได้ แล้วกด Enter

คุณสามารถเพิ่มผู้ใช้รายอื่นด้วย sudo adduser jeff โดยที่ jeff คือผู้ใช้ที่คุณต้องการเพิ่ม และเรียกใช้ sudo smbpasswd -a jeff เพื่อให้รหัสผ่านแก่ผู้ใช้รายนั้น ไม่จำเป็นอย่างยิ่ง แต่อาจมีประโยชน์ถ้าคุณมีคนในบ้านหลายคนที่คุณต้องการให้สิทธิ์ในการอ่านและเขียนที่แตกต่างกันในการแชร์บางรายการ

เมื่อเสร็จแล้ว ให้รันคำสั่งต่อไปนี้เพื่อรีสตาร์ท Samba:

sudo systemctl restart smbd

เข้าถึงสื่อของคุณ

และทุกอย่างควรพร้อมที่จะเขย่าขวัญ ไปที่พีซี Windows ของคุณ เปิดหน้าต่าง File Explorer แล้วพิมพ์ \\raspberrypi\MyMedia ในแถบที่อยู่ (แทนที่ MyMedia ด้วยสิ่งที่คุณเรียกแชร์) หากคุณกด Enter คุณจะสามารถป้อนชื่อผู้ใช้ Samba (pi) และรหัสผ่าน และดูไดรฟ์ที่แชร์ของคุณได้ หากคุณประสบปัญหา คุณอาจต้องใช้ที่อยู่ IP ของ Pi เช่น \\192.168.1.10\MyMedia แทน

ในการเชื่อมต่อบน Mac ให้เปิด Finder แล้วคลิก Go > Connect to Server พิมพ์ smb://raspberrypi เมื่อได้รับแจ้ง

นี่เป็นเพียงรอยขีดข่วนพื้นผิวของสิ่งที่คุณสามารถทำได้ด้วย NAS ที่ใช้ Pi เมื่อความต้องการพื้นที่จัดเก็บข้อมูลของคุณเปลี่ยนแปลงไป คุณสามารถเพิ่มไดรฟ์และการแบ่งปัน เพิ่มผู้ใช้ที่มีสิทธิ์ที่แตกต่างกัน หรือตั้งค่าอาร์เรย์ RAID เพื่อหลีกเลี่ยงการสูญเสียข้อมูลในกรณีที่ฮาร์ดไดรฟ์ล้มเหลว เมื่อคุณไปถึงจุดนั้นแล้ว ก็น่าจะคุ้มค่าที่จะใช้จ่ายเพิ่มอีกนิดกับอุปกรณ์ NAS เฉพาะเพื่อประสิทธิภาพที่ดีขึ้น