วันนี้เราจะวิเคราะห์ตัวชี้วัดของระบบย่อยของดิสก์ใน vSphere ปัญหาการจัดเก็บข้อมูลเป็นสาเหตุที่พบบ่อยที่สุดที่ทำให้เครื่องเสมือนทำงานช้า ในกรณีของ CPU และ RAM หากการแก้ไขปัญหาสิ้นสุดลงที่ระดับไฮเปอร์ไวเซอร์ แล้วหากมีปัญหากับดิสก์ คุณอาจต้องจัดการกับเครือข่ายข้อมูลและระบบจัดเก็บข้อมูล
ฉันจะหารือในหัวข้อโดยใช้ตัวอย่างการเข้าถึงบล็อกระบบจัดเก็บข้อมูลแม้ว่าตัวนับจะเหมือนกันโดยประมาณสำหรับการเข้าถึงไฟล์
ทฤษฎีเล็กน้อย
เมื่อพูดถึงประสิทธิภาพของระบบย่อยดิสก์ของเครื่องเสมือน ผู้คนมักจะให้ความสนใจกับพารามิเตอร์สามตัวที่สัมพันธ์กัน:
- จำนวนการดำเนินการอินพุต/เอาต์พุต (การดำเนินการอินพุต/เอาต์พุตต่อวินาที, IOPS)
- ปริมาณงาน;
- ความล่าช้าของการดำเนินการอินพุต/เอาท์พุต (Latency)
จำนวน IOPS มักจะมีความสำคัญสำหรับปริมาณงานแบบสุ่ม: การเข้าถึงบล็อกดิสก์ที่อยู่ในตำแหน่งต่างๆ ตัวอย่างของภาระดังกล่าวอาจเป็นฐานข้อมูล แอปพลิเคชันทางธุรกิจ (ERP, CRM) ฯลฯ
แบนด์วิดท์ สำคัญสำหรับการโหลดตามลำดับ: การเข้าถึงบล็อกที่อยู่ติดกัน ตัวอย่างเช่น ไฟล์เซิร์ฟเวอร์ (แต่ไม่เสมอไป) และระบบกล้องวงจรปิดสามารถสร้างภาระดังกล่าวได้
ปริมาณงานสัมพันธ์กับจำนวนการดำเนินการ I/O ดังต่อไปนี้:
ปริมาณงาน = IOPS * ขนาดบล็อกโดยที่ Block size คือขนาดบล็อก
ขนาดบล็อกเป็นลักษณะที่ค่อนข้างสำคัญ ESXi เวอร์ชันใหม่อนุญาตให้บล็อกขนาดสูงสุด 32 KB ถ้าบล็อกใหญ่กว่านี้จะแบ่งออกเป็นหลายบล็อก ระบบจัดเก็บข้อมูลบางระบบไม่สามารถทำงานกับบล็อกขนาดใหญ่ดังกล่าวได้อย่างมีประสิทธิภาพ ดังนั้นจึงมีพารามิเตอร์ DiskMaxIOSize ในการตั้งค่าขั้นสูงของ ESXi เมื่อใช้มัน คุณสามารถลดขนาดบล็อกสูงสุดที่ไฮเปอร์ไวเซอร์ข้ามได้ (รายละเอียดเพิ่มเติม
ขนาดบล็อกขนาดใหญ่อาจส่งผลเสียต่อประสิทธิภาพการจัดเก็บข้อมูล แม้ว่าจำนวน IOPS และปริมาณงานจะค่อนข้างน้อย แต่ก็สามารถสังเกตเวลาแฝงที่สูงได้ด้วยขนาดบล็อกที่ใหญ่ ดังนั้นควรใส่ใจกับพารามิเตอร์นี้
ความแอบแฝง – พารามิเตอร์ประสิทธิภาพที่น่าสนใจที่สุด เวลาแฝง I/O สำหรับเครื่องเสมือนประกอบด้วย:
- ความล่าช้าภายในไฮเปอร์ไวเซอร์ (KAVG, Kernel MilliSec เฉลี่ย/อ่าน);
- ความล่าช้าจากเครือข่ายข้อมูลและระบบจัดเก็บข้อมูล (DAVG, Average Driver MilliSec/Command)
เวลาแฝงทั้งหมดที่มองเห็นได้ใน guest OS (GAVG, Average Guest MilliSec/Command) คือผลรวมของ KAVG และ DAVG
วัด GAVG และ DAVG และคำนวณ KAVG: GAVG – DAVG
เรามาดูกันดีกว่า เคเอวีจี. ในระหว่างการทำงานปกติ KAVG ควรมีแนวโน้มที่จะเป็นศูนย์หรืออย่างน้อยก็น้อยกว่า DAVG กรณีเดียวที่ฉันรู้ว่า KAVG คาดว่าจะสูงตรงไหนคือขีดจำกัด IOPS บนดิสก์ VM ในกรณีนี้ เมื่อคุณพยายามเกินขีดจำกัด KAVG จะเพิ่มขึ้น
องค์ประกอบที่สำคัญที่สุดของ KAVG คือ QAVG ซึ่งเป็นเวลาคิวการประมวลผลภายในไฮเปอร์ไวเซอร์ ส่วนประกอบที่เหลือของ KAVG นั้นไม่สำคัญเลย
คิวในไดรเวอร์อะแดปเตอร์ดิสก์และคิวไปยังดวงจันทร์มีขนาดคงที่ สำหรับสภาพแวดล้อมที่มีการโหลดสูง อาจมีประโยชน์ในการเพิ่มขนาดนี้
แต่ขอย้ำอีกครั้ง ขั้นแรกให้อ่านเอกสารจากผู้ขาย HBA และทดสอบการเปลี่ยนแปลงบนม้านั่งในห้องปฏิบัติการ
ขนาดของคิวไปดวงจันทร์อาจได้รับผลกระทบจากการรวมกลไก SIOC (Storage I/O Control) เข้าไปด้วย ให้การเข้าถึงดวงจันทร์ที่สม่ำเสมอจากเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์โดยการเปลี่ยนคิวเป็นดวงจันทร์บนเซิร์ฟเวอร์แบบไดนามิก นั่นคือ หากโฮสต์ใดโฮสต์หนึ่งกำลังเรียกใช้ VM ที่ต้องใช้ประสิทธิภาพในปริมาณที่ไม่สมส่วน (VM เพื่อนบ้านที่มีสัญญาณรบกวน) SIOC จะลดความยาวคิวเป็นดวงจันทร์บนโฮสต์นี้ (DQLEN) รายละเอียดเพิ่มเติม
เราได้แยก KAVG ออกไปแล้ว ตอนนี้เป็นเรื่องเล็กน้อย ดีเอวีจี. ทุกอย่างเป็นเรื่องง่ายที่นี่: DAVG คือความล่าช้าที่เกิดขึ้นจากสภาพแวดล้อมภายนอก (เครือข่ายข้อมูลและระบบจัดเก็บข้อมูล) ระบบจัดเก็บข้อมูลที่ทันสมัยและไม่ทันสมัยทุกระบบมีตัวนับประสิทธิภาพของตัวเอง หากต้องการวิเคราะห์ปัญหาด้วย DAVG ควรพิจารณาปัญหาเหล่านั้น หากทุกอย่างเรียบร้อยดีใน ESXi และด้านการจัดเก็บ ให้ตรวจสอบเครือข่ายข้อมูล
เพื่อหลีกเลี่ยงปัญหาด้านประสิทธิภาพ ให้เลือกนโยบายการเลือกเส้นทาง (PSP) ที่ถูกต้องสำหรับระบบจัดเก็บข้อมูลของคุณ ระบบจัดเก็บข้อมูลสมัยใหม่เกือบทั้งหมดรองรับ PSP Round-Robin (มีหรือไม่มี ALUA, Asymmetric Logical Unit Access) นโยบายนี้อนุญาตให้คุณใช้เส้นทางที่มีอยู่ทั้งหมดไปยังระบบจัดเก็บข้อมูล ในกรณีของ ALUA จะใช้เฉพาะเส้นทางไปยังตัวควบคุมที่เป็นเจ้าของดวงจันทร์เท่านั้น ระบบจัดเก็บข้อมูลบางระบบบน ESXi ไม่มีกฎเริ่มต้นที่กำหนดนโยบาย Round-Robin หากไม่มีกฎสำหรับระบบจัดเก็บข้อมูลของคุณ ให้ใช้ปลั๊กอินจากผู้ผลิตระบบจัดเก็บข้อมูล ซึ่งจะสร้างกฎที่เกี่ยวข้องบนโฮสต์ทั้งหมดในคลัสเตอร์ หรือสร้างกฎด้วยตนเอง รายละเอียด
นอกจากนี้ ผู้ผลิตระบบจัดเก็บข้อมูลบางรายแนะนำให้เปลี่ยนจำนวน IOPS ต่อเส้นทางจากค่ามาตรฐาน 1000 เป็น 1 ในทางปฏิบัติของเรา สิ่งนี้ทำให้สามารถ "บีบ" ประสิทธิภาพออกจากระบบจัดเก็บข้อมูลได้มากขึ้น และลดเวลาที่ต้องใช้ในการเฟลโอเวอร์ได้อย่างมาก ในกรณีที่ตัวควบคุมขัดข้องหรืออัปเดต ตรวจสอบคำแนะนำของผู้ขายและหากไม่มีข้อห้ามให้ลองเปลี่ยนพารามิเตอร์นี้ รายละเอียด
ตัวนับประสิทธิภาพระบบย่อยดิสก์เครื่องเสมือนพื้นฐาน
ตัวนับประสิทธิภาพระบบย่อยของดิสก์ใน vCenter จะถูกรวบรวมในส่วน Datastore, Disk, Virtual Disk:
ในส่วน ที่เก็บข้อมูล มีตัวชี้วัดสำหรับพื้นที่เก็บข้อมูลดิสก์ vSphere (ที่เก็บข้อมูล) ซึ่งมีดิสก์ VM อยู่ ที่นี่คุณจะพบเคาน์เตอร์มาตรฐานสำหรับ:
- IOPS (คำขออ่าน/เขียนโดยเฉลี่ยต่อวินาที)
- ปริมาณงาน (อัตราการอ่าน/เขียน)
- ความล่าช้า (อ่าน/เขียน/เวลาแฝงสูงสุด)
โดยหลักการแล้วทุกอย่างชัดเจนจากชื่อของเคาน์เตอร์ ฉันขอดึงความสนใจของคุณอีกครั้งถึงความจริงที่ว่าสถิติที่นี่ไม่ได้สำหรับ VM เฉพาะ (หรือดิสก์ VM) แต่เป็นสถิติทั่วไปสำหรับพื้นที่เก็บข้อมูลทั้งหมด ในความคิดของฉัน การดูสถิติเหล่านี้ใน ESXTOP จะสะดวกกว่า อย่างน้อยก็ขึ้นอยู่กับข้อเท็จจริงที่ว่าระยะเวลาการวัดขั้นต่ำคือ 2 วินาที
ในส่วน ดิสก์ มีตัวชี้วัดบนอุปกรณ์บล็อกที่ VM ใช้ มีตัวนับสำหรับ IOPS ของประเภทผลรวม (จำนวนการดำเนินการอินพุต/เอาท์พุตระหว่างระยะเวลาการวัด) และตัวนับหลายตัวที่เกี่ยวข้องกับการเข้าถึงบล็อก (คำสั่งถูกยกเลิก การรีเซ็ตบัส) ในความคิดของฉัน การดูข้อมูลนี้ใน ESXTOP จะสะดวกกว่าเช่นกัน
ส่วน ดิสก์เสมือน – มีประโยชน์มากที่สุดจากมุมมองของการค้นหาปัญหาประสิทธิภาพของระบบย่อยดิสก์ VM ที่นี่คุณสามารถดูประสิทธิภาพของดิสก์เสมือนแต่ละตัวได้ ข้อมูลนี้จำเป็นในการทำความเข้าใจว่าเครื่องเสมือนมีปัญหาหรือไม่ นอกเหนือจากตัวนับมาตรฐานสำหรับจำนวนการดำเนินการ I/O ปริมาณการอ่าน/เขียน และความล่าช้า ส่วนนี้ยังประกอบด้วยตัวนับที่มีประโยชน์ซึ่งแสดงขนาดบล็อก: ขนาดคำขออ่าน/เขียน
ในภาพด้านล่างคือกราฟประสิทธิภาพของดิสก์ VM ซึ่งคุณสามารถดูจำนวน IOPS เวลาแฝง และขนาดบล็อกได้
คุณยังสามารถดูตัวชี้วัดประสิทธิภาพสำหรับพื้นที่เก็บข้อมูลทั้งหมดได้ หากเปิดใช้งาน SIOC นี่คือข้อมูลพื้นฐานเกี่ยวกับเวลาแฝงและ IOPS โดยเฉลี่ย ตามค่าเริ่มต้น ข้อมูลนี้สามารถดูได้แบบเรียลไทม์เท่านั้น
เอสเอ็กซ์ท็อป
ESXTOP มีหลายหน้าจอที่ให้ข้อมูลเกี่ยวกับระบบย่อยของดิสก์โฮสต์โดยรวม เครื่องเสมือนแต่ละเครื่องและดิสก์
เริ่มต้นด้วยข้อมูลเกี่ยวกับเครื่องเสมือน หน้าจอ "Disk VM" ถูกเรียกด้วยปุ่ม "v":
NVDISK คือจำนวนดิสก์ VM หากต้องการดูข้อมูลสำหรับแต่ละดิสก์ ให้กด "e" และป้อน GID ของ VM ที่สนใจ
ความหมายของพารามิเตอร์ที่เหลือบนหน้าจอนี้ชัดเจนจากชื่อ
หน้าจอที่มีประโยชน์อีกประการหนึ่งเมื่อแก้ไขปัญหาคืออะแดปเตอร์ดิสก์ เรียกโดยปุ่ม “d” (ช่อง A,B,C,D,E,G ถูกเลือกในภาพด้านล่าง):
ป.ป.ท – จำนวนเส้นทางไปยังดวงจันทร์ที่มองเห็นได้จากอะแดปเตอร์นี้ หากต้องการรับข้อมูลสำหรับแต่ละเส้นทางบนอะแดปเตอร์ ให้กด "e" แล้วป้อนชื่อของอะแดปเตอร์:
อคเลน – ขนาดคิวสูงสุดบนอะแดปเตอร์
นอกจากนี้บนหน้าจอนี้ยังมีตัวนับความล่าช้าที่ฉันพูดถึงด้านบน: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.
หน้าจออุปกรณ์ดิสก์ซึ่งเรียกขึ้นมาโดยการกดปุ่ม "u" ให้ข้อมูลเกี่ยวกับอุปกรณ์บล็อกแต่ละตัว - ดวงจันทร์ (ฉันเลือกฟิลด์ A, B, F, G ในภาพด้านล่าง) ที่นี่คุณสามารถดูสถานะคิวของดวงจันทร์ได้
ดีคิวเลน – ขนาดคิวสำหรับอุปกรณ์บล็อก
แอคทีวี – จำนวนคำสั่ง I/O ในเคอร์เนล ESXi
คิว – จำนวนคำสั่ง I/O ในคิว
%ดอลล่าร์ – ACTV / DQLEN × 100%
โหลด – (ACTV + QUED) / DQLEN
หาก %USD สูง คุณควรพิจารณาเพิ่มคิว ยิ่งมีคำสั่งในคิวมากเท่าใด QAVG ก็จะยิ่งสูงขึ้นและ KAVG ตามลำดับ
คุณยังสามารถดูบนหน้าจออุปกรณ์ดิสก์ว่า VAAI (vStorage API for Array Integration) ทำงานอยู่บนระบบจัดเก็บข้อมูลหรือไม่ เมื่อต้องการทำเช่นนี้ ให้เลือกฟิลด์ A และ O
กลไก VAAI ช่วยให้คุณสามารถถ่ายโอนงานบางส่วนจากไฮเปอร์ไวเซอร์ไปยังระบบจัดเก็บข้อมูลได้โดยตรง เช่น การทำให้เป็นศูนย์ การคัดลอกบล็อก หรือการบล็อก
ดังที่คุณเห็นในภาพด้านบน VAAI ทำงานบนระบบจัดเก็บข้อมูลนี้: มีการใช้ค่าพื้นฐานแบบ Zero และ ATS อย่างแข็งขัน
เคล็ดลับในการเพิ่มประสิทธิภาพการทำงานกับระบบย่อยของดิสก์บน ESXi
- ใส่ใจกับขนาดบล็อก
- ตั้งค่าขนาดคิวที่เหมาะสมที่สุดบน HBA
- อย่าลืมเปิดใช้งาน SIOC บนดาต้าสโตร์
- เลือก PSP ตามคำแนะนำของผู้ผลิตระบบจัดเก็บข้อมูล
- ตรวจสอบให้แน่ใจว่า VAAI ใช้งานได้
บทความที่มีประโยชน์ในหัวข้อ:
ที่มา: will.com