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進虛擬機了