2012年11月20日 星期二

Linux核心虛擬系統

 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 & 
 
-----------------------------------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 



沒有留言:

張貼留言