kvm管理工具-virsh
virsh
- 查看全部虚拟机列表
- 停止虚拟机列表
- 启动虚拟机
- 强制关闭虚拟机
- 连接虚拟机控制台
- 查看虚拟机的详细信息
- 查看虚拟机接口信息
- 查看虚拟机xml文件配置
- 删除虚拟机
KVM(Kernel-based Virtual Machine)是一种基于 Linux 内核的虚拟化技术,允许在一个物理主机上运行多个虚拟机。KVM 提供了一组命令行工具来管理虚拟机的创建、启动、停止、管理和监控等操作。openstack默认使用kvm作为底层虚拟化技术
查看全部虚拟机列表
包含关闭和运行的
root@controller:~# virsh list --allId Name State
-----------------------------------3 instance-00000004 running
停止虚拟机列表
指定id或者虚拟机名称
root@controller:~# virsh shutdown 3
Domain '3' is being shutdownroot@controller:~# virsh list --allId Name State
------------------------------------- instance-00000004 shut off
启动虚拟机
注意启动虚拟机则必须要指定名称,此时没有id
root@controller:~# virsh start instance-00000004
Domain 'instance-00000004' startedroot@controller:~# virsh list --allId Name State
-----------------------------------4 instance-00000004 running
强制关闭虚拟机
类似断电关机,此时可以指定id或者名称
root@controller:~# virsh list --allId Name State
-----------------------------------4 instance-00000004 runningroot@controller:~# virsh destroy 4
error: failed to get domain '4'root@controller:~# virsh list --allId Name State
------------------------------------- instance-00000004 shut off
连接虚拟机控制台
ctrl+】可退出
root@controller:~# virsh list --allId Name State
-----------------------------------7 instance-00000004 runningroot@controller:~# virsh console 7
Connected to domain 'instance-00000004'
Escape character is ^] (Ctrl + ])login as 'cirros' user. default password: 'cubswin:)'. use 'sudo' for root.
test login: cirros
Password:
$ sudo su -
# exit
$ exitlogin as 'cirros' user. default password: 'cubswin:)'. use 'sudo' for root.
test login:
root@controller:~#
查看虚拟机的详细信息
此时可以查看到虚拟机的内存,cpu等
root@controller:~# virsh list --allId Name State
-----------------------------------7 instance-00000004 runningroot@controller:~# virsh dominfo 7
Id: 7
Name: instance-00000004
UUID: 0b910f75-3c81-4919-a01a-b70a314a3a3e
OS Type: hvm
State: running
CPU(s): 1
CPU time: 12.9s
Max memory: 1048576 KiB
Used memory: 1048576 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: apparmor
Security DOI: 0
Security label: libvirt-0b910f75-3c81-4919-a01a-b70a314a3a3e (enforcing)
查看虚拟机接口信息
查看接口和mac地址
root@controller:~# virsh list --allId Name State
-----------------------------------7 instance-00000004 runningroot@controller:~# virsh domiflist 7Interface Type Source Model MAC
------------------------------------------------------------------tapacf8cea4-33 ethernet - virtio fa:16:3e:33:d6:52root@controller:~#
查看虚拟机xml文件配置
会列出有关虚拟机的所有信息,需要过滤一下,例如查看虚拟机的ip信息
root@controller:~# virsh dumpxml instance-00000004 | grep address<nova:ip type="fixed" address="10.0.0.11" ipVersion="4"/><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/><mac address='fa:16:3e:33:d6:52'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/><address type='usb' bus='0' port='1'/><address type='usb' bus='0' port='2'/><listen type='address' address='192.168.200.195'/><address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
root@controller:~#
查看虚拟机的名称,在openstack中创建名称为test
root@controller:~# virsh dumpxml 8|grep nova:name<nova:name>test</nova:name>
删除虚拟机
首先关闭虚拟机,如果关闭不了则强行关机,然后删除虚拟机。
root@controller:~# virsh list --allId Name State
-----------------------------------7 instance-00000004 runningroot@controller:~# virsh shutdown 7
Domain '7' is being shutdownroot@controller:~# virsh undefine instance-00000004
Domain 'instance-00000004' has been undefinedroot@controller:~# virsh list --allId Name State
--------------------root@controller:~#
但是需要注意的是,不会实际删除openstack中的实例,实例重启后,virsh list又会出现
因为在 OpenStack 中,虚拟机实例的生命周期和 hypervisor 中的虚拟机的生命周期是分开管理的。当使用 virsh undefine 命令删除 hypervisor 中的虚拟机时,并不会影响 OpenStack 数据库中对应虚拟机实例的记录。
在 OpenStack 中,虚拟机的状态和其他元数据被存储在数据库中。即使 hypervisor 中的虚拟机被删除,OpenStack 数据库中的虚拟机记录仍然存在。因此,当重启实例时,OpenStack 会检查数据库中的记录,发现虚拟机实例丢失,并尝试重新创建它。
相关文章:
kvm管理工具-virsh
virsh 查看全部虚拟机列表停止虚拟机列表启动虚拟机强制关闭虚拟机连接虚拟机控制台查看虚拟机的详细信息查看虚拟机接口信息查看虚拟机xml文件配置删除虚拟机 KVM(Kernel-based Virtual Machine)是一种基于 Linux 内核的虚拟化技术,允许在一…...
VisionPro的应用和入门教程
第1章 关于VisionPro 1.1 康耐视的核心技术 1. 先进的视觉系统 康耐视的视觉系统结合了高性能的图像传感器、复杂的算法和强大的计算能力,能够实时捕捉、分析和处理高分辨率图像。其视觉系统包括固定式和手持式两种,适用于各种工业环境。无论是精密电…...
整数规划问题算法例子
整数规划问题算法概述 整数规划(Integer Programming, IP)问题是优化问题的一种,其中决策变量必须取整数值。整数规划问题在许多实际应用中广泛存在,如资源分配、排班、路径优化等。 0-1背包问题旅行商问题利用线性规划库求解整数规划问题的方法 以下是两个常见的整数规划…...
C#启动一个cmd.exe多次随时输入命令并获取输出
想要实现的效果,程序通过Process类一次启动cmd,后台线程每隔一定时间,向其输入命令,获得并处理输出。 一、基本操作 首先,通常操作的例子一抓一大把: 1、通过Process启动cmd执行一条/多条(&am…...
持续总结中!2024年面试必问 20 道分布式、微服务面试题(五)
上一篇地址:持续总结中!2024年面试必问 20 道分布式、微服务面试题(四)-CSDN博客 九、请解释API网关在微服务架构中的作用。 API网关是微服务架构中的一个重要组件,它充当所有客户端请求的单一入口点,然后…...
Android输入法IME(三)之 管理端(IMMS)启动流程
2.2. IME管理端(IMMS)初始化流程 IMMS运行在system server进程中,属于系统服务的一部分,用于控制输入法的显示/隐藏、切换、绑定等操作。 涉及代码文件路径: IMMS运行在system server进程中,属于系统服务的…...
elasticsearch安装与使用(4)-搜索入门
1、创建索引 PUT /hotel {"mappings": {"properties":{"title":{"type": "text"},"city":{"type": "keyword"},"price":{"type":"double"}}} }2、写入文档 …...
【UML用户指南】-12-对高级结构建模-接口、类型和角色
目录 1、名称 2、操作 3、关系 4、理解接口 5、常用建模技术 5.1、对系统中的接缝建模 5.2、对静态类型和动态类型建模 5.2.1、对静态类型建模 5.2.2、对动态类型建模 使接口易于理解和易于访问 接口在关于一个抽象做什么的描述与关于这个抽象如何做的实现之间定义了…...
C++笔试强训day42
目录 1.最大差值 2.兑换零钱 3.小红的子串 1.最大差值 链接https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId182&tqId34396&rp1&ru/exam/company&qru/exam/company&sourceUrl%2Fexam%2Fcompany&difficulty2&judgeSta…...
Docker 中运行的 MySQL 数据库与 Docker 外部的管理系统连接
步骤 1:运行 MySQL 容器 首先,确保你的 Docker 容器中运行了 MySQL 数据库。 docker run --name mysql-container -e MYSQL_ROOT_PASSWORDmy-secret-pw -d -p 3306:3306 mysql:latest--name mysql-container 为容器命名。-e MYSQL_ROOT_PASSWORDmy-sec…...
10 设备树
掌握设备树是 Linux 驱动开发人员必备的技能! 1、什么是设备树 新版本 Linux 中,ARM 相关的驱动全部采用了设备树。Linux-4.1.15 支持设备树。我们了解一下设备树的起源、重点学习一下设备树语法。 设备树:Device Tree,就是“设备”和“树”,描述设备树的文件叫做 DTS(…...
【架构分析】GPU执行GEMM矩阵运算实例演示
背景介绍 Cutlass是 NVIDIA 提供的一套用于高效实现矩阵乘法和卷积操作的 C 库。它以 CUDA 为基础,提供了高度优化的数学运算,尤其适用于GPU上的高性能并行计算。本文以GEMM矩阵运算作为实例,展示Cutlass在GPU上执行GEMM运算的过程 实例演示…...
从《千脑智能》看大模型
千脑智能与大模型 千脑智能介绍 世界模型千脑智能理论——对大脑的全新理解旧大脑:演化的历史烙印新大脑:智慧的创新引擎新旧大脑的互动与争斗启示与借鉴 大脑对信息的处理和建模六根六尘六识 新脑:智能的创新中枢旧脑:生存的本能…...
k8s Pods漂移时间配置
默认为300秒 apiVersion: apps/v1 kind: Deployment metadata:name: my-test spec:replicas: 1selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80tolerations:- key: &…...
Python - json 美化格式、保存文件
文章目录 读取长篇幅的 jsonl 文件时,我们难以了解 json 的格式,复制出来贴到 sojson 之类的网站,当数据量大的时候感觉麻烦。 不如自己写个 json 格式美化,然后保存到文件。 text open(file_path).readline() # 读取 jsonl 文…...
博客目录~
1、Jenkins构建打包部署前端Vue项目至Nginx-CSDN博客 2、https://blog.csdn.net/askuld/article/details/139429298 3、基于DockerJenkins实现自动部署SpringBootMaven项目-CSDN博客 4、时序数据库ClickHouse的安装使用_clickhouse安装使用-CSDN博客 5、Valid,…...
RPC RMI 区别以及在java中的应用
文章目录 1. 简介1.1 什么是RPC1.2 什么是RMI 2. RPC与RMI的区别2.1 RPC和RMI的优缺点对比RPC的优点RPC的缺点RMI的优点RMI的缺点 2.2 选择RPC还是RMI?应用场景和考虑因素选择RPC的场景选择RMI的场景 3. RPC在Java框架中的应用3.1 Java中常用的RPC框架3.2 RPC在Java…...
TCP和udp能使用同一个端口通讯吗
TCP和UDP是可以使用同一个端口进行通讯的。这是因为TCP和UDP是两个完全不同的协议,它们工作在传输层,各自维护不同的连接和会话。每个协议都有自己的端口号空间,因此TCP和UDP可以互不干扰地使用相同的端口号。 但是,需要注意的是…...
红黑树的介绍与实现
前言 前面我们介绍了AVL树,AVL树是一棵非常自律的树,有着严格的高度可控制!但是正它的自律给他带来了另一个问题,即虽然他的查找效率很高,但是插入和删除由于旋转而导致效率没有那么高。我们上一期的结尾说过经常修改…...
easyexcel将csv转为excel处理数字问题
使用easyexcel可以将csv格式的文件转为.xlsx文件,但是csv中有很多数字,比如:"123","12.34","-111",默认情况下会将其作为字符串写入.xlsx文件,就如同下面一样,字符类型的数字…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
