สวัสดีครับ วันนี้ผมรวบรวมวิธีการดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือน (Virtual Hard Disk หรือ VHD) บน Windows Server 20012 R2 Hyper-V โดยการใช้คำสั่ง Get-VHD มาแบ่งปันให้แก่ผู้อ่านได้ทราบกันครับ
เมื่อพูดถึงการดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือนบน Windows Server 20012 R2 Hyper-V เช่น ดูว่าเป็นฮาร์ดดิสก์เสมือนประเภทใด เก็บอยู่ที่ไหน มีขนาดเท่าใด เป็นต้น โดยทั่วไปสามารถทำได้โดยใช้ Hyper-V Manager และการใช้คำสั่ง cmdlet (อ่านว่า command-let) ชื่อ Get-VHD ของ PowerShell ซึ่งวิธีการหลังนี้นอกจากสามารถใช้ได้ทั้งการใช้งาน Hyper-V บน Server with GUI และ Server Core แล้ว ยังสามารถดูข้อมูลคุณสมบัติฮาร์ดดิสก์เสมือนพร้อมกันหลายตัวได้อีกด้วย ซึ่งมีประโยชน์มากในกรณีที่มีการใช้งานฮาร์ดดิสก์เสมือนหลายตัวบนโฮสต์ Hyper-V
Get-VHD
ขอเริ่มต้นด้วยการแนะนำ Get-VHD ให้ได้ทราบกันครับ
Get-VHD เป็นคำสั่ง PowerShell สำหรับใช้ข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือน มีการทำงานแบบบรรทัคคำสั่ง Get-VHD สามารถทำงานร่วมกับคำสั่ง cmdlet อื่น เช่น Get-VM เพื่อให้ได้ผลลัพธ์การทำงานที่ละเอียดมากขึ้น Get-VHD ช่วยเพิ่มความสะดวกในการใช้งาน Hyper-V และมีประโยชน์มากยิ่งขึ้นเมื่อใช้งาน Hyper-V บน Server Core เนื่องจากเป็นโหมดที่ไม่มี Hyper-V Manager ซึ่งเป็นเครื่องมืออินเทอร์เฟซแบบกราฟิก
Get-VHD รองรับการใช้งานมากมายหลายรูปแบบ แต่สำหรับบทความนี้ ผมขอ(อนุญาต)ยกตัวอย่างการใช้งานใน 4 สถานการณ์ที่พบได้บ่อยดังรายละเอียดด้านล่างครับ
ข้อมูลระบบที่ใช้อ้างอิง
เซิร์ฟเวอร์ Hyper-V ที่ผมใช้อ้างอิงในบทความนี้เป็น Windows Server 2012 R2 ส่วน PowerShell เป็นเวอร์ชัน 4.0 ครับ
วิธีการเปิด PowerShell
ปกติแล้ว การเปิด PowerShell บน Windows Server 2012 R2 ซึ่งติดตั้งแบบ Server with a GUI นั้น ทำได้โดยการคลิกขวาบนไอคอน PowerShell บนแถบงาน ส่วนบน Server Core นั้นทำได้โดยการรันคำสั่ง powershell ที่พร้อมท์คำสั่ง ซึ่งทั้ง 2 วิธี Windows จะเปิดด้วยสิทธิ์ผู้ดูแลระบบโดยอัตโนมัติ แต่ถ้าบน Windows เวอร์ชันเดสก์ท็อปจะต้องใช้วิธีการเปิด PowerShell โดยการเลือก Run as administrator ครับ
ตัวอย่างที่ 1: ดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือนชื่อ vmdisk2.vhdx เก็บอยู่ในโฟลเดอร์ D:\VMVHD\WIN10 ทำได้โดยทำการรันคำสั่ง Get-VHD ที่คอมมานด์พร้อมท์ของ Powershell ดังนี้
Get-VHD –Path “D:\VMVHD\WIN10\vmdisk2.vhdx”
จะได้ผลการทำงานดังรูปที่ 1
รูปที่ 1
ตัวอย่างที่ 2: ดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือนของคอมพิวเตอร์เสมือนชื่อ Windows Server 2012 R2 ทำได้โดยทำการรันคำสั่ง Get-VM ร่วมกับ Get-VHD ที่คอมมานด์พร้อมท์ของ Powershell ดังนี้
Get-VM -VMName “Windows Server 2012 R2” | Select-Object VMId | Get-VHD
จะได้ผลการทำงานดังรูปที่ 2
รูปที่ 2
ตัวอย่างที่ 3: ดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือนที่ใช้โดยคอมพิวเตอร์เสมือนทุกตัวบนโฮสต์ Hyper-V ทำได้โดยทำการรันคำสั่ง Get-VM ร่วมกับ Get-VHD ที่คอมมานด์พร้อมท์ของ Powershell ดังนี้
Get-VM -VMName * | Select-Object VMid | Get-VHD
จะได้ผลการทำงาน (บางส่วน) ดังรูปที่ 3
รูปที่ 3
ตัวอย่างที่ 4: ดูข้อมูลคุณสมบัติของฮาร์ดดิสก์เสมือนทั้งหมดในโฟลเดอร์ D:\VMVHD และโฟลเดอร์ย่อยสามารถทำได้โดยการใช้คำสั่ง Get-ChildItem ร่วมกับ Get-VHD ที่คอมมานด์พร้อมท์ของ Powershell ดังนี้
Get-ChildItem D:\VMVHD –Recurse |% {$_.FullName} | Get-VHD –ErrorAction SilentlyContinue
จะได้ผลการทำงาน (บางส่วน) ดังรูปที่ 4
รูปที่ 4
คู่มือการใช้งาน Get-VHD
ส่วนคู่มือการใช้งาน Get-VHD สามารถดูได้โดยรันคำสั่ง Get-Help Get-VHD ที่คอมมานด์พร้อมท์ของ PowerShell ครับ
รูปที่ 5
สรุป
ในความเห็นผม Get-VHD เป็นคำสั่งที่ช่วยให้การดูข้อมูลคุณสมบัติฮาร์ดดิสก์เสมือนบน Windows Server 2012 R2 Hyper-V ทำได้สะดวกรวดเร็วมากขึ้น รองรับการใช้งานหลายรูปแบบ เช่น การดูข้อมูลฮาร์ดดิสก์เสมือนของคอมพิวเตอร์เสมือนตัวที่ต้องการ หรือการดูข้อมูลฮาร์ดดิสก์เสมือนของคอมพิวเตอร์เสมือนทุกตัวบนโฮสต์ และเป็นประโยชน์มากยิ่งขึ้นเมื่อใช้งาน Hyper-V บนโหมด Server Core ครับ
แหล่งข้อมูล
TN: Get-VHD
Hyper-V Hub by Altaro