部署及命令行管理KVM
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,通过博文部署及图形化管理KVM已经可以通过图形化的方式来管理KVM平台的虚拟机。本篇博文主要介绍如何通过命令行的方式来管理KVM平台的虚拟机。博文大纲:一、环境要求二、安装方式三、远程连接KVM虚拟机
千家信息网最后更新 2025年02月03日部署及命令行管理KVM
通过博文部署及图形化管理KVM已经可以通过图形化的方式来管理KVM平台的虚拟机。本篇博文主要介绍如何通过命令行的方式来管理KVM平台的虚拟机。
博文大纲:
一、环境要求
二、安装方式
三、远程连接KVM虚拟机的方法
四、使用默认的方式使KVM虚拟机可以访问互联网
五、KVM常用命令
一、环境要求
如果是真实服务器,那么就需要在BIOS中开启虚拟化功能(Virtualization Technology),一般物理服务器,此项功能默认都是打开的。如图:
如果实验环境使用VMware Workstation的情况下,就需要在开机之前开启此项功能。如图:
二、安装方式
最简单的安装方式:在安装系统时,安装虚拟化功能。如图:
如果系统已经安装完成,而且是最小化进行安装的,则需要进行以下操作:
(1)安装依赖包:
[root@localhost ~]# yum groupinstall -y "GNOME Desktop"//安装GNOME桌面环境[root@localhost ~]# yum -y install qemu-kvm//安装KVM模块[root@localhost ~]# yum -y install qemu-kvm-tools//安装KVM调试工具(可以不安装)[root@localhost ~]# yum -y install virt-install//安装构建虚拟机的命令行工具[root@localhost ~]# yum -y install qemu-img//安装qemu组件,创建磁盘、启动虚拟机等[root@localhost ~]# yum -y install bridge-utils//安装网络支持工具[root@localhost ~]# yum -y install libvirt//安装虚拟机管理工具[root@localhost ~]# yum -y install virt-manager//安装图形界面管理虚拟机如果系统时最小化安装则需执行这条命令[root@localhost ~]# ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target//将系统默认运行的target更改为graphical.target,若不执行该命令,重启时可能会报错。
(2)验证CPU是否支持虚拟化
[root@localhost ~]# cat /proc/cpuinfo | grep vmx//Intel服务器使用这条命令进行验证(有输出就表示支持虚拟化)[root@localhost ~]# cat /proc/cpuinfo | grep smv//AMD服务器使用这条命令进行验证
(3)检查KVM模块是否安装
[root@localhost ~]# lsmod | grep kvm//表示已经安装kvm_intel 170181 0 kvm 554609 1 kvm_intelirqbypass 13503 1 kvm
(4)启动libvirtd服务,开启相应的支持
[root@localhost ~]# systemctl start libvirtd[root@localhost ~]# systemctl enable libvirtd//启动libvirtd服务,并将其设置为开机自启
(5)使用命令创建虚拟机
可以参考博文图形化安装虚拟机进行图形化安装虚拟机。
[root@localhost ~]# mkdir -p /kvm/{iso,disk} //创建相应目录用来存放镜像和虚拟机磁盘[root@localhost ~]# cp /mnt/CentOS-7.iso /kvm/iso///准备用于安装虚拟机的镜像[root@localhost ~]# qemu-img create -f raw /kvm/disk/web01.raw 10G//创建虚拟磁盘,使用"-f"指定磁盘类型,大小为10G[root@localhost ~]# virt-install --os-type=linxu --os-variant centos7.0 --name web01 --ram 1024 \ --vcpus 1 --disk /kvm/disk/web01.raw,format=raw,size=10 --location /kvm/iso/CentOS-7.iso \ --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole //创建虚拟机,由于命令配置项一目了然,这里就不多做介绍了开始安装......搜索文件 .treeinfo...... | 354 B 00:00:00 搜索文件 vmlinuz...... | 5.9 MB 00:00:00 搜索文件 initrd.img...... | 50 MB 00:00:00 域安装仍在进行。您可以重新连接到控制台以便完成安装进程。[root@localhost ~]# virt-manager //打开图像化管理控制台
[root@localhost ~]# virsh start web01//安装完成之后,启动web01虚拟机
三、远程连接KVM虚拟机的方法
(1)使用VNC软件连接KVM虚拟机
下载VNC软件
[root@localhost ~]# virsh vncdisplay web01 //查看web01的监听端口:0//0表示监听的端口是5900端口;1则表示监听的是5901端口,以此类推!
实验环境,我就直接关闭防火墙了,不想关闭防火墙的话,执行以下命令即可!
[root@localhost ~]# firewall-cmd --add-port=5900/tcp --permanent[root@localhost ~]# firewall-cmd --reload//开启5900端口,便于VNC对其进行操作
打开VNC:
如果连接时,出现以下状况:
则表示在KVM宿主机中,虚拟机已经打开了一个终端,关闭即可!
VNC连接成功后,我们可以调整其内核参数,使用console方式可以连接到KVM虚拟机,在KVM虚拟机中执行以下命令:
[root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0" //修改其内核参数,使其向console方式分配一个终端[root@localhost ~]# reboot //重启此虚拟机,以便更改生效
(2)使用console方式连接KVM虚拟机
[root@localhost ~]# virsh console web01//使用console方式登录web01虚拟机
登录成功!
四、使用默认的方式使KVM虚拟机可以访问互联网
[root@localhost ~]# ls /usr/share/libvirt/networks/default.xml [root@localhost ~]# virsh net-define /usr/share/libvirt/networks/default.xml //确认有以上文件,如果没有可以用以上命令生成[root@localhost ~]# virsh net-autostart default //网络default标记为自动启动[root@localhost ~]# virsh net-start default //启动网络,若已启动,此处会报错[root@localhost ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf[root@localhost ~]# sysctl -pnet.ipv4.ip_forward = 1//开启路由转发[root@localhost ~]# vim /etc/libvirt/qemu/web02.xml ............//省略部分内容 //定位"interface"关键字,确定有上述内容
KVM虚拟机进行验证:
访问互联网成功!
五、KVM常用命令
[root@localhost ~]# virsh start 虚拟机名称 //开启虚拟机[root@localhost ~]# virsh list //仅查看运行的虚拟机列表[root@localhost ~]# virsh list --all //查看所有虚拟机列表[root@localhost~]# virsh shutdown 虚拟机名称 //正常的关闭虚拟机[root@localhost ~]# virsh destroy 虚拟机名称 //强制关闭虚拟机(类似于拔电源)[root@localhost ~]# virsh dumpxml 虚拟机名称 > /root/test01-dum.xml //虚拟机备份[root@localhost ~]# virsh undefine 虚拟机名称 //删除虚拟机(注意:取消定义之后,磁盘文件需要手动删除)[root@localhost ~]# virsh define 备份的.xml虚拟机文件 //通过配置文件生成虚拟机[root@localhost ~]# virsh edit 虚拟机名称 //编辑虚拟机的配置文件[root@localhost ~]# virsh domrename 原名字 要更改的名字 # 比如:([root@localhost~]# virsh domrename test01 test03) 更改虚拟机名称[root@localhost qemu]# virsh dominfo test02 //查看虚拟机的详细信息[root@localhost ~]# virsh autostart test02 //设置虚拟机为开机自启[root@localhost ~]# virsh autostart --disable test02 //取消开机自启[root@localhost~]# virsh vncdisplay test02 //查看对应的VNC连接端口号;默认第一个端口号为:5900(用":0"表示)[root@localhost ~]# virsh suspend test02 //挂起虚拟机[root@localhost ~]# virsh resume test02 //取消挂起虚拟机[root@localhost ~]# virsh console test02 //console方式登陆虚拟机[root@localhost ~]# qemu-img info /kvm/disk/test01.raw //查看虚拟机的磁盘信息[root@localhost disk]# qemu-img create test.raw 2G //创建虚拟机使用的磁盘[root@localhost disk]# qemu-img create -f qcow2 123.qcow2 2G //创建qcow2格式的虚拟机磁盘[root@localhost disk]# qemu-img convert -f raw -O qcow2 test.raw test.qcow2 //将test.raw磁盘格式raw转换为qcow2[root@localhost qemu]# virsh snapshot-create test02 //创建虚拟机快照[root@localhost disk]# virsh snapshot-list test02 //查看虚拟机快照[root@localhost disk]# virsh snapshot-revert test02 1570692304 //恢复快照[root@localhost disk]# virsh snapshot-delete test02 1570692304 //恢复快照[root@localhost disk]# virt-clone --auto-clone -o test01 -n 指定要克隆的名字(可选) //自动克隆虚拟机[root@localhost disk]# virt-clone -o test01 -n test04 -f /kvm/disk/test04.qcow2 //手动克隆#上述都是属于完整克隆。[root@localhost disk]# qemu-img create -f qcow2 -b test01.qcow2 lktest01.qcow2// -f:指定要克隆为的磁盘格式;//-b:指定要转换的源文件及目标文件//上述命令是在克隆虚拟机的磁盘文件
-------- 本文至此结束,感谢阅读 --------
命令
方式
磁盘
文件
名称
管理
服务
图形
环境
端口
功能
工具
快照
服务器
系统
支持
验证
成功
互联网
名字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库可以直接阅读吗
数据库应用技术包括哪些
网络技术服务费报销归类
自考本科网络安全防护专业
健康连线网络技术有限公司
浙江程序软件开发报价
泰拉瑞亚服务器肉山不消失
三级网络技术视频
花都服务器运维服务公司
战地5房间服务器怎么设置中文
济宁ios软件开发服务公司
吉林软件开发平台
德克斯服务器
钓鱼杯国际网络安全大赛
可以学那些网络技术赚钱
2000的数据库怎么安装
计算网络技术考研方向
面向对象软件开发
给青少年开展网络安全的宣传
网络安全的认识及危害
Dts数据库同步
数字媒体与网络技术区别
数据库技术大会第十届
大型企业每年数据库服务多少钱
北京梦想站网络技术有限公司
软件开发(委托)合同
网络安全人人有责300字
国企网络安全投入
增强网络安全意识的重要性
ios数据库 面试题