Archive

Archive for September, 2009

VMware ESXi Internet Mechanisms

September 16, 2009 Leave a comment

tech_network_med_01

ปกติแล้วการเชื่อมต่ออุปกรณ์และเครื่องคอมพิวเตอร์ต่างๆเข้าด้วยกันนั้นจะอาศัย Switch (Physical Switch) และบน Switch ก็จะมี Port (Physical Port) ที่จะรอรับสายแลนจาก Network Interface Card (Physical NIC) ที่ซึ่งอยู่บนอุปกรณ์ และคอมพิวเตอร์แต่ละตัว

จากโมเดลการทำงานนี้เอง VMware ESXi ก็จะจำลอง Network ขึ้นมาด้วยวิธีเดียวกัน โดยมีส่วนประกอบคือ

  • Virtual Switch ซึ่งใน ESXi จะเรียกว่า vSwitch เป็นตัวที่จำลองการทำงานของ Switch ขึ้นมา แล้วอยู่ภายใต้การดูแลการทำงานของ VMkernel
  • Virtual NIC ซึ่งใน ESXi จะเรียกว่า vNIC จะมีอยู่ในทุกเครื่องของ Virtual Machine และเชื่อมต่อกับ Virtual Switch โดยผ่าน Virtual Port
  • Virtual Port เป็นตัวเชื่อมต่อระหว่าง Virtual NIC ของแต่ละ Virtual Machine กับ Virtual Switch

Virtual Machine แต่ละเครื่องที่อยู่บน VMware ESXi จะใช้ Physical NIC เป็นทางเชื่อมกับโลกภายนอก ด้วยการใช้bridge โดยที่ใน Physical NIC นั้นจะไม่มี IP Address แต่ IP Address จะขึ้นกับ Virtual NIC ในแต่ละเครื่องของ Virtual Machine แทน    Physical NIC นั้นเพียงแต่ทำหน้าที่เป็นทางผ่านของข้อมูลระหว่าง Physical Switch ที่อยู่ภายนอก และ Virtual Switch ที่อยู่ภายใน คล้ายกับการ Uplink ระหว่าง Switch (ดังนั้น Port ที่ต่อระหว่าง Physical NIC กับ Virtual Switch จึงถูกเรียกว่า Uplink Port )

Virtual Switch ที่ถูกสร้างขึ้นบน VMware ESXi สามารถจำลองขึ้นมาได้มากที่สุดถึง 127 เครื่อง และ Virtual Switch แต่ละเครื่องที่ยังสามารถมี Virtual Port ได้ถึง 1016 พอร์ต แต่บน ESXi ทั้งหมดรวมกันนั้นจะต้องมีไม่เกิน 4096 พอร์ต

อ้างอิงจาก

http://www.compspot.net/index.php?option=com_content&task=view&id=366&Itemid=72

Categories: Virtualization Tags:

Software Architecture of VMwave ESXi

September 16, 2009 Leave a comment

esx_Architect

ส่วนประกอบของ VMware ESXi มีดังต่อไปนี้

VMkernel – อยู่ใน Layer ชั้นล่างสุดของระบบ มีหน้าที่และฟังก์ชันการทำงานคล้ายกับระบบปฎิบัติการ เช่น การสร้าง Process, การควบคุม Process, การส่ง Signal, การจัดการระบบ file system, การสร้าง Thread     ถูกออกแบบมาเพื่อให้สามารถรองรับการทำงานของ Virtual Machine หลายเครื่องพร้อมกันได้ ด้วยฟังก์ชันการทำงานต่อไปนี้

  • Resource scheduling
  • I/O stacks
  • Device driver

VMkernel จะคอบควบคุมการทำงานของ Hardware device บนเครื่อง Server และคอยควบคุมการจัดแบ่ง resource ต่างๆให้กับ Guest VM แต่ละตัว

Direct Console User Interface (DCUI) – เป็น interface ที่ใช้ในการ configure และจัดการตั้งค่าพื้นฐานต่างๆที่สำคัญของระบบในเครื่อง server สามารถติดต่อกับ DCUI ได้โดย console ของเครื่อง server เท่านั้นไม่สามารถทำกำหนดค่าผ่าน Network ได้ ตัว DCUI นั้นจะเป็นตัวกำหนดค่าต่างๆและคอยแก้ใขข้อผิดพลาดในระบบ เช่น

  • กำหนด administrative password
  • กำหนดค่า Network ต่างๆ ถ้าหากไม่สามารถกำหนดอัตโนมัติด้วย DHCP ได้
  • จัดเตรียมการทดสอบระบบ Network อย่างง่ายไว้ให้
  • ใช้สำหรับดู Log file
  • ใช้ Restart server
  • ใช้ Restore ค่า default ของระบบ

Virtual Machine Monitor (VMM) – เป็น process ที่จำลองพื้นที่และสภาพแวดล้อมการทำงานให้แต่ละ Guest OS โดยมี helper process ชื่อ VMX เป็นของ guest OS แต่ละตัว ดังนั้นในแต่ละ Guest OS จะต้องมี VMM และ VMX คู่กันเสมอ

Common Information Model (CIM) – เป็น Interface ที่ใช้ในการจัดการในระดับ hardware กับเครื่อง guest OS ผ่าน remote application ซึ่งจะมีชุดของ API ที่เป็นตัวรองรับอยู่ CIM นั้นเป็น Open standard ในการแสดงและจัดการ resource และ hardware ของเครื่อง ซึ่ง CIM Framework มีส่วนประกอบคือ

  • CIM provider หรือเรียกว่า  CIM object manager เป็นส่วนที่จัดเตรียมการเข้าถึง device driver และ hardware บนเครื่อง ผู้ผลิต hardware นั้นสามารถเขียนตัว provider ที่จะใช้จัดการกับ hardware นั้นขึ้นมาเองได้  ESXi ได้สร้างมาตรฐาน CMPI ที่ยอมให้นักพัฒนาสามารถเขียน provider ตัวใหม่และสามารถนำมาต่อใช้งานได้ แต่จะต้องถูกรวมเข้าไปกับ system image เลย ไม่สามารถนำมาติดตั้งในขณะรันได้
  • CIM broker ทำหน้าที่คอบนำข้อมูลจากทุก CIM providers และแสดงสู่โลกภายนอก ผ่าน API มาตรฐาน เช่น WS-MAN

esx-arch1

Other User World Processes – process ที่ซึ่งถูกเรียกใช้โดย VMware เพื่อย้ายความสามารถในการควบคุมที่อยู่บนเครื่อง server ไปยัง user world

  • hostd เป็น process ที่จะเตรียม programmatic interface ให้กับ VMkernel และถูกใช้ด้วย VI Client ได้เหมือนกับ VI API    ซึ่ง hostd จะทำหน้าที่ยืนยันผู้ใช้แต่ละคน พร้อมกับเก็บสิทธิการเข้าถึง ว่าผู้ใช้คนนั้นสามารถจัดการอะไรบนระบบได้บ้าง
  • vpxa เป็น process ที่จะสามารถติดต่อไปยัง VirtualCenter และจะรันโปรแกรมพิเศษที่เรียกว่า vpxuser ที่จะเป็นตัวกลางระหว่าง hostd และ VirtualCenter
  • syslog เป็น daemon process ที่ทำงานบน user world เช่นกัน มีหน้าที่เก็บ log เมื่อเปิดให้ระบบเก็บ remote logging

Open Network Ports – มี Port จำนวนหนึ่งที่ถูกเปิดอยู่ตลอดเวลาบน ESXi ซึ่งเป็น Port ที่สำคัญในการทำงานได้แก่

  • 80 – เป็น server port  ที่จะแสดง static webpage  เพื่อใช้สำหรับการ browse มาที่ server และ port นี้จะถูก redirect ไปยัง port 443 เพื่อให้ client ติดต่อกับ server ผ่าน SSL
  • 443 – port นี้มีไว้สำหรับ client ติดต่อกับ server ผ่าน SSL เพื่อเรียกใช้ service ต่างๆ ได้แก่ VMware Virtual Infrastructure API(VI API)ที่ซึ่งสามารถเข้าใช้งาน RCLIs, VI client, Virtual center server และ SDK
  • 427 – port นี้มีไว้เพื่อเข้าใช้งาน service location  protocol ซึ่งเป็น protocol ที่ใช้ค้นหา VI API
  • 5989 – port นี้เปิดไว้สำหรับ CIM server ที่จะเป็น interface สำหรับ toolที่ใช้ในการจัดการ
  • 902 – port นี้เปิดไว้สำหรับ support VIM API version ก่อนหน้า

File System – VMkernel จะเก็บข้อมูลของ configuration files, log files, staged patches ไว้เป็นแบบ file  ที่อยู่บน memory และเพื่อให้ง่ายต่อการใช้งาน โครงสร้างของ file system จึงออกแบบมาให้เหมือนกับที่ใช้บนเครื่อง server ของ ESX เช่น

  • /etc/vmware สำหรับเก็บ ESXi configuration files
  • /var/log/vmware สำหรับเก็บ log files
  • /tmp สำหรับเก็บ staged patches

ตัว file system นี้จะเป็นอิสระจาก VMware VMFS file system ที่เป็นตัวเก็บ Virtual Machine เนื่องจาก VMFS จะถูกเก็บลงบน Disk บน host หรือบน shared storage

สามารถใช้ remote command line เพื่อจัดการกับ file system ทั้งที่อยู่บน memory และ VMware VMFS file system ได้ โดยผ่านการใช้ HTTPS get และ put

นอกจากนี้ข้อมูลที่อยู่ใน file system บน memory นั้นจะไม่อยู่อย่างถาวร เมื่อเครื่องถูกปิด ข้อมูลทั้งหมดก็จะหายไป ดังนั้น ESXi จึงมีความสามารถที่จะสั่งงานให้เก็บข้อมูลของ log ลงบน Disk ได้ผ่านทาง remote syslog server

User and Groups – User และ Group ถูกกำหนดไว้บน  ESXi server ซึ่งแต่ละคนจะสามารถเข้าสู้ระบบได้ผ่านทาง remote command line หรือ VIM API

Group นั้นประกอบจาก User หลายคน เหมือนกับระบบปฏิบัติการทั่วไป จะใช้ Group เช่น ต้องการกำหนเสิทธิให้กับ User หลายๆคนพร้อมกันในครั้งเดียว

Administrative privileges สามารถกำหนด User แต่ละคนว่าจะอยู่ที่ Group ไหนได้ ข้อมูลของ User และ Group นั้น ถูกเก็บไว้ที่ /etc/passwd, /eyc.shadow และ /etc/group และเหมือนกับระบบปฏิบัติการ Linux และใช้ฟังก์ชันมาตรฐาน crypt ในการเข้ารหัส

User Worlds – คำว่า  User Worlds นั้นหมายถึง process ที่ทำงานอยู่บน VMkernel แต่สิ่งแวดล้อมของระบบที่ User World ทำงานด้วยนั้นมีจำกัดเมื่อเทียบกับระบบปฎิบัติการทั่วไปอย่าง Linux เช่น

  • จำนวนของ Signal ที่มีให้นั้นจำกัด
  • API ของระบบนั้นเป็นเพียง subset ของ POSIX
  • /proc file system นั้นจำกัดไว้มาก
  • Swap file มีเพียงตัวเดียวให้ใช้ร่วมกันระหว่างหลาย User world process

อ้างอิงจาก

http://www.vmware.com/files/pdf/vmware_esxi_architecture_wp.pdf

Categories: Virtualization Tags:

How to install Guest OS in VMware ESXi

September 16, 2009 Leave a comment

ในตัวอย่างต่อไปนี้จะเป็นขั้นการลง Microsoft Windows XP ให้เป็น Guest OS บนเครื่อง Server ที่ติดตั้ง VMware ESXi โดยผ่าน Client Application คือ vSphere client

1. ติดต่อเครื่อง Server ผ่าน vSphere client ตามขั้นตอนที่ได้กล่าวไปก่อนหน้านี้ เมื่อ Log in เรียบร้อยแล้ว จะได้หน้าจอดังภาพ ให้เลือกที่เมนู “Create a new virtual machine” เพื่อสร้าง Virtual Machine เครื่องใหม่ขึ้นมาบนระบบ

OS_Untitled-1

2. เลือก Configuration ให้เป็น Typical แล้วกด Next

OS_Untitled-2

3. ตั้งชื่อเครื่อง Virtual Machine ที่สร้างขึ้นใหม่แล้วกด Next (ซึ่งในที่นี้จะตั้งชื่อว่า WindowsXP)

OS_Untitled-3

4. ทำการเลือก Datastore ที่ต้องการ แล้วกด Next

OS_Untitled-4

5. เลือกชนิดและเวอร์ชันของ Guest OS ที่ต้องการจะลงบนเครื่อง Virtual Machine ที่ส้รางขั้นใหม่ แล้วกด Next (ในที่นี้เลือกเป็น Microsoft Windows XP Professional 32 bit)

OS_Untitled-5

6. ทำการสร้าง Disk จำลองขึ้นบน Virtual Machine ให้เลือกขนาดของ Disk โดยจะต้องไม่เกิน Available space

OS_Untitled-6

7. เมื่อกำหนดค่าต่างๆของเครื่อง Virtual Machine เสร็จแล้ว จะปรากฎหน้าจอดังภาพ ให้กดที่ Finish

OS_Untitled-7

8. เมื่อได้ Virtual Machine เครื่องใหม่แล้ว ให้ทำการกำหนดค่าของฮาร์ดแวร์ต่าง ด้วยการคลิ๊กขวาที่ Virtual Machine นั้นแล้วเลือก Properties เลือกในส่วนของ CD/DVD Drive1 ติ๊กที่ “Connect at power on” เลือก Device Type เป็นแบบ “Host Device” ซึ่งหมายถึงให้ใช้ฮาร์ดแวร์จากเครื่อง Server ให้ให้ติดต่อทันที่ที่เปิดใช้งาน Virtual Machine นี้ จากนั้นทำการใส่แผ่น install ของ Microsoft Windows XP เข้าไปที่เครื่อง Server

OS_Untitled-8

9. เมื่อใส่แผ่น install แล้ว ที่หน้าจอหลักให้เลือกที่เมนู “Power on the virtual machine”

OS_Untitled-9

10. คลิ๊กขวาที่เครื่องที่ทำการ install แล้วเลือกที่ Open console เพื่อเปิดหน้าต่างควบคุมการทำงาน

OS_Untitled-10

11. เมื่อเลือกแล้วจะขึ้นหน้าต่างการทำงานของเครื่อง Virtual Machine นั้น

OS_Untitled-11

12. ทำการติดตั้ง OS เหมือนกับที่ติดตั้งบนเครื่องปกติ ซึ่งภาพหน้าต่างด้านข้างแสดงถึง การติดตั้ง Microsoft Windows XP

OS_Untitled-12

13. เมื่อติดตั้งเสร็จก็พร้อมใช้งานได้เสมือนกับทำงานกับเครื่องจริง

OS_Untitled-13

Categories: Virtualization Tags:

How to install VMware ESXi

September 16, 2009 Leave a comment

1. ใส่แผ่น VMware ESXi ลงไปที่เครื่องแล้วเปิดเครื่องใหม่ จะปรากฏหน้าจอดังภาพ ให้เลือกที่ ESXi Installer

Untitled-1

2. VMware จะเริ่มทำการ load ให้รอสักครู่

Untitled-2

3. กด Enter เพื่อเลือกที่จะ Install

Untitled-3

4. กด F11 เพื่อยอมรับข้อตกลง

Untitled-4

5. ทำการเลือก Partition ที่ต้องการ install และกด Enter

Untitled-5

6. เลือก F11 เพื่อยืนยันการ install

Untitled-6

7. ระบบจะทำการ install ให้รอสักครู่

OS_Untitled-7

8. เมื่อ install เสร็จสิ้นจะปรากฏหน้าจอดังภาพ ให้นำแผ่นออก จากนั้นกด Enter เพื่อให้ระบบ Restart

OS_Untitled-8

9. เมื่อเปิดเครื่องขึ้นมาใหม่จะได้หน้าจอดังภาพ ให้กด F2 เพื่อทำการกำหนดค่าในระบบ

Untitled-9

10. เลือกที่ Configure Password แล้วกด Enter เพื่อทำการตั้ง Password ใหม่

Untitled-10

11. ใส่ Password ในช่อง Old Password และ New Password ตามที่ต้องการแล้วกด Enter

Untitled-11

12. จากนั้นเลือกที่ Configure Management Network จะได้หน้าจอดังภาพ ให้ทำการเลือก IP Configuration เพื่อกำหนดค่า IP ของเครื่อง server ใหม่

Untitled-12

13. เลือกที่ Set static IP address and Network Configuration และทำการเปลี่ยน IP ของเครื่อง server ในส่วนนี้ต้องระวังเรื่องของ subnet mark ด้วย เมื่อตั้งค่าเสร็จแล้วให้กด Enter

Untitled-13

14 . เข้าไปที่ DNS Configuration แล้วทำการแก้ในส่วน Primary DNS Server ให้ตรงกับที่ตั้งค่าไว้ก่อนหน้านี้ และทำการเปลี่ยน hostname ตามที่ต้องการ จากนั้นกด Enter เพื่อตกลง

Untitled-14

15. กด Esc เพื่อออกจากการ configuration ระบบจะถามว่าต้องการ restart management network หรือไม่ให้กด Y เพื่อตอบตกลง

Untitled-15

16. ไปที่เครื่อง Client ที่จะเป็นเครื่องที่จะ remote เข้ามาเพื่อควบคุมการทำงานของเครื่อง server ให้เปิด web browser ขึ้นมาจากนั้นเข้าไปที่ https:// ตามด้วย static IP ของเครื่อง server  ตามที่ได้ตั้งไว้ จะปรากฎหน้าเว็บไซต์ดังภาพ ให้ทำการดาวน์โหลด vSphere Client จากลิงค์ที่ปรากฏบนเว็บ เพื่อในมาลงที่เครื่อง Client

Untitled-16

17. ทำการ Install vSphere client

Untitled-17

18. เมื่อ Install เสร็จแล้ว ให้เปิดโปรแกรม vSphere client จากนั้นให้ใส่ IP ของเครื่อง server แล้วใส่ Username เป็น root ตามด้วยใส่ Password ที่ตั้งไว้ก่อนหน้านี้

Untitled-18

19. เมื่อติดต่อกับเครื่อง server ได้แล้ว โปรแกรม vSphere client จะปรากฏหน้าจอดังภาพ

Untitled-19

Categories: Virtualization Tags: