ถ้าคุณชอบทดสอบ Software ใหม่ คุณคงใช้ Virtualization Product อยู่ บทความนี้จะแสดงวิธีเพิ่ม Productivity ตอนทำงานกับ Virtualization Software
คำว่า Virtualization ค่อนข้าง Generic อาจหมายถึง Emulation, Thin-layer Virtualization, Sandboxing, หรือ Full VM Suites วันนี้พูดถึง Full Virtualization
Full Virtualization Products: VMware Player, VMware Server, VirtualBox ให้ Desktop User ใส่ OS ทั้งหมดเป็น Guest Machines เพื่อ Study, Testing ข้อเสีย: ใหญ่ ใช้ Resources มาก (RAM, Disk Space) ผมจะแสดงวิธีใช้ Resources เหล่านี้เต็มที่ โดยไม่ Complex Changes
1. ทำ VM เร็วขึ้น: วางบน Hard Disk ที่ไม่ใช่ OS Disk
ถ้ามี Single Hard Disk VMs จะช้ากว่า เพราะ Disk ต้อง Access Real OS และ Guest OS พร้อมกัน วาง VMs บน HDD ที่ 2/3 จะเพิ่ม Performance มาก
2. แก้ Disk Space จำกัด: วาง VMs บน External Disks
VMs ใหญ่ 4-6GB+ หลายสิบ VMs กินพื้นที่มาก แม้ HDD ใหญ่และถูก ก็ง่ายที่จะเต็ม
External Hard Disks ใช้ได้หลายอย่างพร้อมกัน: 1) ว่าง Internal HDD ให้ Stuff อื่น 2) แก้ Performance Issue ข้อ 1 3) เพิ่ม Mobility - เอา VMs ไปไหนได้ (VMs คือ Files) 4) ลด Fragmentation และ Wear บน Internal Disks

External HDDs แก้ Scalability: ต้องการ Space เพิ่ม ใส่ External HDD ใหม่ ไม่ต้องเปิดเคส ผมดัดแปลง Internal Layout สลับ Upgrade Port Move ได้ง่าย ไม่รบกวน Productivity Setup
3. ใช้ Remote Connectivity แก้ Network Layout Complexity
VirtualBox และ VMware รองรับ Remote Connections รัน VMs บนเครื่องอื่นโดยไม่ต้อง Physical Access แค่ Network Connection (Wireless ก็ได้)
ผมสาธิตใน openSUSE 11 Article หน้า 5: รัน VMware Server บน openSUSE 11 Laptop T42 เรียก Windows/Linux Guest Machines บน Remote Windows/Linux Hosts ผ่าน Wireless


4. วาง VMs บน Partition แบบ NTFS
อาจดูแปลก แต่: Windows รองรับ Microsoft Formats เท่านั้น Linux, Mac, OS ขั้นสูง รองรับ Filesystems ทุกแบบ Bottleneck/Weakest Link คือ Windows เสมอ Mixed Environment: Linux ใช้ VMs บน NTFS ได้ แต Windows มอง VMs บน Linux Filesystems ไม่เห็น
วาง VMs บน NTFS Drives/Partitions = ใช้ได้ทุกที่ หลีกเลี่ยง FAT32 เพราะจำกัด File Size 4GB
5. แยก VMs เป็นไฟล์เล็กๆ เพื่อ Portability
VMs คือ Files แยกเป็น Segments เล็กๆ ทำให้ Portableง่ายขึ้น เช่น จำกัด Segments < 4.7GB = Backup ลง DVD ได้
6. Pre-allocate Disk Space ลด Fragmentation, Disk Access Times
Pre-allocate Disk Space อาจแพง ถ้า VMs ใหญ่ แต่ Dedicate HDD Section ให้ VM ทำให้ Virtual Hard Disk อยู่ใน Contiguous Segment ลด Future Fragmentation และ Disk Access Times
Pre-allocation ผลประโยชน์ทั้ง Host และ VMs ไม่ต้อง Sue กันพื้นที่ตอน VMs เปลี่ยนแปลง Dynamically ตามใช้งาน ปรับปรุง Performance

สรุป
Virtualization สนุก ทำให้สนุกและเร็วได้ แบ่ง Resources ข้าม Storage Devices ทั้งหมด: Secondary/Tertiary Internal HDDs, External HDDs (USB/Firewire), Remote Network Locations เพิ่ม Performance, Flexibility, Redundancy
โฟกัส Productivity โดยไม่กังวล Logistics ของ Infrastructure บทความต่อไป: Virtualization Security จนกว่าจะเจอ Happy Experimenting!
Cheers.