KVM模板制作

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ì)虛擬化管理的接口和工具,提供用戶端程序virsh,virt-install, virt-manager, virt-view 與用戶交互

3. 必備軟件
qemu-kvm ---> 為kvm提供底層仿真支持
libvirt-daemon  --->  libvirtd守護(hù)進(jìn)程,管理虛擬機(jī)
libvirt-client ---> 用戶端軟件,提供客戶端管理命令
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ù)制并修改名稱及磁盤(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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容