Server Virtualization คืออะไร (กันแน่) และแนะนำ Microsoft Hyper-V

Server Virtualization คือ การบริหารจัดการทรัพยาการบนเครื่องคอมพิวเตอร์ ให้จำลองเสมือนว่ามีหลายเครื่องอยู่ในเครื่องเดียวกันโดยเรียกชื่อเครื่องจำลองเหล่านั้นว่า Virtual Machine (VM) ที่บอกว่ามีหลายๆ เครื่องมาอยู่บนคอมพิวเตอร์เครื่องเดียวกันนั้น เครื่อง VM ก็ต้องมีความเป็นส่วนตัว (privacy) และอิสระจากกัน เช่น จะลง Windows ต่าง version ก็ได้ เป็นต้น มี Software ที่ใช้ทำ Virtualization ที่ได้รับความนิยม ได้แก่ VMware และ Hyper-V เป็นต้น ส่วนใหญ่ VM ก็มักใช้เป็น Windows หรือ Linux

เรื่อง Virtualization นั้นเป็นเรื่องที่โยงไปหลายส่วนของ IT ในตอนนี้เป็นเรื่องการทำ Server Virtualization บนเครื่องที่ใช้ CPU ของ Intel หรือ AMD เท่านั้น!!

Virtualization ทำงานอย่างไร

หากเรามองส่วนประกอบของ Hardware ที่สำคัญของคอมพิวเตอร์ คือ CPU, RAM, Disk และ Network ในรูปที่ 1 ด้านซ้ายมือ จะเห็นว่า Operating System (OS) สมมุติว่า OS เป็น Windows ขณะที่ทำงานเมื่อ Windows จะเรียกใช้ Hardware มันต้องอาศัย BIOS ช่วยไปจัดการให้ การทำ Virtualization ก็เปรียบเสมือนเพิ่มคนกลางเข้ามาระหว่าง Windows กับ BIOS ในรูปที่ 1 ด้านขวามือ ตั้งชื่อว่า Hypervisor หรือบางคนอาจเรียก Virtual Machine Manager (VMM) ในระบบนี้ OS ทำอะไรก็ต้องผ่าน Hypervisor ตลอด (คำว่า Hypervisor นี้คิดค้นโดย IBM ตั้งแต่ยุค Mainframe)

image

image
Virtualization Type – 1 Native (Bare metal)

 

การแบ่งประเภทของ Virtualization

การสร้างระบบ Virtualization ได้กำหนดชื่อเรียกตัว software ที่ทำหน้าที่ virtual ว่า Hypervisor หรือ Virtual Machine Manager (VMM) ได้มีการแบ่ง hypervisor ออกเป็น 2 ประเภทคือ

  • Type 1 – native หรือ bare metal คือ การที่ hypervisor ถูกติดตั้งบน Physical Server โดยไม่ต้องมี OS ติดตั้ง (รูปที่ 1 ด้านขวามือ) ตัวอย่างผลิตภัณฑ์ในรูปแบบนี้ คือ VMware ESX, Citrix Xen Server และ Microsoft Hyper-V แบบนี้จำง่ายคือ ลง Hypervisor ไปแล้วจะไม่มีการติดตั้ง Application ใดๆ บน hypervisor (แม้ว่า Hyper-V จะทำได้แต่เราไม่ควรลง software ที่ไม่จำเป็นที่ Root )
  • Type 2 – hosted คือ การที่ hypervisor ทำงานเหมือน application บน OS ตัวอย่าง ผลิตภัณฑ์ได้แก่ VMware workstation, Microsoft virtual PC และ Oracle Virtual Box เป็นต้น แบบนี้จำง่ายคือ เมื่อได้ hardware มาแล้วก็ลง OS เช่น Windows แล้วลง virtual ในฐานะเป็น application ตัวหนึ่งเช่นเดียวกับการลง Microsoft Office

 

ประเภทเทคนิคของการสร้าง Virtualization

  • Full Virtualization คือ เทคนิคการทำ virtualization ที่ guest machine เห็นอุปกรณ์ทุกอย่างจำลอง ทั้งหมด เมื่อ guest ที่ต้องติดต่อกับ hardware ตัว virtualization จะต้องทำ binary translation โดย VMM จะดัก hardware call จาก guest OS และแปลงคำสั่งนั้นให้อยู่ในรูปแบบที่ Host OS ทำงานได้ การแปลงนี้ต้องใช้ทรัพยาการมาก ทำให้เครื่องทำงานช้าลงและลดประสิทธิภาพของเครื่อง
  • Paravirtualization คือ เทคนิคที่ใช้เพิ่มประสิทธิภาพให้กับ virtualization ในส่วนที่ guest machine เคยต้องจำลองอุปกรณ์ต่างๆ เมื่อทำงานบน virtual นั้น การออกแบบ paravitualization ได้ตัดการแปลงคำสั่งเหล่านี้ออกไปและไปสร้างเป็น software interface บน VMM ในรูปแบบของ driver และเครื่องมือต่างๆ มาแทน

    Paravirtualization ต้องการ CPU ที่สนับสนุนด้วยนั่นคือ Intel-VT หรือ AMD-V หน้าที่ตรงนี้ได้แก่ เรื่องของการจัดสรร Memory ของ Server ที่จำนวน RAM มากๆ ที่มีตำแหน่งกระจายไปทั่วๆ แต่ต้องทำให้ guest เห็นว่าเป็นผืนที่มีตำแหน่งเรียงกันเราเรียกส่วนนี้ว่า hardware page table virtualization เนื่องจาก quest OS ไม่สามารถไปจัดสรร physical memory จริงๆ ได้ จึงต้องอาศัย VMM ที่ดูแลการใช้ memory จาก quest หลายๆ ตัว ในเวลาเดียวกันได้ ส่วนนี้มีชื่อเรียกว่า Intel Extended Page Table (EPT) หรือ AMD Nested Page Table (NPT)

    Microkernal vs. Monolithic Hypervisor

    ส่วนนี้จะเกี่ยวข้องกับการออกแบบ Device Driver ที่มีอยู่ 2 แนวทางคือ Microkernal และ Monolithic ตามภาพด้านล่างคือ แบบแรก Monolithic ต้อง Driver ที่ออกแบบมาให้ใช้สำหรับ Virtualization ตัวอย่างคือ VMWare เมื่อผู้ใช้ติดตั้ง Hardware ใหม่ ก็ต้องหา Driver ที่รับรองว่าใช้งานกับ VMware ได้  สำหรับ Microsoft ได้เลือกแบบ Microkernal เมื่อผู้ใช้งานมี hardware ใหม่ติดตั้งใน Host ถ้าหากเป็นระบบ Windows แบบเดิมๆ ที่ไม่ใช่ virtualization ก็ลง Driver ไปที่ตัว OS แต่เมื่อเราติดตั้ง Hypervisor ลงไปแล้ว เมื่อมี Hardware ใหม่ ก็ใช้ Driver ตัวเดียวกับ OS ที่ลงบน Physical พูดง่ายๆ ก็คือ ผู้ใช้งาน Hyper-V เมื่อมี Hardware ใหม่ติดตั้ง ก็นำ Driver ของ Windows มาใช้ได้ ส่วนการทดสอบ compatability นั้นก็เป็นเรื่องปกติที่ ผู้พัฒนาเค้าไปทดสอบกับ Microsoft

    ข้อดีของ Microkernal

    1. ทำให้ Hypervisor มีขนาดเล็ก จึงเพิ่มประสิทธิภาพของ Hyper-V (Improve performance)
    2. มี Driver ให้เลือกมาก เพราะออกตาม OS

image

     

     

    Hypervisor Basic by BrianEhlert

    ประโยชน์ของ Virtualization

    1. Versioning

    2. ไม่ยึดติดกับ Hardware

    3. ดูแลง่าย

    4. ใช้ประโยชน์จาก Hardware ได้มากขึ้น

    5. ลดค่าใช้จ่าย

    6. ลดเวลาและส่งมอบงานได้รวดเร็ว

     

    รูปแบบการนำไปใช้งาน

    ในยุคแรกของการใช้ Virtualization สำหรับ Guest OS ที่เป็น Windows มักใช้สำหรับการพัฒนาโปรแกรม และการทดสอบระบบงาน เมื่อผู้ใช้งานมั่นใจและการพัฒนาของ Hypervisor ก้าวหน้ามากขึ้น Virtualization ก็ถูกนำไปใช้ในงาน Production และงาน Critical Tier-1 Application

    ขอแถมคำอธิบายแบบลูกทุ่งด้วยว่า VM ยังนำมาใช้งานบนคอมพิวเตอร์ส่วนบุคคล เช่น กรณ๊เราอยากมี Windows หลายๆ ตัวอยู่บนเครื่องเรา เช่น บางตัวทำงาน บางตัวเล่นเกมส์ เป็นต้น การนำมาใช้สำหรับมือใหม่ก็ขอติดตามจาก vm360degree ที่นี่

     

    Microsoft Hyper-V

    Microsoft ได้พัฒนา Hypervisor แบบ bare metal สำหรับ CPU x86 และ x64 ให้ชื่อว่า Hyper-V โดยเป็นส่วนหนึ่่งของ Windows Server 2008 64 bit อาจมีความสับสนว่าเวลาติดตั้ง Hyper-V ก็ต้องลง Windows Server ก่อน แล้วเป็น bare metal ได้ยังไง เพราะ bare metail ไม่ต้องลง OS นั้น คำตอบคือเป็น bare metal ได้ เนื่องเมื่อเราเปิดใช้งาน Hyper-V ตัว Windows จะเหมือนถูกยกให้ลอยขึ้น จับ Hypervisor ไปวางข้างใต้ แล้วขั้นตอนสุดท้ายก็แปลงร่าง Windows ที่ตัวนั้นเป็น Virtual Machine ตัวแรก ให้ชื่อว่า Root Partition

        Hyper-V เป็น Paravirtualization ตามที่กล่าวไปข้างต้น ในขั้นตอนการเตรียม Hardware จะต้องมี CPU ที่ Support virtualization ถ้าไม่มีก็ถือว่าขาดคุณสมบัติ ทำไม่ได้ การตรวจสอบ CPU ทำได้ทั้งตรวจสอบจาก web site ของ Intel (กด ที่นี่) หรือ AMD (กด ที่นี่) หาดูว่า Virtualization Technology ที่เป็น Yes หรืออาจ download tools ไปตรวจได้จา ที่นี่ (ในข้อ 2.1Hyper-V Architecture)

      จากรูปที่ 2 แสดงให้เห็นว่าใน Hyper-V Server จะมี Hypervisor มาวางขวางระหว่าง Hardware กับ OS ใน virtualization เราสามารถสร้าง VM หลายๆ ตัว บน Hardware เดียวกันได้ เราเรียกการแบ่ง VM เป็นคำว่า Partition มี 2 แบบคือ Root กับ Child แต่ละ Partition จะทำงานแยกจากกัน

        Root Partition คือ partition แรก ที่ Microsoft สร้างบนเครื่องของเรา ตอนเปิดใช้งาน Hyper-V (รูปที่ 2 ซ้ายมือ) มีสิทธิพิเศษเหนือกว่าใครเพราะเป็นพี่ใหญ่สุด มันมีสิทธิใช้งาน Hardware ต่างๆ ได้ การสร้าง VM ก็ทำโดย Root โดยเรียกผ่าน API บน Hypervisor ที่เรียกว่า Hypercalls

    อยากให้จำตรงนี้ให้ดีว่า ถ้าเราลง Hyper-V ไปแล้ว Windows ที่เราใช้งานบนเครื่องนั้น เป็น virtual machine ตัวหนึ่งที่เรียกว่า root แต่มันเจ๋งกว่าใคร เพราะเห็น hardware จริงๆ ได้ เครื่อง VM อื่นๆ ที่เราสร้างมาภายหลังไม่มีสิทธิเห็น ตัวยอย่างชัดๆ ได้แก่ ถ้าเสียบ Thumb Drive ตัว Root จะเห็นคนเดียว พวก VM อื่นๆ จะมองไม่เห็น เป็นต้น

    image

    รูปที่ 2 – Hyper-V Architecture (ภาพจาก MSDN)

    CPU/Processor และ Memory, เครื่อง VM จะไม่มีสิทธิใช้สั่ง CPU และ Memory ได้ ที่มันเห็นจะเห็น virtual processor และ virtual memory address region ที่ถูกจัดสรรเป็นส่วนตัวสำหรับแต่ละ Partition เมื่อ VM จะใช้ CPU มันจะทำผ่าน Hypervisor ด้วยวิธีการ redirect คือ VM ผ่าน Hypervisor ไปยัง CPU และขากลับ Hypervisor กับรับงานมาจาก CPU และส่งกลับไปให้ VM ซึ่งในส่วนของ Memory ก็มีลักษณธใกล้เคียงกัน คือทำการ Remap physical memory address ให้ VM


    VMBus และ Virtual Device

      Root Partition ทำหน้าที่เป็นตัวกลางในการติดต่อกับ I/O Devices พวก Driver ต่างๆ ก็ถูกติดตั้งบน Root Partition (ย้ำ!! Driver ไม่ได้อยู่ใน Hypervisor นะ) เมื่อ Child Partition ต้องการใช้งาน I/O ต่างๆ ก็จะผ่านช่องทาง high-speed interconnect ที่เรียกว่า VMBus ตัวที่รับงานใน Root Partition มีชื่อเรียกว่า Virtualization Services Provider แล้วส่วนของ Child Partition ก็มีชื่อว่า Virtualization Service Consumers (VSCs) ตัว VSCs นี้มีหน้าที่ redirect การใช้งาน I/O ไปที่ Root นั่นเอง

    จากรูปที่ 3 ด้านล่างเป็นหน้าจอ Device Manager ด้านซ้ายเป็น Root Partition เราจะเห็น Driver ต่างเป็นอุปกรณ์ที่ต่อกับเครื่อง Server แต่ด้านขวาเป็น Child Partition จะเห็นว่า Driver ที่ต่อเป็น Virtual Device ชื่อจึงมีคำว่า Hyper-V ผสมอยู่ด้วย

    image image

    รูปที่ 3 Device Manager (ซ้ายเป็น Root Partition และขวาเป็น Child Partition)

    Emulated vs. Synthetic Device Driver และ Enlightment

    เนื่องจาก Hyper-V เน้นความแรงส์ พวก Driver ที่ทำไว้ใช้งานใน Child Partition ก็ถูกออกแบบให้แบ่งเบาภาระของ Hypervisor และต้อง support Guest OS (Guest OS หมายถึง OS ที่ติดตั้งที่ Child Partition หรือง่ายๆ ก็คือ Windows หรือ Linux)  เจ้าตัว Driver ได้ถูกแบ่งเป็น 2 แบบคือ

    1. Emulated device หรือเป็น device ยุคเก่าๆ ที่มีใช้ใน Virtualization ตั้งแต่ครั้งเป็น Microsoft Virtual Server 2005 พวก device แบบนี้มีข้อดีคือใช้ได้กับทุก Guest OS เพราะเป็นการทำงานในแบบเดิมคือ Guest เห็นข้อมูลใน BIOS แล้วคิดว่าตัวมันเองเป็น Physical computer การกำหนด device แบบนี้มักใช้ได้กุับ Guest OS ทุกตัว แต่มีข้อเสียคือประสิทธิภาพความเร็วสู้แบบที่ 2 ไม่ได้

    2. Synthetic driver ตัวนี้จะมีประสิทธิภาพดี แต่ต้องตรวจสอบก่อนว่า Guest OS ว่า Support Hyper-V หรือไม่ ถ้าเป็น Windows มัน Support มาตั้งแต่ Windows 2003 Service Pack 2 มาแล้ว จากรูปที่ 3 กรอบสีน้ำเงินกับสีเหลืองได้แสดงตัวอย่างของ Emulated กับ Sythetic ตามลำดับ

    ข้อควรรู้ เห็นไหมว่าในรูปที่ 3 เครือ่งขวามือมี Storage Device 2 อันคือ ที่ช่องสีเหลืองของ IDE/ATA/ATAPI controller  มี Intel® 82371AB/EB PCI Bus Master IDE Controller ส่วนอีกอันอยู่ในช่องสีน้ำเงิน คือ SCSI ใน Hyper-V IDE Controller จะถูกใช้ตั้งแต่ boot แต่ SCSI จะถูก load หลังจาก start guest OS ขึ้นมา นี่เป็นเหตูผลที่ ต้องมี IDE Disk สำหรับใช้ boot เครื่องเสมอ

    สำหรับการแนะนำ Server Virtualization ตอนที่ 1 มีพบเท่านี้  ตอนถัดไปเป็นเรื่อง ขั้นตอนการติดตั้ง Hyper-V ครับ

    Reference:

    1. What is Virtualization and Why Shoud You Care? (http://www.smallbusinesscomputing.com/testdrive/article.php/3819231/What-is-Virtualization-and-Why-Should-You-Care.htm)

    2. How computer work: A simple introduction from Explain that Stuff  (http://www.explainthatstuff.com/howcomputerswork.html)

    3. Hyper-V Server is Finally Here – But What Exactly Is It? (http://blogs.vmware.com/virtualreality/2008/10/hyper-v-server.html)

    4. Hyper-V versus Xen Comparison  (http://www.milesconsultingcorp.com/Hyper-V-versus-Xen-Comparison.aspx)

    5. Comparing Citrix XenServer™, Microsoft Hyper-V™ and VMware ESX™  (http://www.thinclientpricing.com/docs/Citrix_XenServer_HyperV_VMware.pdf)

    6. Hyper-V: Microkernelized or Monolithic  (http://blogs.technet.com/b/chenley/archive/2011/02/23/hyper-v-microkernelized-or-monolithic.aspx)

    7. Hypervisor : Monolithic Vs. Micro  (http://blogs.microsoft.co.il/blogs/idogold/archive/2009/01/08/hypervisor-monolithic-vs-micro.aspx)

    8. The difference between the Microsoft’s Hyper-V and the VMware’s ESX hypervisor  (http://4sysops.com/archives/the-difference-between-the-microsofts-hyper-v-and-the-vmwares-esx-hypervisor/)

    9.Hyper-V Terminology ( http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/02/25/hyper-v-terminology.aspx)

    10. Netherland Hyper-V Community (http://www.hyper-v.nu/)

    11.  Cloud Infrastructure Platforms และ Virtualization Types (http://www.microsoft.com/thailand/technet/cloud4.aspx)

    12. Hyper-V Terminology (http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/02/25/hyper-v-terminology.aspx)

    13. HYPER-V PARENT PARTITION, VSP, VSC AND VMBUS  (http://trycatch.be/blogs/roggenk/archive/2008/10/20/hyper-v-parent-partition-vsp-vsc-and-vmbus.aspx)

    Advertisement

    Security Update MS12-020 สำหรับผู้ใช้งาน Remote Desktop

    Microsoft ได้พบปัญหาด้านความปลอดภัยของ Remote Desktop Protocol หรือ function ที่เวลาเรามีเครื่องอยู่บน Network แล้วตัวเราใช้งานเครื่องอื่นอยู่ แล้วอยากจะ remote ใช้งานเครื่องนี้ด้วย  ตัว Remote Desktop จะมีฝั่งตัวที่ทำหน้าที่เป็น Server กับตัวที่เป็น Client ปัญหาที่พบนี้คือตัวที่ทำหน้าที่เป็น Server วิธีตรวจสอบว่าเราเป็น Server หรือไม่แบบง่ายก็ใช้คำสั่ง netstat -an ตามตัวอย่างในรูปที่ 1

    Microsoft ได้ออก Security Update มาแก้เรื่องนี้คือ MS02-012 (Version 1.0  13-Mar-2012) โดยออกคำแนะนำให้ติดตั้งลงบน Windows ทุกเครื่อง (แม้ว่าไม่ได้ enable RDP ก็ตาม)  ใน Update นี้ มี 2 ไฟล์ (KB2621440 และ KB2667402 )ให้ดูจากผลกระทบ ถ้ากระทบตัวไหนก็ลงให้ครบถ้วน รายละเอียดของ Security Update แต่ละตัวมีดังนี้

    1. KB2621440 Remote Desktop Protocol Vulnerability – CVE-2012-0002 (Rating: Critical)

    ปัญหาเรื่องนี้เป็น   Remote Code Execution เกิดขึ้นเมื่อ RDP เรียกใช้ object ใน memory โดยไม่ได้ initial หรือล้างข้อมูลเดิมทิ้ง ผลที่ตามมาคือ ถ้าโดนผู้ไม่หวังดี/ Attacker โจมตีแล้วสำเร็จก็สามารถติดตั้งโปรแกรม, ดู/แก้ไขข้อมูล, สร้าง Account ผู้ใช้งานบนเครื่อง เป็นต้น

    2. KB2667402 Terminal Server Denial of Service Vulnerability – CVE-2012-0152 (Rating: Not Applicable, Moderate, Important)

    เป็นปัญหาที่ RDP ประมวลผล Packet ที่รับมากจาก Attacker แล้วมีผลทำให้ RDP หยุดทำงาน (ใช้งานไม่ได้)

    Download: http://www.microsoft.com/downloads/en/results.aspx?freetext=security+update+ms12-020

    วิธีวัดความเร่งรีบ

    เมื่อ Microsoft แนะนำขนาดนี้ก็ควรลงอยู่ที่ว่าเร็วหรือช้า มีเวลาทดสอบกันก่อนไหม เราลองประเมินว่าเราควรรีบแค่ไหนดังนี้

    1. ตรวจสอบระบบของเราว่ามี RDP เปิดไว้หรือไม่ วิธีตรวจสอบคือ ใช้คำสั่ง netstat –an ตามรูปที่่ 1 หาเรามี TCP 3389 ก็เข้าข่ายรีบ

    2. เรามีอปุกรณ์ Firewall หรือ Windows Firewall ป้องกันไหม ถ้าไม่มีก็เข้าข่ายรีบ

    3. เครื่องของเราต่อกับ Internet ตรงๆ ไหม ถ้าต่อตรงก็รีบ

    image

    รูปที่ 1 – ใช้คำสั่ง netstat –an ตรวจหา TCP 3389

    สุดท้าย  ขอแนะนำให้ลง MS12-020 และปลอดภัยกันทุกท่านครับ

    Reference:

    1. http://technet.microsoft.com/en-us/security/bulletin/ms12-020

    เครื่องมือ 10 ตัว ที่ผู้คิดจะใช้ Hyper-V ควรรู้จัก

    ได้พบบทความ Top 10 Microsoft Hyper-V tools to consider จาก ที่นี่ (searchwindowsserver.techtarger.com) แต่ผมขอเรียกเป็นภาษาไทยว่า เครื่องมือ 10 ตัวที่ผู้คิดจะใช้ Hyper-V ควรรู้จัก เพราะถ้าเรารู้จักเครื่องมือเหล่านี้ก่อนทำ Hyper-V อาจได้ประโยชน์มากกว่า ก็ลองอ่านต้นฉบับจาก link ผมขอทบทวนอีกครั้งตามลำดับต่อไปนี้

    1. HVRemote เป็น script ที่ใช้ set hyper-v host ให้ยอมรับ การ admin ผ่าน remote เข้ามาจากเครื่องอื่น

    http://itknowledgeexchange.techtarget.com/network-administrator/hyper-v-remote-management-configuration-utility/

    1.1 ผมขอเสนอตัวนี้แทนข้อ 2 คือ CoreConfig เพราะเป็น GUI ที่รวมคำสั่งบน Windows Server Core ที่จำเป็นไว้ ใช้งานสะดวกมาก  http://coreconfig.codeplex.com/ 

    2. Hardware-Assisted Virtualization Tool จาก Microsoft ใช้ประเมิน hardware ของเราว่าจะใช้ทำ Hyper-V Host ได้ไหม http://www.microsoft.com/download/en/details.aspx?id=592

    2.1 ผมขอแนะนำเครื่องมือจาก Intel และ AMD แทน http://www.ditii.com/2008/06/23/will-my-computer-run-hyper-v-detecting-intel-vt-and-amd-v/

    3.  RAMMap and VMMap เป็นเครื่องมือใช้ Monitor RAM อันนี้ยังไม่เข้าใจว่ายังไงกับ Hyper-V ท่านใดใช้เป็นลอง Comment มาเล่าให้ฟังบ้าง

    http://blogs.technet.com/b/sysinternals/archive/2011/05/18/updates-vmmap-v3-1-rammap-v1-11-handle-v3-46-process-explorer-v14-12-and-mark-s-blog-analyzing-a-stuxnet-infection-with-the-sysinternals-tools-part-3.aspx

    4. MAP Tools Kits ตัวนี้ใช้เก็บข้อมูลสำหรับการ Migrate  จาก Physical ไประบบ Hyper-V และอื่นๆอีกมากมาย

    http://searchwindowsserver.techtarget.com/tip/How-MAP-Toolkit-65-can-put-you-on-the-right-migration-path

    5. IOMeter ตัวนี้ใช้จัดการ Throughput ของ Storage

    http://searchwindowsserver.techtarget.com/tip/Tuning-iSCSI-SANs-with-Iometer/

    6. P2V Migration เป็นเครื่องมือ Convert physical 2 virtual

    http://www.microsoft.com/download/en/details.aspx?id=3896

    6.1 แนะนำ Disk2vhd จาก SysInternal

    http://technet.microsoft.com/en-us/sysinternals/ee656415

    7.VMC to Hyper-V  เครื่องมือ Migrate จาก Virtual Server ไป Hyper-V

    http://blogs.technet.com/b/matthts/archive/2008/09/12/vmc-to-hyper-v-import-tool-available.aspx

    8. vtCommander จาก 5nine ผมเคยเรื่องเกี่ยวกับ 5nine ไปแล้วทีนี่

    9. VMDK to VHD Converter ก็คงตามชื่อ ถ้าจะย้ายจาก VMware ไป Hyper-V ในต้นฉบับไม่ระบุไว้ ก็ขอแนะนำอันนี้

    http://www.sertec.ca/howtos/Howto-Convert-VMDK-to-VHD-Partition-types.html

    10. Virtual Machine Servicing Tool – เครื่องมือลง Hotfix จาก WSUS สำหรับเครื่อง VM ที่ปิดอยู่

    http://searchwinit.techtarget.com/news/1340068/New-tool-for-managing-offline-virtual-machines

    สุดท้ายขอบอกว่าก็ต้องลองใช้กันดู แล้วอย่าลืมมาเล่าให้ฟังว่าเป็นอย่างไรบ้างนะครับ

    Hyper-V 3 Component Architecture Poster – Enlarge version

    Microsoft has created very informative poster of Hyper-V 3. It can get from here. For those of you who has problem of eye sight (like me). I enlarge as much as possible except some original picture that is too large to put in normal web page size. Yet, you can read from original .pdf as the above link. Enjoy reading!!

    clip_image002

    clip_image003

    clip_image004

    clip_image005

    clip_image006

    clip_image007

    clip_image009

    clip_image010

    clip_image011

    clip_image012

    clip_image014

    clip_image016

    clip_image017

    clip_image019

    clip_image020

    clip_image022

    clip_image023

    clip_image024

    D3 - Hyper-V Virtual Machine Mobility - Live Migration with SMB Shared Storage

    clip_image027

    clip_image028

    clip_image030

    clip_image031

    clip_image033

    clip_image035

    clip_image037

    clip_image038

    clip_image039

    clip_image040

    Windows 8 Installation from USB drive–สร้าง USB Drive สำหรับลง Windows 8

    คราวที่แล้วได้แนะนำวิธีทำ Windows To Go usb drive ที่นำไปประยุกต์ใชักับ Windows 8 Consumer Preview และ Windows 8 Server รุ่น Beta (https://vm360degree.com/2012/03/11/install_windows_8_on_usb/) คราวนี้มาแนะนำสร้าง USB drive ที่ใช้ติดตั้ง Windows 8 แบบง่ายๆ ตามวิธีด้านล่าง

    สิ่งที่ต้องเตรียม

    1. Download “Windows 7 USB/DVD Download Tool” จาก http://wudt.codeplex.com/

    2. Download Windows 8 ISO file

    – Vesion consumer (user): http://windows.microsoft.com/en-US/windows-8/iso

    – Version server: http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx?ocid=&wt.mc_id=TEC_108_1_33

    3. เตรียม USB drive เปล่าๆ ขนาดอย่างน้อย 4 GB จำนวน 1 อัน

    ลงมือทำกันเลย

    1. ติดตั้งเครื่องมือ Windows 7 USB/DVD Download Tool ที่เตรียมไว้ ส่วนนี้เป็นการติดตั้งเครื่องมือ เมื่อเสร็จก็กลับไปหน้าจอ desktop ไม่มีอะไรเกิดขึ้น

    image

    2. กด start จะเห็น Windows 7 USB DVD Download ให้เลือก ก็กด click ตรงน้้น

    image

    3. เมื่อเปิดมา step ที่ 1 ก็ให้ browse ไปที่ .iso ที่เรา download เตรียมไว้แล้ว

    image

    4. เลือก USB Drive ที่เราเตรียมไว้

    image

    5. ถ้าใน USB Drive เรามีข้อมูลอยู่มันก็จะเตือนว่าลบไหม ทางที่ดีก็ดูให้มั่นใจก่อนก็ได้ ถ้าไม่มีข้อมูลหรือมันลบได้ก็กด Erase USB Device ได้

    image  image

    6. Step ที่ 4 เป็นขั้นตอนการ Write ลง USB ใช้เวลาประมาณ 15 นาที

    image

    image

    image

    6. เมื่อเสร็จแล้วไปดูที่ USB Drive จะมีหน้าตาแบบนี้

    image

    หลังจากนี้เราก็นำ USB Drive ไปลงที่เครื่องอื่นได้แล้ว

    ข้อพึงระวัง

    1. การไปลงบนเครื่องอื่น ควร backup ข้อมูลบนเครื่องนั้นไว้ก่อน หากมีข้อมูลสำคัญมันจะหายแบบไม่มีวันกลับ

    2. ตรวจสอบว่า BIOS ของเครื่องนั้นกำหนดให้ boot จาก USB ในลำดับก่อน hard disk

    ขอให้สนุกกับการทดลอง Windows 8 ครับ

    สำรวจ x86 Server Virtualization Capability Limitation

    ผมศึกษาเรื่องการเปรียบเทียบ Virtualization ด้านที่เป็น commercial (ไม่รวม opensource เช่น KVM) เห็นการกำหนดค่าต่างๆ ไว้มากมาย จึงสงสัยว่าคนไทยด้วยกัน มีใครพบปัญหาข้อจำกัดด้านเทคนิคบ้างไหมครับ เช่น  maximum v-cpu ไว้ที่ 32 (Hyper-V 3 vs. vSphere 5.0) เป็นต้น

    ส่วนตัวยังไม่พบปัญหาด้านข้อจำกัดแบบจริงจัง มันก็มีบางเรื่องที่เคยคิด เช่น ทำไม vm ไม่ยอมให้ใช้ USB แต่ก็ตอบตัวเองได้ว่า ถ้าใช้ได้มันก็ไม่เป็น mobility แล้วก็ขัดแย้งกับความสามารถในตัว hypervisor จึงไม่เปิดให้ใช้ USB เป็นต้น จึงอยากทราบว่าท่านใดมีประสบการณ์ในเรื่องข้อจำกัดที่เป็นอุปสรรคบ้าง

    อยากให้ช่วยแสดงความคิดเห็นใน Comment ด้านล่างครับ

    Reference

    1. http://www.vkernel.com/reader/items/hyper-v-3-0-closing-the-gap-with-vsphere

    Windows 8 Keyboard Shortcut

    ใน Windows 8 ที่มีการปรับเปลี่ยน User Interface ทำให้ผู้ไม่คุ้นเคยทำงานไม่สะดวก ได้มีผู้สรุป Shortcut  ขึ้นมา ศึกษาได้จาก link ด้านล่าง  แต่สังเกตให้ดีเค้ามี Tip สำหรับ Mouse ต่อไปนี้

    1. Windows 8 Consumer Preview – Ultimate Shortcuts Guide โดย Derick Campbell

    http://docs.com/IOLP

    2. Windows 8 Top: Windows Key Shortcuts จาก Winsupersite

    http://www.winsupersite.com/article/windows8/windows-8-tip-windows-key-shortcuts-140626

    3. Windows 8 Tip: Using a Mouse จาก Winsupersite

    http://www.winsupersite.com/article/windows8/windows-8-tip-mouse-140635

    4. Windows Key แบบจัดเต็ม ของ www.eightforums.com

    http://www.eightforums.com/attachments/f1/f2/4217d1331345388-windows-eight-keyboard-shortcuts-windows-8-consumer-preview-keyboard-shortcuts.docx

    Windows To Go หรือติดตั้ง Windows 8 Consumer Prview ลงบน Flash USB Drive กันเถอะ

    Windows To Go คือความสามารถของ Windows 8 ที่ boot และใช้งานจาก flash drive พูดง่ายๆ เราใช้ PC ได้โดยไม่ต้องมี hard disk ถือแค่ flash drive ไปอย่างเดียวก็ใช้งานได้เลย  ซึ่งหลังจากที่ Microsoft ได้ออก Windows 8 Consumer Preview มาให้ทดสอบ ด้วยความตื่นเต้นเรื่อง Hyper-V 3 และทราบว่ามันลงบน flash drive ได้แบบนี้ ด้วยความตื่นเต้น ลงทุนไปซื้ออุปกรณ์มาทำ จึงขอเล่าวิธีทำตามนี้เลย

    ขั้นตอน A. เตรียมอุปกรณ์สำคัญ

    (Link ทั้งหมดอยู่ด้านล่าง)

    1. download Windows 8 ISO file

    2. download Windows AIK

    3. download Oracle Virtualbox

    4. หา flash drive ที่มีขนาดอย่างน้อย 16 GB (แนะนำ 32GB ผมซื้อมาราคา 930 บาท Kington รุ่น DataTraveler )

    ขั้นตอน B. เตรียม Flash drive

    การเตรียม flash drive ใช้คำสั่ง diskpart.exe อันนี้ขอเตือนว่าหากไม่เคยมีประสบการณ์ใช้คำสั่งนี้ จะต้องระมัดระวังอย่างสูง เพราะถ้าใช้ผิดอาจทำให้ข้อมูลในเครื่องสูญหายได้  เราจะใช้คำสั่งตามลำดับดังนี้

    list disk แสดงรายการว่ามี drive ไหนที่เป็น usb ให้ดูที่ขนาดก็จะรู้ว่าอันไหนเป็น flash drive ตัวอย่าง
    image
    select disk 1 เพื่อเลือกทำงานกับ flash drive ของเรา
    detail disk เพื่อกันพลาด ใช้คำสั่งนี้ดูว่ามันเป็น removable disk และใช้ drive ที่เราต้องการ
    image
    clean เป็นการลบ partition ต่างๆ ออกจาก flash drive
    create partition primary สร้าง primary partition
    format fs=ntfs quick ก็ quick format แต่ทำจริงต้องรอนิดหน่อย
    active กำหนดให้ disk นี้ นำไปใช้ boot เครื่องได้ในอนาคต
    exit

    ขั้นตอน C. ติดตั้ง Windows 8 ลง flash drive ด้วย image file (install.wim)

    1. Microsoft ได้สร้าง tool สำหรับการ Deploy Windows ชื่อ Windows Automated Installation Kit (AIK) ในขั้นตอนนี้  AIK จะช่วยจัดการเรื่องการอ่าน disk image  จากไฟล์ install.wim ที่ถูกบรรจุอยู่ใน Windows 8 ISO file มาติดตั้งลง flash drive ให้เรา

    2. AIK นี้ต้องไป download เป็น .iso ไฟล์มาลง ส่วนที่เราจะใช้จริงๆ คือ c:\Program Files\Windows AIK\Tools แล้วเข้าไปใน x86 หรือ amd64 อีกที ถ้าเราเคยลงไว้เครื่องอื่น เวลาใช้งานให้ Copy folder ที่เก็บไฟล์ชื่อ imagex.exe มาใช้งานก็ได้ เราต้องการแค่ folder นี้ ดูจากภาพด้านล่าง เครื่องเป็น 64bit ก็ใช้ amd64

    3. ให้เรา copy file install.wim จาก Windows 8 .iso ใน folder ชื่อ \source มาไว้ใน folder เดียวกับ imagex.exe (อาจใช้วิธีอ่านตรงจาก .iso เลยก็ได้ แต่ผมสะดวกแบบนี้)

    image

    4. ใช้คำสั่ง imagex /apply เพื่ออ่านไฟล์ install.wim ไปติดตั้งบน flash drive ในเครื่องผม flash drive อยู่ที่ e: คำสั่งนี้ใช้เวลาหลายชั่วโมง การใช้คำสั่งนี้ใน Windows 7 ตอนเปิด command promt ให้ click ขวา เลือก run as administrator ด้วย

    imagex.exe /apply install.wim 1 e:\

    image

    ขั้นตอน D. ทำ flash drive ให้ boot ได้

    ถึงตรงนี้จวนเสร็จแล้ว แต่เป็นส่วนที่เหมือนวุ่นวายที่สุด เพราะเป็นการทำให้ flash drive ของเราใช้ boot เครื่องได้ เพราะขั้นตอน C เป็นเพียง copy file เท่านั้น การสร้าง boot disk ใช้คำสั่ง bcdboot ที่มีอยู่บนเครื่องอยู่แล้ว ผมไม่เก่งคำสั่งนี้แต่เห็นว่า parameter /f มันมากับ Windows 8 จึงต้องเอาไป run คำสั่งนี้บนเครื่องที่เป็น Windows 8 จริงๆ

    วิธีง่ายๆ ของการมี Windows 8 ที่จะ run bcdboot ของผมก็คือ ใช้ Oracle Virtual Box สร้าง VM แล้วติดตั้ง Windows 8 ลงไปก่อน สาเหตุสำคัญคือ VirtualBox รู้จัก guest Windows 8 และมองเห็น flash drive ที่อยู่บน host ได้ ถ้าไม่อยากใช้ virtualbox ก็ลง Windows 8 บน physical PC ไปเลย เมื่อมี Windows 8 ก็ใช้คำสั่งนี้ โดยเปลี่ยน e: เป็น drive letter ของ flash drive ที่ตรงกับบนเครื่อง

    bcdboot.exe e:\windows /s e: /f ALL

    ขั้นตอน E. กำหนดให้เครื่อง boot จาก USB/flash ได้

    เราต้องกำหนดลำดับการ boot ของเครื่องที่เราจะใช้ Windows 8 จาก USB โดยกำหนดใน BIOS ให้ boot จาก USB ก่อน boot จาก hard disk การใช้งาน Windows 8 บน USB ก็จะช้ากว่าลงบน disk แต่ก็เป็นทางเลือก เราใช้ flash drive นี้บนเครื่องต่างรุ่นกันก็ได้

    Reference

    1. Windows 7 AIK (http://www.microsoft.com/download/en/details.aspx?id=5753)

    2. Windows 8 Consumer Preview (http://windows.microsoft.com/en-US/windows-8/consumer-preview)

    2. Oracle VirtualBox (https://www.virtualbox.org/wiki/Downloads)