คู่มือฮาร์ดแวร์สำหรับผู้เริ่มต้นทำ Home Lab
(linuxblog.io)- Home Lab คือ สภาพแวดล้อมแบบแซนด์บ็อกซ์ สำหรับทดลองการตั้งค่าเครือข่ายและเซิร์ฟเวอร์ที่บ้านได้อย่างปลอดภัย ตั้งแต่การสำรองข้อมูลระยะไกลและการมอนิเตอร์ ไปจนถึงการทดสอบอุปกรณ์ โดยไม่ต้องแบกรับความเสี่ยงแบบโปรดักชัน
- ก่อนติดตั้ง ควรตรวจสอบ เงื่อนไขทางกายภาพ อย่างอุณหภูมิ การระบายอากาศ ไฟฟ้า เสียงรบกวน ฝุ่น และเส้นทางเดินสายก่อน และควรวาดไดอะแกรมเครือข่ายให้เหมาะกับโครงสร้างบ้าน
- การเลือกแร็กและตู้แร็กจะแตกต่างกันตามความลึกของอุปกรณ์และความร้อนที่เกิดขึ้น หากใช้อมาตรฐานเดียวกันกับอุปกรณ์เครือข่ายแบบตื้นและอุปกรณ์เซิร์ฟเวอร์แบบลึก อาจกระทบทั้งการระบายความร้อนและความสะดวกในการเข้าถึง
- ไม่จำเป็นต้องซื้อ ISP โมเด็ม, เราเตอร์·สวิตช์, UPS, แพตช์พาเนล, สายเคเบิล และเซิร์ฟเวอร์ทั้งหมดในครั้งเดียว การเริ่มจากชุดเล็ก ๆ แล้วค่อยปรับให้เหมาะกับการใช้ไฟและเผื่อการขยายในอนาคตเป็นวิธีที่สมจริงกว่า
- ชุดที่เริ่มจากแร็ก 12U ในปี 2020 ขยายไปถึง 10G uplink และ 2.5G LAN ภายใน 6 ปี แต่หัวใจสำคัญไม่ได้อยู่ที่อุปกรณ์ราคาแพง แต่อยู่ที่ การจัดวางที่ดูแลได้จริงและการจัดการพลังงาน
เป้าหมายและขอบเขตการใช้งานของ Home Lab
- Home Lab คือ สภาพแวดล้อมทดสอบ ที่บ้านซึ่งช่วยลดความเสี่ยงจากการนำค่าคอนฟิกใหม่ไปใช้กับอุปกรณ์โปรดักชันทันที
- ตัวอย่างการใช้งานมีดังนี้
- การสำรองข้อมูลระยะไกล
- การมอนิเตอร์เครือข่ายและการแจ้งเตือนของเซิร์ฟเวอร์ระยะไกล
- UAP AP แบบมีสาย
- การทดลองอุปกรณ์และบริการหลากหลายประเภท
- ชุดนี้ถูกเผยแพร่ครั้งแรกในปี 2020 และอัปเดตมาอย่างต่อเนื่อง โดยรวมการเปลี่ยนแปลงของชุด ณ เดือนมีนาคม 2026 และไทม์ไลน์ตลอด 6 ปี
เกณฑ์ในการเลือกตำแหน่งติดตั้ง
- ตำแหน่งของ Home Lab ควรพิจารณาทั้ง อุณหภูมิและการระบายอากาศ การเดินสาย การเข้าถึง แหล่งจ่ายไฟ เสียงรบกวน ฝุ่น และปริมาณการสัญจร
- จุดเด่นและข้อจำกัดของแต่ละตำแหน่งมีความชัดเจน
- โฮมออฟฟิศ: สายสั้นเพราะโต๊ะกับอุปกรณ์อยู่ใกล้กัน แต่บางบ้านอาจไม่มีห้องนี้ หรือเป็นพื้นที่ที่ใช้งานอยู่นานอยู่แล้ว
- ห้องนั่งเล่น: โดยมากอากาศเย็นและมีพื้นที่ แต่มีคนเดินผ่านมากและเสี่ยงต่อความเสียหาย
- ตู้เสื้อผ้า: เข้าถึงง่ายและซ่อนได้ดี แต่การระบายอากาศและพื้นที่มักไม่พอ
- ห้องใต้ดิน: โดยทั่วไปเย็น แต่เสี่ยงน้ำท่วมหรือเข้าถึงยาก
- ห้องใต้หลังคา: เสียงรบกวนน้อยและอาจเดินสายได้ง่าย แต่บางพื้นที่อาจมีปัญหาอุณหภูมิสูง น้ำรั่ว หรือความชื้น
- โรงรถ: ลดเสียงในบ้านและสะดุดตาน้อยกว่า แต่มีความเสี่ยงจากแมลง ความร้อน ฝุ่น สายยาว และความเสียหายจากรถ
- ชุดที่ใช้งานจริงวางไว้ในโฮมออฟฟิศ และเพราะแล็ปท็อป เดสก์ท็อป เซิร์ฟเวอร์ และอุปกรณ์อื่นอยู่ในห้องเดียวกัน จึงเดินสายให้สั้นได้
- ก่อนติดตั้ง ควรวาดไดอะแกรมเครือข่ายภายในบ้านหรือใช้เครื่องมือออกแบบเครือข่ายเพื่อตรวจสอบ เส้นทางเดินสาย และโครงสร้างบ้านก่อน
แร็ก ตู้แร็ก และวิธีจัดเก็บอุปกรณ์
- ตู้แร็ก·แร็กสำหรับอุปกรณ์เครือข่ายกับตู้แร็ก·แร็กสำหรับเซิร์ฟเวอร์มักสับสนกันได้ง่าย แต่เราเตอร์ สวิตช์ และแพตช์พาเนลมักตื้นกว่าเซิร์ฟเวอร์และปล่อยความร้อนน้อยกว่า
- หากวางแผนจะติดตั้งอุปกรณ์ระดับเซิร์ฟเวอร์ ความลึกและการระบายอากาศของตู้แร็กเครือข่ายอาจไม่เพียงพอ และรุ่นที่มีประตูกระจกอาจเสียเปรียบเรื่องการระบายความร้อน
- เวลาจะเลือกตู้แร็กหรือแร็ก ควรดูสภาพแวดล้อมการติดตั้งก่อน
- หากติดตั้งเซิร์ฟเวอร์ขนาดใหญ่และหนัก ความมั่นคงของตู้แร็กหรือแร็ก 4 ด้านมีความสำคัญ
- หากต้องเข้าถึงด้านข้างหรือด้านหลังบ่อย แร็กแบบเปิดหรือตู้แร็กที่ถอดด้านข้างได้จะเหมาะกว่า
- อุปกรณ์ที่ต้องการการระบายความร้อนเพิ่มเติมจะยิ่งต้องออกแบบการถ่ายเทอากาศให้ดีในตู้แบบปิด
- ห้องที่มีฝุ่นมาก ตู้แร็กจะช่วยปกป้องอุปกรณ์ได้ดีกว่า
- พื้นที่อย่างห้องนั่งเล่นที่มีแขกเข้าออก ตู้แร็กแบบล็อกได้อาจดูเรียบร้อยกว่า
- หากต้องจำกัดการเข้าถึงหรือเน้นความปลอดภัย ตู้แร็กที่มีตัวล็อกจะเหมาะสม
ฮาร์ดแวร์ที่แนะนำและเกณฑ์การเลือก
- ราคาสินค้าอ้างอิงจากราคาปัจจุบันบน Amazon จึงอาจเปลี่ยนแปลงได้ และลิงก์ Amazon บางส่วนเป็นลิงก์แบบมีค่าตอบแทน
-
ISP เคเบิลโมเด็ม
- สำหรับผู้เริ่มต้น แค่เปลี่ยนโมเด็มที่ ISP ให้มาก็สามารถเริ่มทดลองเครือข่ายในบ้านได้แล้ว โดยยังไม่ต้องจัดเต็มทั้งแร็ก
- ISP จำนวนมากในสหรัฐฯ คิดค่าเช่าโมเด็มรายเดือน ดังนั้นการซื้อเองอาจคุ้มค่าในแง่ต้นทุน
- ชุดโมเด็ม·เราเตอร์จาก ISP อาจคุณภาพต่ำหรือเป็นของมือสอง ฟีเจอร์อาจไม่พอ และเมื่อมีช่องโหว่ใหม่ ๆ ก็อาจต้องพึ่ง ISP ในการอัปเดตเฟิร์มแวร์
- หาก ISP และอุปกรณ์ที่ใช้อยู่ดีพอแล้ว ก็ใช้ต่อได้ โดยเหตุผลในการเปลี่ยนคือเพื่อเพิ่มความสามารถของเครือข่ายและมีสภาพแวดล้อมสำหรับทดลอง Home Lab
- ตัวอย่างอินเทอร์เน็ตเคเบิลคือ Motorola MB7621 32×8, Motorola MB8611 รุ่น DOCSIS 3.1
- อินเทอร์เน็ตไฟเบอร์ บางผู้ให้บริการอาจเปลี่ยน ONT เองได้ แต่หลายชุด ONT จะอยู่ภายใต้การดูแลของ ISP และผู้ใช้เริ่มควบคุมได้ตั้งแต่เราเตอร์เป็นต้นไป
- เคเบิลโมเด็มปล่อยความร้อนมาก จึงควรวางไว้ด้านบนของแร็กหรือเผื่อพื้นที่ให้อากาศไหลผ่านด้านบนและล่าง
-
แร็ก
- หน่วยแร็ก U หรือ RU มีขนาด 1 3⁄4 นิ้ว หรือ 44.45mm และเป็นหน่วยที่ใช้บอกความสูงของอุปกรณ์และกรอบแร็กขนาด 19 นิ้ว·23 นิ้ว
- แร็กขนาดเต็มทั่วไปสูง 42U
- ตัวอย่างอุปกรณ์:
- StarTech 12U Wall Mount Rack: ลึก 13.5 นิ้ว กว้าง 19 นิ้ว รับน้ำหนักได้ 125lbs และเป็นแร็กติดผนัง 12U ที่ใช้งานมาตั้งแต่ปี 2020
- Samson SRK-12 Universal Equipment Rack Stand: เป็นแร็กอุปกรณ์เสียงที่รองรับอุปกรณ์ตื้น และมีล้อจึงไม่ต้องยึดกับผนังหรือพื้น
- NavePoint 9U Basic IT Wall Mount Network Rack Locking Glass Door: เป็นตู้แร็กเครือข่ายที่ดูดี แต่ในสภาพแวดล้อมที่เปิดแอร์เฉพาะฤดูร้อน ตู้แบบปิดไม่เหมาะนัก
- เวลาวัดอุปกรณ์ที่จะใส่แร็ก ต้องเทียบความกว้างของอุปกรณ์กับ ความกว้างของชั้นแร็ก ไม่ใช่ความกว้างด้านในของตัวแร็ก
-
UPS
- ในสภาพแวดล้อมที่มีเครื่องกำเนิดไฟฟ้าสำรองแบบโพรเพนและใช้เวลาสลับประมาณ 1 นาที จึงต้องการ UPS ที่รองรับโหลด 100W~200W ได้สักไม่กี่นาที
- CyberPower OR500LCDRM1U UPS เป็นรุ่น 500VA/300W มีเต้ารับ 6 ช่อง AVR และเป็นแบบ rackmount 1U น้ำหนักประมาณ 20lbs
- UPS รุ่นนี้ให้เวลาใช้งานเกิน 30 นาทีเล็กน้อย รวมถึงเมื่อใช้งาน PoE AP 2 ตัวและจอ 27 นิ้ว โดยใช้แบตเตอรี่ไปราว 50%
- หากตั้งเป้าให้ UPS อยู่ได้นานมาก ค่าใช้จ่ายจะสูงขึ้นมาก ดังนั้นการออกแบบให้มีเวลาเพียงพอสำหรับปิดอุปกรณ์จำเป็นและอุปกรณ์กินไฟต่ำอย่างปลอดภัยจึงสมจริงกว่า
- PoE AP ใช้ไฟสูงสุดราว 9W ต่อเครื่อง ซึ่งช่วยให้โหลดของ UPS อยู่ในช่วง 20~30%
-
ชั้นวางและไฟฟ้า
- หาก UPS 1U ไม่มีชุด rackmount ก็สามารถวางบนอุปกรณ์อื่นได้ แต่ถ้าต้องการให้แบตเตอรี่เย็นและลดการสะสมความร้อน ชั้นวาง 1U แบบมีช่องระบายอากาศจะเหมาะกว่า
- AC Infinity Vented Cantilever 1U Universal Rack Shelf มีความลึกตั้งแต่ 6 นิ้วถึง 16 นิ้ว และช่องระบายอากาศกับสล็อตช่วยทั้งการระบายความร้อนและการจัดสาย
- CyberPower UPS มีเต้ารับ 6 ช่อง โดย 4 ช่องเป็นแบตเตอรี่สำรองพร้อม surge protection และอีก 2 ช่องเป็น surge protection อย่างเดียว
- ADJ Products AC POWER STRIP PC-100A สามารถต่อเข้ากับ 1U CyberPower UPS ได้โดยตรง ทำให้เปิด·ปิดไฟแยกตามอุปกรณ์ได้สะดวก
- ตัวประหยัดเต้ารับและแผงปิดช่องว่าง 1U ใช้เพื่อจัดการพลังงานและปรับปรุงการไหลเวียนอากาศในแร็ก
การระบายความร้อน เครือข่าย สายเคเบิล และชุดเซิร์ฟเวอร์
-
การระบายความร้อน
- การรักษาอุณหภูมิของอุปกรณ์ในแร็กให้อยู่ในระดับเหมาะสมสำคัญต่อการป้องกันความร้อนสูงเกินไป ประสิทธิภาพที่สม่ำเสมอ และอายุการใช้งานที่ยาวขึ้น
- AC Infinity CLOUDPLATE T7-N 2U Intake ใช้งานมาราว 4 ปี และช่วยระบายความร้อนให้แร็กได้ดีแม้ที่ความเร็วพัดลมต่ำ
- หลังใช้ไปราว 2 ปี พัดลมเริ่มมีปัญหาจากฝุ่นสะสม และในปีที่ 3 พัดลมเสียไป 3 จาก 4 ตัว
- ตัวคอนเน็กเตอร์ภายในเป็น 3-pin wafer connector ที่ยึดกับแผงวงจรด้วยกาวร้อน ทำให้เปลี่ยนพัดลมได้ยาก
- เดือนเมษายน 2025 ได้ถอดอุปกรณ์นี้ออกและเปลี่ยนไปใช้ การระบายความร้อนแบบพาสซีฟ ด้วยแผงระบายอากาศ 1U ซึ่งทำงานได้ดีหลังจากนั้น
- ในสภาพแวดล้อมที่มีแอร์และฝุ่นน้อย อาจไม่จำเป็นต้องใช้พัดลมระบายความร้อนแบบแอ็กทีฟ และถ้าจำเป็นต้องใช้ ก็ควรเป่าทำความสะอาดด้วยลมอัดทุกไม่กี่เดือนเพื่อเพิ่มโอกาสให้อายุใช้งานแตะ 2~3 ปี
-
เราเตอร์และสวิตช์
- มองว่าความต้องการด้าน routing และ switching ส่วนใหญ่สามารถตอบได้ด้วยอุปกรณ์จาก Cisco, Ubiquiti และ TP-Link
- ชุดนี้ใกล้เคียงอุปกรณ์สำหรับธุรกิจขนาดเล็กมากกว่าโฮมออฟฟิศ และเผื่อการขยายฟีเจอร์ในอนาคตไว้
- ตัวอย่างเราเตอร์:
- Peplink B-One Gigabit Dual WAN WiFi Router: รองรับ Multi-WAN load balancing, throughput 1Gbps, WAN 2 พอร์ต, LAN 4 พอร์ต, dual-band 2x2 MIMO Wi‑Fi
- Ubiquiti Dream Machine UDM Pro: 10G, multigigabit, PoE, all-in-one router·security gateway
- TP-Link ER8411 10G VPN Router: รองรับ WAN ได้สูงสุด 10 พอร์ต, SPI firewall, Omada SDN, load balance, lightning protection
- มีการยก MikroTik RB4011 เป็นตัวอย่างอุปกรณ์ขนาดเล็กแต่ประสิทธิภาพสูงเช่นกัน
- ตัวอย่างสวิตช์:
- Ubiquiti USW-Pro-Max-16-PoE: สวิตช์ Layer 3 Etherlighting 16 พอร์ต, 2.5GbE, จ่ายไฟ PoE++
- TP-Link SG2210XMP-M2: 8 พอร์ต 2.5GBASE-T, 2 พอร์ต 10GE SFP+, 8 พอร์ต PoE+
- ยังมีตัวเลือกอื่นอย่าง Netgear, pfSense, OPNsense, IPFire และอุปกรณ์ที่แนะนำทั้งหมดก็ไม่ได้เหมาะกับทุกความต้องการ จึงควรศึกษาต่อเพิ่มเติม
-
แพตช์พาเนลและสายเคเบิล
- เลือกแพตช์พาเนล 16 พอร์ต แต่เมื่อมองย้อนกลับไปคิดว่าน่าจะเลือก 24 พอร์ต
- ถึงอย่างนั้น 16 พอร์ตก็ยังพอแบบเฉียด ๆ แม้ผ่านไป 6 ปี
- แพ็กเกจที่เร็วที่สุดจาก ISP คือดาวน์โหลด 160Mbps และอัปโหลด 30Mbps ดังนั้น Home Lab นี้จึงไม่จำเป็นต้องใช้ CAT8 หรือ CAT7
- เพราะเพดาน 1000Mbps ยังเพียงพอ จึงซื้อสายม้วน CAT6 ยาว 250 ฟุตและสาย CAT6 หลายความยาว
- หากต้องการทราฟฟิกเครือข่ายที่ลื่นไหลกว่านี้ อาจพิจารณา CAT6a ขึ้นไป แต่ถ้า RJ45 connector และแพตช์พาเนลไม่รองรับ สาย CAT7 หรือ CAT6a ก็จะกลายเป็นการลงทุนที่สูญเปล่า
- ตอนติดตั้งครั้งแรก สาย coaxial ขาดไปประมาณ 3 ฟุต จึงควรเผื่องบสำหรับสายที่ยาวกว่าที่คิดว่าจำเป็น
-
เซิร์ฟเวอร์
- ความต้องการของเซิร์ฟเวอร์แตกต่างกันมากตามสิ่งที่จะโฮสต์ เช่น NAS, VM, เว็บเซิร์ฟเวอร์, แบ็กอัปเซิร์ฟเวอร์, เมลเซิร์ฟเวอร์, ตัวบล็อกโฆษณา จึงไม่ได้แนะนำรุ่นใดเป็นพิเศษ
- ชุดที่ใช้งานจริงใช้ ThinkCentre M73 และ ThinkCentre M715q ที่ซื้อมือสองจาก eBay
- ทั้งสองเครื่องทำงานเงียบและเย็น พร้อมรัน Ubuntu Server และ Windows 10
- หากเป็นเซิร์ฟเวอร์แบบทางการ ตัวเลือกมี Dell, HP, Cisco, Lenovo และในโลก Home Lab ก็มักซื้อมือสองจาก Craigslist หรือ eBay กันมาก
ตัวอย่างชุด VPN ทั้งบ้านแบบเรียบง่าย
- VPN ทั้งบ้านที่จัดให้เพื่อนใช้ไฟต่ำกว่า 40W บน UPS 700VA แสดงให้เห็นว่า Home Lab ไม่จำเป็นต้องซับซ้อนหรือกินไฟมากเสมอไป
- องค์ประกอบมีดังนี้
- StarTech.com 6U Wall Mount Network Equipment Rack
- AC Infinity Vented Cantilever 1U Universal Rack Shelf
- C2G 12-Port Patch Panel
- VCE CAT6 RJ45 Keystone Jack Inline Couplers
- รัน Unifi Controller บน Raspberry Pi 4 2GB Basic Kit
- รัน Edge Gateway และ WireGuard VPN บน Brume GL-MV1000
- Edgeswitch 10xp
- StarTech.com 8 Outlet Horizontal 1U Rack Mount PDU Power Strip
- CyberPower SL700U Standby UPS System, 700VA/370W
การเปลี่ยนแปลงตลอด 6 ปีและบทสรุป
- Home Lab เริ่มต้นในปี 2020 ด้วยแร็กติดผนัง 12U, เคเบิลโมเด็ม และ EdgeRouter
- หลังผ่านไป 6 ปี ได้อัปเกรดเป็น 10G uplink, pfSense firewall และ 2.5G LAN พร้อมเปลี่ยนระบบมอนิเตอร์จาก Zabbix เป็น Checkmk RAW
- การเปลี่ยนแปลงหลักมีดังนี้
- มีนาคม 2020: สร้างชุดแรกเสร็จ
- เมษายน 2020: เพิ่ม 4G failover, VLAN, blanking panel และ Zabbix monitoring
- พฤษภาคม 2020: เพิ่ม Raspberry Pi และจอมอนิเตอร์แดชบอร์ด Zabbix
- มิถุนายน 2020: เพิ่มคีย์บอร์ด และเปลี่ยน mesh cover เป็น plexiglass แบบ tinted
- 2022~2023: ย้ายบ้าน เปลี่ยน EdgeRouter เป็น Peplink Balance 20x และอัปเกรด UPS
- หลังปี 2025: อัปเกรดเป็น 10G uplink และ 2.5G LAN พร้อม pfSense firewall, เปลี่ยน Zabbix เป็น Checkmk RAW และเปลี่ยนเป็นการระบายความร้อนแบบพาสซีฟ
- หลักการสำคัญที่สุดในการใช้งานคือเริ่มเล็กและเตรียมพร้อมสำหรับการเติบโต
- ไม่จำเป็นต้องมีแร็ก ตู้แร็ก แพตช์พาเนล และอุปกรณ์ครบทั้งหมดตั้งแต่วันแรก แค่เริ่มจากการเปลี่ยน ISP โมเด็มและเพิ่มเราเตอร์ที่เหมาะสมก็ได้
- เวลาจะเลือกอุปกรณ์ ควรคำนึงถึง การใช้พลังงาน ตั้งแต่ต้น เพื่อหลีกเลี่ยงไม่ให้ค่าไฟเพิ่มสูงเกินไป
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
บทความดี แต่ขนาดและขอบเขตกว้างจนทำให้รู้สึกหวั่นได้ง่าย โฮมแล็บ เริ่มต้นได้สบาย ๆ แค่ NUC บนโต๊ะหนึ่งเครื่องก็พอ และ RAM 64GB ก็รันอะไรได้เยอะมาก
NUC มีประสิทธิภาพดีสำหรับการเปิด 24/7 แต่ถ้าเจอโหลด CPU นาน ๆ จะเริ่มเสียงดัง ถ้าเป็นแบบนั้นก็ค่อยขยายด้วย OptiPlex หรือ Precision Tower SFF จาก eBay และถ้าเป็นไปได้เลือกโมเดลที่รองรับ ECC Dell SFF ตัวเล็กแต่มีพัดลมเงียบแบบเดสก์ท็อป/เซิร์ฟเวอร์จริงจัง ใส่การ์ด 10G Mellanox 3 ราคา 40 ดอลลาร์จาก eBay ได้ และเหมาะกับการวางซ้อนแนวนอน ควรเลี่ยง OptiPlex ก่อน CPU เจน 12 เพราะอาจติดข้อจำกัดเรื่องไฟและพื้นที่ ส่วน i5-12500 มือสองตอนนี้ก็ถูกลงมากแล้ว ถ้าเป็น LGA1700 ก็ยังใส่ i9-14900 non-K ได้เมื่อจำเป็น
ส่วนตัวผมแค่วางกล่อง 4 เครื่องซ้อนกันไว้ที่มุมห้อง แล้วเอาแผงข้างแร็ก 2 ชิ้นมายึดน็อตติดกันด้านหลังโต๊ะทำงานเป็น แร็กปลอม แล้วขันชิ้นส่วนติดเข้าไป มี NAS บนชั้นวางกับ Raspberry Pi หลายตัวต่ออยู่ด้วย ผมชอบความรกแบบนี้และได้เรียนรู้เยอะมาก เริ่มจากของที่มีแล้วค่อยขยายเมื่อจำเป็นก็พอ แร็กเป็นของเท่ ๆ ตอนที่งานอดิเรกนี้ลึกพอจนเริ่มสนใจคะแนนด้านสไตล์
ลองต่อเข้ากับสมาร์ตปลั๊กที่ใช้ tasmota แล้วพบว่าตอน idle อยู่ราว 6W ผมตั้งค่า BIOS และ tuned profile เพื่อจูนโหมดประหยัดพลังงานตลอดอยู่แล้ว แต่โดยทั่วไป NUC แทบไม่ค่อยเกิน 30W ซึ่งประมาณครึ่งหนึ่งของหลอดไส้ทังสเตนสมัยก่อนหนึ่งหลอด
โน้ตบุ๊กมือสองเก่า ๆ โดยเฉพาะพวกจอแตก แทบจะซื้อได้ในราคาเกือบฟรี และถ้ามีอยู่แล้วหรือมีคนรู้จักให้มาก็คือฟรีจริง ๆ ถ้าเป้าหมายแค่ระดับ Plex มันก็ใช้งานได้ดี และการกินไฟของโน้ตบุ๊กก็ไม่ได้มากกว่า NUC มากนัก โดยเฉพาะตอน idle ตอนนี้ผมใช้เซิร์ฟเวอร์แร็กเมานต์จริงจังเพราะมันดูเท่ แต่ผมคิดว่าสำหรับคนส่วนใหญ่ โน้ตบุ๊กเก่า ๆ ก็เพียงพอแล้ว
แต่พอตอนหลังจะทำแร็กเมานต์และอัปเกรดฮาร์ดแวร์บางส่วน ไกด์สำหรับ “มือใหม่” นี้ก็ช่วยได้มากจริง ๆ
[0] https://blog.janissary.xyz/posts/homelab-0
ส่วน Lenovo mini PC ทำหน้าที่ทั้งเป็นโหนด Syncthing และ HTPC อยู่หลังทีวี มันอาจไม่ใช่ชุดที่ประณีตที่สุดในโลก แต่ใช้งานได้ดี ราคาถูกมาก และเหมาะกับการอยู่คอนโด
ออกนอกประเด็นนิดหน่อย แต่สำหรับโฮมเซิร์ฟเวอร์อยากชม Proxmox มาก ๆ ตลอด 25 ปีที่ผ่านมา ผมรัน Linux server ที่บ้านในรูปแบบใดรูปแบบหนึ่งมาตลอด และคอยดูแลระบบเดี่ยวแบบ Ubuntu ด้วยมือเองเสมอ ซึ่งยุ่งยากมาก
Proxmox ช่วยให้รันหลายคอนเทนเนอร์และ virtual machine บนฮาร์ดแวร์เครื่องเดียวได้ง่าย ตอนแรกเริ่มจากการทำ virtualize Ubuntu เครื่องใหญ่เครื่องเดียว แต่แค่นั้นก็มีข้อดีอย่างการสำรองข้อมูลและ high availability แล้ว ตอนนี้เริ่มแยกบริการออกเป็นคอนเทนเนอร์ของใครของมัน ซึ่งสะอาดเป็นระเบียบกว่ามาก
ตัว virtual machine เองก็มีประโยชน์ แต่การย้ายงานข้ามเครื่อง รวมถึงเครื่องมือสำรอง/กู้คืนแบบศูนย์กลางที่ Proxmox ให้มานั้นทำให้รู้สึกเป็นอิสระจริง ๆ ช่วงหลังผมทำ PCIe GPU passthrough ให้กับ Windows VM แล้วใช้ Moonlight/Sunshine สตรีมเกมไปยังเครื่องสเปกอ่อน ๆ ภายในบ้าน มันทำงานได้ดีมากจนตอนนี้พีซีเกมมิงจริง ๆ ถูกทิ้งไว้ให้เก็บฝุ่นอยู่มุมห้อง ข้อเดียวที่ไม่ชอบคืออยากให้มีไลเซนส์แบบเสียเงินที่ถูกกว่านี้ ผมอยากตอบแทนคุณค่าที่ได้รับ แต่เกิน 100 ดอลลาร์ต่อ CPU ต่อปีนั้นแพงเกินไปสำหรับงานอดิเรก ขอบคุณที่ free tier ไม่กวนใจเลย แต่ถ้ามีระดับกลางก็น่าจะดี
แต่เรื่อง storage โดยรวมนั้นไม่ง่าย เข้าใจผลลัพธ์ของตัวเลือกต่าง ๆ ได้ยาก และถ้าไม่คุ้นเคยกับ zfs, lvm, lvm-thin, การ repartition ฯลฯ พอสมควร ก็จะตั้งค่าพื้นฐานของ NAS ให้ดีได้ยาก
เห็นบางคนเมานต์อาร์เรย์ข้อมูล[1] เข้ากับ Proxmox โดยตรง แล้ว virtualize เฉพาะสิ่งที่อยู่เหนือชั้น storage อย่าง Plex ขณะที่บางคนก็ทำ PCI passthrough ให้ HBA[2] ไปยัง NAS VM ข้อดีของแบบแรกน่าจะเป็นการ bind mount เข้า LXC container ได้ตรง ๆ แทนการใช้ loopback SMB/NFS/9p และยังมีบางคนใช้ TrueNAS หรือ Unraid แบบ bare metal ให้ทำหน้าที่ทั้ง storage และ hypervisor ซึ่งก็สมเหตุสมผล TrueNAS เวอร์ชัน Linux เองก็น่าจะมีเวลาสุกงอมพอแล้ว อาจถึงเวลาลองใช้บ้าง ผมก็ใช้ hardware transcoding ผ่าน Quicksync ในตัวของโปรเซสเซอร์ Intel อยู่ด้วย เลยสงสัยว่าจะมีปัญหาไหมเมื่อส่งผ่านเข้า VM คงต้องยอมเสีย local Proxmox TTY ไปน่าจะมากที่สุด
[1] หมายถึงอาร์เรย์จริงที่มีไฟล์อยู่ ไม่ใช่ VHD เดิมทีผมก็แยกมันไว้ตั้งแต่แรกอยู่แล้ว และมันก็จำเป็นด้วยเพราะไม่มีงบจะเก็บข้อมูลทั้งหมดไว้บน SSD และก็ทนไม่ได้ที่จะวาง OS root ไว้บน HDD ไม่อย่างนั้นอุดมคติคงเป็น ZFS array หลักชุดเดียวที่มีทั้ง dataset สำหรับไฟล์ และ zvol หรือ NFS สำหรับ VM root
[2] ได้ยินมาว่าเชื่อถือได้กว่าการ passthrough SATA ทีละตัว แต่ข้อเสียคือมันจับรวมกันแบบหยาบกว่า กล่าวคือ VM จะควบคุมทุกพอร์ตแบบเบ็ดเสร็จ จึงเอาดิสก์ที่ไม่ใช่ส่วนของอาร์เรย์ไปต่อไว้ตรงนั้นไม่ได้
มันทำให้ยืดหยุ่นขึ้น เพราะสามารถผสมทั้งดิสโทรอื่นหรือแม้แต่ระบบที่ไม่ใช่ Linux ได้ เช่นผมรันเราเตอร์ OPNsense อยู่ และใช้ xcp-ng แทน Proxmox
ถึงจะรู้ว่านี่กำลังจะกลายเป็นมีมใหม่แบบ “I use Arch btw” แต่ถ้าจะเดินสายนี้ ขอแนะนำ Nix เป็นดิสโทรอย่างแรง ตามอุดมคติแล้วตั้งให้มันทำงานได้ครั้งเดียวแล้วก็ปล่อยให้รันต่อไปได้เลย และถ้าใช้ Nix สถานะทั้งระบบจะถูกบันทึกไว้ใน git ทั้งหมด
ไม่ต้องมานั่งคิดอีกว่า “6 เดือนก่อนฉันแก้อันนี้ยังไงนะ?” หรือมานั่งประกอบระบบกลับขึ้นใหม่ด้วยมือหลัง Ubuntu อัปเกรดดิสโทรแล้วพัง ทุกอย่างที่เปลี่ยนไป แพ็กเกจที่ติดตั้ง ค่าที่ตั้งไว้ อยู่ใน git log หมดแล้ว ฉันเองก็มักเปิดดู git repository เป็นเอกสารไว้ตรวจว่าติดตั้งอะไรไว้บ้างและระบบถูกตั้งค่าอย่างไร
การซิงก์ค่าระบบ/ผู้ใช้/แอปพลิเคชันข้ามหลายอุปกรณ์ได้อย่างรวดเร็วและง่ายดายนั้นน่าทึ่งมาก แนวทางแบบ declarative ทำให้ความลำบากกว่าจะทำให้มันใช้ได้คุ้มค่า เพราะพอหาคำตอบได้ครั้งหนึ่งแล้วก็ไม่ต้องทำซ้ำอีก และเพราะมันเป็น declarative จึงเหลือตัวอย่างการตั้งค่าการทำงานที่เป็นเหมือนเอกสารไว้ให้ต่อยอดได้ ตอนนี้ฉันกำลังเรียนรู้สภาพแวดล้อมการพัฒนา Nix ไปพร้อมกับสร้าง “Linux from Scratch” ด้วย Nix ซึ่งช้าอยู่บ้าง แต่ทุกครั้งที่สำเร็จก็จะถูกตรึงไว้เป็นสถานะที่ทำซ้ำได้ LLM ช่วยสรุปเอกสารที่กระจัดกระจายและค่อนข้างอ่อนมากได้แน่นอน แต่ก็ยังต้องใช้ความพยายามพอตัว โดยรวมแล้วฉันสนุกกับ Nix มาก และอยากเอาไปใช้กับโฮมแล็บให้มากขึ้น
ฉันเข้าใจแนวคิดนะ แต่เวลาที่แค่อยากลองแพ็กเกจหรือแอปใหม่ ๆ การใช้ docker-compose กับ VM มักพาไปถึงเป้าหมายได้เร็วกว่าการมานั่งปวดหัวกับวิธีแบบ Nix
cidataและตัว install media แล้วเปิดเครื่องก็พอNix จะง่ายกว่าหรือเปล่าฉันไม่แน่ใจ แต่ cloud-init แค่เปิดทางให้รันสคริปต์ที่คนทำงานแบบนี้น่าจะใช้อยู่แล้ว จึงไม่ต้องมี DSL แยกต่างหาก บางคนอาจพูดว่า “เกลียด YAML” แต่คนที่สนใจโฮมแล็บก็มักมีโอกาสต้องดูแลหลายเซิร์ฟเวอร์ในงานประจำอยู่แล้ว และหนี cloud-init, Ansible, Kubernetes หรืออะไรสักอย่างที่บังคับใช้ YAML ไม่พ้น ถ้าจุดประสงค์ของโฮมแล็บคือฝึกสิ่งที่ทำในงานโดยไม่เสี่ยงทำของคนอื่นพัง ก็ควรคุ้นกับเครื่องมือที่ยังไงก็ต้องใช้ และอย่าทำสภาพแวดล้อมที่บ้านให้ต่างจากที่ทำงานเกินไป แน่นอนว่าหลายคนใน Hacker News ใช้คำว่า “โฮมแล็บ” ต่างจากฉัน คือหมายถึงการ self-host media server, แชต, การแชร์รูปให้ครอบครัวและเพื่อน มากกว่าจะหมายถึงมินิดาต้าเซ็นเตอร์ไว้ฝึกงานดาต้าเซ็นเตอร์จริง ๆ
ถ้าสนใจ มีทิวทอเรียลอยู่ที่นี่[0] ปัญหาเดียวคือส่วนของการ deploy การตั้งค่า Nix แบบ remote เครื่องมือ 1st-party เพียงตัวเดียวอย่าง nixops แทบจะถูกปล่อยทิ้งและไม่มีการซัพพอร์ตแล้ว ส่วนเครื่องมือจากชุมชนอย่าง morph หรือ deploy-rs ก็ดูน่าสนใจ แต่รองรับ Flakes และมีความเคลื่อนไหว/ความยั่งยืนระยะยาวไม่เท่ากัน
[0] https://blog.janissary.xyz/posts/nixos-install-custom-image
Ubuntu ไม่ค่อยไหวจริง ๆ สมัยก่อนฉันใช้ Ubuntu อยู่หลายปี และดีใจมากที่ในที่สุดจะได้แนะนำดิสโทร Linux ที่เสถียรและใช้ง่ายให้คนที่ไม่ใช่มืออาชีพได้ แต่พอเจอการอัปเกรดแบบ in-place พังระบบติดกันสองสามครั้ง และทำให้ต้องอาศัยทั้งขั้นตอนติดตั้งที่มีเอกสารดีของ Gentoo กับความรู้ผู้ดูแลระบบที่ได้จากการคลุกคลีมาหลายปีกว่าจะซ่อมได้ ฉันก็เลิกเลย อย่าให้เพื่อนใช้ Ubuntu
หลายปีมานี้ฉันเอาอุปกรณ์ไปเก็บไว้ใน โซฟา IKEA FRIHETEN ข้อดีคือเข้าถึงง่าย มองไม่เห็นเลยนอกจากสายไฟ 1 เส้น + optical WAN 1 เส้น + Ethernet LAN 1 เส้น และด้วยโครงสร้างของมันจึงลากสายออกมาข้างนอกได้ง่าย รวมถึงจัดวาง/เดินสายในด้านในก็สะดวก
ได้เรื่องลดเสียงฟรี ๆ ด้วย และหน้าหนาวก็อุ่นจนก้นที่นั่งไม่เคยเย็น คู่สมรสก็ชอบที่ไม่เห็นไฟกระพริบเลย และยังไม่ทันสังเกตด้วยซ้ำว่าฉันซื้อ UPS กับดิสก์เบย์มาแล้ว ข้อเสียคือทำงานด้านในค่อนข้างลำบากนิดหน่อย มีแรงสั่นสะเทือนเวลาไปนั่งหรือเปิดปิด ซึ่งฮาร์ดดิสก์แบบจานหมุนอาจไม่ชอบ ส่วนความร้อนกลับโอเคกว่าที่คิด ไม่ได้แย่กว่าตู้เสื้อผ้า มีความเสี่ยงเรื่องทำน้ำหก แต่ด้วยการออกแบบแล้วมันมักจะไหลไปรอบ ๆ มากกว่าจะไหลเข้าไปข้างใน และถ้าแย่สุดก็หาอะไรมารองใต้ฮาร์ดแวร์ได้ ควรเผื่อความยาวสายไว้ เพราะคู่สมรสที่ย้ายเฟอร์นิเจอร์ตอนทำความสะอาดอาจดึงสายได้
† https://www.ikea.com/us/en/images/products/friheten-sleeper-...
†† ฉันเดินสายไปตามมุมด้านหลังแล้วซ่อนไว้ในผนังจนถึงปลั๊กที่ใกล้ที่สุด เลยแทบมองไม่เห็นจริง ๆ
สุดท้ายหนึ่งในเหตุผลที่ไม่ได้ทำคือไม่อยากให้ตรงเหนืออุปกรณ์และรอบ ๆ ตัวมันกลายเป็น เชื้อเพลิงของโซฟา เวลาเกิดไฟไหม้ ฉันกังวลเรื่อง UPS มากกว่าตัวเซิร์ฟเวอร์เองเล็กน้อย ถ้าจะบุบริเวณนั้นด้วยแผ่นโลหะ และถ้าแบตเตอรี่ UPS ชนิดนั้นอาจปล่อยก๊าซก็คงต้องระบายอากาศให้ดี ถึงจะอุ่นใจขึ้นหน่อย แต่กลายเป็นงานใหญ่เกินไป สุดท้ายอุปกรณ์เลยไปอยู่บนแร็ก/ชั้นวางที่ห่างจากวัสดุผ้า และมองเห็นได้ด้วยตา
ฉันคงกังวลเรื่องการระบายอากาศ ความร้อน และความเสี่ยงไฟไหม้พอสมควร นึกถึง lack rack ขึ้นมาเลย
https://archive.is/Uf2k3
โลกของโฮมแล็บนั้นยอดเยี่ยมมาก แต่ละคนมีเป้าหมายต่างกันไป เช่น ประหยัดพลังงาน, โปรเซสเซอร์ที่น่าสนใจ, การเป็นเจ้าของข้อมูล, high availability, UPS/UPS ทั้งบ้าน และสิ่งที่น่าสนใจก็คือจุดร่วมที่ความสนใจซึ่งทับซ้อนกันเหล่านี้มาบรรจบกับซอฟต์แวร์ก็คือ บ้าน
ความหลากหลายของผู้คนก็น่าสนใจเช่นกัน ตั้งแต่คนในสายอาชีพที่ทำเป็นงานอดิเรก ไปจนถึงคนนอกวงการที่ถูกดึงดูดเข้ามา ฉันเองก็อินอย่างจริงจังแล้ว และอย่างน้อยสำหรับฉัน มันทำให้ความรู้สึกมหัศจรรย์แบบอินเทอร์เน็ตยุคแรกกลับมาอีกครั้ง
ถ้ามองอีกมุมหนึ่ง โฮมแล็บของฉันเป็นแบบนี้ อยู่บนชั้นวางในห้องทำงานชั้นใต้ดิน ระบายอากาศใช้ได้ WiFi ก็โอเคแต่ไม่ถึงกับดีมาก
ฮาร์ดแวร์คือพีซีเก่าที่เก็บมาจากตลาดแลกเปลี่ยนในละแวกบ้าน เพิ่ม RAM ที่ถอดมาจากพีซีเก่าอีกเครื่อง แล้วซื้อฮาร์ดดิสก์กับการ์ด WiFi มา ซอฟต์แวร์คือ Debian stable และ podman/podman-compose ส่วนบริการที่ใช้งานได้จริงทั้งหมดก็เป็นโฟลเดอร์ที่มีไฟล์ compose อยู่ข้างใน และใช้งานโดยแปลงเป็น systemd unit ด้วย podman-compose ถ้าคุณชอบสแตกที่กล่าวถึงในบทความก็เยี่ยมเลย จะใช้เต็มที่ก็ได้ แต่ไม่จำเป็นต้องเป็นแบบนั้น และยิ่งไม่จำเป็นอย่างยิ่งที่จะต้องเริ่มต้นแบบนั้นตั้งแต่แรก บนพีซีเก่าแทบฟรีเครื่องนี้ ฉันรันบริการหลายตัวที่ครอบครัวใช้ทุกวัน โดยใช้ RAM 16GB ไม่ถึงครึ่ง และการใช้ CPU ก็ไม่เคยเกิน 5%
ฉันเจาะรูสำหรับสายไว้ด้านหลัง และเพราะความร้อนต่ำพอ การไหลเวียนอากาศเลยไม่เคยเป็นปัญหา มันใช้โฮสต์เว็บไซต์ส่วนตัวกับเว็บแคมตู้ปลา ต่อเข้ากับกริ่งหน้าประตู และใช้เป็น XMPP กับที่เก็บเอกสารด้วย ถ้าต้องการเซิร์ฟเวอร์อะไรก็โยนลงไปที่นั่นหมด หลังย้ายบ้านก็เปลี่ยนไปใช้ Mac Mini เก่าเป็น NAS และหลังจากนั้นก็แทบไม่มีเวลาไปยุ่งกับมันมากนัก
ฉันตั้งค่า tailscale ไว้สำหรับการเข้าถึงจากระยะไกลด้วย
เมื่อเวลาผ่านไป ฉันก็มีโฮมแล็บขนาดค่อนข้างใหญ่ที่ค่อย ๆ ลงแรงทำขึ้นมา และชอบมันมากเพราะมันทำงานได้ดี แต่ปัญหาจริง ๆ คือ การกู้คืนจากภัยพิบัติ ดูเหมือนว่าถ้าจะทำสำเนาทั้งหมดคงใช้เวลาชั่วนิรันดร์ และก็ไม่แน่ใจด้วยว่าจะจำทุกอย่างได้หรือเปล่า
ทั้งค่าตั้งค่าเราเตอร์ ค่าตั้งค่าสวิตช์ NAS และ Docker container ที่กระจัดกระจายอยู่ตาม VLAN หลายตัว ตอนแรกเคยวาดผังเครือข่ายไว้ แต่พอเวลาผ่านไปก็อัปเดตให้ทันสมัยไม่ไหว เลยสงสัยว่ามีเครื่องมือดี ๆ สำหรับทำ infrastructure diagram, เขียนเอกสาร และคงให้เป็นปัจจุบันอยู่เสมอไหม เรื่องแบ็กอัปกับอัปเกรดก็ยังเป็นปัญหาต่อเนื่องเช่นกัน สร้างคอนเทนเนอร์ไว้ตัวหนึ่ง แล้วกลับมาดูอีกทีหลัง 6 เดือนก็มักไม่รู้เลยว่าตัวเองทำอะไรไว้บ้าง มีคอนเทนเนอร์หลายสิบตัวกระจายอยู่บนหลายเครื่อง ทั้ง NUC, NAS, เดสก์ท็อป, เซิร์ฟเวอร์ ฯลฯ และแต่ละบริการก็ดูเหมือนจะมีตำแหน่ง bind mount, ผู้ใช้ที่ใช้รัน, และธรรมเนียมเรื่องสิทธิ์ไม่เหมือนกันเลย เก็บทั้งหมดไว้ในหัวไม่ไหว โดยเฉพาะเมื่อเวลาผ่านไปยิ่งหนักกว่าเดิม ถ้ามีอินเทอร์เฟซกลางที่กดแค่แบ็กอัป, กู้คืน, อัปเกรดได้ก็คงดี คิดถึงสมัยก่อนที่ใช้ VM clone/snapshot แล้วจัดการแบบ cattle มาก ตอนนี้ยังมี VM อยู่บนเครื่อง Proxmox บ้างเลยยังพอคล้าย ๆ กันได้ แต่ทั้งโฮมแล็บยังไม่มีอะไรแบบนั้น อยากไปให้ถึงจุดที่ในทางทฤษฎี ต่อให้บ้านไฟไหม้ ก็ยังสามารถกู้คืนการตั้งค่าทั้งหมดได้ครบถ้วน น่าจะต้องมีวิธีที่ง่ายกว่าการไปถึงขั้น Kubernetes สำหรับจัดการคอนฟิกในบ้าน เลยอยากรู้ว่าคนอื่นใช้วิธีไหนกัน
สำหรับคนแค่หนึ่งหรือสองคน การขยายให้กว้างมาก ๆ มันยากเกินไป แต่ถ้าขุดลึกกับสแตกเดียวก็จะรู้มันดี และถ้าทุกอย่างใช้วิธีเดียวกันเป๊ะ ๆ ก็จะเข้าใกล้สภาพที่ไม่ทั้งหมดก็ทำงาน หรือไม่ทั้งหมดก็พังไปเลย สุดท้ายมันจะกลายเป็นโครงสร้างที่ทุกอย่างต้องทำงานร่วมกันให้ได้
80% ของงานก็แค่สร้าง VM, คัดลอกไฟล์ด้วย rclone, แล้วถ้าจำเป็นก็ติดตั้ง/เริ่ม service ซึ่งใช้คำสั่งแบบกำหนดเองเลยเหลือประมาณ 3 บรรทัด ถ้า VM เปิดอยู่แล้ว การ deploy ใช้เวลาประมาณ 100ms บางครั้งสคริปต์ก็ซับซ้อนขึ้น แต่แนวคิดพื้นฐานคือไม่ว่าภายในจะใช้ระบบอะไร แค่รัน
deploy.ps1ก็ต้องทำงานได้โดยไม่ต้องพึ่งอินเทอร์เน็ต, ไม่มี dependency, และยังทำงานได้ไปจนถึงการตายด้วยความร้อนของเอกภพ หลังจากทำทุกอย่างหายหมด ฉันก็แค่รัน deploy ใหม่และรวมเป็นรายการเพื่อกู้คืนทั้งหมด เห็นด้วยมากว่าการเขียนเอกสารค่าตั้งค่า routing ให้ครบ 100% นั้นยาก ค่าตั้งค่าเราเตอร์/สวิตช์ของฉันเองก็ซับซ้อนเกินไปจริง ๆ และน่าจะต้องลดลงเหมือนกันSuper Micro Computer อาจทำได้อยู่แล้ว แต่กลุ่มเป้าหมายน่าจะเป็นดาต้าเซ็นเตอร์ ได้แต่ฝัน
Proxmox ใช้ไฟราว 12W ตอน idle ส่วน OpenWRT ใช้ราว 4.5W และสามารถรัน MeshCommander บน OpenWRT ด้วย NodeJS เพื่อจัดการจากระยะไกลได้ ฉันใช้ native encryption ของ ZFS เลยทำ full backup ลง external drive แบบนี้
# create backup pool on external drivezpool create -f rpoolbak /dev/sdb# create snapshot on proxmox NVMezfs snapshot -r "rpool@backup-2024-01-19"# recursively send the snapshot to the external drive (initial backup)# pv only is there to monitor the transfer speedzfs send -R --raw rpool@backup-2024-01-19 | pv | zfs recv -Fdu rpoolbakสำหรับ incremental backup ก็แค่ใส่ตัวเลือก
-Iพร้อม snapshot สองตัวเพื่อระบุจุดเริ่ม/จุดสิ้นสุด# create new snapshotzfs snapshot -r "rpool@backup-2024-01-20"# only send everything between 2024-01-19 and 2024-01-20zfs send -RI --raw rpool@backup-2024-01-19 rpool@backup-2024-01-20 | pv | zfs recv -Fdu rpoolbakมันง่าย เร็ว และค่อนข้างเชื่อถือได้ ถ้าใช้
zfs-auto-snapshotก็ย้อนสถานะไฟล์ซิสเต็มได้เป็นช่วง ๆ ทุก 15 นาที ซึ่งมีประโยชน์มากกับการย้อน VM ด้วย[1] ไม่นานมานี้ NVMe ของฉัน Samsung 980 Pro พัง ฉันก็รันคำสั่งเชลล์เพื่อกู้คืนแบ็กอัปด้วย zfs ย้อนกลับจาก rpoolbak ไป rpool ใช้เวลาประมาณ 2 ชั่วโมงสำหรับ 700GB แล้วเซิร์ฟเวอร์ก็กลับมาออนไลน์อีกครั้ง ฉันรู้ว่าในบางกรณี ZFS ยังถูกมองว่า “experimental” โดยเฉพาะเรื่องการเข้ารหัส แต่โดยรวมก็พอใจกับผลลัพธ์มาก1: https://pilabor.com/series/proxmox/restore-virtual-machine-v...
เลยใช้เวลาไปกับการทำเอกสารเยอะมาก และพยายามทำทุกอย่างให้เรียบง่าย ใกล้พื้นฐาน และมีการรองรับจากชุมชนเท่าที่ทำได้ ผลคือจนถึงตอนนี้ก็ยังไม่มีทั้งโฮมแล็บ หรือสิ่งที่มีคนหนึ่งในที่นี้เรียกว่า “homeprod” ฉันกำลังหาชวนเพื่อนที่เข้าใจปัญหาเดียวกันอยู่เหมือนกัน เผื่อจะได้ทำมิเรอร์เอกสารและขั้นตอนของโฮมแล็บให้กันและกัน เพื่อไม่ให้ bus factor เหลือแค่ 1
ตั้งแต่ปีที่แล้วฉันเริ่มจัดและดูแลโฮมแล็บของตัวเองไว้ แล้วบอกได้เลยว่าน่าทึ่งมาก
ได้เรียนรู้เรื่องคอนเทนเนอร์, virtual machine และระบบเครือข่ายเพิ่มขึ้นมหาศาล แอป self-hosted บางตัวอย่าง paperless-ngx [1] และ immich [2] เหนือกว่าบริการคลาวด์แบบปิดในแง่ฟีเจอร์อย่างมาก พอเสริมบริการ VPN อย่าง tailscale [3] เข้าไป ตอนนี้ก็เข้าถึงโฮมแล็บได้จากทุกที่ในโลกแล้ว ที่ยังขาดก็แค่หาเครื่องกินไฟต่ำอย่าง NUC หรือ mini PC มาย้ายบริการที่ต้องเปิด 24/7 ไปไว้ เพื่อลดค่าไฟ ถ้าคุณมีแรงพอจะดูแลมันและคอยตรวจเช็กกับอัปเกรดเป็นประจำในวันหยุดสุดสัปดาห์ ฉันแนะนำให้ทำโฮมแล็บเองแบบ 100%
[1] https://docs.paperless-ngx.com/
[2] https://immich.app/
[3] https://tailscale.com/
ถ้าอุปกรณ์โฮมแล็บอยู่ในพื้นที่ใช้ชีวิตของคนที่ไม่ใช่สายเทคนิค ก็ควรคำนึงถึง เสียงรบกวน, ไฟ/จอแสดงผล, และความไม่สะดุดตา ด้วย ฉันอยู่คอนโดและเคยวางมันไว้ในตู้เสื้อผ้าอยู่นาน พอย้ายมาไว้ห้องนั่งเล่นก็ใช้วิธีแก้หลายอย่าง
เรื่องความไม่สะดุดตา ฉันใช้ตู้ IKEA CORRAS ที่เข้ากับเฟอร์นิเจอร์อื่น ๆ ได้ดี เมื่อก่อนเคยใส่เสา rackmount ไว้ แต่ดูเด่นเกินไปเลยถอดออก เรื่องเสียง ฉันเลือกอุปกรณ์แบบ fanless หรืออุปกรณ์ที่ใช้พัดลม Noctua แค่ไม่กี่ตัวก็พอระบายความร้อนได้ ส่วนพัดลม PSU แบบ 1U ก็เปลี่ยนเป็น Noctua ได้เหมือนกัน แต่ต้องมีบัดกรีนิดหน่อยกับสบถอีกหน่อย สุดท้ายเลยมักใช้งานเซิร์ฟเวอร์ Atom ที่รันแบบ fanless ได้เกือบหมด ยกเว้น PSU เพราะมันไม่ใช่สภาพแวดล้อมแบบดาต้าเซ็นเตอร์ ตอนนี้เครื่องเดียวที่ไม่เงียบคือเซิร์ฟเวอร์ GPU 3090 ซึ่งตั้งให้เปิดเฉพาะเวลาต้องใช้ ฉันสั่ง Wake-on-LAN จากแล็ปท็อป แต่ก็ใช้ IPMI, PDU หรือวิธีดัดแปลงด้วยปลั๊ก IoT, การหยุด 3090 และพัดลมด้วยซอฟต์แวร์, หรือทำ automation ด้วย Kubernetes ก็ได้ ไฟ LED สถานะที่สว่างเกินไปเอาเทปเครื่องพิมพ์ฉลากสีขาวแปะทับก็ใช้ได้ดีและดูดีกว่าที่คิด ส่วนไฟที่ไม่อยากเห็นเลยก็ใช้เทปฉลากสีดำ คอนโซลที่ฉันชอบเป็นพิเศษคือคอนโซล rack แบบสไลด์ออกที่ดูไม่เด่น เช่น IBM รุ่นเก่าที่มีคีย์บอร์ด TrackPoint ถ้าจะมีจอมอนิเตอร์แสดงสถานะในห้องนั่งเล่น อย่างน้อยฉันก็คงเก็บคีย์บอร์ดไว้ในลิ้นชักแบบสไลด์ออก และก็กำจัดอุปกรณ์ที่ไม่จำเป็นทิ้งด้วย ไม่อย่างนั้นจะต้องใช้พื้นที่แร็กมากกว่าตอนนี้เกินสองเท่า และทำให้มันดูเหมือนอุปกรณ์เครื่องเสียงในห้องนั่งเล่นได้ยากขึ้นอีก ถ้าตอนนี้คุณอยู่คอนโดและยังไม่อยากยุ่งกับเราเตอร์ แต่อยากมีแค่เซิร์ฟเวอร์ ก็อาจพิจารณาเราเตอร์ OpenWRT แบบพลาสติกได้ มันอาจแทนพื้นที่แร็กหลายยูนิตของเราเตอร์, สวิตช์ และแพตช์พาเนลได้ แถมอาจไม่ต้องมี WiFi AP ภายนอกกับการเดินสายด้วย
พอดูจาก “ความต้องการ” ของฉันแล้ว เลยอยากรู้ว่าควรตั้งงบขั้นต่ำหรือเผื่อค่าใช้จ่ายไว้ประมาณไหน หรือจริง ๆ แล้วใช้เว็บอย่าง vast.ai ก็เพียงพอหรือเปล่า
พออายุเกิน 30 แล้ว ฉันก็เรียกมันแค่ว่า เครือข่ายในบ้าน กับการมีคอมพิวเตอร์มากกว่าสองเครื่อง ทำไมต้องมีเครือข่ายในบ้าน? ก็เพราะเหมือนหลายคนที่นี่ ฉันพัฒนาแอปพลิเคชันเครือข่าย
ฉันไม่ใช่วิศวกรเครือข่าย แต่การเข้าใจจริง ๆ ว่าองค์ประกอบต่าง ๆ ของอินเทอร์เน็ตอย่าง TCP/IP และ DNS ทำงานอย่างไรนั้นมีประโยชน์มาก และทำให้ต่างจากนักพัฒนาหลายคน ความยืดหยุ่นจากการควบคุมเครือข่ายของตัวเองและปรับแต่งได้ตามใจชอบก็ดีมาก ส่วนเหตุผลที่มีคอมพิวเตอร์หลายเครื่อง ทุกวันนี้ไม่ใช่เพราะ virtualization ยังไม่ดีพอจนต้องมีหลาย OS ให้ลองเล่นเป็นหลักแล้ว ในความเป็นจริงมันเป็นเรื่องตำแหน่งที่ตั้งของอุปกรณ์มากกว่า ฮาร์ดดิสก์ค่อนข้างเสียงดัง ฉันเลยอยากเก็บไว้ในตู้ แต่จอภาพกับคีย์บอร์ดอยากวางไว้บนโต๊ะ ดังนั้นจึงมี NAS อยู่ในตู้, มี PC เงียบ ๆ อยู่บนโต๊ะ และมีมีเดียเซ็นเตอร์ไร้เสียงในห้องนั่งเล่นพร้อมอุปกรณ์อื่น ๆ อีกอย่างหนึ่งที่อยากบอกคือ อย่าหลงเสน่ห์อุปกรณ์เซิร์ฟเวอร์แบบ rackmount มันดูเท่มากและหาซื้อมือสองได้ไม่แพง แต่ไม่เหมาะกับบ้าน ควรใช้เคสเดสก์ท็อปพีซีที่มีพัดลมใหญ่จะดีกว่า ส่วนอุปกรณ์เครือข่ายแบบ rackmount นั้นค่อนข้างโอเค
ยังมี ระบบจัดการ OOB ของจริงด้วย ซึ่งช่วยได้มากทีเดียว https://www.supermicro.com/en/products/system/iot/1u/sys-510...
ฉันก็เห็นด้วยว่าเซิร์ฟเวอร์ rackmount แบบลึกทั่วไปนั้นได้ไม่คุ้มกับความยุ่งยากสำหรับโฮมแล็บ
แต่ถ้าคุณมีความคิดจะเอา อุปกรณ์ rackmount แท้ ๆ เข้าบ้านแม้แต่นิดเดียว ฉันแนะนำอย่างมากว่าให้ลองไปฟังเสียงอันโหดร้ายของมันก่อนล่วงหน้า ฉันแทบนึกไม่ออกเลยว่าจะใช้ชีวิตอยู่กับเสียงแบบนั้นได้ยังไง
แต่ถ้าไม่มีแร็กจริง ๆ มันจะน่ารำคาญมาก สุดท้ายมันจะกลายเป็นกองซ้อนเหมือนหอคอยอยู่บนอุปกรณ์อื่น และถ้าอยากเข้าถึงเครื่องที่ต้องซ่อมหรือปรับแต่ง ก็ต้องรื้อทั้งหมดออกก่อน ถ้าจะไปทางอุปกรณ์ lease return แบบ rack จริงจัง ก็ควรไปให้สุดและซื้อทั้งแร็กกับรางมาด้วย รางอาจแพงนิดหน่อย ดังนั้นควรหาเครื่องที่มีรวมมาให้ เพราะรางมักใช้งานข้ามรุ่นได้นานกว่าเซิร์ฟเวอร์มาก บริษัทใหญ่ที่โละอุปกรณ์ lease return จำนวนมากมักไม่แถมรางมาให้ แต่ผู้ขายรายย่อยหลายรายมักจะแถม