รู้จัก Hyper-V Dynamic Memory และ Smart Paging File

การเติบโตของ Virtualization ที่รวดเร็ว ส่วนหนึ่งมาจากเรื่องการแบ่งปัน Resource เช่น RAM เป็นต้น ใน Hyper-V ได้ออกแบบให้แบ่ง Memory แบบ Dynamic ได้ และอีกเรื่องที่จะได้เรียนรู้คือการทำงานของ OS ตอนที่เครื่อง Boot/Start หรือ Restart มันต้องการ Memory มากเป็นช่วงเวลาสั้นๆ เมื่อเสร็จขั้น Boot มันจะคืน Memory ในส่วนที่ใช้งานแสร็จหรือไม่ต้องการแล้วออกมา หลังจากนั้น Application ก็จะดึง Memory ไปใช้งาน ซึ่งขึ้นอยู่กับว่า Application จะใช้มากหรือน้อยตามหน้าที่ของมัน ก่อนไปต่อขอพาไปทำความรู้จักกับ Hyper-V Dynamic Memory พื้นฐานกันก่อน

Hyper-V Dynamic Memory

หลักการทำงานของ Virtualization ที่มักถูกเรียกว่า Consolidation หรือการรวมหลายๆ Virtual Machine (VM) มาอยู่บน Server เดียวกัน ยิ่งสร้าง VM ได้มาก การลงทุนก็ยิ่งคุ้ม ในส่วนของ RAM (Memory) บน Server  ที่มีจำนวนจำกัด เมื่อเป็นอย่างนี้ Virtualization จะจัดการปัญหานี้ได้อย่างไร?  ดังนั้น ตอนนี้เราจะศึกษาเรื่องของ RAM  ตามหลักแล้ว การแบ่ง RAM ให้ VM จำนวนเท่าไร ใช้วิธีประเมินเพื่อวางแผนตามความต้องการจริง ในส่วนนี้ Windows  ก็มีกลไกกำหนดค่า RAM ที่เหมาะสมด้วย ทำให้ Windows รู้เองว่าตอนไหนที่ต้องการ RAM และต้องการจำนวนเท่าไร ในระบบ Virtualization ได้แบ่งได้สะดวก ทำได้แม้หลักร้อย Megabyte ไปจนถึงหลาย Gigabyte  เมื่อ Application มาใช้ RAM จะมี 2 เรื่องคือ การขอใช้ (Allocate) และการคืน (Recycle)   การแบ่ง RAM ใน Virtualization ให้ VM ทำได้ 2 แบบคือ

  1. Fix/Static ให้เป็นจำนวนคงที่ไปเลย ถ้าจะแก้ต้อง Shutdown VM
  2. Dynamic ให้แบบยืดหยุ่น โดยกำหนดช่วงค่า Minimum และ Maximum

เมื่อ Dynamic  ปรับขนาดได้และต้องแบ่งกันเพื่อความคุ้ม จึงเป็นที่มาของ Hyper-V Dynamic Memory โดยมี Parameter ที่สำคัญคือ

1. Startup RAM – Memory ที่แบ่งให้ VM ใช้งานในช่วงที่ Start VM
– ค่า Parameter นี้ ใช้ทั้ง Fix  ( ถ้า Fix จะใช้จำนวนนี้ไปตลอด) และ Dynamic (ใช้ตอน Start/Boot VM)
2. Minimum RAM เมื่อ VM Start เสร็จขนาดของ RAM จะถูกปรับเป็น Minimum
3. Maximum RAM ระหว่างการทำงาน RAM อาจเพิ่มหรือลดได้ ในช่วงของ Minimum และ Maximum
4. Memory weight ลำดับ Priority ของ VM ในการขอ  RAM ถ้ามี RAM จะดูตรงนี้ว่าจะให้ VM ที่ Priority สูงก่อน
5. Buffer จำนวน RAM สำรองที่ Host แบ่งให้กับ VM หน่วยเป็น %
คำนวณจาก RAM ปัจจุบันที่ VM ได้รับ

การใช้ Dynamic Memory นั้นต้องศึกษาว่า OS ของ VM มีความสามารถ Hot-Add memory หรือการสั่งเพิ่ม/ลดขนาดของ Memory ในขณะที่เครื่องกำลังทำงานอยู่โดยไม่ต้อง reboot ได้หรือไม่ ดูได้จาก (Windows version support dynamic memory) ด้านล่าง เป็นภาพ Memory ของ Virutal Machine Setting

HPV Manager-3

 

ภาพด้านล่างแสดงให้เห็นช่วง Start VM ช่อง Assign Memory คือ RAM ที่ VM ได้มีขนาด 2048 ในขณะที่ค่า Memory Damand มีเพียง 491 MB

HPV Manager-1

ภาพด้านล่าง แสดงให้เห็นว่าเมื่อ Start เสร็จ VM จะเปลี่ยนไปใช้ค่า Minimum Memory (RAM) และ Assign Memory (RAM) มีขนาดมากกว่า Demand เนื่องจากค่า Buffer 20% แต่ตัวเลขจริงบน Hyper-V Manager อาจขยับไปบ้าง เพราะ Memory ตัวเลขเปลี่ยนบ่อย

HPV Manager-2

 

Smart Paging File

เรารู้แล้วว่าตอนที่ VM Start หรือ Reboot มันต้องการ RAM มากเป็นเวลาสั้นๆ ในขณะที่ Minimum RAM ของ Dynamic RAM อาจไม่พอซึ่งมีผลให้เครื่องช้า จึงมี Parameter – Startup RAM ไว้ช่วยตอน Reboot  ในภาพด้านล่าง แสดงให้เห็นว่า เครื่องตัวอย่างมีค่า Memory Parameter คือ Startup = 2048MB, Minimum = 512MB และ Maximum = 4096MB

Smart Page File

จากภาพ ช่วงที่ 1 เครื่องต้องการ RAM 2048 MB เพื่อ Start VM เมื่อเสร็จแล้ว เข้าสู่การทำงานปกติในขั้นตอนที่ 2 มันจะคืน RAM แล้วไปจนเหลือแค่ค่า Minimum RAM ถ้า Host มี VM จำนวนมากใช้ RAM จนเกือบหมดแล้ว ทำให้จำนวน RAM ที่ว่างๆ เหลือน้อยกว่าค่า Startup ใน Hyper-V มีความสิ่งที่เรียกว่า Smart Paging File  มันสร้างมาครั้งแรกใน Windows Server 2012 เพื่อช่วยป้องกันปัญหา Startup RAM ไม่พอ ดังนั้น Smart Paging File คือ การใช้ File บน Disk มาทำหน้าที่เป็น RAM เนื่องจาก RAM จริงๆ มีไม่พอสำหรับ Startup RAM นั่นเอง ต้องจำไว้ว่ามันไม่ใช่ Paging File ของ Windows ข้อดีของมันคือแก้ขัดเวลา RAM ไม่พอ ข้อเสียคือมันช้า การระบุ Location Folder ก็ใช้ hard disk ธรรมดานี่แหละ ไม่จำเป็นต้องเป็น SSD เพราะใช้แค่ตอน Restart

Smart Page File จะถูกใช้งานเมื่อเครื่อง Hyper-V Host อยู่ในสถานะการนี้คือ

– เมื่อ Start VM แต่ Physical RAM มีไม่พอ (เพราะเครื่องอื่นเอาไปใช้หมดแล้ว)

Hyper-V ไม่ใช้ Smart Paging File เมื่อ

– Start VM จาก Save State

– VM Migrate ข้ามเครื่อง

สรุป

Smart Page File เป็นผลต่อเนื่องมาจาก Hyper-V Dynamic Memory เรื่องนี้ทำให้เราได้เรียนรู้ว่าความคิดและวิธีแก้ปัญหาของ Microsoft เรื่องการ Start VM หรือ Boot ว่าช่วงแรก Windows/OS ต้องการ RAM มาก ทำให้ใน Hyper-V  ต้องมี Paramater – Startup RAM มาช่วย Dynamic Memory  อาจมีบางครั้งที่ Minimum RAM อาจพอให้เครื่อง VM ที่ต้องการใช้งาน ทำการ Start ขึ้นมาทำงานได้ แต่ตอนที่ Start ต้องการ RAM เท่ากับจำนวน Startup RAM จึงใช้ File บน Disk แก้ปัญหา RAM ไม่พอ

แถม

เรื่อง Dynamic Memory มีชื่อเรียกกลางๆ ว่า Memory Overcomitt โดยที่ VMware ทำเรื่องนี้มาก่อน ดูผิวเผินอาจดูเป็นเรื่องเดียวกัน แต่การ Implement นั้นแตกต่างกันอยากมาก พอจะสรุปได้ดังนี้

ความสามารถ Microsoft Dynamic Memory VMware Memory Overcommit
แบ่ง RAM ให้ VM เกินจำนวนที่มีอยู่จริง Hyper-V อนุญาตให้ใช้ RAM ตามที่มีอยู่จริง (Hardware is limit) ใช้ได้
Requirement VM ต้อง Support การใช้ Dynamic Memory ไม่จำกัด
ความสามารถนี้มีเฉพาะ VMware เท่านั้น เห็นต่าง ไม่จำเป็นต้องทำ เพราะทำแล้วมีผลกระทบต่อ Performance และคิดว่า RAM ราคาถูกลง – Tranparent Page Sharing
– Memory compression

Reference

  1. http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/08/04/what-is-the-memory-buffer-when-dynamic-memory-is-enabled.aspx
Advertisement

การสร้าง Custom View ของ Windows Event Viewer และตัวอย่าง View Logon Failure

การตรวจสอบเครื่อง Windows Server ว่ามันทำงานปกติหรือไม่นั้น จะใช้เครื่องมือ Windows Event Viewer ในครั้งนี้เราจะศึกษาการสร้าง Custom Views หรือการสร้างคำสั่ง Query เพื่อดึงเฉพาะ Event ที่เราสนใจเก็บไว้ใช้งาน และช่วยให้ดูง่ายๆ เช่น การหา Logon Failure เป็นต้น (Windows ไม่มี filter GUI ให้ เวลาจะดู logon failure ต้องสร้างเองตามตัวอย่างด้านล่าง)  ตั้งแต่ Windows Server 2008 มันได้ถูกแบ่งเป็น 2 กลุ่มคือ Windows Logs และ Applications and Services Log (ตามภาพด้านล่าง) โดย

– Windows Logs คือ Event log ส่วนกลางของ Windows เช่น Application, Security, System ส่วนนี้จะถูกใช้งานบ่อย โดย System Admin จะคอยดูว่ามี Error อะไรที่เป็นสัญญาณของปัญหา

– Applications and Service Logs คือ กลุ่มใหม่ของ Event log ที่บันทึกจาก Application บน Windows โดยเวลาจะดูต้องเลือกชื่อ Application ที่ต้องการด้วย

image

Applications and Service Logs

การบันทึก Event Log ลงในกลุ่มนี้ ผู้เขียน Application จะต้องไปสร้าง Source ขึ้นมา ในภาพด้านล่าง Source ชื่อ TaskScheduler มี 4 Category  ที่เปิดให้ดูเป็น Operational (Log Name=Microsoft-Windows-TaskScheduler/Operational)  แนะนำให้ System Admin แจ้ง Developer บันทึก Log ลงตรงนี้ เพราะการ Monitor ทำได้ง่าย การสร้าง Log อาจใช้ภาษา .Net เช่น C#, VB,C++ เป็นต้น

image

วิธีสร้าง Custom Views เก็บไว้ดู Event Log ส่วนตัว

การสร้าง Custom Views คือการสร้าง View ที่ใช้ดู Event log ขึ้นมาใหม่ ด้วยรูปแบบ XML  มีประโยชน์ดังนี้

  1. ดึง Log ที่น่าสนใจมาบันทึกเป็น view ส่วนตัว เพื่อเรียกดูใหม่ได้อีก
  2. ดึง Log มาจากหลาย Source ได้ ซึ่งการดูผ่าน GUI ทำไม่ได้
  3. สามารถสร้างเงื่อนไขที่เจาะจงและซับซ้อนได้ เช่น Secuity Log มี  Login Fail และ Application Log ที่ Error ของระยะเวลา 7 วันที่ผ่านมา

ขั้นตอนการสร้างมีดังต่อไปนี้

1. เปิด Event Viewer และ Click ขวาที่ Custom Views เลือก Create Custom View…

image

2.  หน้า Create Custom View เลือก XML

image

3. สร้างคำสั่งด้วยรูปแบบ XML เช่น การสร้าง View ดูการ Login จาก network มาที่ Server  แล้ว Failure จะใช้คำสั่ง

ตัวอย่างที่ 1 หาค่า logon fail ที่ Log ผ่าน network เข้ามา

<QueryList>
<Query ID=0 Path=”Security”>
<Select Path=”Security”>
              *[System[(band(Keywords,4503599627370496)]]
and
*[EventData[Data[@Name=’LogonType’]=’3’]]
         </Select>
</Query>
</QueryList>

คำสั่งเป็น XML ส่วนชื่อข้อมูลก็ลองไปกดดู Event Log ที่สนใจแล้ว click ที่ Details (ภาพด้านล่าง) ในภาพเป็น Event ของ Security  มี section System เราสนใจ Keyword ซึ่งหมายถึง Logon Fail หรือ Success การเก็บเป็นตัวเลขฐาน 2 แต่การเขียน query ต้องแปลงเป็นฐาน 10 โดยให้ตัด 0x8 ออกไป ก็จะได้ค่าเท่ากับ 4503599627370496 อีกเรื่องที่ต้องรู้คือการใช้ XML Filter XPath 1.0 มีคำสั่ง band มีรูปแบบ Boolean band(bitfield, bitfield)  เราเทียบค่าเพื่อหา Keyword กับค่าที่เราต้องการคือ Logon Failure

ในคำสั่งต่อมา Section EventData มาจะหา Logon ที่มาจาก network ซึ่งมีค่าเป็น 3 ก็พิมพ็ไปตามตัวอย่าง

image

ตัวอย่างที่ 2 เป็นการดู Logon Failure ในระยะ 7 วันที่ผ่านมา และ Application Log ในหน้าเดียวกัน

<QueryList>
<Query Id=”0″ Path=”Security”>
    <Select Path=”Security“>
*[System[ (band(Keywords,4503599627370496))]]
and
*[System[TimeCreated[timediff(@SystemTime) &lt; = 604800000]]]
and
*[EventData[Data[@Name=’LogonType’]!=’3′]    ]
</Select>

       <Select Path=”Application“>           *[System[(Level=1  or Level=2 or Level=3)]]      </Select>
</Query>

</QueryList>

อธิบายเฉพาะส่วนเพิ่ม คือ

– timediff() เป็น Function ของ XPath 1.0 อ่านเพิ่มเติมจาก Rerenence 2 ใช้เทียบเวลา &lt; หมายถึง มากกว่า 60480000 วินาที  (มาจาก 7วัน * 24 ชม * 60 นาที * 60 วินาที)

– Logon  ไม่เท่ากับ 3 คือ ไม่ได้มาจาก network

– ใส่ Application ผมเข้าไปด้วย (สีฟ้า)

 

สรุป

การสร้าง Custom Views ของ Event Log ช่วยให้สร้าง query เรากรองเอา Log ที่ต้องการมา save เป็น view เพื่อให้เรียกใช้งานได้ง่ายๆ

Reference

  1. Event Logs (http://technet.microsoft.com/en-us/library/cc722404.aspx)
  2. 2.2.15.2 Filter XPath 1.0 Extensions (http://msdn.microsoft.com/en-us/library/cc231313.aspx)

Hyper-V Snapshot error: 0x80070522

I try to create snapshot a VM on host running Windows Server 2012 and it results in error saying “A required privilege is not heold by the client. (0x80070522).

 

I am a member of local administrators group and Hyper-V administrator. The .avhd file was created in snapshot folder but it is stopped at the end before putting the snapshot name.

 

The resolution is to logon to VM and restart Windows on guest machine.

The root cause is unclear but  the problem does not happen again after reboot VM.

 

image

Windows Server 2012–Hyper-V Best Practices Analyzer (BPA)

เมื่อติดตั้ง Hyper-V บน Windows Server 2012 มีความสามารถอันหนึ่งที่ Microsoft ช่วยวิเคราะห์ให้เราว่า การกำหนด parameter ต่างๆ นั้น เหมาะสมหรือไม่ วิธีนั้นง่ายมาก ทำตามนี้

1. Logon เข้า Windows Server 2012 ที่ติดตั้งแบบ GUI

2. เปิดหน้าจอ Server Manager กด Menu Manage เลือก Add Servers

3. ใส่ ชื่อ Server Hyper-V Host ที่ต้องการวิเคราะห์ลงไป

4. จากด้านซ้ายของหน้า Server Manager เลือก All Server

5. เลื่อน mouse ไปด้านขวา เลื่อนลงไปหา Best Practices Analyzer กดคำว่า Task แล้วกด Start BPA Scan ตามรูป

จากภาพอาจเห็นไม่ชัด ขออธิบายอันหนึ่ง ตรงที่ highlight คือ เครื่อง Guest Windows Server 2003 มี v-cpu มากกว่า 2 มันก็เตือนว่า ใส่ได้ 1-2 ก็พอ

image

Windows Remote Desktop /console หายไปตั้งแต่ version 2008

Windows Server มีความสามารถให้เราทำ Remote เข้าเครื่องได้ ใน mode ที่เรียกว่า Remote Desktop for Administrator ที่ช่วยให้ system administrator ทำงานได้สะดวก โดยมีข้อจำกัดว่า ให้ logon พร้อมๆ กันได้เพียง 2 connection ตอนนี้เราจะมาทำความรู้จักับเรื่อง /console และ sesion 0 ใน version ของ Windows Server 2003 มันมี option พิเศษ อันหนึ่งคือ /console ที่ช่วยให้ session remote เข้าไปอยู่ใน session พิเศษ ที่เรียกว่า session 0

 

รู้จักกับ MSTSC และ Query session

Windows Server มี คำสั่ง mstsc เพื่อใช้เป็น remote desktop client ไปยังเครื่อง server ปลายทาง รูปแบบคำสั่ง (syntax) ใน version 6.1  มีดังนี้

mstsc [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]] [/w:<width>] [/h:<height>] [/public] | [/span] [/edit “connection file”] [/migrate] [/?]

เวลาใช้งาน ถ้าเป็น GUI ก็เรียก mstsc ไม่ต้องใส่ parameter สำหรับการทดสอบนี้ ใช้ parameter /v และ /console ซึ่งไม่ต้องแปลกใจว่า syntax ไม่มี เพราะจะเปรียบเทียบกับ mstsc ของเก่าใน Windows Server 2003 เค้ามี แต่ /console ได้ยกเลิกใน Windows Server 2008

อีกคำสั่งคือ query session จะใช้แสดง remote desktop session

การทดลองต่อไปนี้ให้สังเกตที่ช่อง ID ซึ่งหมายถึง session

ตัวอย่าง บน Windows Server 2003  [Before]

image

 

image

ตัวอย่าง บน Windows Server 2008 [After]

image

จากการทดลอง แสดงให้เห็นว่าใน

1. Windows Server 2003 มี /console ที่ทำให้ใช้ session 0 ได้ แต่ใน Windows Server 2008 ที่ session 0 ไม่สามารถใช้ได้

2. แม้ว่าจะ logon ที่ console หน้าเครื่อง จะได้ session ที่ชื่อว่า console แต่ก็ไม่ได้ session 0 เหมือนข้อ 1

 

Session 0 Isolation

ใน Windows Server 2003 และ version ก่อนหน้านี้ การ logon ที่ console จะได้ session 0 แล้ว service ต่างๆ ก็ run อยู่ใน session เดียวกัน ในเวลาต่อมาก็พบว่าการปล่อยให้ user ไป run งานใน session เดียวกับ service นั้น มีความเสี่ยงในเรื่อง security เนื่องจากสิทธิ (privilege) ที่ใช้ run service นั้นยิ่งใหญ่ แต่มาอยู่ใน session เดียวกับผู้ใช้งาน จึงเป็นเป้าหมายที่จะโดนโจมตีจาก malicious code ได้ง่าย  ใน Windows Server 2008 ได้ จัดกาารลดความเสี่ยงโดย

1. กำหนดให้ service ใช้ session 0 และกำหนดให้เป็น non-interactive

2. กำหนดให้ user คนแรกที่ logon เข้าระบบได้ session 1 แล้วก็เรียงลำดับต่อไปเรื่อยๆ

 

ทำไมต้องใช้ /console

หากเราใช้คำสั่ง query session จะเห็นว่า Windows มีลำดับความสำคัญของ session ไม่เท่ากัน ในช่วงที่มี remote desktop ช่วงแรก นั้น

1. การ install application หรือ run application ต้องเรียกใช้ service ที่ run อยู่ใน session 0 หรือการแสดงผล(UI [User Interaction]) ออกไปที่ session 0

2. ต้องการให้การ remote ไปที่ server กลับไปหน้าจอเดิมทุกครั้ง หากไม่ใช้ /console ก็อาจได้ session เลขอื่นๆ แล้วเป็นจอใหม่

 

คิดใหม่ตาม Windows Server 2008

Windows ได้รับการปรับปรุงเรื่อง compatability ที่ยอมให้ application เก่าๆ วิธีใหม่คือ

1. การติดต่อกับ service ที่อยู่ใน session 0 ได้ ถ้ามี service ที่ใช้ UI ของ session 0 นั้น ระบบ Windows Server 2008 จะทำให้ผู้ใช้ทำงาน (interact) กับ session 0 จาก session ของผู้ใช้งานได้ ในเมื่อ session 0 ถูกทำให้เป็น non-interact กับผู้ใช้งาน ก็หมดความจำเป็นที่ต้องใช้ session 0

2. ถ้าอยากจะ remote กลับไปได้จอเดิมที่เคย logon ค้างไว้ ให้ config ระบบได้ ผ่าน policy, registry หรือจะทำผ่าน GUI ก็ได้ การทำผ่าน group policy ใน Windows Server 2008 R2 ให้ไปที่ Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections กำหนดค่าที่ Restrict Remote Desktop Services users to a single remote session

mstsc /admin ไม่ได้มาแทน /console

Parameter /admin ใช้เพื่อทำงาน admin บนเครื่อง Remote Desktop Server (ต้องเปิด enable role) แต่ถ้าเครื่องไม่ได้ enable role นั้น การใส่ /admin จะมีผลต่อไปนี้

  • Disable Terminal Services client access licensing.
  • Disable time zone redirection.
  • Disable TS Session Broker redirection.
  • Disable TS EasyPrint.

Reference

1. Changes to Remote Administration in Windows Server 2008

2. Limit users to one remote session

3. Restrict Users to a Single Session

4. Application Compatibility: Session 0 Isolation

5. Remote Desktop for Administration

คำนวณ License Windows Server 2012

วิธีคิดจำนวนของ Windows Server 2012 ข้อสำคัญที่ควรรู้และเกี่ยวข้องกับ VM ด้วยดังนี้

  • Windows Server 2012 มี 2 Edition คือ Standard และ Datacenter
  • การเลือก Edition ให้พิจารณาการใช้งานจาก Virtualization เป็นหลัก
  • มี 1 License: ใช้ได้กับ 2 Processor 
  • ถ้าเดิมเครื่อง มี 2 CPU แล้วจะเพิ่มเป็น 4 CPU -> ก็ให้ซื้อ License ตาม Edition เพิ่มไปทีละ 2 CPU
  • License คิด per server ไม่สามารถนำมาคิดข้ามเครื่องได้ เช่น มี 2 เครื่องๆ ละ 1 CPU รวมเป็น 2 CPU แต่มันอยู่คนละเครื่อง ก็ต้องซื้อ 2 License
  • Standard Edition ใช้งานได้ 2 VM
  • ถ้าซื้อ Standard มาใช้ทำ VM ได้ 2 ตัวถ้าจะเพิ่มเป็น 4 VM ก็ให้ซื้อ Standard เพิ่มอีก, แล้วทำแบบนี้ได้เรื่อยๆ
  • Datacenter Edition ใช้งานได้ Unlimit VM
  • Feature ของ Standard ท่ากับ Datacenter  (ย้ำ feature เท่ากันนนนนน)
  • เมื่อยุบ Enterprise Edition ที่เคยมีใน 2008 ทำให้ Feature ต่อไปนี้ใน 2012 มาอยู่ใน Standard
    – Windows Server Failover Clustering
    – BranchCache Hosted Cache Server
    – Active Directory Federated Services
    – Additional Active Directory Certificate Services capabilities
    – Distributed File Services (support for more than 1 DFS root)
    – DFS-R Cross-File Replication
  • ในเครื่องเดียวมีทั้ง Standard และ Datacenter ไม่ได้ (quote จาก Microsoft มา, ไม่รู้ว่าจริงๆ มีใครทำแบบนี้ แล้วจะทำไปทำไม?)
  • สิทธิในการ Downgrade ที่น่าจะใช้บ่อย
License ที่ซื้อมา Downgrade เป็น
Datacenter 2012 Datacenter 2008
Standard 2012 Enterprise 2008 R2
Standard 2012 Stanard 2008

สรุป

ก็ขอให้ทำความเข้าใจกันให้ดี จะได้ไม่เสียเงินเยอะจากการซื้อผิด Edition โดยไม่จำเป็น และขอส่งเสริมให้ใช้ License ที่ถูกกฏหมายสำหรับงานใน Production

Reference
1. Windows Server 2012 Licensing-Pricing PDF

2.License Microsoft Product for use in Virtual Environment

รู้จัก Cloud Computing ด้วย Hyper-V ตอนที่ 1

Virtualization ของ Hyper-V ใน Windows Server 2012 มีความพร้อมแล้วสำหรับ Cloud เช่น การย้าย workload จาก network ภายในองค์กรไปฝากไว้ที่ผู้ให้บริการ (Provider) เป็นต้น  หากเราได้ดูการสาธิตในงานสัมนาต่างๆ อาจดูง่ายๆ แต่หากจะนำไปใช้งานจริงจะต้องเข้าใจและเตรียมอะไรบ้าง???  เรามาทำความรู้จักกับ Cloud และการใช้ประโยชน์ของ Hyper-V และ System Center เพื่อนำใช่งานกัน

 

Cloud Computing คืออะไร?

ลำดับแรกเรามาทำความรูัจักกับ Cloud ในรูปแบบของ VM360Degree ว่า Cloud Computing คือ การให้บริการของ IT ในรูปแบบของการขอใช้บริการ หรือ IT as a Service  ขอเน้นๆ ว่า Cloud = บริการ เช่น การขอใช้บริการ e-mail เมื่อต้องการใช้ e-mail อย่าง hotmail.com ก็เพียงสมัตรใช้บริการด้วยตนเอง อยากจะส่ง e-mail ก็ขอให้มี Internet ก็ส่งได้แล้ว เป็นต้น

Cloud ที่ถูกกล่าวถึงในช่องปี 2011-2012 นี้ ไม่น่าเรียกว่านวัตกรรม แต่เป็นความพร้อมของเทคโนโลยี ทั้งด้าน Hardware ที่ดูและราคาถูกลง, Network ที่มีพื้นครอบคลุม และสดท้ายคือ Software ที่ผู้พัฒนาพยายามสร้าง Function ที่รองรับการทำงานแบบ Cloud

คุณสมบัติที่จำเป็นของ Cloud Computing

เนื่องจาก Cloud เป็นบริการ มันไม่มีความหมายที่ตายตัว จึงมีหน่วยงาน NIST ของสหรัฐสร้างกฏเกณฑ์ สำหรับนำไปประเมินผลิตภัณฑ์ โดย Cloud คุณสมบัติ 5 ข้อ เป็นหลักสากล หากจะพิจารณาว่าอะไรเป็น Cloud หรือไม่ จำอันนี้ไไปใช้ได้เลย คือ

1. On-demand / Self-Service ความสามารถที่เปิดให้ consumer ขอใช้บริการได้เองเมื่อต้องการใช้และไม่ต้องรอให้ใครมาดำเนินการ
2. Broad network access ความสามารถให้บริการแก่ consumer ผ่านระบบ network และผ่านอุปกรณ์ที่หลากหลาย เช่น PC, table, mobile phone
3. Resource Pooling
  • การที่ผู้ให้บริการ (Provider) สร้าง resource เป็น pool เพื่อรองรับผู้ใช้งานหลายๆ ราย (multi-tenant) และตอบสนองความต้องการของผู้ใช้งานที่มีความต้องการ (demand) แตกต่างกัน
  • ผู้ใช้งานสามารถใช้งานเครื่องใดก็ได้  แต่บางครั้งก็อาจมีการร้องขอแบบเจาะจงในบางข้อเช่น การระบุประเทศที่ตั้งของ Server เป็นต้น
4. Rapid elasticity ความสามารถในการเตรียม resource ที่ยืดหยุ่น เพิ่มได้/ลดได้ ย้ายได้ มีให้ใช้ตลอด ไม่จำกัดจำนวน ไม่จำกัดเวลา
5. Measured Services มีรูปแบบของมิเตอร์ ทำให้ consumer และ provider สามารถ monitor การใช้งาน, ควบคุมการใช้งาน, ออก report

 

 

Service Model

Infrastructure as a Service – การให้บริการระดับ hardware ในรูปของ Virtual machine เช่น server, storage, network, load balancer เป็นต้น
– มีบริการเสริมมากมาย เช่น template
– ตัวอย่าง Windows Azure,
Platform as a Service – Platform คือ เครื่องมือที่รองรับการ develop, run application ให้ทำงานได้, consumer จะสร้าง application/software โดยใช้เครื่องมือ เช่น ภาษา, library, database ที่ support โดย provider
– Consumer ใช้งานการ deploy และการกำหนด configuration ได้
– Provider เตรียม Network, Server, Storage และบริการอื่นๆ เช่น เครื่องมือทดสอบ, ระบบ security เป็นต้น
– ตัวอย่าง Windows Azure, Google App Engine, Cloud Foundry
Software as a Service – เป็นการใช้บริการ application software จาก provider
-ตัวอย่าง Microsoft Office 365

 

Deployment Model

Private Cloud – ระบบ Cloud ที่อยู่ใน network ภายใน และใช้งานกันภายในองค์กรเท่านั้น
– องค์กรจะเป็นเจ้าของ
– การจัดการจะทำเองหรือจ้างคนอื่นมาดูแลก็ได้
– ตั้งอยู่ on premise หรือ off premise ก็ได้
Public Cloud – ระบบ Cloud ที่ provider เปิดให้ใช้ใครๆ ก็ใช้งานผ่าน Internet ได้
– เจ้าของอาจเป็นหน่วยงานที่ทำเป็นธุรกิจ, ราชการ หรือ สถาบันการศึกษาก็ได้
– ตั้งอยู่ในสถานที่ของ Provider

 

Virtualization คือ Private Cloud ใช่หรือไม่?

ถ้าผมเป็นที่ปรึกษาผมอาจตอบว่า “It’s depend” แต่ฐานะเป็น VM360Degree ตอบว่า “ไม่ใช่” เหตุผลคือ เราต้องเทียบกับหลักการของ NIST ระบบ Virtual อย่างเช่น Hyper-V ไม่มีข้อ Self-Service เป็นต้น การนำ Virtulization มาใช้ถือเป็นก้าวแรกเพื่อสร้าง Cloud Computing ไว้ใช้งาน

 

ศัพท์(ขั้นเทพ)ที่ใช้กับ Cloud

ก่อนเราจะทำความรู้จัก Cloud มากขั้น ต้องทำความรู้จักคำที่มักใช้บ่อยๆ กันก่อน

คำศัพท์

ความหมาย

Consumer ผู้ใช้บริการในระบบ Cloud
Elasticity ความยืดหยุ่นในการขอใช้อุปกรณ์ ไม่ยึดติด เช่น ใช้เครื่อง server เครื่องนี้ แล้วเกิดไม่แรงพอจะขอย้ายไปเครื่องใหม่ ก็ย้ายได้ไม่ยืดติด, หรือ RAM น้อยก็ขอเพิ่ม เมื่อใช้เสร็จก็คืนได้
Multi-tenant การมีผู้ใช้บริการหลายๆ ราย มาใช้อุปกรณ์ร่วมกัน เช่น มี server 1 เครื่อง ให้บริการแก่ลูกค้า 5 ราย ก็เรียก server นี้ว่า support multi-tenant (อ่านรายละเอียดเพิ่มเติม)
On premise สถานที่ตั้งอยู่ในองค์กร
Off premise สถานที่ต้องอยู่นอกองค์กร
Provider ผู้ให้บริการในระบบ Cloud
Provision การจัดเตรียม ทรัพยากร เช่น Disk, Network
Cloudburst การกระจายงานจาก private ไปยัง public cloud
Workload งานที่ถูก run โดย computer

 

สรุป

การสร้าง Cloud นั้น มีรูปแบบที่ NIST กำหนดคุณสมบัติเอาไว้ชัดเจน จะทำอะไรกับ Cloud ก็ขอให้พยายามอิงกับ Definition ในตอนนี้

 

 

References

1. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

2. http://blogs.technet.com/b/yungchou/archive/2011/12/19/an-inconvenient-truth-of-the-nist-definition-of-cloud-computing-sp-800-145.aspx

3. http://blogs.technet.com/b/yungchou/archive/2011/12/19/an-inconvenient-truth-of-the-nist-definition-of-cloud-computing-sp-800-145.aspx

4. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

5.http://www.hypervizor.com/2009/07/vsphere-in-a-box-a-virtual-private-cloud-blueprint/

6.http://en.wikipedia.org/wiki/Platform_as_a_service

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

Windows 8 และ Windows Server 2012 ออก OEM 1 สิงหาคม 2555 และเปิดตัว 4 กันยายน 2555

หลังจากที่ติดตามตั้งปี พฤษภาคม 2554 ตอนนี้เรามีกำหนดการของ Windows 8 และ Windows Server 2012 แล้ว ในตารางด้านล่าง  ผมเองอาจเป็นคนไทยเพียงไม่กี่คนที่ตื่นเต้นกับเรื่องนี้มาก หากท่านใดที่ใช้งาน Hyper-V เคยพบข้อจำกัดใน version 2008 มาคราวนี้ ที่ Hyper-V ถึง Version 3 แล้ว รับรองดีกว่าเดิมมากมาย  เช่น เรื่อง v-cpu เป็นต้น ใน version 2012 นี้ มีเทคโนโลยีใหม่ที่ต้องศึกษาใหม่อีกมากมาย  ผมกำลังจะเตรียมบทความที่เป็นประโยชน์แก่ Windows Server Administrator ที่จะทยอยออกมาเรื่อยๆ ก็ขอให้ติดตามและ Comment หากสนใจเรื่องใดเป็นพิเศษ

หลายๆคนมักพูดถึง Microsoft ว่า…

Version 1 – สร้าง Product  (Hyper-V ใน Windows Server 2008)

Version 2 – แก้ปัญหาจาก Version 1 และต่อกรกับคู่แข่ง (Hyper-V ใน Windows Server 2008R2)

Verion 3 – The Best!! Function ตรงความต้องการผู้ใช้งาน ปัญหาน้อย มี Function ที่่ล้ำหน้าคู่แข่ง  ใช้งาน Production ได้อย่างสบายยยยยใจ (Hyper-V ใน Windows Server 2012)

ขอยินดีกับ Microsoft Team และขอบคุณสำหรับ Hard Work (ถ้าอ่านภาษาไทยออกนะ Smile)

กำหนดการ (หากมีข้อมูลเพิ่มเติมจะนำมา Update ต่อไป)

1 สิงหาคม 2555 Microsoft ได้ส่งมอบ Windows 8 และ Windows Server 2012 รุ่น OEM ให้กับผู้ผลิต Computer PC และ Server ที่เป็น Partner ของ Microsoft
15 สิงหาคม 2555 ลูกค้า MSDN Subscription และ Technet Subscription จะ Download ได้
16 สิงหาคม 2555 ลูกค้า Volume License with Software Assurance จะ Download Windows 8 ได้
Microsoft Partner Network
1 กันยายน 2555 ลูกค้า Volume License ที่ไม่มี Software Assurance จะ Download ได้
4 กันยายน 2555 เปิดตัว Windows Server 2012
26 ตุลาคม 2555 เครื่อง PC รุ่นใหม่จะถูกติดตั้ง Windows 8 และมีให้ Download on-line

http://www.microsoft.com/en-us/server-cloud/new.aspx

image

Reference:

1. http://blogs.msdn.com/b/b8/archive/2012/08/01/releasing-windows-8-august-1-2012.aspx

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