kvm 安裝虛擬機
===============================================================================
安裝依賴和相關組件
yum -y install wget curl nc vim kvm virt-* libvirt bridge-utils qemu-img qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client gcc autoconf automake libtool glib* zlib* acpid
===============================================================================
===============================================================================
安裝命令(centos 網絡鏡像)
virt-install \
--name test1_service \
--ram 4096 \
--vcpus 2 \
--file /home/kvm/centos_192.168.1.56_contes7.img \
--file-size 30 \
--network bridge:br0 \
--network bridge:br1 \
--extra-args 'ip=192.168.1.56 netmask=255.255.254.0 dns=114.114.114.114 gateway=192.168.1.254 console=ttyS0,115200n8'
注: 如刪除重名鏡像名需要將鏡像(centos_test1.img)一併刪除,否則磁盤大小會追加,定空會導致磁盤爲空.
可以使用ks文件,注意設置靜態IP 依據不同的網絡環境進行更改,或直接使用命令指定已知的可以使用的IP.
===============================================================================
安裝命令(centos 本地鏡像)
virt-install \
--name centos7 \
--ram 4096 \
--vcpus 2 \
--file /home/kvm/centos_7.qcow2 \
--file-size=30 \
--network bridge:br0 \
--location=/home/ios/CentOS-7-x86_64-Minimal-1611.iso \
--extra-args 'ip=192.168.1.63 netmask=255.255.254.0 dns=114.114.114.114 gateway=192.168.1.254 console=ttyS0,115200n8'
===============================================================================
===============================================================================
創建快照
1.qemu-img info centos_test1.img (查詢鏡像信息)
注: kvm虛擬機的raw格式磁盤文件不支持快照功能,在創建快照前需要先轉換爲qcow或qcow2格式。
2.qemu-img snapshot -c init01 centos_test1.qcow2 (創建快照)
3.qemu-img snapshot -l centos_test1.img (列出所有快照)
4.qemu-img snapshot -a init01 centos_test1.qcow2 (使用快照)
===============================================================================
===============================================================================
virsh dumpxml centos_6801 >centos_6801_0.xml
磁盤類型轉換
VMDK–>qcow2
· qemu-img convert -f vmdk -O qcow2 SLES11SP1-single.vmdk SLES11SP1-single.img
qcow2–>raw
· qemu-img convert -O qcow2 image-raw.raw image-raw-converted.qcow
raw–>qcow2
· qemu-img convert -f raw -O qcow2 2fuel2.img 2fuel2.qcow2
virsh edit test1_service 查找到 <source file='/home/kvm/centos_test1.img'/>
更改爲 <source file='/home/kvm/centos_test1.qcow2'/>
注: 轉換出qcow2格式的權限需要與源格式一致
virsh dumpxml 域名 > /etc/libvirt/qemu/域名.xml
uuidgen 域名.img
更改 xml uuid 和disk中的 type 和source.
===============================================================================
其他幫助
===============================================================================
qcow2
brctl show 查看網橋
virsh list --all 查看所有虛擬機
virsh destroy 虛擬機名稱 (強制中斷虛擬機)
virsh undefine 虛擬機名稱 (從域中刪除虛擬機)
virt-install --os-variant list 查看支持虛擬的系統
/etc/libvirt/qemu/ 虛擬機配置文件
備份:拷貝/etc/libvirt/qemu目錄下的xml配置文件,以及xml中設置的img文件。
恢復:進入virsh,執行define 目錄下的xml文件路徑
virsh # define /etc/libvirt/qemu/winxp.xml
virsh autostart 虛擬機名稱 (開機自啓虛擬機)
克隆KVM虛擬機:
virt-clone -o Winxp -n winxpclong -f /var/lib/libvirt/images/winxpclong.img
(-o 原始客體的名稱,-n新客戶端的名稱,-f作爲新客戶端磁盤映像的新文件)
virsh managedsave-remove winxp
Virsh語法參考:
Autostart 自動開始一個域
Create 從一個 XML 文件創建一個域
Define 從一個 XML 文件定義(但不開始)一個域
edit 編輯某個域的 XML 配置
shutdown 關閉一個域
start 開始一個(以前定義的)非活躍的域
reboot 重新啓動一個域
suspend 掛起一個域
resume 重新恢復一個域
vncdisplay vnc 顯示
===============================================================================
使用save備份當前虛擬機狀態
virsh save -bypass-cache RedHat /var/lib/libvirt/images/test.img -running
上面這個命令將RedHat的當前狀態保存到/opt/vm2_save文件中。-running參數表示下次restore回來的時候能夠自動啓動RedHat。
這個命令會導致RedHat被關閉。
現在還原:必須先關閉虛擬機
virsh shutdown RedHat
virsh restore /var/lib/libvirt/images/test.img -bypass-cache -running (還原時不要指定虛擬機名稱
===============================================================================
===============================================================================
virsh console ccc(虛擬機名) 遠程管理虛擬機:需修改虛擬機下面文件(非宿主機),重啓生效
1、修改 /etc/securetty 到最後添加 ttyS0
echo ttyS0 >> /etc/securetty
2、修改/etc/inittab 到最後添加 S0:12345:respawn:/sbin/agetty/ ttyS0 115200
echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab
3、修改/etc/grub.conf ,如下圖所示在 kernel 這一行的末尾,添加console=ttyS0(無需換行添加)
===============================================================================
===============================================================================
爲虛擬機增加磁盤空間
增加磁盤的格式爲sda/vda
生成一塊新的硬盤
qemu-img create -f raw /data/kvm/diskone.img 10G
將磁盤附加到虛擬機上
virsh attach-disk test(虛擬機名) /data/kvm/diskone.img(硬盤路徑) vdb(硬盤名)
一:添加硬盤
方法1
直接修改虛擬機的XML文件,這種方式虛擬機要重新virhs start/create 纔可以生效,具體略。
方法2
用attach-disk 命令添加
要添加的LV卷/dev/vg01/lv_add01
即時生效,但是虛擬機配置文件不會添加,重啓後就沒了,如果要將運行狀態保存至XML文件中,可以用dumpxml命令,用之前最好將XML做個備份。
ISO以磁盤方式添加
Disk attached successfully
即時生效,成功後到ipvs01中查看
total 3520
-r-xr-xr-x 1 root root 112 Mar 7 2007 <a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=autorun.inf" target="_blank">autorun.inf</a>
-r-xr-xr-x 1 root root 322730 Mar 7 2007 <a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=bootfont.bin" target="_blank">bootfont.bin</a>
dr-xr-xr-x 1 root root 267478 Mar 7 2007 i386
dr-xr-xr-x 1 root root 184 Mar 7 2007 printers
-r-xr-xr-x 1 root root 18809 Mar 7 2007 read1st.htm
-r-xr-xr-x 1 root root 54458 Mar 7 2007 relnotes.htm
-r-xr-xr-x 1 root root 372014 Mar 7 2007 setupenterprise.htm
-r-xr-xr-x 1 root root 2564096 Mar 7 2007 setup.exe
dr-xr-xr-x 1 root root 142 Mar 7 2007 suppor
-r-xr-xr-x 1 root root 10 Mar 7 2007 win51
-r-xr-xr-x 1 root root 10 Mar 7 2007 win51ia
-r-xr-xr-x 1 root root 10 Mar 7 2007 win51ia.sp2
===============================================================================
===============================================================================
添加網卡
方法1,修改配置文件,略
方法2,
Interface Type Source Model MAC
-------------------------------------------------------
vnet2 bridge br2 virtio 52:54:00:06:88:f4
vnet6 bridge br1 - 52:54:00:8d:de:df
命令修改即時生效,但不會改動虛擬機XML文件,用下面命令更新至xml
進入虛擬機修改網絡配置文件,無需重啓
DEVICE="eth1" #改爲eth1
BOOTPROTO="static"
#HWADDR="52:54:00:06:88:F4" #mac註釋掉或者改爲上面list中的值
IPADDR="10.10.0.90" #修改IP
IPV6INIT="yes"
MTU="1500"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
#<a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=UUID" target="_blank">UUID</a>="e5b102fb-1fdf-410b-8b59-5fef69b39df9" #註釋掉UUID
重啓後網卡2生效
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
===============================================================================
===============================================================================
KVM動態遷移
1遷移的主機處於開機狀態
Virsh list -all
2 在源宿主機上開啓nfs服務(也可在加一臺nfs服務器)
/etc/init.d/nfs restart
3修改源宿主機/etc/export 加入/var/lib/libvirt/images *(insecure,rw,sync,no_root_squash)
重啓nfs /etc/init.d/nfs restart
3 目標宿主機操作:(掛載命令)
mount -t nfs 10.0.6.26(源宿主機):/var/lib/libvirt/images /var/lib/libvirt/images/
4在源宿主機上執行遷移命令
virsh migrate --live node2 qemu+ssh://10.0.6.34/system
出現錯誤
Cannot get interface MTU on 'br0': No such device
解決方法
在目標主機上配置br0
出現錯誤Unable to resolve address 'syxtest' service '49152': Name or service not known
解決方法
Vim /etc/hosts
10.0.6.34(目標宿主機) syxtest(目標宿主機名)
5在目標主機上看是否遷移成功
雖然啓動了 但是還沒配置文件
將配置文件從宿主機拷貝過來 路徑一致
===============================================================================
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.