1. 在linux系統(tǒng)上安裝KVM
1. 確認(rèn)系統(tǒng)是否支持虛擬化技術(shù)(如果不支持下面操作就不用做了)
egrep "vmx|svm" /proc/cpuinfo
或 lscpu | egrep "vmx|svm"
2. 安裝虛擬化服務(wù)KVM / QEMU / LIBVIRTD介紹
a. KVM是linux內(nèi)核的模塊咪鲜,它需要CPU的支持,采用硬件輔劣虛擬化技術(shù)Intel-VT辽聊,AMD-V瘸洛,內(nèi)存的相關(guān)如Intel的EPT 和AMD 的RVI 技術(shù)
b. QEMU是一個(gè)虛擬化的仿真工具赐写,通過(guò)ioctl與內(nèi)核kvm交互完成對(duì)硬件的虛擬化支持
c. Libvirt是一個(gè)對(duì)虛擬化管理的接口和工具,提供用戶(hù)端程序virsh,virt-install, virt-manager, virt-view 與用戶(hù)交互
3. 必備軟件
qemu-kvm ---> 為kvm提供底層仿真支持
libvirt-daemon ---> libvirtd守護(hù)進(jìn)程,管理虛擬機(jī)
libvirt-client ---> 用戶(hù)端軟件葫录,提供客戶(hù)端管理命令
libvirt-daemon-driver-qemu ---> libvirtd連接qemu的驅(qū)勱
4. 可選功能
virt-install ---> 系統(tǒng)安裝工具
virt-manager ---> 圖形管理工具
virt-v2v ---> 虛擬機(jī)遷移工具
virt-p2v ---> 物理機(jī)遷移工具
5. 安裝
yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu virt-manager
6. 啟動(dòng)libvirtd服務(wù)
systemctl restart libvirtd
systemctl enable libvirtd
7. 虛擬機(jī)組成
內(nèi)核虛擬化模塊(KVM)
系統(tǒng)設(shè)備仿真(QEMU)
虛擬機(jī)管理程序(LIBVIRT)
一個(gè)XML 文件(虛擬機(jī)配置聲明文件) ---> 位置/etc/libvirt/qemu/
一個(gè)磁盤(pán)鏡像文件(虛擬機(jī)的硬盤(pán))---> 位置/var/lib/libvirt/images/
2. 制作一個(gè)后端盤(pán)
1. 利用virt-manager安裝一個(gè)系統(tǒng)然后對(duì)這個(gè)系統(tǒng)進(jìn)行初始化(安裝系統(tǒng)的部分就不介紹了)
a. 禁用selinux /etc/selinux/config
SELINUX=disabled
b. 卸載防火墻與NetworkManager
yum remove -y NetworkManager-* firewalld-* python-firewall
c. 配置yum 源
d. 安裝常用軟件
yum -y install vim bash-completion tree iftop net-tools ...
e. 刪除網(wǎng)絡(luò)配置里的個(gè)性化信息
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
TYPE="Ethernet"
BOOTPROTO="dhcp"
f. 禁用空路由
/etc/sysconfig/network
NOZEROCONF="yes"
g. 添加Console 配置/etc/default/grub
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8 xxxx"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
重新生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
h. 刪除磁盤(pán)分區(qū)里的個(gè)性化信息
/etc/fstab文件中到UUID 手工修改成系統(tǒng)設(shè)備
blkid查看uuid對(duì)應(yīng)的磁盤(pán)設(shè)備,修改fstab文件
2. 關(guān)閉虛擬機(jī)并保存好這個(gè)剛剛制作好的模板
cd /var/lib/libvirt/images
這個(gè)目錄下面的一個(gè)*.qcow2結(jié)尾的文件就是模板文件了
qemu-img info *.qcow2 查看模板文件的信息
3. demo.xml
<domain type='kvm'>
<name>demo</name>
<memory unit='KiB'>2097152</memory>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='host-passthrough'>
</cpu>
<clock offset='localtime'>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/data/kvm_storage/demo.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<interface type='network'>
<source network='vbr'/>
<model type='virtio'/>
</interface>
<serial type='pty'></serial>
<console type='pty'>
<target type='serial'/>
</console>
<channel type='unix'>
<target type='virtio' name='org.qemu.guest_agent.0'/>
</channel>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='spice' autoport='yes'>
<listen type='address'/>
<image compression='off'/>
</graphics>
<memballoon model='virtio'>
</memballoon>
</devices>
</domain>
4. 通過(guò)模板和demo.xml文件快速生成虛擬機(jī)
1. xml 文件配置
把我們的xml 模板文件進(jìn)行復(fù)制并修改名稱(chēng)及磁盤(pán)文件
cp demo.xml node.xml
sed -i 's/demo/node/g' node.xml
2. img文件創(chuàng)建
以我們剛剛裝系統(tǒng)的模板為后端文件創(chuàng)建虛擬機(jī)
qemu-img create –b demo.qcow2 –f qcow2 node.img
3. 完成虛擬機(jī)注冊(cè)和啟動(dòng)虛擬機(jī)
virsh define node.xml
virsh start node
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者