查看运行的虚拟机
[root@103 kvm]# virsh list
Id 名称 状态
1 db running
5 test running
查看所有的虚拟机
[root@103 kvm]# virsh list
[root@103 kvm]# virsh list
Id 名称 状态
1 db running
5 test running
- centos 关闭
开启虚拟机
[root@103 kvm ]# virsh start centos
域 centos 已开始
关闭虚拟机
[root@103 kvm ]# virsh shutdown centos
域 centos 被关闭
重启虚拟机
[root@103 kvm ]# virsh reboot centos
域 centos 正在被重新启动
摧毁虚拟机(摧毁是等于直接拔电源)
[root@103 kvm ]# virsh destroy centos
域 centos 被删除
挂起虚拟机
[root@103 kvm ]# virsh suspend centos
域 centos 被挂起
恢复虚拟机
[root@103 kvm ]# virsh resume centos
域 centos 被重新恢复
删除虚拟机(危险操作)
[root@103 kvm ]# virsh undefine centos
域 centos 已经被取消定义
# 开机状态下的虚拟机刚删除还能查到虚拟机状态,但是将虚拟机关机之后就查不到了
查看配置文件
[root@103 kvm]
查看虚拟机端口
[root@103 kvm ]# virsh list
Id 名称 状态
----------------------------------------------------
1 db running
5 test running
9 centos running
[root@103 kvm ]# virsh vncdisplay db
:0
[root@103 kvm ]# virsh vncdisplay test
:1
# :0 即 为 5900 端口,以此类推 :1为5901
设置虚拟机开机自启
[root@103 kvm]
域 test 标记为自动开始
[root@103 kvm]
lrwxrwxrwx 1 root root 26 1月 16 11:32 /etc/libvirt/qemu/autostart/test.xml -> /etc/libvirt/qemu/test.xml
virsh autostart --disable test
查看kvm虚拟机网络信息
查看虚拟机IP
[root@103 ~]# virsh domifaddr centos7
名称 MAC 地址 Protocol Address
-------------------------------------------------------------------------------
vnet0 52:54:00:c5:45:16 ipv4 192.168.122.78/24
[root@103 ~]# virsh net-list
名称 状态 自动开始 持久
----------------------------------------------------------
default 活动 是 是
[root@103 ~]# virsh net-dhcp-leases default
Expiry Time MAC 地址 Protocol IP address Hostname Client ID or DUID
-------------------------------------------------------------------------------------------------------------------
2024-01-16 15:04:07 52:54:00:c5:45:16 ipv4 192.168.122.78/24 - -
console链接虚拟机
常规情况下,安装完 KVM 之后,可能都会通过 VNC 连接到 KVM 虚拟机里面去设置相应的 IP 等信息。但是这样子,一方面可能会因为打开过多的端口造成安全问题,另一方面也不是会便捷。
针对此种情况,我们可以使用 KVM 为我们提供的 console 接口功能,它可以采用字符界面进行 linux虚拟机控制台连接。
这样子,即使 KVM 虚拟机没有 IP 地址,又或者 KVM 虚拟机出现了问题通过 IP 连接不进去了,都可以很便捷的快速进入到 KVM 虚拟机里面去排查问题。
通过为内核传递参数 console=ttyS0,来让内核把输出定向至 ttyS0
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot重启虚拟机
宿主机上登陆
[root@103 ~]# virsh console db
连接到域 db
换码符为 ^]
CentOS Linux 7 (Core)
Kernel 3.10 .0 -1160. el7. x86_64 on an x86_64
db login: root
Password:
Last login: Tue Jan 16 01 :50 :22 on ttyS0
虚拟机添加磁盘
先创建一个空的磁盘文件
[root@103 kvm ]
[root@103 kvm ]
centos7.qcow2 disk.qcow2
查看虚拟磁盘文件
[root@103 kvm ]
image: disk.qcow2
file format: qcow2
virtual size: 5. 0G (5368709120 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
给虚拟机添加磁盘,支持热添加硬盘,无须关机
[root@103 kvm ]
成功附加磁盘
参数解释
virsh attach-disk 虚拟机名 磁盘文件位置 虚拟设备名 --live(激活) --cache=none(不要缓存) --subdriver=qcow2(使用qcow2这个类型驱动)
虚拟机上挂载磁盘
mkfs.xfs /dev/vdb
mount /dev/vdb /data/
xfs_growfs /new_vdb/ 更新xfs文件系统
也可以删除虚拟磁盘,例如要更换虚拟磁盘路径
[root@103 kvm ]
成功分离磁盘
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性