Windows Server 2012 Native 4K Disk Sector Support

Microsoft ได้ประกาศว่า Windows Server 2012 นั้น Support 4K disk sector ในฐานะผู้ใช้งาน Hyper-V เราจะได้อะไร? แล้ว 4K ที่แท้จริงมันคืออะไร? ในตอนนี้เราจะมาทำความเข้าใจเรื่อง 4K disk sector, disk alignment และ Hyper-V native 4K กัน ประโยชน์ที่จะได้รับคือ ช่วยให้เราเตรียมตัวเวลาซื้อ Hard disk และเห็นถึงประโยชน์ของมัน

โครงสร้าง Hard Disk

image

Hard disk ได้ถูกกำหนดให้เป็นหน่วยย่อย ๆ 3 ส่วนคือ

  • Track หรือการแบ่ง disk เป็นวงกลมแคบๆ ตามเส้นรอบวง เริ่มจากจุดศูนย์กลาง เป็นวงๆ ไปด้านนอก
  • Sector ในวงหนึ่งๆ เช่นตัวอย่างสีเขียว จะเป็นตัดเป็นส่วนย่อย เหมือนเวลาตัดชิ้นขนม pie เรียกว่า sector หรือ track sector
  • Cluster กลุ่มของ Sector
    ภาพที่ 1 Disk

image

ในยุคเริ่มแรกของ 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 ตามเส้นทางของเวลาด้านล่าง

image

Disk แบบ Advanced Format มักจะมีขนาดใหญ่ ตั้งแต่ 1 TB ขึ้นไป และจะมีข้อความหรือสัญลักษณ์กำกับ ถ้าเป็น size ขนาดนี้ ส่วนใหญ่มักจะเป็น Sata disk

image

ประโยชน์ของ 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 ดีขึ้น ทั้งในด้านของเงินลงทุนและประสิทธิภาพด้านความเร็วของระบบ จากสามารถสรุปได้ดังนี้

image

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 ครั้งเหมือนกัน จึงเร็วกว่านั้นเอง

image

ตัวอย่างคำสั่งตรวจสอบ Disk Alignment บน Windows

ในภาพนี้ให้นำค่า StartingOffset (ภาพบน) หรือค่า Offset in Byte (ภาพล่าง) ไป หารด้วย 4096 ถ้าเป็น 0 แสดงว่า Alignment เป็นแบบ 4096 แล้ว

image

image

สรุป

เมื่อถึงตรงนี้คาดว่าพอจะเห็นภาพแล้วว่า เมื่อ disk ขนาดใหญ่ก็เป็น 4K กันไปแล้ว ทาง Microsoft มีความจำเป็นอย่างไรที่ต้องปรับให้ Hyper-V มาสนับสนุน ซึ่งก็เป็นเรื่องของ Disk Alignment ด้วย นอกจาก disk ที่มันดีขึ้น

 

Reference

1. Preparing Advanced Format hard drives for Microsoft Windows installations on HP Business Notebook PCs and Desktop PCs

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

5. Sector, Track and Cluster

6. WD – Advanced Format Technology

7. Microsoft VHD Format  Specification

8.Microsoft VHDX Format

9. Intel RAID Controller – Advanced Format 4K sector drive support

10. Why disk alignment is important

Advertisements

Windows Server 2012 Data Deduplication

Data Deduplication คือ การลดพื้นที่การเก็บข้อมูลบน disk/storage ด้วยวิธีกำจัดข้อมูลที่ซ้ำๆ ออกไป ให้เก็บไว้เพียงชุดเดียว (unique chunk) โดยข้อมูลซ้ำๆ นั้นจะถูกแทนที่ด้วย Pointer ให้ชี้ไปตรงที่ๆ เก็บข้อมูลชุดเดียวที่กล่าวมา เช่น ถ้ามี data file แล้วบันทึกไว้หลาย version ยิ่งมีหลายๆ ครั้งซ้ำกันก็ยิ่งเปลือง disk การทำ data deduplication ก็เพียงสร้าง Pointer ชี้ไปตรงทีเก็บข้อมูลไว้จุดเดียวกัน เป็นต้น อย่างไรก็ตาม Windows จะไม่ deduplication กับ file ที่ compress แล้ว เช่น พวก zip file หรือ Office 2007 ขึ้นไป เป็นต้น

หลังจากที่เราได้ยินว่าผู้ผลิต Storage ทั้งหลายหรือแม้ผู้ที่ทำ virtualization บางรายก็ทำ deduplication ได้ Microsoft ได้เพิ่ม feature นี้ Windows Server 2012 ให้แล้ว ลองศึกษาแล้วนำไปใช้งานกัน หากมีอะไรน่าสนใจ ช่วย post reply มาด้วยครับ

Dedup เป็น Feature ใหม่ใน Windows Server 2012

วิธีเปิดใช้งาน Feature นี้ ขอแนะนำเป็นคำสั่งใน PowerShell โดยเรียกตามขั้นตอนในภาพด้านล่าง

กดปุ่น Windows + X เลือก Command Prompt (admin) พิมพ์ PowerShell กด Enter

แล้วพิมพ์คำสั่งตามตัวอย่างในภาพ

dedup-5

เมื่อติดตั้งเสร็จ จะมี Service Data Deplucation Serivce

image

ใน Server Manager หากเลือก File and Storage Service แล้วเลือก Volumes อีกที ก็จะเห็น column Deduplication Rate

image

 

image

เทคนิคของ Microsoft ที่ใช้ในการทำ Data Deduplication

การทำ dedup ต้องทำเป็น volume ตามปกติระบบมันจะกำหนดขนาดของข้อมูลจากไฟล์ที่นำมาประมวลผลเป็นก้อนๆ (Chunk) ขนาดอยู่ในช่วง 32 – 128 KB (มีเล็กกว่านี้ได้อีก) โดย Microsoft บอกว่าในทำงานจริงมันจะอยู่ที่ประมาณ 80 KB เมื่อเจอข้อมูลที่ซ้ำ มันจะ compress chunk แล้วไปเก็บในที่ๆ เรียกว่า chunk store ในส่วน system volume ถ้าหาก chunk ไหนถูกเรียกใช้งานบ่อยจะถูกเก็บไว้ที่ second location (ค่า default ของบ่อย =100 ครั้ง)

การทำ dedup มี 2 แบบคือ

1. Post-process deduplication

วิธีนี้เป็นแบบที่ Microsoft เลือกมาใช้ คือ เมื่อมีข้อมูลใหม่ มันจะถูกเขียนลงบน disk ก่อน หลังจากนั้นจะมี process มาตรวจหา duplication เพื่อไปทำ dedup ข้อดี คือ มันไม่ไปรบกวนการเขียนข้อมูลลง disk จึงไม่กระทบเรื่อง performance ข้อด้อย คือ อาจมีบ้างที่ข้อมูลเขียนจะ disk จะเต็มหรือเต็มไปแล้วค่อยมา dedup

2. In-line deduplication

แบบนี้ dedup จะทำแบบ realtime อาจไปรบกวนการ write ทำให้เครื่องช้าไปบ้าง

 

ข้อจำกัดของ Data Deduplication บน Windows Server 2012

1. ทำบน Boot Disk หรือ System Volume ไม่ได้

2. ทำได้บน NTFS (ไม่ support FAT)

3. ทำงานบน Windows Server 2012 (ต่ำกว่านี้ไม่ได้)

4.ไม่ support Cluster Share Volume (CSV มีบน Hyper-V, ถ้า virtual disk เก็บบน NTFS ทำได้ แต่ถ้าไปทำ CSV ตรง volume ของ CSV ทำ dedup ไม่ได้)

5. ไม่รองรับ file ที่ encrypt และ file เล็กกว่า 64 KB

 

Reference

  1.  Microsoft Adds Data Deduplication to NTFS in Windows 8
  2.  Configuring Windows Server 8 deduplication
  3.  Windows Server 8 data deduplication: What you need to know
  4.  Data deduplication
  5.  Introduction to Data Deduplication in Windows Server 2012

สำรวจข้อมูลการ set RAID บน Hyper-V Host

ผมเตรียมเครื่อง Hyper-V มาหลายเครื่อง คิดเรื่อง RAID ว่าต้องเป็นเท่าไรถึงจะเหมาะ เตรียมจะทำเป็นคำแนะนำง่ายมาแบ่งปันกัน ตอนนี้อยากทราบว่าส่วนใหญ่ set แบบไหนกันครับ

Hotfix Hyper-V สำหรับผู้ใช้ Virtual Disk กับ SCSI Controller และใช้ Live Migration (KB2636573)

สำหรับผู้ที่ใช้ Virtual disk แบบ SCSI และใช้งาน Live Migration ทาง Microsoft ได้ออก hotfix เพื่อแก้ปัญหาอาการ crash หลัง Migration โดยท่านสามารถอ่านข้อมูลเพิ่มเติมและ download ได้ที่
http://support.microsoft.com/kb/2636573

Reference:

  1. New Hyper-V Hot Fix Released (KB 2636573) For Guest Crash (http://blogs.msdn.com/b/taylorb/archive/2012/01/10/new-hyper-v-hot-fix-released-kb-2636573-for-guest-crash.aspx)
  2. Link สำหรับ download hotfix (http://support.microsoft.com/kb/2636573)