ที่เก็บสำหรับหมวดหมู่ » btrfs «

วันอาทิตย์, 4 สิงหาคม, 2013 | ผู้เขียน:

ประวัติศาสตร์

มากมีการเปลี่ยนแปลงตั้งแต่ฉันสุดท้ายที่กล่าวถึงของฉัน เซิร์ฟเวอร์ส่วนตัว – จะได้เติบโตขึ้นโดย leaps และขอบเขต (ตอนนี้มี 7TB md RAID6) และเพิ่งได้รับการสร้างขึ้นมาใหม่ด้วย อูบุนตู เซิร์ฟเวอร์.

ซุ้มประตู ก็ไม่เคยผิดพลาด. Arch Linux ได้สอนแล้วฉันมากเกี่ยวกับลินุกซ์ (และจะยังคงทำเช่นนั้นบนเดสก์ทอปอื่น ๆ ของฉัน). แต่ Arch แน่นอนต้องใช้เวลามากขึ้นและให้ความสนใจกว่าที่ฉันต้องการที่จะใช้จ่ายบนเซิร์ฟเวอร์. นึกคิดฉันต้องการที่จะสามารถที่จะลืมเกี่ยวกับเซิร์ฟเวอร์ในขณะที่จนกว่าอีเมล์เตือนความทรงจำพูดว่า “หนอ … มีการปรับปรุงคู่คุณควรดูที่อะไร, เพื่อน”

พื้นที่ไม่ฟรี – และไม่เป็นช่องว่าง

โอกาสที่จะได้ย้ายไปอูบุนตูก็คือค​​วามจริงที่ฉันได้ทำงานออกจาก SATA พอร์ต, พอร์ตที่จำเป็นในการเชื่อมต่อฮาร์ดไดรฟ์ที่เหลือของคอมพิวเตอร์ – อาร์เรย์ RAID ที่ 7TB ใช้มากของพอร์ต! ผมได้รับแม้กระทั่งออกไปของฉัน มาก เก่าฮาร์ดดิสก์ 200GB ในขณะที่มันหยิบขึ้นมาหนึ่งในพอร์ตเหล่านั้น. ผมยังเตือนว่าผู้รับของดิสก์ สมาร์ท การตรวจสอบชี้ให้เห็นว่ามันเป็นที่ไม่น่าเชื่อถือ. เป็นวิธีแก้ปัญหาชั่วคราวจากการขาดพอร์ต SATA, ผมได้อพยพแม้ระบบปฏิบัติการของเซิร์ฟเวอร์เพื่อให้ชุดของสี่ที่ USB sticks ใน md RAID1. บ้า. ฉันรู้ว่า. ผมไม่มีความสุขเกี่ยวกับความเร็ว. ฉันตัดสินใจที่จะออกไปและซื้อใหม่ฮาร์ดไดรฟ์ที่เชื่อถือได้และการขยายตัวการ์ด SATA ที่จะไปกับมัน.

พาร์ทิชันโค้งของเซิร์ฟเวอร์เป็นหลักโดยใช้เก​​ี่ยวกับ 7GB ของดิสก์. อันใหญ่ที่เป็น แลกเปลี่ยน ไฟล์, ข้อมูลที่เก็บไว้ และไฟล์อื่น ๆ เบ็ดเตล็ดหรือไม่จำเป็น. รวมขนาดจริงของ OS, รวมทั้ง /บ้าน โฟลเดอร์, เป็นเพียงประมาณ 2GB. แจ้งเตือนเรื่องนี้ฉันจะมองเข้าไปได้อย่างรวดเร็ว SSD ขับรถ, บางทีอาจจะเป็นความคิดหนึ่งที่มีขนาดเล็กอาจจะไม่ได้มีราคาแพงดังนั้น. มันเปิดออกที่ไดรฟ์ SSD ไม่ถูกที่สุดที่ฉันสามารถหาค่าใช้จ่ายจริง ขึ้น มากกว่าหนึ่งของ SSDs มีขนาดค่อนข้างเล็กเหล่านี้. yay สำหรับฉัน. 🙂

ทางเลือก? Woah?!

ในการเลือกระบบปฏิบัติการ, ผมตัดสินใจแล้วว่าจะไม่โค้ง. ออกจากทุกกระจายที่นิยมอื่น ๆ, ฉันส่วนใหญ่คุ้นเคยกับอูบุนตูและ CentOS. Fedora ก็ยังเป็นไปได้ – แต่ผมไม่ได้พิจารณาอย่างจริงจัง แต่มันสำหรับเซิร์ฟเวอร์. อูบุนตูชนะรอบ.

การตัดสินใจต่อไปฉันได้เพื่อให้ไม่ได้เกิดขึ้นกับผมจน การแพร่หลาย (ตัวช่วยสร้างการติดตั้งอูบุนตู) ถามมันของฉัน: วิธีการตั้งค่า พาร์ทิชัน.

ผมเป็นมือใหม่ในการใช้ SSDs ในลินุกซ์ – ผมตระหนักดีถึงความผิดพลาดของการไม่ใช้พวกเขาอย่างถูกต้อง, ส่วนใหญ่เนื่องจากการความเสี่ยงของการอายุยืนดีถ้าผิด.

ฉันไม่ต้องการที่จะใช้พาร์ทิชัน swap ทุ่มเท. ผมวางแผนที่จะอัพเกรดเมนบอร์ดของเซิร์ฟเวอร์ / CPU / หน่วยความจำไม่ไกลเกินไปในอนาคต. ขึ้นอยู่กับว่าฉันคิดว่าฉันจะใส่ลงไปในการแลกเปลี่ยนไฟล์ swap บน RAID md ที่มีอยู่. swap จะไม่รวดเร็วโดยเฉพาะอย่างยิ่ง แต่เพียงจุดมุ่งหมายที่จะเป็นโอกาสที่หาได้ยากว่าเมื่อบางสิ่งบางอย่างผิดไปและหน่วยความจำที่ไม่สามารถใช้ได้.

นี้แล้วปล่อยฉันเพื่อให้ เส้นทางราก 60GB เต็มจาก อินเทล 330 SSD. ผมถือว่าแยก / home แต่มันก็ดูเหมือนเล็ก ๆ น้อย ๆ ไม่มีจุดหมาย, ที่กำหนดวิธีการที่ใช้เล็ก ๆ น้อย ๆ ในอดีต. ครั้งแรกที่ผมตั้งค่าพาร์ทิชันด้วย LVM – สิ่งที่ฉันเพิ่งได้ทำเมื่อใดก็ตามที่ฉันจะตั้งค่ากล่อง Linux (จริงๆ, ให้มีข้ออ้างที่จะไม่ใช้ LVM ไม่ได้). เมื่อมีเพื่อเป็นส่วนหนึ่งที่ฉันจะกำหนดค่าระบบแฟ้ม, ฉันคลิกแบบหล่นลงและเลือกสัญชาตญาณ ext4. แล้วผมสังเกตเห็น btrfs ในรายการเดียวกัน. แขวนบน!!

แต่สิ่งที่?

Btrfs (“เนย EFF-ESS”, “ดีเอฟเอฟ-ESS”, “ผึ้งต้นไม้-เอฟเอฟ-ESS”, หรือสิ่งที่คุณจินตนาการในวัน) เป็นระบบแฟ้มค่อนข้างใหม่ในการพัฒนาเพื่อที่จะนำลินุกซ์’ ความสามารถในการระบบแฟ้มกลับในการติดตามกับปัจจุบันระบบแฟ้มเทคโนโลยี. King-of-the-Hill ที่มีอยู่ระบบแฟ้ม, “ext” (รุ่นปัจจุบันเรียกว่า ext4) เป็นสิ่งที่ดีสวย – แต่มันมีข้อ จำกัด, ติดอยู่ในกระบวนทัศน์เก่า (คิดว่าของแบรนด์ใหม่ F22 Raptor VS. an ผี F4 ด้วยความพยายามที่ครึ่ง Jested ที่อัพเกรดเทียบเท่า) และไม่น่าจะเป็นความสามารถในการแข่งขันเป็นเวลานานมากกับใหม่ filesystems องค์กรเช่น ZFS ของออราเคิล. Btrfs ยังคงมีทางยาวไปและยังคงพิจารณาการทดลอง (ขึ้นอยู่กับคนที่คุณถามและสิ่งที่คุณสมบัติที่คุณต้องการ). หลายคนคิดว่ามันจะเป็นที่มั่นคงสำหรับการใช้งานพื้นฐาน – แต่ก็ไม่มีใครที่จะทำให้การค้ำประกันใด ๆ. และ, แน่นอน, ทุกคนไม่ว่าจะเป็นเพื่อให้การสำรองข้อมูลและการทดสอบ!

Mooooooo

ความแตกต่างพื้นฐานที่สุดระหว่าง ext และ btrfs คือ btrfs เป็น “วัว” หรือ “คัดลอกบนเขียน” ระบบแฟ้ม. ซึ่งหมายความว่าข้อมูลเป็นจริงไม่เคยถูกเขียนทับโดยจงใจ internals ระบบแฟ้มของ. ถ้าคุณเขียนการเปลี่ยนแปลงไปยังแฟ้ม, btrfs จะเขียนการเปลี่ยนแปลงของคุณไปยังตำแหน่งใหม่บนสื่อที่มีอยู่จริงและจะปรับปรุงตัวชี้ภายในเพื่ออ้างไปยังตำแหน่งใหม่. Btrfs ไปอีกขั้นในการที่ผู้ชี้ภายใน (เรียกว่าเมตาดาต้า) เป็น ด้วย วัว. รุ่นเก่าของ ext จะมีข้อมูลที่ถูกเขียนทับเพียง. ext4 จะใช้วารสารเพื่อให้แน่ใจว่าการทุจริตที่จะไม่เกิดขึ้นควรจะปลั๊ก AC กระชากออกในขณะที่ไม่เหมาะสมที่สุด. ผลในวารสารจำนวนใกล้เคียงกันของขั้นตอนที่จำเป็นในการปรับปรุงข้อมูล. กับ SSD, ฮาร์ดแวร์พื้นฐานดำเนินกระบวนการ CoW ที่คล้ายกันไม่ว่าสิ่งที่ระบบแฟ้มที่คุณกำลังใช้ไม่. นี้เป็นเพราะไดรฟ์ SSD จะไม่ได้เขียนทับข้อมูล – พวกเขามีการคัดลอกข้อมูล (กับการเปลี่ยนแปลงของคุณ) ไปยังตำแหน่งใหม่แล้วลบบล็อกเก่าอย่างสิ้นเชิง. การเพิ่มประสิทธิภาพในบริเวณนี้คือ SSD อาจไม่ได้ลบบล็อกเก่าคุณเพียง แต่จดบันทึกเพื่อลบบล็อกในเวลาต่อมาเมื่อสิ่งที่ไม่ยุ่งมาก. ผลลัพธ์ที่ได้คือว่าไดรฟ์ SSD พอดีเป็นอย่างดีกับระบบแฟ้ม CoW และไม่ดำเนินการเช่นเดียวกับ filesystems ไม่ CoW-.

ที่จะทำให้เรื่องที่น่าสนใจ, วัวในระบบแฟ้มได้อย่างง่ายดายไปจับมือกับคุณลักษณะที่เรียกว่าการขจัดข้อมูลซ้ำซ้อน. นี้จะช่วยให้ทั้งสอง (หรือมากกว่า) บล็อกที่เหมือนกันของข้อมูลที่จะเก็บไว้ใช้เพียงสำเนาเดียว, ประหยัดพื้นที่. กับวัว, ถ้าไฟล์ที่มีการแก้ไข deduplicated, คู่แยกจะไม่ได้รับผลกระทบเป็นข้อมูลไฟล์ที่แก้ไขแล้วจะได้รับการเขียนเพื่อป้องกันทางกายภาพที่แตกต่างกัน.

วัวจะทำให้ snapshotting ค่อนข้างง่ายที่จะใช้. เมื่อ snapshot จะทำระบบเพียงบันทึกภาพใหม่ในฐานะที่เป็นความซ้ำซ้อนของข้อมูลทั้งหมดและเมตาดาต้าภายในไดรฟ์. กับวัว, เมื่อมีการเปลี่ยนแปลง, ข้อมูล snapshot ของยังคงอยู่, และมุมมองที่สอดคล้องกับสถานะระบบแฟ้มในเวลา snapshot ได้ทำสามารถรักษา.

เพื่อนใหม่

กับข้างต้นในใจ, โดยเฉพาะอย่างยิ่ง Ubuntu ได้ทำ btrfs ใช้ได้ในฐานะที่ติดตั้งตัวเลือกเวลา, ฉันคิดว่ามันจะเป็นเวลาที่ดีที่ดำน้ำใน btrfs และสำรวจเล็กน้อย. 🙂

ส่วนหนึ่ง 2 เร็ว ๆ นี้ …

หุ้น