นักพัฒนาคนหนึ่งได้ดำเนินการระบบจัดเก็บข้อมูลแบบ S3-compatible ขนาด 10TB ที่โฮสต์เองโดยใช้แล็ปท็อป Framework เป็นเวลาห้าเดือนอย่างประสบความสำเร็จ แสดงให้เห็นถึงความเป็นไปได้ในการนำฮาร์ดแวร์สำหรับผู้บริโภคมาใช้งานด้านการจัดเก็บข้อมูลอย่างจริงจัง การติดตั้งนี้รวมแล็ปท็อป Framework มือสองที่ไม่มีหน้าจอเข้ากับตู้ JBOD (Just a Bunch of Disks) โดยใช้ซอฟต์แวร์ ZFS และ Garage S3
โปรเจกต์นี้เกิดขึ้นจากความจำเป็นเชิงปฏิบัติ - นักพัฒนาต้องการพื้นที่จัดเก็บข้อมูลจำนวนมากสำหรับการติดตาม SDK ของ AppGoblin สำหรับแอปพลิเคชัน Android และ iOS อันดับต้น ๆ 100,000 แอป แต่ต้องการหลีกเลี่ยงค่าใช้จ่ายต่อเนื่องของ cloud storage แล็ปท็อป Framework ได้พิสูจน์แล้วว่าเหมาะสำหรับจุดประสงค์นี้ โดยเฉพาะอย่างยิ่งเมื่อไม่มีหน้าจอและเป็นรุ่นเก่า ทำให้เหมาะสำหรับการใช้งานเป็นเซิร์ฟเวอร์แบบ headless
การตั้งค่าฮาร์ดแวร์
- แล็ปท็อป Framework (มือสอง ไม่มีหน้าจอ)
- ตู้ JBOD (Just a Bunch of Disks)
- ความจุพื้นที่เก็บข้อมูลรวม 10TB
- การเชื่อมต่อ USB ระหว่างแล็ปท็อปและตู้ JBOD
- ข้อมูล Metadata เก็บไว้ในไดรฟ์ภายในของแล็ปท็อป
ความน่าเชื่อถือที่น่าประทับใจในระยะยาว
ความน่าเชื่อถือของระบบเกินความคาดหมาย หลังจากดำเนินการต่อเนื่องเป็นเวลาสี่เดือนโดยไม่ต้องบำรุงรักษา นักพัฒนาค้นพบว่าพวกเขาใช้พื้นที่จัดเก็บข้อมูลครบ 10TB ในขณะที่ระบบรออัปเกรดที่ค้างอยู่อย่างอดทน การรีสตาร์ทอย่างระแวดระวังเผยให้เห็นว่าทุกอย่างทำงานได้อย่างสมบูรณ์แบบ โดยการอัปเดต Garage S3 ในภายหลังและการอัปเกรดเวอร์ชันหลักจาก Garage v1 เป็น v2 เสร็จสิ้นโดยไม่มีปัญหา
ความน่าเชื่อถือแบบไม่ต้องดูแลนี้ตอบสนองความกังวลหลักในชุมชน self-hosting ที่หลายคนกังวลเกี่ยวกับภาระการบำรุงรักษาของโซลูชันจัดเก็บข้อมูล DIY ประสบการณ์นี้บ่งชี้ว่าฮาร์ดแวร์สำหรับผู้บริโภคที่กำหนดค่าอย่างดีสามารถให้ความน่าเชื่อถือระดับองค์กรสำหรับการใช้งานส่วนบุคคลและธุรกิจขนาดเล็ก
ตัวชี้วัดประสิทธิภาพ
- ดำเนินการต่อเนื่อง 5 เดือน
- พื้นที่จัดเก็บข้อมูล 10TB ถูกใช้งานเต็มที่
- 4 เดือนโดยไม่ต้องมีการบำรุงรักษา
- อัปเกรดเวอร์ชันหลักสำเร็จ ( Garage v1 เป็น v2)
- ไม่มีการหยุดทำงานระหว่างการดำเนินงานปกติ
การเชื่อมต่อ USB สร้างความท้าทายที่ไม่เหมือนใคร
การติดตั้งนี้เผชิญกับความท้าทายที่ไม่เหมือนใคร: การเชื่อมต่อ JBOD กับแล็ปท็อป Framework ผ่าน USB แทนการเชื่อมต่อ SATA แบบดั้งเดิม สิ่งนี้ทำให้เกิดปัญหากับ ZFS ในตอนแรกเมื่อ Garage ทำการอ่านและเขียนข้อมูลหนัก โดยเฉพาะอย่างยิ่งเพราะ metadata ของ SQLite ถูกจัดเก็บบน ZFS pool ที่เชื่อมต่อ USB เดียวกัน
โซลูชันเกี่ยวข้องกับการย้าย metadata ไปยังพื้นที่จัดเก็บข้อมูลภายในของแล็ปท็อป ซึ่งแก้ไขปัญหาความเสถียรของ ZFS อย่างไรก็ตาม สิ่งนี้สร้างจุดล้มเหลวเดียว ตามที่สมาชิกชุมชนได้ชี้ให้เห็น การแลกเปลี่ยนระหว่างความเรียบง่ายและความซ้ำซ้อนสะท้อนถึงการประนีประนอมเชิงปฏิบัติที่มักจำเป็นในโปรเจกต์ self-hosting ที่คำนึงถึงงบประมาณ
Software Stack
- ระบบไฟล์ ZFS สำหรับการจัดการพื้นที่เก็บข้อมูล
- Garage S3 (อัปเกรดจากเวอร์ชัน 1 เป็นเวอร์ชัน 2 ระหว่างการใช้งาน)
- S3-compatible API สำหรับการจัดเก็บข้อมูลแบบ object storage
- SQLite สำหรับ metadata (ย้ายจาก JBOD ไปยังแล็ปท็อป)
ชุมชนถกเถียงเรื่องคำศัพท์และแนวทางการจัดเก็บข้อมูล
โปรเจกต์นี้ได้จุดประกายการอภิปรายที่น่าสนใจเกี่ยวกับคำศัพท์และวิธีการในชุมชน self-hosting บางคนตั้งคำถามว่าทำไมถึงเรียกว่า S3 ในขณะที่จริง ๆ แล้วเป็น S3-compatible object storage ในขณะที่คนอื่น ๆ ปกป้องการใช้งานนี้เนื่องจาก S3 ได้กลายเป็นคำเหมือนกับ object storage APIs ทั่วทั้งอุตสาหกรรม
มันแปลกสำหรับฉันที่ 'การเป็นเจ้าของคอมพิวเตอร์ที่รันสิ่งต่าง ๆ' ตอนนี้เรียกว่า 'self-hosting' รู้สึกเป็นการใช้วลีที่แปลก
การอภิปรายเผยให้เห็นคำถามที่กว้างขึ้นเกี่ยวกับความซับซ้อนเทียบกับความสะดวกสบายในโซลูชันจัดเก็บข้อมูล ในขณะที่บางคนสนับสนุนความเรียบง่ายแบบเครื่องใช้ในการจัดเก็บข้อมูลท้องถิ่น คนอื่น ๆ ชื่นชมประสบการณ์การเรียนรู้และการประหยัดค่าใช้จ่ายของแนวทาง DIY โซลูชันแล็ปท็อป Framework แสดงถึงจุดกึ่งกลาง - ซับซ้อนกว่าไดรฟ์ภายนอกธรรมดา แต่ซับซ้อนน้อยกว่าการสร้างเซิร์ฟเวอร์เฉพาะ
โซลูชันทางเลือกได้รับความสนใจ
เรื่องราวความสำเร็จนี้ได้กระตุ้นให้สมาชิกชุมชนแบ่งปันแนวทางของตนเองและประเมินทางเลือก Garage S3 กำลังได้รับความสนใจในฐานะทางเลือกแทน MinIO โดยเฉพาะอย่างยิ่งหลังจากที่ MinIO เพิ่งลบฟีเจอร์ออกจากเวอร์ชันชุมชน ผู้ใช้รายงานว่า MinIO ได้ยกเลิกส่วนติดต่อผู้ดูแลระบบส่วนใหญ่อย่างเงียบ ๆ เพื่อผลักดันให้ผู้ใช้ไปใช้บริการแบบเสียเงิน ทำให้ทางเลือกโอเพ่นซอร์สน่าสนใจมากขึ้น
แนวทางแล็ปท็อป Framework ยังแข่งขันกับโซลูชันงบประมาณอื่น ๆ เช่น การติดตั้ง Raspberry Pi, Intel NUC ที่จับคู่กับตู้ JBOD และเครื่อง NAS แบบดั้งเดิม แต่ละแนวทางเสนอการแลกเปลี่ยนที่แตกต่างกันระหว่างต้นทุน ความซับซ้อน และความน่าเชื่อถือ
โปรเจกต์นี้แสดงให้เห็นว่าฮาร์ดแวร์สำหรับผู้บริโภคสมัยใหม่ เมื่อกำหนดค่าอย่างรอบคอบ สามารถให้ความสามารถในการจัดเก็บข้อมูลอย่างจริงจังโดยไม่ต้องลงทุนระดับองค์กร สำหรับนักพัฒนาและธุรกิจขนาดเล็กที่ต้องการพื้นที่จัดเก็บข้อมูลจำนวนมากโดยไม่มีต้นทุนคลาวด์ แล็ปท็อปที่นำมาใช้ใหม่อาจเสนอเส้นทางที่เป็นไปได้อย่างไม่คาดคิด
อ้างอิง: Self hosting 10TB in S3 on a framework laptop + disks