加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX教程:RedHat Linux下KVM虚拟机快速安装

发布时间:2020-12-13 17:33:13 所属栏目:Linux 来源:网络整理
导读:《LINUX教程:RedHat Linux下KVM虚拟机快速安装》要点: 本文介绍了LINUX教程:RedHat Linux下KVM虚拟机快速安装,希望对您有用。如果有疑问,可以联系我们。 RedHat Linux光盘中收录了KVM 所以我们可以直接使用yum安装KVM相关的包 前提是你已经配好了yum源.

《LINUX教程:RedHat Linux下KVM虚拟机快速安装》要点:
本文介绍了LINUX教程:RedHat Linux下KVM虚拟机快速安装,希望对您有用。如果有疑问,可以联系我们。

RedHat Linux光盘中收录了KVM 所以我们可以直接使用yum安装KVM相关的包

前提是你已经配好了yum源.

yum -y install qemu-kvm virt-manager libvirt

...................

安装完成后启动服务

service libvirtd start

启动?libvirtd 守护进程 : ? ? ? ?[确定]

...................

输入命令brctl show 显示一下信息表示OK

?

建议:service NetworkManager stop

chkconfig NetworkManager off

?

这个时候启动服务

vir-manager 弹出下面界面

OK接下来点击“电脑”图标按照提示根据自己的需要安装就OK了.都是图形界面没什么好说的.

如果我们在生产环境中需要安装多台虚拟机怎么办呢?克隆?OK当然克隆的最简单方便的方法啦.但是如果直接克隆真实是很占用资源.小编今天跟大家分享一种更轻便、更简单的方法:

第一步:启动进程后 在目录/var/lib/libvirt/images/下生成一块80G的空间 具体操作如下

[root@localhost ~]# service libvirtd start

启动 libvirtd 守护进程: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [确定]

?

[root@localhost images]# qemu-img create -f qcow2 rhel6base.img 80G

[root@localhost images]#virt-manager 启动服务

按照提示一步步安装

注意:下面这一步的时候路径为生成的rhel6base.img的路径

安装完成后重新引导进入系统后关掉虚拟机

以刚开装的kvm虚拟机为模板 克隆第二太虚拟机 具体操作如下?

[root@localhost images]# qemu-img create -b rhel6base.img -f qcow2 rhel6base2.img?

Formatting 'rhel6base2.img',fmt=qcow2 size=85899345920 backing_file='rhel6base.img' encryption=off cluster_size=65536?

启动图界面操作基本上没有太大差异,注意下面两步操作

1:使用现有的磁盘镜像文件

2:路径为新生成的rhel6base2

?

安装完成后查看增大的文件大小 只有8.7M

[root@localhost images]# ll -lh

总用量 3.8G

-rw-r--r-- 1 root root 8.7M 6月 ?15 15:06 rhel6base1.img

-rw-r--r-- 1 qemu qemu 3.8G 6月 ?15 11:24 rhel6base.img

对于技术人员来说还可以通过直接命令行进行新建虚拟机

具体操作:

先创建增量镜像文件

[root@localhost images]#qemu-img create -b rhel6base,img -f qcow2 rhel6base2.img

[root@localhost images]# virsh list --all

?Id ? ?名称 ? ? ? ? ? ? ? ? ? ? ? ? 状态

----------------------------------------------------

?- ? ? rhel6base ? ? ? ? ? ? ? ? ? ? ?关闭

?- ? ? rhel6basenode1 ? ? ? ? ? ? ? ? 关闭

[root@localhost images]# virsh dumpxml rhel6base

<domain type='kvm'>

? <name>rhel6base</name>

? <uuid>377ef988-42cf-5aad-771c-6e95979ea6a9</uuid>

? <memory unit='KiB'>1003520</memory>

? <currentMemory unit='KiB'>1003520</currentMemory>

? <vcpu placement='static'>1</vcpu>

? <os>

? ? <type arch='x86_64' machine='rhel6.5.0'>hvm</type>

? ? <boot dev='hd'/>

? </os>

? <features>

? ? <acpi/>

? ? <apic/>

? ? <pae/>

? </features>

? <clock offset='utc'/>

? <on_poweroff>destroy</on_poweroff>

? <on_reboot>restart</on_reboot>

? <on_crash>restart</on_crash>

? <devices>

? ? <emulator>/usr/libexec/qemu-kvm</emulator>

? ? <disk type='file' device='disk'>

? ? ? <driver name='qemu' type='qcow2' cache='none'/>

? ? ? <source file='/var/lib/libvirt/images/rhel6base.img'/>

? ? ? <target dev='vda' bus='virtio'/>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

? ? </disk>

? ? <disk type='block' device='cdrom'>

? ? ? <driver name='qemu' type='raw'/>

? ? ? <target dev='hdc' bus='ide'/>

? ? ? <readonly/>

? ? ? <address type='drive' controller='0' bus='1' target='0' unit='0'/>

? ? </disk>

? ? <controller type='usb' index='0'>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>

? ? </controller>

? ? <controller type='ide' index='0'>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>

? ? </controller>

? ? <interface type='network'>

? ? ? <mac address='52:54:00:c3:8c:d4'/>

? ? ? <source network='default'/>

? ? ? <model type='virtio'/>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

? ? </interface>

? ? <serial type='pty'>

? ? ? <target port='0'/>

? ? </serial>

? ? <console type='pty'>

? ? ? <target type='serial' port='0'/>

? ? </console>

? ? <input type='tablet' bus='usb'/>

? ? <input type='mouse' bus='ps2'/>

? ? <graphics type='vnc' port='-1' autoport='yes'/>

? ? <sound model='ich6'>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>

? ? </sound>

? ? <video>

? ? ? <model type='cirrus' vram='9216' heads='1'/>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

? ? </video>

? ? <memballoon model='virtio'>

? ? ? <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

? ? </memballoon>

? </devices>

</domain>

输出的内容就是虚拟机的配置文件

我们可以把输出文件重定向输出到/tmp下面重命名为mymv.xml

[root@localhost images]# virsh dumpxml rhel6base > /tmp/myvm.xml

然后对配置文件进行修改

[root@localhost images]# vim /tmp/myvm.xml

克隆出来的虚拟机需要更改 rhel的名字 mac地址 ?uuid号 文件名四个地方

修改名称:

<name>rhel6base</name> --》?<name>rhel6base2</name>

修改UUID:

[root@localhost images]# uuidgen ?【生成新的uuid】

? ?7bb06bc1-d610-4f51-a641-d1566b0a0c8b

? ?<uuid>377ef988-42cf-5aad-771c-6e95979ea6a9</uuid> ?--》?<uuid>7bb06bc1-d610-4f51-a641-d1566b0a0c8b</uuid>

修改mac地址:?<mac address='52:54:00:c3:8c:00'/> ? --》?<mac ? ? ? ? ?address='52:54:00:c3:8c:01'/>

修改磁盘文件名:

?<source file='/var/lib/libvirt/images/rhel6base.img'/ ? ?---》

?<source file='/var/lib/libvirt/images/rhel6base2.img'/?

最后:

[root@localhost images]# virsh define /tmp/myvm.xml?

定义域 rhel6base2(从 /tmp/myvm.xml)

[root@localhost images]#virt-manager ?可以看到多了一台rhel6base2的虚拟机

?

感觉这种方法操作方便,节省资源.供大家参考.

想要更快速的安装克隆虚拟机可以把步骤写成脚本.

#!/bin/bash

?

BASEVM=rhel6base

IMG_DIR=/var/lib/libvirt/images

read -p "Input a number: " VM_NUM

NEWVM=rhel6basenode$VM_NUM

qemu-img create -b $IMG_DIR/${BASEVM}.img -f qcow2 $IMG_DIR/${NEWVM}.img

virsh dumpxml ${BASEVM} > /tmp/myvm.xml

sed -i "/name>r/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml

sed -i "/uuid/s/uuid>.{36}/uuid>$(uuidgen)/" /tmp/myvm.xml

sed -i "/${BASEVM}.img/s/${BASEVM}.img/${NEWVM}.img" ?/tmp/myvm.xml

sed -i "/mac add/s/00'/>/$VM_NUM'/>/" /tmp/myvm.xml 【母机mac地址后两位00】

virsh define /tmp/myvm.xml

执行以上脚本就可以快速克隆出来一台kvm虚拟机

?

编程之家PHP培训学院每天发布《LINUX教程:RedHat Linux下KVM虚拟机快速安装》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读