kvm virtual 克隆腳本踩坑

KVM

從rhel6開始 centos都是採用kvm 之前都是採用xen
openstack 底層的虛擬化技術都是kvm

kvm == kerner based virtual machine 基於內核的虛擬化技術

{虛擬化代碼以模塊的形式加載到linux內核中}
內核有關的默認centos6以上就裝好的,只要安裝管理軟件就行

需要cpu去支持虛擬化技術

虛擬化技術: kvm/vmware workstation
1.純軟件模擬的 qemu/ linux 特點: 開源,對於硬件的要求低 速度慢 模擬磁盤網卡等…
KVM不模擬網卡磁盤等依賴 qemu來進行模擬 qemu/kvm

3.完全虛擬化:不需要去修改guest操作系統,直接運行在這種虛擬化上

4.半虛擬化技術:guest必須修改內核, XEN速度快
rhev—ovirt
openstack

安裝KVM本質就是安裝軟件

yum -y install virt-manager virt-install virtsh libvirt*

使用virt-manager安裝centos7.4虛擬機會/var/lib/libvirt/images/目錄下生成虛擬硬盤在/etc/libvirt/qemu/下生成配置文件

克隆腳本的思路就是 複製xml 根據之前的盤克隆新的qcow2盤,修改XML對應新的盤然後virsh define 導入

#!/bin/bash
read -p 'new host name:' name ##交互定義名字變量
cp /etc/libvirt/qemu/backup.xml /var/lib/libvirt/qemu/${name}.xml  ###將xml 複製定義
read -p 'how much disk is 30G 50G 100G :'  disk  ##交互定義硬盤大小
qemu-img create -f qcow2 -b /var/lib/libvirt/images/backup.qcow2  /var/lib/libvirt/images/${name}.qcow2  ${disk} ##根據後端盤生成新的磁盤
sed -i '10d ' /var/lib/libvirt/qemu/${name}.xml  ##去掉UUID 
sed -i 's!backup!'${name}'!g' /var/lib/libvirt/qemu/${name}.xml ##修改NAME和SOURCE硬盤對應的xml
sed -i '74d ' /var/lib/libvirt/qemu/${name}.xml ###修改MAC 網卡地址
virsh define /var/lib/libvirt/qemu/${name}.xml ###導入配置
virsh start ${name}
 
注意這裏有2個坑 查看 backup.xml配置文件

在這裏插入圖片描述
刪掉此行的uuid 不然導入配置時會報錯,UUID只能是唯一參數刪掉後導入時會自動生成一個新的UUID
UUID下面是內存,修改可以調整內存大小
在這裏插入圖片描述
vim 進去 /source 一共有2個source 第一個對應的 修改 ${name}.qcow2上面的代碼已經寫好
第二個source
在這裏插入圖片描述
上面的 mac地址刪掉 如果不去掉生成多個虛擬機會因爲MAC地址相同互相搶IP

試驗腳本

在這裏插入圖片描述
通過上面的腳本成功複製並啓動虛擬機 創造開發環境

這裏還有一點 virsh console 可能進不去虛擬機

原因是創建的虛擬機內核參數沒有修改

echo "ttyS0" >> /etc/securetty
grubby --update-kernel=ALL --args="console=ttyS0"
reboot 
    #### 重啓就可以console進虛擬機了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章