Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

คุณอยากสร้าง Operating System Images แบบกำหนดเอง ที่พร้อมใช้งานเป็น VMware Images, Xen VMs, Live DVDs หรือบูทจาก USB Sticks ได้ไหม? อยากแปลงการติดตั้งจริง (Physical Installation) ให้กลายเป็น Deployable Image ได้ไหม? อยากทำทั้งหมดนี้ภายในไม่กี่ชั่วโมง โดยไม่ต้องยุ่งกับ Command Line แค่ทำตาม Visual Wizard ง่ายๆ? ถ้าคำตอบคือ "ใช่" ทั้งหมด คุณกำลังอ่านบทความที่ถูกต้องแล้ว

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

บทนำ

มีหลายวิธีที่ทำได้ แต่งานไม่มีอะไรครบถ้วนและทรงพลังเท่า Kiwi

Kiwi เป็นหนึ่งในเครื่องมือที่ใช้โดย openSUSE Build Service แพลตฟอร์มพัฒนาการกระจายซอฟต์แวร์ครบวงจร ที่ช่วยให้คุณสร้างและเผยแพร่ซอฟต์แวร์สำหรับ openSUSE และ Distro Linux อื่นๆ Kiwi เน้นที่ openSUSE โดยเฉพาะ ช่วยให้คุณทำได้ดังนี้:

  • สร้าง Live CD/DVD Image แบบบูทได้ ของ openSUSE ที่มีเฉพาะแพ็กเกจที่คุณต้องการ
  • สร้าง USB Image แบบบูทได้
  • สร้าง Xen, VMware หรือ QEMU Virtual Images พร้อมไฟล์ Config
  • แปลง (Migrate) การติดตั้งของคุณเองให้กลายเป็น Deployable Image ทุกประเภท

เราเคยเห็นเทคนิคเหล่านี้บ้างแล้ว:

  • Remastersys - รันบน Debian-based distros แปลง Physical Installation เป็น Bootable .iso สำหรับ Backup หรือแจกเป็น Live CD/DVD
  • Remaster-on-the-fly ใน PCLinuxOS - ทำงานคล้าย Remastersys
  • QEMU - แปลง VMware .vmdk เป็น Amazon EC2 .ami images
  • การ Clone VMware Server และ ESXi VMs
  • VMware Converter - สร้าง Images หลากหลายรูปแบบ

แต่บางโซลูชันยังไม่ครบถ้วน เช่น Remastersys สร้างแค่ Images ไม่สร้าง VMs ตรงๆ ต้องทำงานเพิ่ม Amazon Conversion ใช้ Command Line มาก VMware Converter ใกล้เคียงคำตอบที่ต้องการ แต่ Kiwi ทำได้ทั้งหมดนี้—และมากกว่านั้น มาดูกันเลย!

ข้อกำหนดเบื้องต้น

สิ่งที่ต้องทำก่อนใช้ Kiwi คือต้องมี openSUSE ติดตั้งอยู่ เวอร์ชัน 10 ขึ้นไป ผมเคยเขียนบทความติดตั้งและ Config openSUSE ไว้สองบทความ:

  • Installing SUSE Linux - บทความเก่า ครอบ openSUSE 10.1 เน้น Concepts พื้นฐาน KDE Desktop Security และ Config อื่นๆ
  • openSUSE 11 - Review & Tutorial - บทความครบถ้วนกว่า ครอบ Live CD Experience, Wireless, Compiz, Multimedia Codecs, Additional Repositories, Graphic Drivers (รวม ATI), Games และอื่นๆ

ขอแนะนำให้อ่านสองบทความนี้ก่อน จะช่วยให้เริ่มต้นกับ openSUSE ได้ง่ายขึ้น ติดตั้งเสร็จแล้วค่อยมาทำ Kiwi

ติดตั้ง Kiwi

ขั้นแรก ติดตั้ง Kiwi ผ่าน YaST มี Package Kiwi เยอะมาก เราต้องการทั้งหมด

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

แต่นี่ erst ส่วนหนึ่ง ต้องติดตั้งอีก Utility หนึ่งชื่อ Product Creator (product-creator) ซึ่งประกอบด้วยสอง Module:

  • Image Creator (โลโก้กีวี) - GUI Wizard สำหรับใช้ Kiwi สร้าง Images ตรงตามที่เราต้องการ
  • Product Creator - แปลง Installation ที่มีอยู่ให้กลายเป็น Distribution ใหม่ที่ติดตั้งได้

ในบทความนี้เราจะใช้แค่ Image Creator Product Creator จะแยกบทความหน้า ยังมี SUSE Studio อีกตัวแรง แต่เก็บไว้ภายหลัง ตอนนี้หา Image Creator ได้ที่ YaST > Miscellaneous

ใช้งาน Kiwi

ครั้งแรกที่เปิด Image Creator จะได้เมนู Config ว่างเปล่า

คลิก Add เพื่อสร้าง Config ใหม่

เตรียม Image

ตัดสินใจว่าจะทำอะไร ใช้ Config ที่มีอยู่ได้ แต่เรายังไม่มี เลือก Create from beginning

ต่อมาเลือก Image Type - สำคัญมาก เพราะกำหนด Output สุดท้าย

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

  • Live ISO Image - ยืดหยุ่นที่สุด ติดตั้งได้ทุกที่
  • Xen Image - ใช้กับ Xen Virtualization (Novell รองรับ رسمي มาพร้อม Distro) เข้าถึงได้ที่ YaST > Virtualization
  • USB Stick Image - สำหรับ USB Devices
  • Virtual Disk Image - ครอบหลาย Format รวม .raw และ .vmdk สำหรับ QEMU และ VMware ตามลำดับ ใส่ใจว่า Output จะมีหลาย Images ไม่ใช่แค่ไฟล์เดียว ขนาดจึงใหญ่กว่าที่จองไว้

ขนาดพื้นที่ทำให้เราต้องตั้ง Output Directory ให้แน่ใจว่ามี Free Space พอ เช่น วางแผน 2GB Virtual Disk ผลลัพธ์จะใหญ่ขึ้นอย่างน้อย 250% หาก Output อยู่ Partition เดียวกับ Root อาจทำให้ระบบเต็ม Default คือ /tmp

ส่วน Package Repository คือรายการ Repositories ที่จะดึงแพ็กเกจมา Build Image ยิ่งมากยิ่งมีตัวเลือกมาก ต้องแน่ใจว่า Repos ไม่เสียหายและ Sign ถูกต้อง

Virtual Disk Image

ขั้นต่อไป Config Image เอง - ประกอบด้วย 5 ย่อยขั้นตอน:

  1. เลือก Version และ Size ของ Image - วางแผนตามพื้นที่ที่มี
  2. เลือก Packages ที่จะรวมเข้าไป
  3. Description - ใช้สำหรับ Revision Control
  4. Valid Users - Default มี root (ไม่มี Password) และ Generic Linux User แก้ไข เพิ่ม ลบ ได้ตามใจ
  5. Image Building Scripts - Power Users ใส่ Custom Network/Service Config, Cleanup Scripts ได้ ไม่แน่ใจปล่อย Default ไว้
  6. System Config Directories - รวม Additional Scripts ได้ ไม่จำเป็นสำหรับ Build พื้นฐาน ไม่แน่ใจปล่อย Default

เสร็จแล้วคลิก Finish จะมีหน้ายืนยัน แล้วกระบวนการเริ่มต้น ใช้เวลาประมาณ 3 ชั่วโมงในกรณีของผม

ทดสอบ Image

ถึงเวลาทดสอบผลงาน หลังรันหลายชั่วโมง ก็คาดหวังว่าจะทำงานได้จริง มาดูกัน!

ตรวจสอบเนื้อหา...

สังเกตว่า Path ใน Screenshot ไม่ใช่ /tmp เพราะผมย้าย Images ไป Partition อื่น (/mnt) เพื่อ Performance เวลา Test - เทคนิคที่แนะนำตอนทำ Virtualization

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

มีไฟล์เยอะ รวม .raw และ .vmdk ขนาด 2GB+ และไฟล์เพิ่มเติม เช่น VMX, Boot vmlinuz, initrd ผลลัพธ์ใหญ่กว่าที่จองไว้มาก

เราสนใจ .vmdk ไฟล์ แต่ .raw ก็ใช้กับ QEMU ได้ และแปลงเป็น AMI สำหรับ Amazon EC2 ได้อีก

สร้าง Virtual Machine

ขั้นแรกสร้าง VM ใน VMware Server ตัวอย่าง

Start Virtual Machine

พร้อมแล้ว!

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

กำลังบูท...

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

และรันแล้ว!

Kiwi Imaging System: สร้าง Custom OS Images ได้เร็วด้วย Visual Wizard

สุดยอด! ภารกิจสำเร็จ

เรื่องอื่นๆ

Kiwi ยืดหยุ่นสูง อาศัย XML Config Files ทำให้สามารถ Script การสร้าง Images ได้โดยไม่ต้องใช้ Wizard ทุกครั้ง เหมาะสำหรับ Advanced Users ที่ต้องการ Control รายละเอียดและ Automation

Documentation อธิบายการสร้าง Images อื่นๆ เช่น PXE Thin Installs, OEM Preload Systems พร้อม Examples

จะขยายเรื่องใน Tutorial ต่อไป

สรุป

บทความนี้เพิ่งแสสนสัมผัสพลังของ Kiwi และ Build Service แต่ไม่ thểปฏิเสธความเรียบง่าย สวยงาม อันทรงพลัง และยืดหยุ่นของ Kiwi Package

มันให้คุณสร้าง Custom Images หลากหลาย ทดสอบและ Deploy ใน Scenario หลากหลาย โดยไม่ต้องยุ่งกับ Command Line ที่มักมากับงานแบบนี้ (แม้ Kiwi รองรับ Automation ผ่าน XML)

Kiwi ทำได้ทั้งหมดด้วยเมนูที่เข้าใจง่าย ไม่ต้องเป็น System Expert ก็ได้ Images มาใช้ใน Xen, VMware Server หรือ Deploy ไป Amazon Cloud ศักยภาพน่าทึ่งมาก

ถ้ายังไม่คิดจะใช้ openSUSE เป็น Desktop หลัก ขอแนะนำให้คิดใหม่ หากความต้องการล้ำไปสู่ Virtualization Kiwi น่าจะเป็น Platform แบบ Business-like ที่ครบถ้วนที่สุดสำหรับ Quick, Massive Deployments และ Testing Images ในบทความต่อไปจะพูดถึง Product Creator และ SUSE Studio ติดตามกันต่อ!

Cheers.