สำหรับ L2ARC และ ZIL: จะดีกว่าหรือไม่ที่จะมี SSD ขนาดใหญ่หนึ่งตัวสำหรับทั้งสองหรือ SSD ขนาดเล็กกว่าสองตัว


22

อ้างอิงหลัก

ZFS L2ARC (Brendan Gregg) (2008-07-22) และZFS และ Hybrid Storage Concept (บล็อกของ Anatol Studler) (2008-11-11) รวมแผนภาพต่อไปนี้:

มุมมองปิรามิด ZFS ของ ARC, L2ARC, ZIL และพูลหน่วยเก็บข้อมูลดิสก์

คำถาม

ฉันควรตีความเส้นสีขาวแนวตั้ง - ที่เลเยอร์ SSD หรือไม่หากต้องการใช้SSD แยกกัน -

  • ตั้งค่าเพื่อไม่ผสม L2ARC และ ZIL ในดิสก์เดียวหรือไม่

พื้นหลัง (ตอบสนองต่อความคิดเห็น)

โดยส่วนตัวแล้วที่บ้านฉันไม่น่าจะใช้ L2ARC หรือ ZIL กับคอมพิวเตอร์เครื่องใดก็ได้ที่ฉันสามารถใช้ได้ (คอมพิวเตอร์ประจำวันของฉันคือ MacBookPro5,2 ที่มีหน่วยความจำ 8 GB และไฮบริด Seagate ST750LX003-1AC154 ไฮบริดไม่มีแผนจะเปลี่ยนออปติคัลไดรฟ์ด้วย SSD)

ที่อื่น: ที่ทำงานจะมีการเปลี่ยนชุด แต่ฉันไม่มีวันที่หรือรายละเอียดแบบเต็ม (Xserve RAID x2 ในส่วนผสม…ในเวลานี้ฉันไม่คิดว่าจะมอบสิ่งเหล่านี้ให้กับ ZFS แต่ฉันยังเปิดใจอยู่เสมอ)

ความอยากรู้ของฉันเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดของ SSDสำหรับทั้ง L2ARC และ ZIL เริ่มขึ้นในขณะที่ติดตามการอภิปรายเกี่ยวกับประสิทธิภาพในพื้นที่ ZEVO โดยเฉพาะหัวข้อที่กล่าวถึงด้านล่างซึ่งผู้ใช้มีทั้ง L2ARC และ ZIL ในดิสก์เดียว

การอ้างอิงและการสนทนาอื่น ๆ

ภาพหน้าจอ L2ARC (เบรนแดนเกร็ก) (2009-01-30)

ภาพหน้าจอ SLOG (Brendan Gregg) (2009-06-26)

[zfs-discuss] การสำรองข้อมูลรูท ZFS / การกู้คืน "ภัยพิบัติ" และการย้ายรูทพูล (2011-01-10) แนะนำให้ใช้กับการรวมกันของสามสิ่ง (รูทพูล, ZIL และ L2ARC) ในดิสก์เดียว -

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

- ฉันสนใจมากขึ้นว่าจะไม่แนะนำให้ผสมสองสิ่งเหล่านี้ลงในดิสก์แผ่นเดียวหรือไม่

/superuser//a/238744/84988 (2011-01-28) กล่าวถึง "แคช (L2ARC cache) และเขียนบันทึก (ZIL) ไปยัง SSD" ( เอกพจน์ ) อย่างไรก็ตามเนื่องจากเกี่ยวข้องกับ FUSE และ Windows ฉันจะไม่ปฏิบัติต่อคำตอบนั้นโดยเฉพาะอย่างยิ่งที่เกี่ยวข้องกับการใช้ ZFS ที่ธรรมดาและมีประสิทธิภาพมากกว่า

@ChrisS พูดถึง ZIL และ L2ARC ใน The Comms Roomเมื่อวันที่ 2011-08-16

http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) กล่าวถึงSSD หลายตัว :

สิ่งที่คุณต้องเข้าใจเกี่ยวกับ ZFS: มีการแคชอ่านและเขียน (L2ARC และ ZIL) สองแบบซึ่งโดยทั่วไปจะอยู่ใน SSD ZIL เป็นแคชการเขียน นั่นอาจเป็นสิ่งที่ความเข้าใจผิดมาจากที่นี่ ZIL ได้รับการตอก (สมมติว่าเป็นระบบที่ใช้งานอยู่) กับการเขียนทุกครั้งที่เกิดขึ้นกับ zpool ปัญหาคือการใช้ SSD ที่ใช้ mlc เป็น ZIL ทำให้พวกเขาเสื่อมสภาพและล้มเหลวอย่างรวดเร็ว คุณต้องการ SSD ที่ใช้ SLC (แพงกว่า) เพื่อใช้เป็นไดรฟ์ ZIL

การมี zpool ที่ประกอบด้วย SSD ทั้งหมดนั้นไม่เพียงเป็นไปได้ แต่มันทำงานได้ค่อนข้างดี นอกจากนี้ยังไม่จำเป็นต้องแยกไดรฟ์สำหรับ ZIL และ L2ARC อีกด้วย ใช่คุณไม่มีการสนับสนุน TRIM แต่ขึ้นอยู่กับลักษณะการคัดลอก - เขียน - เขียนของ ZFS นั่นอาจเป็นสิ่งที่ดี

ด้วยสิ่งที่กล่าวมา ZFS เล่นได้ไม่ดีกับสวนสัตว์เต็มรูปแบบ (พูด 85% หรือสูงกว่า) ประสิทธิภาพเริ่มลดลงอย่างมาก - ไม่ว่าคุณจะใช้สื่อแม่เหล็กหมุนหรือสถานะของแข็ง การขาดการสนับสนุน TRIM อาจทำให้ปัญหานั้นรุนแรงขึ้น แต่ก็เป็นปัญหาอยู่แล้ว

/server//a/397431/91969 (2012-06-11) แนะนำ:

  • SLC ประเภท SSD (โดยเฉพาะไม่ใช่ MLC) สำหรับ ZIL
  • MLC ชนิด SSD สำหรับ L2ARC

/superuser//a/451145/84988 (2012/07/19) กล่าวถึงเอกพจน์ "SSD สำหรับ ZIL และ L2ARC ความเร็วขึ้น ZFS"

zevo.getgreenbytes.com •ดูหัวข้อ - ปัญหาด้านประสิทธิภาพของการเชื่อมต่อ FW800? (2012-09-24) เกี่ยวข้องกับลำดับของสิ่งต่าง ๆ บน FireWire bus ด้วยSSD เดี่ยวสำหรับ ZIL และ L2ARC

  • สั่งซื้อบัสกันหัวข้อ ZEVO เริ่มสงสัยว่า SSD แยกกันอาจจะดีกว่าไหม

โดยเฉพาะอย่างยิ่ง: ฉันสงสัยเกี่ยวกับการตีความของเส้นสีขาวในแผนภาพด้านบน ...


2
ดูเหมือนว่าอาจมีคำถามข้อบกพร่องของเซิร์ฟเวอร์มากกว่า แต่สิ่งที่คุณควรพิจารณาคือโหลดการอ่านและการเขียนบนพูลหน่วยเก็บข้อมูลของคุณ มีการวิจัยบางอย่างที่แสดงให้เห็นว่าการจู่โจมของ SSD โดยทั่วไปจะมีประสิทธิภาพการเขียนที่ต่ำกว่าการตั้งค่าไดรฟ์เดี่ยว xbitlabs.com/articles/storage/display/…

2
ผู้ที่มักจะคุ้นเคยกับ ZFS อย่างใกล้ชิดมีแนวโน้มที่จะเกิดข้อผิดพลาดที่เซิร์ฟเวอร์มากกว่า SuperUser การโหวตเพื่อย้าย แต่เป็นคำถามที่ยอดเยี่ยม
afrazier

ฉันเห็นคะแนนเสียงปัจจุบันสองรายการปิดเราสามารถย้ายคำถามแทนได้หรือไม่ ขอบคุณ @afrazier
Graham Perrin

1
ยินดีต้อนรับสู่ Server Fault ในฐานะที่เป็นคำถามที่พบบ่อยรัฐเราชอบจริงคำถามคำตอบขึ้นอยู่กับปัญหาเฉพาะที่คุณต้องเผชิญ ที่กล่าวว่าคุณได้ผ่านทฤษฎีและการสนทนามากมายที่นี่ แต่สิ่งที่ดูเหมือนว่าขาดหายไปคือปัญหาที่คุณพยายามแก้ไข เพิ่มรายละเอียดที่เป็นประโยชน์และนี่เป็นคำถามที่ยอดเยี่ยม
Michael Hampton

1
เพียงเพื่อทราบ VTCs มีวิธีการย้ายคำตอบ หาก VTC ส่วนใหญ่ต้องการย้ายไปที่ไซต์ก็จะถูกย้าย และใช่รายละเอียดการปฏิบัติโปรดลักษณะนี้จริงๆเขียนได้ดีและมีรายละเอียด แต่ไม่ทราบว่าสถานการณ์ที่คุณอยู่ในยากที่จะได้รับจริงคำตอบเฉพาะของมัน เห็นได้ชัดว่าคุณกำลังสร้างการตั้งค่า kickass ZFS และรายละเอียดจะเป็นประโยชน์ในการหาคำตอบ
Journeyman Geek

คำตอบ:


14

คำตอบสั้น ๆ เนื่องจากฉันไม่เห็นปัญหาที่คุณต้องการแก้ไข ...

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

ในโซลูชัน ZFS ที่ใหญ่ขึ้นหรือมีประสิทธิภาพสูงฉันใช้อุปกรณ์ที่เหมาะสมกับบทบาท ZIL หรือ L2ARC ของพวกเขา ... เช่นSTEC ZeusRAMหรือDDRDriveสำหรับ ZIL และ SLC หรือ MLC SAS SSD สำหรับ L2ARC ขององค์กรใด ๆ

  • อุปกรณ์ ZIL ควรเป็นอุปกรณ์ที่มีความจุต่ำและมีความหน่วงต่ำซึ่งมีความสามารถในการ IOPS สูง พวกเขามักจะสะท้อน
  • อุปกรณ์ L2ARC ควรมีความจุสูง (ภายในเหตุผล: คุณต้องเพิ่ม RAM เมื่อขนาด L2ARC เพิ่มขึ้น) พวกเขาไต่ระดับโดยการสตริป

คุณกำลังทำอะไร?


ฉันเพิ่มพื้นหลังให้กับคำถาม คำตอบนี้ดูเหมือนจะเหมาะ - ขอบคุณ - ฉันจะปล่อยให้สิ่งต่าง ๆ เปิดสองสามวันก่อนที่จะยอมรับ
Graham Perrin

เพื่อวัตถุประสงค์ในการเชื่อมโยง: คำถาม 2011 จาก @ewwhite ZFS - วิธีการแบ่งพาร์ติชัน SSD สำหรับ ZIL หรือ L2ARC ใช้? และภายในคำตอบที่ได้รับการยอมรับ "... อุปกรณ์ ZIL และ L2ARC เฉพาะสำหรับแต่ละพูลเป็นวิธีที่จะไป"
Graham Perrin

6

มีความเข้าใจผิดพื้นฐานบางประการตั้งแต่เริ่มแรกเกี่ยวกับ ZIL ซึ่งจำเป็นต้องแก้ไขก่อนดำเนินการต่อ

ทำความเข้าใจกับสิ่งนี้: ภายใต้สถานการณ์ "ปกติ" ZIL / SLOG จะไม่ถูกแตะต้อง

มันเขียนเฉพาะเมื่อมีคำสั่งการเขียนแบบซิงโครนัสหรือถ้า sync = always เปิดใช้งานในพูล / ชุดข้อมูลที่เฉพาะเจาะจง ("zfs รับการซิงค์พูล / ชุดข้อมูล")

ZIL ไม่เคยอ่านจากสถานการณ์ปกติ มันเป็นคุณสมบัติการกู้คืนความเสียหาย

IE: ZIL จะใช้งานได้เมื่อปิดเครื่อง มันใช้เพื่อเล่นซ้ำข้อมูลที่ถูกส่งกลับไปยังระบบปฏิบัติการก่อนที่ข้อมูลนั้นจะถูกส่งไปยังพูล ZFS ทั้งหมดเขียนลงในพูล (ซิงค์หรือ async) มาจากบัฟเฟอร์หน่วยความจำ

ภายใต้สถานการณ์ปกติเมื่อข้อมูลเข้าสู่สระว่ายน้ำรายการ slog จะได้รับอนุญาตให้ระเหย - เป็นเพียงบัฟเฟอร์การเขียนแบบวงกลมขนาดใหญ่และไม่จำเป็นต้องมีขนาดใหญ่มาก (แม้ 1GB จะมากเกินไปในสถานการณ์ส่วนใหญ่)

การเขียนแบบไม่ซิงโครนัสจะถูกบัฟเฟอร์ในหน่วยความจำเรียงลำดับและเขียนลงดิสก์ในช่วงเวลาที่เหมาะสม หากไฟดับข้อมูลนั้นจะหายไป แต่ความสมบูรณ์ของ FS จะยังคงอยู่ (นี่คือเหตุผลที่คุณอาจต้องการตั้งค่า sync = always)

ในทางตรงกันข้าม L2ARC ถูกใช้อย่างหนักในระดับการอ่านและการเขียน

มีสิ่งเช่น "l2arc มากเกินไป" เนื่องจากข้อมูลเมตาสำหรับสิ่งที่อยู่ใน l2arc มาจาก ram ARC ของคุณ (เช่นถ้าคุณเพิ่มขนาด l2arc คุณต้องเพิ่ม ram ให้เหมาะกับความล้มเหลวในการทำเช่นนั้นอาจส่งผลให้ประสิทธิภาพลดลงอย่างมากและ ในที่สุดการใช้ l2arc จะปิดลงในระดับที่ต่ำกว่า "พื้นที่ว่างทั้งหมด")

แม้จะมีการประท้วงของผู้ผลิตบางรายคุณไม่สามารถชดเชยความจำได้โดยการเพิ่มขนาด l2arc (ผู้ผลิตอาร์เรย์การจู่โจมฮาร์ดแวร์หลายรายที่แยกเป็นอุปกรณ์ ZFS ได้ทำสมมติฐานนี้)

tl; dr: หากการโหลด IO ของคุณเป็นกิจกรรมฐานข้อมูล ZIL มีแนวโน้มที่จะถูกกระแทกอย่างหนัก หากเป็นอย่างอื่นก็มีแนวโน้มว่าจะถูกสัมผัสเพียงเล็กน้อยเท่านั้น มีความเป็นไปได้สูงมากที่ 99.9% ของกิจกรรม ZIL จะไม่มีวันเตะ

การรู้ว่าจะช่วยให้คุณตัดสินใจได้ว่าคุณต้องการพาร์ติชัน SLOG สำหรับ ZIL ไม่ว่าจะสามารถอยู่ร่วมกับพาร์ติชัน l2arc หรือหากต้องการไดรฟ์แบบสแตนด์อโลน (และระดับประสิทธิภาพของไดรฟ์แบบสแตนด์อโลน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.