Hyper-V Genernation 2 boot VM จาก Network และ SCSI ได้แล้ว

Hyper-V ใน Windows Server 2012 R2 เพิ่ม feature ใหม่ ให้ boot จาก Network และ SCSI ได้ โดยเครื่องต้องเป็น Generation 2  เรื่องของ Virtual Machine บน CPU Intel/AMD มีมานับ 10 ปี แล้ว ในปี 2013 Microsoft ได้ประกาศว่ามี Hyper-V Generation 2 ซึ่งขั้นตอนการสร้าง VM ด้วย New Virtual Machine Wizard จะต้องเลือกว่าเป็น Generation ไหน ตามภาพด้านล่าง

VMGen2

ความแตกต่างและการตัดสินใจเลือก Generation มีเหตุผลเพื่อตัดสินใจดังนี้

Generation 1
  • เกิดมาในช่วยปลายปี คศ 1990 บน harcware x86 การสร้าง virtual machine พยายามทำให้ OS เข้าใจว่าเป็น hardware จริง เพื่อให้ software ทำงานได้
  • Hypervisor ต้องสร้าง emulator ต่างๆ ที่จำลองว่าตัวเองเป็น hardware ที่ย้อนไป support อะไรเยอะแยะไปหมด บางทีถึงขั้นบอกว่าเป็น Network card 10 Mbps, Card ISA หรือเป็น CPU Pentium เป็นต้น ที่เราเรียกว่าเป็น Legacy
  • OS รุ่นเก่ายังไม่รองรับ Virtualization ยังต้องสร้างเป็น Gen 1
Generation 2
  • เครื่อง Virtual Machine ที่ใช้ Hyper-V เริ่มมาตั้งแต่ปี 2008 ได้ใช้เทคโนโลยีทีดีขึ้น เช่น VMBus ต่อ network card ทำให้การเรียกใช้ hardware มีประสิทธิภาพดีขั้น เพราะไม่ต้องเสียเวลาไปทำตัวเป็น emulator
  • Windows รุ่นใหม่ๆ ถูกออกแบบให้รู้จัก virtualization อยู่แล้ว
  • การสร้าง Gen 2 นั้นระบบ Virtual Machine จะไม่มี emulator แล้วก็หันไปใช้ UEFI device มันช่วยให้ Virtual Network สามารถ boot จาก virtual network adaptor หรือ SCSI controller ก็ได้ ไม่ต้องพึ่ง IDE controller ที่เป็น legacy ตัว UEFI มีระบบ secure boot
  • Support guest ที่เป็น Windows 8 64bit, Windows Server 2012 และ version ใหม่ๆ ที่ออกตามมา (version เก่า ใช้ไม่ได้)
  • จำง่ายๆ ว่าสิ่งที่ support ใน Gen 2 คือ

การสร้าง Gen 2 ให้ boot จาก network หรือ SCSI ได้ สำหรับ Hyper-V นับว่าเป็นข่าวดี ที่มาพร้อมกับ Windows Server 2012 เราลองมาทำความเข้าใจกับ UEFI ว่ามันคืออะไร และ Windows ใช้มัน boot เครื่องได้อย่างไร

Unified Extensible Firmware Interface (UEFI)

UEFI คือ การกำหนด software interface ของ OS กับ firmware ที่อยู่บน hardware โดย UEFI จะแทนที่ BIOS  โดย Intel เป็นผู้สร้าง UEFI ขึ้นมา  เริ่มแรกมันเป็น EFI มาก่อนในช่วงปี 1990 ใน Intel-HP Itanium เนื่องจากปัญหาเรื่องข้อจำกัดของ BIOS เช่น การเป็น 16 bit หรือความสามารถเรียกใช้ Memory ที่ 1 Megabyte เป็นต้น ต่อมาก็พัฒนามาเรื่อย ได้เปลี่ยนชื่อเป็น UEFI   ความสามารถของ UEFI ที่เหนือกว่า BIOS ได้แก่ การ Boot, ความเป็นอิสระเรื่อง CPU architecture, CPU Driver เป็นต้น

การ Boot เครื่องด้วย UEFI

ปกติเราจะคุ้นเคยกับการ boot ด้วย harddisk, usb และ CD ใน mainboard รุ่นใหม่ ถ้าเข้าไปดูใน BIOS เรื่อง Boot มันจะมี UEFI ให้เลือกได้ ซึ่งไม่ขอลงรายละเอียดส่วนของ BIOS แต่มันทำให้เราพอเห็นภาพได้ว่า UEFI ใช้ boot เครื่องได้

image

การ Config ให้เครื่อง Computer Boot จาก UEFI

ขอใช้ Youtube video ของ Windows 7 เพื่อทำความเข้าใจการ set BIOS และ Windows ให้ boot ด้วย UEFI

  1. ติดตั้ง Hard disk และมองเห็นผ่าน BIOS ตามปกติ
  2. กำหนด Boot Mode ใน BIOS ให้เครื่อง Boot ด้วย UEFI
  3. ตอน boot เลือก CD Windows เพื่่อลง OS
  4. การลง Windows ให้ลงใน hard disk ตามปกติ
  5. เมื่อ boot เครื่องอีกครั้ง BIOS จะส่งต่อการ boot ให้ UEFI ทำงาน

ลองดูตัวอย่างจาก Video ด้านล่าง เป็น Windows 7 เพื่อให้เข้าใจการใช้งาน UEFI

Booting และ Secure Boot

UEFI ได้กำหนด boot manager ที่ดูแลเรื่องการ boot และ load driver ต่างๆ ใน UEFI version 2.2 มีการใช้ certificate มาช่วย secure เรื่องการ boot

สรุป

Windows Server 2012R2 Hyper-V สร้าง VM Generation 2 บนพื้นฐานว่า Windows รุ่นใหม่รู้จักระบบ Virtualization อยู่แล้ว จึงตัดพวก Lagacy virtual hardware ออกไป การนำ UEFI มาใช้ทำให้เครื่อง Virtual Machine สามารถ boot จาก network และ SCSI ได้ ประโยชน์คือ ความสะดวกในการใช้งาน

Reference

1.Unified Extensible Firmware Interface

2.BIOS Learning 1: History & Intro of UEFI

3. Youtube Video – UEFI Installation of Windows 7

4. Youtube Video – Practical UEFI Secure Boot (Part 1 of 3)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s