Raspberry Pi ได้รับการออกแบบมาให้ทำงานจากการ์ด SD/MicroSD สำหรับระบบปฏิบัติการเช่น PIXEL นี่หมายความว่าพาร์ติชั่น “รูท” และ “โฮม” ของคุณทั้งหมดอยู่ในการ์ด SD ซึ่งอาจจำกัดอยู่เล็กน้อยเมื่อพิจารณาจากขนาดพื้นที่จัดเก็บที่เล็กจิ๋ว หากคุณต้องการใช้เซิร์ฟเวอร์จัดเก็บข้อมูลภายในบ้านบน Raspberry Pi วิธีที่ดีที่สุดคือการย้ายระบบปฏิบัติการไปยังฮาร์ดไดรฟ์ภายนอก เพื่อให้คุณมีพื้นที่เก็บข้อมูลมากมาย
ในบทช่วยสอนนี้ เราจะแสดงวิธีทำให้ Raspberry Pi 3 บูตและเรียกใช้จากฮาร์ดดิสก์ภายนอกได้
หมายเหตุ :เหตุผลที่ใช้ Raspberry Pi 3 ที่นี่คือเพราะไม่ต้องการแหล่งพลังงานเพิ่มเติมเพื่อเพิ่มพลังให้ฮาร์ดดิสก์ภายนอก แหล่งจ่ายไฟของ Raspberry Pi 3 เพียงพอที่จะเพิ่มพลังงานให้กับฮาร์ดดิสก์ภายนอกผ่านพอร์ต USB ตรวจสอบให้แน่ใจว่าคุณใช้อะแดปเตอร์จ่ายไฟ Pi อย่างเป็นทางการหรือปลั๊กไฟของคุณสามารถจ่ายกระแสไฟได้ 2.5A (ขั้นต่ำ)
ก่อนที่เราจะเริ่ม นี่คือข้อกำหนดสำหรับบทช่วยสอนนี้:
- A Raspberry Pi 3
- การ์ด microSD (ขั้นต่ำ 4 GB) ที่ติดตั้ง PIXEL (บทช่วยสอนนี้อนุมานว่าคุณมีการติดตั้ง PIXEL ที่ใช้งานได้บนการ์ด microSD ของคุณแล้ว สำหรับรายละเอียดเพิ่มเติม คุณสามารถดูบทแนะนำที่นี่เพื่อตั้งค่ารูปภาพสำหรับ Raspberry Pi)
- ฮาร์ดดิสก์ภายนอกที่ฟอร์แมตเป็น Ext4 (คุณสามารถใช้ GParted หรือคำสั่ง fdisk เพื่อฟอร์แมตฮาร์ดไดรฟ์ภายนอกเป็น Ext 4)
การตั้งค่าฮาร์ดดิสก์ภายนอก
1. ใส่การ์ด microSD ลงใน Raspberry Pi 3. เสียบฮาร์ดไดรฟ์ภายนอกเข้ากับพอร์ต USB ของ Raspberry Pi 3. เปิดเครื่อง Pi
2. เมื่อคุณไปถึงเดสก์ท็อปแล้ว ให้เปิดเทอร์มินัล ลงชื่อเข้าใช้บัญชีรูทและติดตั้งฮาร์ดไดรฟ์ภายนอก
sudo su mount /dev/sda /mnt
3. ต่อไป เราต้องติดตั้ง Rsync (หากยังไม่ได้ติดตั้ง):
apt-get install rsync
4. คัดลอกไฟล์ทั้งหมดจากการ์ด microSD ไปยังฮาร์ดไดรฟ์ภายนอก เรากำลังใช้ rsync,
ดังนั้นการอนุญาตและการเป็นเจ้าของไฟล์ทั้งหมดจะไม่เสียหาย
sudo rsync -axv / /mnt
5. สำหรับไฟล์บูตเครื่องทั้งหมดในฮาร์ดไดรฟ์ภายนอก เราจำเป็นต้องแก้ไขไฟล์เริ่มต้นเพื่อให้ชี้ไปที่ฮาร์ดดิสก์ภายนอกเพื่อดูคำแนะนำในการบูตเครื่อง
cp /boot/cmdline.txt /boot/cmdline.txt.bak nano /boot/cmdline.txt
เราจำเป็นต้องแก้ไขสองส่วนของบรรทัดนี้ เปลี่ยน root=
ไปที่ /dev/sda,
และสุดท้ายเพิ่ม rootdelay=5
.
ผลลัพธ์ควรมีลักษณะดังนี้:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait rootdelay=5
6. สุดท้ายนี้ เรากำลังเพิ่มรายการฮาร์ดไดรฟ์ลงใน “/mnt/etc/fstab” เพื่อให้โฟลเดอร์รูทในฮาร์ดไดรฟ์ภายนอกติดตั้งโดยอัตโนมัติระหว่างการบูทเครื่อง
nano /mnt/etc/fstab
เพิ่มบรรทัดนี้ในบรรทัดที่สองของไฟล์:
/dev/sda1 / ext4 defaults,noatime 0 1
เพิ่ม # ที่จุดเริ่มต้นของบรรทัดสุดท้ายเพื่อปิดใช้งานการบูตจากการ์ด microSD:
#/dev/mmcblk0p7 / ext4 defaults,noatime 0 1
หมายเหตุ :/devmncblk0p7
หมายถึงช่องเสียบการ์ด microSD ของคุณและค่าอาจแตกต่างกันในกรณีของคุณ
หลังจากการเปลี่ยนแปลงควรมีลักษณะดังนี้:
proc /proc proc defaults 0 0 /dev/sda1 / ext4 defaults,noatime 0 1 /dev/mmcblk0p6 /boot vfat defaults 0 2 #/dev/mmcblk0p7 / ext4 defaults,noatime 0 1
แค่นั้นแหละ. รีบูต Pi ของคุณและควรบูตและเรียกใช้จากฮาร์ดไดรฟ์ภายนอก สิ่งหนึ่งที่ควรทราบคือการ์ด microSD จะต้องอยู่ในช่องเสียบ เนื่องจาก Pi จำเป็นต้องอ่านไฟล์เริ่มต้นจากมันก่อนที่จะบู๊ตจากฮาร์ดไดรฟ์ภายนอก
ทางเลือก:เพิ่มขนาด swapfile
สมมติว่าฮาร์ดไดรฟ์ภายนอกของคุณมีเนื้อที่มากมาย คุณอาจต้องการเพิ่มขนาด swapfile เพื่อให้ Pi ของคุณสามารถทำงานได้เร็วขึ้นเล็กน้อย
1. เปิดเทอร์มินัลแล้วลงชื่อเข้าใช้บัญชีรูท
sudo su
2. แก้ไขไฟล์ swap
nano /etc/dphys-swapfile
เปลี่ยนค่าของ CONF_SWAPSIZE
จาก 100 เป็น 512 บันทึกและออกจากไฟล์
3. เริ่มบริการใหม่เพื่ออัปเดตการเปลี่ยนแปลง
sudo dphys-swapfile setup sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start
บทสรุป
Raspberry Pi 3 มาพร้อมกับการปรับปรุงที่มีประโยชน์หลายอย่าง เช่น RAM ที่สูงขึ้น โมดูล WiFi และแหล่งจ่ายไฟที่ใหญ่พอที่จะรองรับฮาร์ดไดรฟ์ภายนอก สิ่งนี้ทำให้มีประโยชน์ในการดำเนินโครงการที่ใหญ่และเข้มข้นขึ้น ด้วยเหตุนี้ การ์ด microSD ที่มีขนาดที่เก็บข้อมูลขนาดเล็กอาจเป็นปัจจัยจำกัด ไม่ต้องพูดถึงความเร็วในการอ่าน/เขียนที่ช้า และอาจมีความเสี่ยงต่อความเสียหายของข้อมูล ด้วยคำแนะนำข้างต้น ตอนนี้คุณสามารถจ่ายไฟให้กับ Raspberry Pi จากฮาร์ดไดรฟ์ภายนอกและปรับปรุงประสิทธิภาพได้