天天看點

KVM虛拟機的應用

                    KVM虛拟機的應用

簡介:本篇介紹KVM虛拟機的應用

一、KVM虛拟機網絡設定

1、NAT模式:KVM虛拟機網卡連接配接選擇NAT,那麼網關指向HOST主機的192.168.122.1它就可以直接通路外網;系統中預設以有一個NAT網絡;

2、路由模式

HOST主機充當路由器。GUEST主機網關指向HOST主機相連的網卡IP位址,可以把資料發送至外網,但是外網主機如果回應資料包,那麼那些外網主機必須有到達GUEST主機網絡的路由

3、隔離模式

連接配接在隔離模式交換機上的所有主機可以互相通信,但是無法通路到外界網絡

4、橋接模式

GUEST主機和HOST主機連接配接在相同的交換機上,隻要IP位址在同一網段,那麼GUEST主機和HOST主機所在網絡的所有主機都能直接通信

在啟動kvm之前使機器支援虛拟化,安裝虛拟化相關工具(yum groupinstall 虛拟化相關。。。)

我們用橋接模式把虛拟機與實體機進行連結:

[root@localhost network-scripts]# cp  ifcfg-eth0  ifcfg-br0

[root@localhost network-scripts]# cat  ifcfg-br0 

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

IPADDR=192.168.194.10

PREFIX=24

[root@localhost network-scripts]# cat  ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

BRIDGE=br0

二.虛拟機管理 

1)virsh指令

1、檢視虛拟機清單

#  virsh  list        //檢視活躍的虛拟機

#  virsh  list  --all    //檢視所有 

2、檢視virsh版本

#  virsh  version

3、啟動名稱為rhel6pxe的GUEST主機

#  virsh  start  rhel6pxe

4、強制關閉GUEST主機

#  virsh  destroy  rhel6pxe

5、導出GUEST主機的XML配置檔案

#  virsh  dumpxml  rhel6pxe  >  ~/rhel6pxe.xml

6、取消GUEST主機的定義

#  virsh  undefine  rhel6pxe

7、使用已經存在的xml檔案和磁盤檔案定義GUEST主機

#  virsh  define  ~/rhel6pxe.xml

8、設定GUEST主機在HOST主機啟動時,也會自動啟動

#  virsh  autostart  rhel6pxe

2)虛拟機克隆 

介紹2種方式克隆虛拟機

1)使用LVM方式管理虛拟主機磁盤

1、建立LV

(1)#  fdisk  -cu  /dev/sdb  ->把system-id改為8e

(2)#  pvcreate  /dev/sdb1

(3)#  vgcreate  vg_kvm  /dev/sdb1

(4)#  lvcreate  -n  rhel6base  -L  10G  vg_kvm

2、建立GUEST主機時,磁盤選擇建立的LV

3、設定模闆虛拟機。把模闆計算的個性化資訊去除,如root密碼、IP位址等。

(1)啟動rhel6base虛拟機後,執行以下指令

#  touch   /.unconfigured

4、生成lv快照

# lvcreate  -s  -n  rhel6node1  -L  2G  /dev/vg_kvm/rhel6base

5、導出原有虛拟機的配置檔案

#  virsh  dumpxml  rhel6base  >  rhel6node1.xml

6、生成一個uuid

[root@localhost ~]# uuidgen 

9cb350bb-2add-461f-9e05-afc9799b3d9b

7、修改rhel6node1.xml

這裡主要改四處:“name”  “uuid”  “source dev”  和 “mac address”

name:代表你要克隆的虛拟機額名字

uuid:虛拟機的唯一辨別

source dev:安裝的虛拟機的源裝置名稱, 這裡應該是生成的lv快照名,rhel6node1

mac address:随便改,不要和已有的虛拟機的mac重複即可

8、利用新的xml檔案和LV快照定義新的克隆虛拟機

#  virsh  define  rhel6node1.xml

9、當虛拟機用完,想要删除時,隻要把虛拟機取消定義,并删除LV即可

#  virsh  undefine  rhel6node1

#  lvremove  /dev/vg_kvm/rhel6node1

2)使用qcow2管理KVM虛拟機磁盤

1、建立qcow2磁盤檔案

[root@localhost ~]# cd  /var/lib/libvirt/images/

[root@localhost images]# qemu-img  create  -f  qcow2  rhel6base.img  80G

2、檢視虛拟磁盤檔案資訊

[root@localhost images]# qemu-img  info  rhel6base.img 

image: rhel6base.img

file format: qcow2

virtual size: 80G (85899345920 bytes)

disk size: 136K

cluster_size: 65536

3、安裝虛拟機到該檔案中。

4.根據基礎鏡像建立增量鏡像檔案

# qemu-img  create  -b  rhel6base.img  -f  qcow2  rhel6basenode1.img

[root@localhost images]# qemu-img  info  rhel6basenode1.img 

image: rhel6basenode1.img

backing file: rhel6base.img

5、生成克隆虛拟機的XML檔案

# virsh  dumpxml  rhel6base  >  rhel6basenode1.xml

#  vim  rhel6basenode1.xml  #參見(上面的修改方法

6、定義新的虛拟機

#  virsh  define  rhel6basenode1.xml

附:

1.當我們用虛拟化軟體克隆一台機器的時候,ifconfig顯示的網卡名字不是eth0(隻有一塊網卡的情況下),我們可以做以下配置,給網卡改名:

#  vim  /etc/udev/rules.d/70-persistent-net.rules

檢視mac位址,把指定mac位址的網卡改成你需要的名字

#  modprobe  -rv  e1000        //停止網卡驅動

#  modprobe  -v   e1000        //重新加載網卡驅動

(-r =remove ;–v=verbose)

2.1、 COW  -> copy  on  write 寫時複制

3.lv快照應用。如,資料庫的庫檔案存在lv(名稱為lv_db)上,大小為10G,如果在資料庫仍然在運作的條件下,要備份某一個時間點的資料(如10:30),那麼可以使用快照snapshot

#  lvcreate  -s  -n  lv_db-snap  -L  1G  /dev/vg_db/lv_db

#  mount  -o  ro  /dev/vg_db/lv_db-snap  /mnt

從/mnt中把資料庫備份走即可

4、快照隻是臨時應用,用完後移除即可

#  lvremove  /dev/vg_db/lv_db-snap

      本文轉自Jx戰壕  51CTO部落格,原文連結:http://blog.51cto.com/xujpxm/1401417,如需轉載請自行聯系原作者