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全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |