Dynamic Memory เป็นคุณสมบัติใหม่ใน SP1 สำหรับ Windows Server 2008 R2 และ Hyper-V Server 2008 R2 ที่ช่วยให้ Hyper-V ใช้งานหน่วยความจำ (Physical memory) ได้มีประสิทธิภาพมากขึ้น โดย Hyper-V จะจัดการหน่วยความจำเป็นแบบ Shared Resource ที่พร้อมจัดสรรให้กับเวอร์ชวลแมชชีนที่กำลังรันอยู่โดยอัตโนมัติ โดย Hyper-V จะทำการปรับจำนวนของหน่วยความจำที่เวอร์ชวลแมชชีนใช้งานได้ตามการเปลี่ยนแปลงของความต้องการหน่วยความจำ (Memory demand) และค่าที่กำหนด ซึ่งจากที่ผมได้เปิดใช้งาน Dynamic Memory พบว่าช่วยให้การใช้งานเซิร์ฟเวอร์มีประสิทธิภาพมากขึ้น แต่กว่าจะใช้งานได้สำเร็จผมต้องพบกับปัญหา 2-3 อย่างจึงขอนำประสบการณ์มาแบ่งปันกันครับ
1. เปิดใช้งาน Dynamic Memory ไม่ได้
สาเหตุที่เปิดใช้งาน Dynamic Memory ให้กับเวอร์ชวลแมชชีน (Virtual Machine) ไม่ได้นั้นเกิดจากระบบ Windows Server 2008 R2 ที่ Hyper-V รันอยู่หรือ Hyper-V Server 2008 R2 ยังไม่รองรับคุณ Dynamic Memory ซึ่งแก้ไขโดยการติดตั้ง Service Pack 1 (SP1) สำหรับ Windows Server 2008 R2 และ Hyper-V Server 2008 R2 ซึ่งสามารถอ่านรายละเอียดได้ที่ Windows Server 2008 R2 Service Pack 1 (KB976932)
2. Dynamic Memory ไม่ทำงาน
วิธีการตรวจสอบว่า Dynamic Memory ทำงานหรือไม่นั้นสามารถดูได้จากรายงานข้อมูลการใช้งานหน่วยความจำของเวอร์ชวลแมชชีนซึ่งจะแสดงในคอลัมน์ Memory Demand ของ Hyper-V Manager ซึ่งจากรูปที่ 1 เป็นรายชื่อเวอร์ชวลแมชชีนทั้งหมดที่มีบนเซิร์ฟเวอร์ Hyper-V ซึ่งเวอร์ชวลแมชชีนทุกตัวได้รับการคอนฟิก Memory เป็น Dynamic Memory* เรียบร้อยแล้ว แต่เวอร์ชวลแมชชีนตัวที่ 1 ซึ่งใช้ระบบปฏิบัติการเกสต์เป็น Windows Server 2008 with SP2 ไม่ได้รายงานข้อมูลการใช้งานหน่วยความจำในคอลัมน์ Memory Demand ซึ่งแสดงว่า Dynamic Memory ยังไม่ทำงาน ในขณะที่เวอร์ชวลแมชชีนตัวที่ 3 และ 8 เป็นเวอร์ชวลแมชชีนที่ใช้ระบบปฏิบัติการเกสต์เป็น Windows Server 2008 R2 with SP1 ได้รายงานข้อมูลการใช้งานหน่วยความจำในคอลัมน์ Memory Demand ซึ่งแสดงว่า Dynamic Memory ทำงานได้แล้ว
หมายเหตุ: * สามารถดูวิธีการคอนฟิก Dynamic Memory ได้ที่ การใช้งาน Dynamic Memory ในระบบ Hyper-V บน Windows Server 2008 R2 SP1
รูปที่ 1
สำหรับวิธีการแก้ปัญหาเวอร์ชวลแมชชีนที่ Dynamic Memory ไม่ทำงานนั้นจะขึ้นอยู่กับระบบปฏิบัติการเกสต์ที่ใช้ รายละเอียดดังนี้
- Windows Server 2008 R2 รุ่น Standard และ Web:
- ให้ทำการติดตั้ง Windows Server 2008 R2 SP 1 ในระบบปฏิบัติการเกสต์
- Windows Server 2008 R2 รุ่น Enterprise และ Datacenter:
- ให้ทำการติดตั้ง Windows Server 2008 R2 SP 1 ในระบบปฏิบัติการเกสต์
- หรืออัพเกรด Integration Services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- Windows 7 รุ่น Ultimate และ Enterprise (32-bit และ 64-bit):
- ติดตั้ง Windows 7 SP1 ในระบบปฏิบัติการเกสต์
- หรืออัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- Windows Server 2008 with Service Pack 2 (SP2) รุ่น Standard และ Web (32-bit และ 64-bit):
- อัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- และทำการติดตั้งฮ็อตฟิกซ์หมายเลข 2230887 (http://go.microsoft.com/fwlink/?LinkId=206472)
- Windows Server 2008 with Service Pack 2 (SP2) รุ่น Enterprise และ
Datacenter (32-bit และ 64-bit):
- อัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- Windows Vista with Service Pack 1 (SP1) Ultimate และ Enterprise(32-bit และ 64-bit):
- อัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- Windows Server 2003 R2 with Service Pack 2 (SP2) รุ่น Standard, Web, Enterprise, และ Datacenter (32-bit และ 64-bit):
- อัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
- Windows Server 2003 with Service Pack 2 รุ่น Standard, Web, Enterprise, และ Datacenter (32-bit และ 64-bit):
- อัพเกรด integration services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1
โดยในกรณีนี้เวอร์ชวลแมชชีนที่มีปัญหาคือตัวที่ 1 ซึ่งใช้ระบบปฏิบัติการเกสต์เป็น Windows Server 2008 with SP2 วิธีแก้ปัญหาคือ ทำการอัพเกรด Integration Services ในระบบปฏิบัติการเกสต์เป็นเวอร์ชัน SP1 และทำการติดตั้งฮ็อตฟิกซ์หมายเลข 2230887 หลังจากนั้น Dynamic Memory จะทำงานได้โดยสังเกตได้จากมีการแสดงข้อมูลในคอลัมน์ Memory Demand ดังรูปที่ 2
รูปที่ 2
3. กำหนดค่า Startup Memory ให้กับเวอร์ชวลแมชชีนไม่ถูกต้อง
ปัญหาหนึ่งที่พบบ่อยในการใช้งาน Dynamic Memory คือการกำหนดค่าหน่วยความจำเริ่มต้น (Startup Memory) ให้กับเวอร์ชวลแมชชีนไม่ถูกต้อง คือกำหนดค่าหน่วยความจำเริ่มต้นสูงเกินไปทำให้การใช้งานหน่วยความจำไม่มีประสิทธิภาพเท่าที่ควร เนื่องจากเวอร์ชวลแมชชีนจะครอบครองหน่วยความจำเริ่มต้นตลอดเวลาจนกว่าจะปิดเครื่อง ดังนั้นในการใช้งาน Dynamic Memory จะต้องกำหนดค่าหน่วยความจำเริ่มต้นให้เหมาะสม โดยรูปด้านล่างเป็นค่าหน่วยความจำเริ่มต้นของระบบปฏิบัติการ Windows แต่ละเวอร์ชันที่ไมโครซอฟท์แนะนำ
รูปที่ 3
ในกรณีที่ทำการกำหนดค่าหน่วยความจำเริ่มต้นให้กับเวอร์ชวลแมชชีนด้วยค่าที่แนะนำเสร็จแล้วเมื่อเวอร์ชวลแมชชีนต้องการหน่วยความเพิ่มเติม Hyper-V จะจัดสรรหน่วยความจำเพิ่มขึ้นให้โดยอัตโนมัติ ลักษณะดังรูปที่ 4
รูปที่ 4
เรื่องที่เกี่ยวข้อง 10 สิ่งที่แอดมินควรทราบเกี่ยวกับ Hyper-V Dynamic Memory
บทความโดย: Thai Windows Administrator Blog
Copyright © 2011 TWA Blog. All Rights Reserved.
No comments:
Post a Comment
เชิญแลกเปลี่ยนความคิดเห็น ขอสงวนสิทธิ์ในการเผยแพร่ข้อความ HTML