KVM:Kernel-based Virtual Machine
關於KVM相關資訊:http://www-03.ibm.com/systems/virtualization/infrastructure/open/index.html
完全虛擬化(Full virtualization) 例如:VMware、VirtualBox。
半虛擬化(Paravirtualization)此虛擬化會去改元系統的Kernel,此技術是XEN創造。
寄居架構(Hosted Architecture)
裸機架構(Bare-Metal)系統裝完就內建虛擬技術,KVM、VMware ESX
Nested VM巢狀系統
查看是否有支援VT-x ※有些硬體support but BIOS沒開
$sudo kvm-ok
探索核心模組
$modprobe -l |grep kvm 探索核心模組
kvm主要是負責虛擬CPU、Memory
quem負責周邊hard disk、N
$sudo apt-get install qemu-kvm
啟動虛擬機
$kvm -m 128 -cdrom ISO/tsc32.iso -boot d
-m 記憶體128M
cdrom掛到/ISO/底下
這裡採用的Linux為Tiny core的Live CD版本此作業系統特色是檔案極小,大約是10MB
出現以下畫面就代表虛擬機啟動成功but 沒live cd版本
底下將建置有HardDisk的虛擬機
Step1(終端機執行)
先產生一個資料夾並產生虛擬硬碟檔
產生虛擬硬碟檔
$ kvm-img create -f raw vmdisk/tsc32.img 20m

啟動 Tiny Server Core 虛擬電腦
$kvm -m 128 -cdrom ISO/tsc32.iso -hda vmdisk/tsc32.img -boot d &
-m ─ memory
-cdrom ─ cdrom掛載的位置
-hda ─ Hard Disk掛載的位置
-boot d ─ 先從硬碟開始讀
& ─ 啟動後在背後執行
Step2(QEMU視窗內執行)
建立分割區並格式化ext4檔
$sudo fdisk /dev/sda
底下是進入硬碟分隔模式的指令
---
|--n 新增一個分割區
|
|--p (primary)建立主要分割區)
|
|--1
|
|--1
|
|--1
|
|--w 確定寫入
$sudo mkfs.ext4 /dev/sda1
重開機
$sudo reboot
底下用Shell Script語法寫一個檔案,使其可以快速地開啟多部虛擬機
$sudo nano myring.sh
----------------------------------------myring.sh---------------------------------------------------
#!/bin/bash
[ ! -f vmdisk/myring01.img ] && cp vmdisk/tsc32.img vmdisk/myring01.img
#-f=find 中括號裡判斷file是否存在 不存在時執行後面的指令
kvm -m 64 -hda vmdisk/myring01.img -cdrom ISO/tsc32.iso -boot d &
[ ! -f vmdisk/myring02.img ] && cp vmdisk/tsc32.img vmdisk/myring02.img
kvm -m 64 -hda vmdisk/myring02.img -cdrom ISO/tsc32.iso -boot d &
[ ! -f vmdisk/myring03.img ] && cp vmdisk/tsc32.img vmdisk/myring03.img
kvm -m 64 -hda vmdisk/myring03.img -cdrom ISO/tsc32.iso -boot d &
-----------------------------------------------------------------------------------------------------------