1. 程式人生 > >KVM建立虛擬機器,並製作成映象

KVM建立虛擬機器,並製作成映象

需求

 在命令列,利用kvm建立虛擬機器
 利用虛擬機器映象檔案,開出虛擬機器

步驟

1、最小化安裝作業系統

# cat /etc/issue
CentOS release 6.6 (Final) 

最小化安裝(安裝過程略)

2、安裝kvm

檢視宿主機的cpu是否支援KVM

  # grep -E -o '(vmx|svm)' --color=auto /proc/cpuinfo

vmx表示CPU支援Intel VT 技術,svm代表CPU支援AMD-v技術

安裝kvm虛擬機器

  # LANG=C yum -y groupinstall Virtualization

安裝完成後,檢視kvm模組是已經被載入

  # lsmod | grep kvm
    kvm_amd                40735  0 
    kvm                   337772  1 kvm_amd

安裝橋接工具並橋接網絡卡

# yum -y install bridge-utils tunctl
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0  ifcfg-eth0.bak
# cp ifcfg-eth0 ifcfg-br0

br0網絡卡配置

#cat ifcfg-br0

DEVICE=br0
HWADDR=B8:AC:6F:12:66:3C
TYPE=Ethernet
UUID=16036f05-47b0-46e7-9fc3-b7cafe2d7a14
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.10.233
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
TYPE=Bridge

eth0網絡卡配置

# cat ifcfg-eth0

DEVICE=eth0
HWADDR=B8:AC:6F:12:66:3C
TYPE=Ethernet
UUID=16036f05-47b0-46e7-9fc3-b7cafe2d7a14
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0

3、安裝libvirt虛擬化管理工具

# yum -y install virt-manager virt-viewer libvirt libvirt-python python-virtinst
# service libvirtd start    
# chkconfig libvirtd on
# virsh list
 Id    名稱                         狀態
----------------------------------------------------

4、安裝VNC

# yum -y install tigervnc-server
# vncserver    //設定vnc密碼

配置vnc

# echo 'VNCSERVERS="1:root"' >>  /etc/sysconfig/vncservers
# echo  'VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"'    >>     /etc/sysconfig/vncservers
# /etc/init.d/vncserver restart
# chkconfig vncserver on

5、安裝虛擬機器

建立磁碟檔案

# qemu-img create centos6.6.img 100G
# qemu-img info centos6.6.img       //預設為raw格式
 image: centos6.6.img
 file format: raw
 virtual size: 100G (107374182400 bytes)
 disk size: 0
 Formatting 'centos6.6.img', fmt=raw size=107374182400 

建立虛擬機器

#virt-install --name=centos6.6  --ram 4096  --vcpus=2 \
--disk path=/data0/centos6.6.img,size=100  \
--accelerate --cdrom /mnt/CentOS-6.6-x86_64-bin-DVD1.iso \
--graphics vnc,listen=192.168.10.233,port=5920  \
--network bridge=br0  --force  --autostart

檢視虛擬機器狀態

# virsh list
 Id    名稱                         狀態
----------------------------------------------------
 1     centos6.6                      running

檢視vnc連結埠,並通過vnc連線安裝作業系統

# virsh vncdisplay centos6.6
 192.168.10.233:20

配置作業系統

    sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    sed -i '/^UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    echo -n > /etc/udev/rules.d/70-persistent-net.rules
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules

    #上面四條命令是為了用此係統做映象,再建立虛擬機器的時候,可以獲得mac和IP。

轉換映象檔案格式

作業系統完成後,關閉虛擬機器

# virsh list --all
    Id    名稱                         狀態
----------------------------------------------------
 -     centos6.6                      關閉

轉換映象格式(將raw格式轉為為qcow2格式)

# qemu-img convert -O qcow2 centos6.6.img  centos6.6.qcow2

raw

# qemu-img info centos6.6.img 
image: centos6.6.img
file format: raw
virtual size: 100G (107374182400 bytes)
disk size: 3.1G

qcow2

# qemu-img info centos6.6.qcow2 
image: centos6.6.qcow2
file format: qcow2
virtual size: 100G (107374182400 bytes)
disk size: 1.6G
cluster_size: 65536

建立完,怎麼從qcow2檔案中建立虛擬機器呢,請看這裡
如何從映象檔案開出虛擬機器