Microsoft ได้ประกาศว่า Windows Server 2012 นั้น Support 4K disk sector ในฐานะผู้ใช้งาน Hyper-V เราจะได้อะไร? แล้ว 4K ที่แท้จริงมันคืออะไร? ในตอนนี้เราจะมาทำความเข้าใจเรื่อง 4K disk sector, disk alignment และ Hyper-V native 4K กัน ประโยชน์ที่จะได้รับคือ ช่วยให้เราเตรียมตัวเวลาซื้อ Hard disk และเห็นถึงประโยชน์ของมัน
โครงสร้าง Hard Disk
Hard disk ได้ถูกกำหนดให้เป็นหน่วยย่อย ๆ 3 ส่วนคือ
- Track หรือการแบ่ง disk เป็นวงกลมแคบๆ ตามเส้นรอบวง เริ่มจากจุดศูนย์กลาง เป็นวงๆ ไปด้านนอก
- Sector ในวงหนึ่งๆ เช่นตัวอย่างสีเขียว จะเป็นตัดเป็นส่วนย่อย เหมือนเวลาตัดชิ้นขนม pie เรียกว่า sector หรือ track sector
- Cluster กลุ่มของ Sector
- ภาพที่ 1 Disk
ในยุคเริ่มแรกของ Hard Disk ใน 1 Sector มีขนาด 512 byte (ภาพด้านบน – ซ้าย) ซึ่งหมายถึง เมื่อหัวอ่านของ disk อ่านข้อมูลมา 1 ครั้ง จะได้มา 512 byte (ตรงนี้เป็นเรื่อง Hardware ยังไม่สนใจว่า Windows จะทำงานอย่างไร) แต่ละ Sector ก็จะมี Sync/DAM และ ECC ประกอบอยู่ด้วย (Error Checking and Correction ใช้ช่วยแก้ไขข้อผิดพลาด)
ต่อมาผู้ผลิต disk อยากได้เนื้อที่การใช้งานเพิ่มขึ้นบน disk จึงขยาย sector ให้ใหญ่ขึ้นจากเดิม 8 เท่า มีขนาด 4096 byte (4K) ทำให้เกิดประโยชน์คือ ได้เนื้อที่การใช้งานเพิ่มขึ้น จากการลด Sync/DAM และ ECC และลดภาระการทำ ECC ทำให้ทำงานเร็วขึ้น
Advanced Format 512, 512e และ 4K
ความหมายของ Advanced Format คือ Disk ที่ Sector มีขนาดใหญ่กว่า 512 byte ผู้อยู่ในอุตสาหกรรม Hard disk ได้หาทางผลิต disk ที่มีขนาด Sector ใหญ่ขึ้นเพื่อต้องการเพิ่มประสิทธิภาพของ Disk ตามเส้นทางของเวลาด้านล่าง
Disk แบบ Advanced Format มักจะมีขนาดใหญ่ ตั้งแต่ 1 TB ขึ้นไป และจะมีข้อความหรือสัญลักษณ์กำกับ ถ้าเป็น size ขนาดนี้ ส่วนใหญ่มักจะเป็น Sata disk
ประโยชน์ของ Advanced Format
สิ่งที่ได้จากเรื่องนี้คือ
1. เทคโนโลย Advanced Format ช่วยเพิ่มประสทธิ ภาพในการแก้ไขข้อผิดพลาดของข้อมลหลายบิต (Burst) ได้ถึง 50% โดยใชรหัส ECC (รหสแก้ไขข้อผิดพลาด) ที่ใหญ่กว่าเดิม
2. ได้เนื้อที่เพิ่มขึ้น 7 – 10%
3. หากทำ Disk Alignment ด้วยจะทำให้การใช้ Disk เร็วขึ้นมาก
512e Backward Compatability
การมาของ 4K อยู่ในช่วงที่ Operating System หรือ Software หลายตัวยังไม่พร้อม OS โดยทั่วไปรู้จักแต่ Secter แบบ 512 byte จึงเกิด 512 emulator (512e) มาพร้อมกับคำว่า Read-Mofify-Write ที่แน่นอนว่าทำให้ประสิทธิภาพการทำงานของ disk ต่ำลง หลักการทำงานของ RMW คือ
1. Read – เมื่อ OS จะ write ขนาด 512, มันจะอ่านข้อมูลมา 4K ซึ่งรวมส่วนของ 512 ที่จะถูก write มาเก็บไว้ใน buffer ขึ้นมาก่อน
2. Modify – มันจะบันทึกส่วนของ 512 ใหม่ ลงไปใน buffer
3. Write – ถึงตอนนี้ข้อมูล 4K ใน buffer พร้อมแล้ว ก็จะถูก write ลงไปใน Disk
เข้าใจ Disk เพื่อควบคุมประสิทธิภาพ
การเตรียม Storage Hardware และ Config Software ให้ถูกต้อง จะทำให้การทำงานของ System Administrator ดีขึ้น ทั้งในด้านของเงินลงทุนและประสิทธิภาพด้านความเร็วของระบบ จากสามารถสรุปได้ดังนี้
1. เราควรตรวจสอบว่า Disk ที่ใช้รองรับ 4K หรือไม่
2. ถ้าเป็น Disk sector 4K ตัว controller รองรับหรือไม่
3. OS ที่ใช้รองรับหรือไม่
4. หากทำเรื่อง Virtualization ระบบนั้น รู้จักการทำงานกับ Disk sector 4K หรือไม่
Hyper-V ใน Windows Server 2012 Native Sector 4K
ใน Hyper-V Virtual Hard Disk (VHD) เมื่อ Hyper-V Host write file แต่ละครั้ง มันมีค่า Sector Bitmap ที่มีขนาด 512 byte แปะไปด้วย หากข้อมูลจริงๆ ที่จะ write มี 4K เมื่อรวมกับ Sector bitmap ก็จะเป็น 512 byte + 4K
Microsoft ได้แก้ไขปัญหานี้ในไฟล์ VHDX ที่มากับ Windows Server 2012 คือมันจะปรับ block ที่รวม Sector bitmap แล้ว ให้มีค่า 4K พอดี ผู้ใช้ Virtualization ของรายอื่นๆ ก็ควรไปศึกษาผลิตภัณฑ์ด้วยก็จะเป็นประโยชน์
Disk Alignment
ส่วนนี้จะเป็นคำตอบว่าทำไมทุกส่วนที่อยู่ในกระบวนการใช้งาน Disk จะได้ประโยชน์จาก Sector 4K มัน คือเรื่องของ Disk alignment โดยให้ดูภาพล่างด้านซ้าย เป็นภาพของการไม่ร่วมมือกันแต่ละส่วนก็มีขนาดของ data block ไม่สอดคล้องกัน ทำให้ operation การ read/write มี overhead เมื่อเทียบกับสีเขียวด้านขวามื่อ มีการทำ Alignment
ตัวอย่าง การไม่ทำ alignment ด้านซ้าย Hyper-V สั่ง write 1 ครั้ง ที่ Windows ทำ 2 ครั้ง, controller ก็ 2 ครั้ง ที่ disk ทำ 1 ครั้ง (ตัวอย่างอาจไม่สมจริงแต่ขอยกเพื่อความเข้าใจง่ายๆ) หากเทียบกับด้านเขียน Hyper-V สั่ง 1 ครั้ง ส่วนอื่นๆ ก็ 1 ครั้งเหมือนกัน จึงเร็วกว่านั้นเอง
ตัวอย่างคำสั่งตรวจสอบ Disk Alignment บน Windows
ในภาพนี้ให้นำค่า StartingOffset (ภาพบน) หรือค่า Offset in Byte (ภาพล่าง) ไป หารด้วย 4096 ถ้าเป็น 0 แสดงว่า Alignment เป็นแบบ 4096 แล้ว
สรุป
เมื่อถึงตรงนี้คาดว่าพอจะเห็นภาพแล้วว่า เมื่อ disk ขนาดใหญ่ก็เป็น 4K กันไปแล้ว ทาง Microsoft มีความจำเป็นอย่างไรที่ต้องปรับให้ Hyper-V มาสนับสนุน ซึ่งก็เป็นเรื่องของ Disk Alignment ด้วย นอกจาก disk ที่มันดีขึ้น
Reference
2. Archlinux – Advanced Format
3. Using Hyper-V with large sector drives on Windows Server 2008 and Windows Server 2008 R2
4. Hitachi – Advanced Format Technology Brief
6. WD – Advanced Format Technology
7. Microsoft VHD Format Specification
9. Intel RAID Controller – Advanced Format 4K sector drive support