天天看點

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 \ --os-variant rhel6 -l https://mirrors.aliyun.com/centos/6.9/ \ --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  [ [email protected]   ~]#virsh attach-disk kvm_ipvs01 /dev/vg01/lv_add01 vdc  即時生效,但是虛拟機配置檔案不會添加,重新開機後就沒了,如果要将運作狀态儲存至 XML 檔案中,可以用 dumpxml 指令,用之前最好将 XML 做個備份。 [ [email protected]   ~]#virsh dumpxml kvm_ipvs01  >kvm_ipvs01.xml  ISO 以磁盤方式添加 [ [email protected]  qemu]# virsh attach-disk KVM_ipvs01 /root/tasks/win2003.iso vdd Disk attached successfully 即時生效,成功後到 ipvs01 中檢視 [ [email protected]_ipvs01  ~]# mount /dev/vdd /mnt/ [ [email protected]_ipvs01  ~]# cd /mnt/ [ [email protected]_ipvs01  mnt]# ll 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 , [ [email protected]   ~]#virsh attach-interface SNKVM_ipvs01 --type bridge --source br1 [ [email protected]   ~]#virsh domiflist SN349_ipvs01   檢視 vnet6 為新增的網卡 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 [ [email protected]   ~]#virsh dumpxml kvm_ipvs01 >kvm_ipvs01.xml 進入虛拟機修改網絡配置檔案,無需重新開機 [ [email protected]  network-scripts]# cp -a ifcfg-eth0 ifcfg-eth1 [ [email protected]  network-scripts]# vi ifcfg-eth1 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 生效 [ [email protected]_ipvs01  network-scripts]# /etc/init.d/network restart 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 在目标主機上看是否遷移成功 雖然啟動了   但是還沒配置檔案 将配置檔案從主控端拷貝過來   路徑一緻 ===============================================================================