0
点赞
收藏
分享

微信扫一扫

kvm安装Linux的centos7


kvm的相关介绍在此就省略了,同样的配方同样的味道,还是使用xml文件安装kvm虚拟机,但,Linux的安装和Windows的安装是有很大不同的。

本文中已经安装好的kvm镜像文件,安装用的ISO文件以及配置文件都放在网盘里了,下载地址:

链接:https://pan.baidu.com/s/1Lss524AqnKcPs3ZT-pgZ5g 
提取码:kvms 

 

一,

建立一个安装用的xml文件。

主要的安装配置linux_mini.xml文件内容如下:

此文件我们定义了这个虚拟机的名字是linux_mini,挂载了一个硬盘,该硬盘的格式是qcow2,使用的驱动是virtio,挂载了一个光驱,光驱内装载系统安装文件,文件名称是CentOS-7-x86_64-Minimal-1708.iso,使用的驱动是ide。vnc的端口定义的是5992,使用的vnc模式是vga。

- <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit linux_mini
or other application using the libvirt API.

  --> 
- <domain type="kvm">
  <name>linux_mini</name> 
  <uuid>187ca777-a965-4777-8e95-c1f0cfe2a363</uuid> 
  <memory unit="KiB">548576</memory> 
  <currentMemory unit="KiB">548576</currentMemory> 
  <vcpu placement="static">2</vcpu> 
- <os>
  <type arch="x86_64" machine="pc-i440fx-rhel7.6.0">hvm</type> 
  <boot dev="hd" /> 
  </os>
- <features>
  <acpi /> 
  <apic /> 
  </features>
- <cpu mode="host-model" check="partial">
  <model fallback="allow" /> 
  </cpu>
- <clock offset="utc">
  <timer name="rtc" tickpolicy="catchup" /> 
  <timer name="pit" tickpolicy="delay" /> 
  <timer name="hpet" present="no" /> 
  </clock>
  <on_poweroff>destroy</on_poweroff> 
  <on_reboot>restart</on_reboot> 
  <on_crash>destroy</on_crash> 
- <pm>
  <suspend-to-mem enabled="no" /> 
  <suspend-to-disk enabled="no" /> 
  </pm>
- <devices>
  <emulator>/usr/libexec/qemu-kvm</emulator> 
- <disk type="file" device="disk">
  <driver name="qemu" type="qcow2" /> 
  <source file="/opt/linux.img" /> 
  <target dev="vda" bus="virtio" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0" /> 
  </disk>
- <disk type="file" device="cdrom">
  <driver name="qemu" type="raw" /> 
  <source file="/opt/CentOS-7-x86_64-Minimal-1708.iso" /> 
  <target dev="hda" bus="ide" /> 
  <readonly /> 
  <address type="drive" controller="0" bus="0" target="0" unit="0" /> 
  </disk>
- <controller type="usb" index="0" model="ich9-ehci1">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x7" /> 
  </controller>
- <controller type="usb" index="0" model="ich9-uhci1">
  <master startport="0" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0" multifunction="on" /> 
  </controller>
- <controller type="usb" index="0" model="ich9-uhci2">
  <master startport="2" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x1" /> 
  </controller>
- <controller type="usb" index="0" model="ich9-uhci3">
  <master startport="4" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x2" /> 
  </controller>
  <controller type="pci" index="0" model="pci-root" /> 
- <controller type="ide" index="0">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1" /> 
  </controller>
- <controller type="virtio-serial" index="0">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" /> 
  </controller>
- <interface type="network">
  <mac address="52:54:00:89:52:23" /> 
  <source network="default" /> 
  <model type="virtio" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" /> 
  </interface>
- <serial type="pty">
- <target type="isa-serial" port="0">
  <model name="isa-serial" /> 
  </target>
  </serial>
- <console type="pty">
  <target type="serial" port="0" /> 
  </console>
- <channel type="unix">
  <target type="virtio" name="org.qemu.guest_agent.0" /> 
  <address type="virtio-serial" controller="0" bus="0" port="1" /> 
  </channel>
- <input type="tablet" bus="usb">
  <address type="usb" bus="0" port="1" /> 
  </input>
  <input type="mouse" bus="ps2" /> 
  <input type="keyboard" bus="ps2" /> 
- <graphics type="vnc" port="5992" autoport="no" listen="0.0.0.0">
  <listen type="address" address="0.0.0.0" /> 
  </graphics>
- <video>
  <model type="vga" vram="16384" heads="1" primary="yes" /> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" /> 
  </video>
- <memballoon model="virtio">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0" /> 
  </memballoon>
- <rng model="virtio">
  <backend model="random">/dev/urandom</backend> 
  <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0" /> 
  </rng>
  </devices>
  </domain>

二,

如前所述,两个文件我们需要放置到xml定义的路径下,也就是opt目录下。

第一个文件,磁盘文件,该文件的生成命令为:

qemu-img create -f qcow2 linux.img 15G

第二个文件,也就是ISO文件,上传到opt目录下即可。

三,

启动前,我们应该要检查一下xml里的boot配置,确保是cdrom,也就是这段是cdrom:

<os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
    <boot dev='cdrom'/>
  </os>

四,

直接使用xml文件启动虚拟机,开始安装,安装命令为:

virsh create linxu_mini.xml

kvm安装Linux的centos7_ci

但是,很可惜,如果直接安装的话,会有软锁报错,因此,我们需要将内核升级成高版本的稳定内核。

这个bug修复后,在进行安装就和普通的安装一样了,只是建议分区的时候只划一个根分区和一个非常小的swap分区即可。具体分区方法过于基础,再次不予讨论。

这样的一个镜像在安装完毕后并重启kvm虚拟机后悔固化到前面所建立的linux.img 文件内,该文件是比较小的,大概会只有1.3G。

kvm的强大之处在于你只需要拷贝前面建立所用的xml文件和linux.img 文件,在其它的有kvm的环境机器上就可以一键启动一个linux系统了,虽然这个kvm镜像没有经过定制化,比如,网络和一些基础软件没有配置和安装,但,基本是开箱即用啦。

举报

相关推荐

0 条评论