virsh日常管理命令

news2024/11/17 7:40:35

virsh日常管理命令

    • virsh日常管理命令
      • 创建vm实例
        • 规范网卡编号从0开始
        • Centos7最小化安装环境勾选
        • VM实例建议只分配`/`分区
      • 查看vm列表
      • 启动vm实例--start
      • vm实例(软)关机--shutdown
      • vm实例断电关机--destroy
      • vm实例(软)重启--reboot
      • vm实例重命名--domrename
      • vm实例挂起--suspend
        • 查看vm实例挂起之后的运行进程
      • vm实例恢复--resume
      • 查看vnc端口号--vncdisaplay
      • vm实例开机自启
        • 查看哪些vm实例开机自启
        • 查看vm实例是否开机自启
    • vm实例配置管理命令
        • --config, --live, --current
      • 查看虚拟机信息
        • 查看虚拟机磁盘
        • 查看虚拟网卡
        • 查看vm实例的虚拟接口IP地址--domifaddr(不管用)
        • 查看vm实例的cpu数量--vcpucount
      • 查看/导出vm实例配置--dumpxml
      • 导入vm实例配置--define
      • 删除vm实例配置文件--undefine
      • 修改vm实例配置--edit
        • 修改内存的大小--setmem
        • 设置内存的最大值--setmaxmem
        • 修改虚拟处理器的数量--setvcpus
      • 修改vm实例的网络配置--net-edit
        • 删除vm实例的网卡
    • console控制台管理
      • vm实例中添加ttyS0许可
        • Centos7的console配置
        • RHEL8的console配置
        • RHEL9的console配置
      • console控制台登陆vm

virsh日常管理命令

参考1: https://blog.csdn.net/vast0906/article/details/75549263

参考2: https://mp.weixin.qq.com/s?src=3&timestamp=1673845152&ver=1&signature=8t9e7mpq30t0Q9NNpuhVGldTgflPvvJ9rFrKCCHlzjcPb1xHZgkvwMbTpJdYASGhqXhKY-FObZ1rAK7Se4p9a5t3kXUpZg5DVEpLIDZYcFYodqA6X6bad2X35WZOVHySAyuT0FQ97ogdQ9ULF3MvJoMcPcy5mtXb0aPcwP8=

参考3: https://blog.51cto.com/aaronstudy/1417425

help显示该命令的说明
quit结束 virsh,回到 Shell
connect连接到指定的虚拟机服务器
create启动一个新的虚拟机
destroy删除一个虚拟机
start开启(已定义的)非启动的虚拟机
define从 XML定义一个虚拟机(导入配置)
undefine取消定义的虚拟机(删除配置)
dumpxml转储虚拟机的设置值
list列出虚拟机
reboot重新启动虚拟机
save存储虚拟机的状态
restore回复虚拟机的状态
suspend暂停虚拟机的执行
resume继续执行该虚拟机
dump将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown关闭虚拟机
setmem修改内存的大小
setmaxmem设置内存的最大值
setvcpus修改虚拟处理器的数量

创建vm实例

https://www.cnblogs.com/wshenjin/p/11082906.html
注意,参数指定的路径kvm用户有读写权限才可以正常创建。

## --virt-type 指定虚拟化类型
## --os-type=linux  指定操作系统类型
## --os-variant   指定操作系统版本
## --name     指定vm实例名称
## --memory   指定内存大小单位MB
## --vcpus    指定cpu核数
## --disk     指定vm实例的磁盘路径
### format=raw,size=10 指定磁盘格式为raw,磁盘大小10GB
## --cdrom    系统安装光盘文件的路径
## network    指定网络类型,默认是NAT模式
## graphics vnc  把图形画面交给vnc的服务端来输出
### listen=0.0.0.0 vnc服务器监听的IP地址
virt-install \
--virt-type kvm \
--os-type=linux \
--os-variant rhel7 \
--name vm名称 \
--memory 1024 \
--vcpus 1 \
--disk /opt/centos3.qcow2,format=qcow2,size=10 \
--cdrom /opt/CentOS-7-x86_64-Minimal-1810.iso \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--console pty,target_type=serial \
--extra-args 'console=ttyS0,115200n8 serial' \
--noautoconsole

规范网卡编号从0开始

https://blog.csdn.net/omaidb/article/details/128706852
之前默认的网卡都是eth0,Centos7.6只会的系统会以ens33开头
image.png


Centos7最小化安装环境勾选

image.png


VM实例建议只分配/分区

分区建议只分配/swap视情况而定

image.png


查看vm列表

# 查看所有开机的vm实例
virsh list

# 查看所有vm实例,包括关机
virsh list --all

image.png


启动vm实例–start

# 启动vm实例
virsh start vm名称

vm实例(软)关机–shutdown

Linux通过acpid服务来执行电源关闭的动作,vm实例如果没有安装acpiid服务,使用virsh可能无法关机.

# vm实例安装acpid电源管理服务
yum install -y acpid

# vm实例启动acpid电源管理服务
systemctl enable --now acpid

# 将vm实例关机
virsh shutdown vm名称

vm实例断电关机–destroy

shutdown无响应的情况下才推荐执行,暴力关机,可能会丢数据

# 断开vm实例电源
virsh destroy vm名称

vm实例(软)重启–reboot

# vm实例(软)重启
virsh reboot vm名称

vm实例重命名–domrename

kvm低版本不支持domrename命令

# vm实例重命名
virsh domrename vm名称

vm实例挂起–suspend

# vm实例挂起
virsh suspend vm名称

查看vm实例挂起之后的运行进程

# 查看挂起之后的运行进程
ps -ef|grep qemu

vm实例恢复–resume

# vm实例恢复
virsh resume vm名称

查看vnc端口号–vncdisaplay

# 查看vnc端口号
virsh vncdisplay vm名称

image.png


vm实例开机自启

kvm宿主机libvirt服务启动后,指定vm实例宿主机启动。

# 设置vm实例开机自启
virsh autostart vm名称

# 取消vm实例开机自启
virsh autostart --disable vm名称

查看哪些vm实例开机自启

# 查看哪些vm实例开机自启
ll /etc/libvirt/qemu/autostart/

image.png


查看vm实例是否开机自启

# 查看vm实例是否开机自启
virsh dominfo vm名称 | grep -i autostart

image.png


vm实例配置管理命令


–config, --live, --current

  • –config(写入到VM实例的配置文件,下次VM生效)

使用–config时,只会修改对应虚拟机的XML配置。这个配置直到虚拟机下一次启动时才会生效。注意,使用virsh reboot domain并不会让新的设置生效!

  • –live(立即生效)

当使–live时,客户机(就是虚拟机)必须是活动状态,配置会立即生效。可以看到,如果使–live时,客户机没有启动,系统会报错的。而且,这时并没有将配置写到虚拟机的XML配置中,即,在虚拟机下一次启动时,这个配置就没了。
如果hypervisor支持的话,可以同时使用–config 和 --live。

  • –current

使用 --current时,会根据当前客户机的状态来生效。这个说的有点隐晦,实际上就是说,当客户机处于关闭状态时,它等价–config;当客户机处于运行状态时,它等价于–live。


查看虚拟机信息

# 查看虚拟机信息
virsh dominfo vm名称

image.png


查看虚拟机磁盘

# 查看虚拟机磁盘
virsh domblklist vm名称

image.png


查看虚拟网卡

# 查看虚拟网卡
virsh domiflist vm名称

image.png


查看vm实例的虚拟接口IP地址–domifaddr(不管用)

# 查看vm实例的虚拟接口IP地址
virsh domifaddr vm名称

查看vm实例的cpu数量–vcpucount

# 查看vm实例的cpu数量
virsh vcpucount vm名称

image.png


查看/导出vm实例配置–dumpxml

# 查看vm实例配置
virsh dumpxml vm名称

# 导出vm实例配置
virsh dumpxml vm名称 > /tmp/vm名称.xml

image.png


导入vm实例配置–define

# 导入vm实例配置
virsh define vm名称 /tmp/vm名称.xml

删除vm实例配置文件–undefine

推荐先destroy(关闭vm电源),再undefine,否则虚拟机关机后会消失。

# 关闭vm电源
virsh destroy vm名称

# 删除vm实例配置
virsh undefine vm名称

修改vm实例配置–edit

使用virsh edit有自动语法检查功能,配置错误的将无法保存。

# 修改vm实例配置
virsh edit vm名称

修改内存的大小–setmem

https://www.cnblogs.com/wshenjin/p/11083337.html

# 修改内存的大小
## 通过--live参数直接生效
virsh setmem vm名称 --size 524288  --live --config 

设置内存的最大值–setmaxmem

https://www.cnblogs.com/wshenjin/p/11083337.html
需要关闭虚拟机再配置

# 设置内存的最大值
virsh setmaxmem vm名称 1572864 --config

修改虚拟处理器的数量–setvcpus

https://www.cnblogs.com/wshenjin/p/11086655.html

# 查看vm示例限定的最大CPU
virsh vcpucount vm名称

image.png

# 修改虚拟处理器的数量
## --maximum 限定的最大数量
virsh setvcpus vm名称 --maximum 4 --config

# 可以通过--live参数直接生效
## 支持热增加,但不支持热减少 
virsh setvcpus vm名称 --count 2 --live

修改vm实例的网络配置–net-edit

# 修改vm实例的网络配置
virsh net-edit --network hostonly

删除vm实例的网卡

https://www.cnblogs.com/wshenjin/p/11060636.html


console控制台管理


vm实例中添加ttyS0许可

如果vm实例不指定console端口波特率,是无法通过virsh console控制的。

# 备份Grup文件
cp /boot/grub2/grup.cfg{,.bak}

# 更新内核参数配置
## 115200是波特率
## n8的意思是8位
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

# vm实例重启后console生效
reboot

image.png


Centos7的console配置

# 查看Centos7的console配置
grep console /boot/grub2/grub.cfg

image.png


RHEL8的console配置

# 查看RHEL8的grup配置
grep console /boot/grub2/grub.cfg

image.png


RHEL9的console配置

# 查看RHEL9的grup配置
grep console /boot/grub2/grub.cfg

image.png


console控制台登陆vm

# console控制台登陆vm
virsh console vm名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch:从 Kafka 到 Elasticsearch 的实时用户配置文件数据管道

如今,网络服务、数字媒体、传感器日志数据等众多来源产生了大量数据,只有一小部分数据得到妥善管理或利用来创造价值。读取大量数据、处理数据并根据这些数据采取行动比以往任何时候都更具挑战性。 在这篇文章中,我试图展示: 在…

Discord教程:Discord账号注册、Discord多账号登录和管理

Discord最初是为游戏玩家在群聊和交流而创建的。但自疫情爆发以来,许多企业、公司和初创公司发现,居家办公时使用Discord进行日常沟通非常便捷。 Discord不再是仅限于游戏玩家,平台建立了不同于其他任何社交空间的新空间,封闭又开…

9、矩阵的简单运算

目录 一、矩阵的加减运算 二、矩阵的乘方运算 1.数与矩阵的乘法 2.矩阵与矩阵的乘法 三、矩阵的除法 四、矩阵的幂运算 五、矩阵元素的查找 六、矩阵元素的排序 七、矩阵元素的求和 八、矩阵元素的求积 九、矩阵元素的差分 一、矩阵的加减运算 进行矩阵加法、减法运…

前端学习第四站——CSS全面学习基础篇

目录 一、基础认知 1.1 CSS的介绍 1.2 语法规则 1.3 CSS初体验 1.4 CSS初识-小结 2.1 CSS引入方式 二、基础选择器 1.1 选择器的作用 1.2 标签选择器 1.3. 类选择器 1.4 id选择器 补充:类和id的区别 1.5 通配符选择器 三、字体和文本样式 1. 字体样式 …

python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)

系列文章目录 python开发低代码数据可视化大屏:pandas.read_excel读取表格python实现直接读取excle数据实现的百度地图标注python数据可视化开发(1):Matplotlib库基础知识 文章目录系列文章目录前言实践目标一、读取Excel数据read_excel参数说明读取全部…

Launcher应用列表内搜索框显示异常

问题描述 应用列表界面搜索框显示异常。本地试验后发现以下规律。 1、删除几个底边栏图标 2、旋转屏幕 3、进入应用列表,观察上方搜索框显示 问题分析 此问题是launcher内部界面显示问题,比较初级。找到规律后,发现应用列表内搜索框和底边…

【Hadoop】MapReduce数据倾斜问题解决方案

默认情况下Map任务的数量与InputSplit数量保持一致,Map阶段的执行效率也与InputSplit数量相关,当遇到大量的小文件时我们采用SequenceFile合并成一个大文件,以此来提高运行效率(【Hadoop】MapReduce小文件问题解决方案&#xff08…

OJ万题详解––高考排名(C++详解)

题目 题目描述 高考成绩的排名规则是按总分由高到低排,总分相同的人排名应相同,例如有 5 个同学的考高成绩: 考号姓名成绩001c1567002ygh605003gl690004xtb605005wzs567按照成绩排序后,成绩如下: 排名考号姓名成绩1003…

C/C++ 相关低耦合代码的设计

在我们设计C/C 程序的时候,有时需要两个类或者两个模块相互“认识”,或者两个模块间函数互相调用,假设我们正在开发一个网上商店,代表的网店客户的类必须要知道相关的账户。UML图如下,这被称为环依赖,这两个…

【GIS前沿】什么是新型基础测绘、内容、产品体系、特征?

《测绘法》指出,基础测绘是建立和维护全国统一的测绘基准和测绘系统,进行航天航空影像获取,建立和更新维护基础地理信息数据库,提供测绘地理信息应用服务等。 文章目录一、什么是新型基础测绘?二、新型基础测绘的特征三…

6、场景法

为什么使用场景法 现在的系统基本上都是由事件来触发控制流程的。如:我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触…

1.Docker Desktop安装设置

1.下载最新版本Download Docker Desktop | Docker 2.进行安装 2.1进行4.x版本安装 2.2最新版本出现问题 出现 docker desktop stopped 过一会后 quit退出,下载3.x版本 2.3继续安装 Enable Hyper-V windows Features 启动Hyper-V windows 虚拟化功能 百度百科-验证…

【GD32F427开发板试用】一、环境搭建与freertos移植

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:chenjie 【GD32F427开发板试用】一、环境搭建与freertos移植 【GD32F427开发板试用】二、USB库移植与双USB CDC-ACM功能开发 【GD32F427开发板…

java集合类(属于工具类)概述

Java集合类可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。 Java集合大致可分为Set、List、Queue和Map四种体系: 其中Set代表无序、不可重复的集合&…

限制系统性能瓶颈的因素、衡量系统性能的指标

文章目录限制系统性能瓶颈的因素cpu内存磁盘IO网络IO异常数据库锁竞争衡量系统性能的指标响应时间吞吐量计算机资源分配使用率负载承受能力有时候我们的程序性能不高,需要提升性能,这个时候可以从以下几个角度去考虑是什么限制了我们的性能瓶颈.限制系统性能瓶颈的因素 cpu 有…

spring-bean的生命周期-【源码解析】-上

一、spring的bean概念Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。Bean的生命周期就是指…

RocketMq-dashboard:topic 5min trend 原理和源码分析(一)

本文阅读基础:使用或了解过rocketMq;想了解"topic 5min trend"背后的原理;想了解监控模式如何实现。RocketMq的dashboard,有运维页面,驾驶舱,集群页面,主题页面,消费者页面…

[羊城杯 2020]easyre 1题解

一步一个脚印地耐心攀登,就是别去看顶峰,而要专注于在爬的路。 ——黑泽明 目录 1.查壳 2.IDA静态分析main函数 3.研究三重加密 第一重加密 第二重加密 第三重加密 4.解密 1.查壳 64bit exe文件 2.IDA静态分析main函数 拖入IDA,找到…

芯片验证系列——Checker

在产生了有效的激励后,需要判断出不符合功能描述的行为。Checker就是用于查看DUT是否按照功能描述做出期望的行为,识别出所有的设计缺陷。 按照激励的生成方式和检查的功能点分布可以将验证划分为三种方式: 黑盒验证:验证环境不…

【Vue】前端工程化与 webpack

一、前端工程化前端开发1.1 小白眼中的前端开发会写 HTML CSS JavaScript 就会前端开发需要美化页面样式,就拽一个 bootstrap 过来需要操作 DOM 或发起 Ajax 请求,再拽一个 jQuery 过来需要快速实现网页布局效果,就拽一个 Layui 过来1.2 实…