虚拟化的软件
qemu: 软件纯模拟全虚拟化软件,性能低,慢 ,AIX,兼容性好!例如:手机安装windos
xen(半) 性能特别好,需要使用专门修改之后的内核,兼容性差! redhat 5.5 xen
KVM(linux) 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核 centos6 kvm
性能较好,兼容较好
准备环境
: 10.0.0.11
虚拟机模拟时需要开启
![](https://i-blog.csdnimg.cn/blog_migrate/270937375d669492683ae6b6080c636e.png)
不开启报如下错误
![](https://i-blog.csdnimg.cn/blog_migrate/d0a02a79fff462d6f93ecb473cd00771.png)
1.安装虚拟化管理软件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install libvirt virt-install qemu-kvm -y
systemctl start libvirtd.service
systemctl status libvirtd.service
软件解释:
libvirt 作用:虚拟机的管理软件
libvirt:
virt virt-install virt-clone 作用:虚拟机的安装工具和克隆工具
qemu-kvm qemu-img (qcow2,raw) 作用:管理虚拟机的虚拟磁盘
vnc:远程的桌面管理工具(输出画面)
2.上传镜像: CentOS-7-x86_64-DVD-1708.iso
执行如下命令
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
连接端口
vnc-service:5900
命令详解:
vnc:10.0.0.11:5900 (vnc连接)
--virt-type kvm
(
虚拟化的类型(qemu))
--os-type=linux (系统类型)
--os-variant rhel7 (系统版本)
--name centos7 (虚拟机的名字)
--memory 1024 (虚拟机的内存)
--vcpus 1 (虚拟cpu的核数)
--disk /opt/centos2.raw,format=raw,size=10 (磁盘格式:raw 大小10G 整下创建出虚拟机的时候,磁盘格式推荐用QCOW2 )
raw:不支持做快照,性能好
q
cow2:支持快照
--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso (利用的镜像目录地址)
--network network=default (使用默认NAT的网络)
--graphics vnc,listen=0.0.0.0 (图形话界面 工具vnc 监听任意网段)
--noautoconsole (不自动运行控制台)
vnc软件进行连接
![](https://i-blog.csdnimg.cn/blog_migrate/8327f22680282b1ad084160861642f78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5a1d84a4679c5c53249c9bf65f32c437.jpeg)
创建完成后:
(会产生 /etc/libvirt/qemu/centos7.xml)
KVM虚拟机安装完成
-
3.KVM虚拟机的日常管理 和配置 virsh
1.)virsh 常用命令
virsh list 显示运行的虚拟机 (--all 全部显示)
![](https://i-blog.csdnimg.cn/blog_migrate/bd01bd339a3c7cf892330ba5be4c5ac4.png)
例如: 开启的centos7
.开启: virsh start + centos7
.关机 : virsh
shut down + centos7
删除 : virsh undefine + centos7 (/etc/libvirt/qemu/下的centos7.xml会
被清掉)
.强制关机: virsh destroy + centos7 拔电源关机
挂起: virsh suspend centos7 (挂起时虚拟机时间会停滞,记得做时间同步)
恢复挂起: virsh resume centos7
查看端口号 virsh vncdisplay centos7
修改配置文件: virsh edit centos7
导出备份配置: virsh dumpxml centos7 >centos7.xml
恢复导入配置: virsh define centos7
.xml
(
注意:关机前,检查【
/etc/libvirt/qemu/下的centos7.xml】是否存在配置文件,备份一份配置文件。否则关闭一台丢失一台)
3) virsh edit centos7修改配置文件
小测试
把启动磁盘迁移到/opt/目录下
![](https://i-blog.csdnimg.cn/blog_migrate/16200ff2146e2a964b4769251aa2e7c7.png)
4)修改虚拟机名称
修改虚拟机名称方式1:virsh domrename centos7 lzl
![](https://i-blog.csdnimg.cn/blog_migrate/5fa7fdd5b51b22d91be7cf76a58d9f7f.png)
修改虚拟机名称方式2: 修改配置文件,删除UUID 然后导入配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/5fc83909aac80b03a747f863d3af1901.png)
5)设置开机自启
开机自启:
[root@kvm-2 qemu]# virsh autostart --disable lzl
实则添加一个软连接
![](https://i-blog.csdnimg.cn/blog_migrate/33d041a6b52622538560ca55991c7699.png)
关闭开机自启
[root@kvm-2 qemu]# virsh autostart --disable lzl
![](https://i-blog.csdnimg.cn/blog_migrate/ed3cb9e856529274548a977ab17fc7b2.png)
实则取消了软连接
注意:设置开机自启之前,把libvirtd设置为开机自启
[root@kvm-2 qemu]# systemctl enable libvirtd
6)宿主机利用
virsh
console 进入KVM虚拟机(
目的:无网状态下正常系统操作)
![](https://i-blog.csdnimg.cn/blog_migrate/d0cd1d702431a9b0be635a9b55c71f92.png)
用宿主机(xshell工具)连接KVM的IP
[root@kvm-2 qemu]# ssh 192.168.122.206
添加允许console进入的配置
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
检查是否添加成功 记得 reboot
[root@localhost ~]# vi /boot/grub2/grub.cfg
tip:位置在100行左右
![](https://i-blog.csdnimg.cn/blog_migrate/45f4ce168f294db3dc2b45c546dcb173.png)
进入测试 退出就 ctrl+ ]
[root@kvm-2 qemu]# virsh console lzl
Connected to domain lzl
Escape character is ^]
回车
[root@localhost ~]#