kvm虚拟化
虚拟化是一种资源管理技术,是将计算机的各种资源,如服务器,网络,内存及存储等,以抽象,转换后呈现出来,打破物理设备结构见的不可切割的障碍,使用户可以比原来的架构更好的方式来应用
这些资源的虚拟部分是不受现有资源的架构方式,地域或物理设备的限制
虚拟化创建了一个隔离层,把硬件和上层应用分离开来,允许在硬件资源上运行多个逻辑应用
虚拟化有:服务器虚拟化,应用程序虚拟化,展现层虚拟化,桌面虚拟化
虚拟机嵌套
window > vmware > 宿主机(centos7) > 安装kvm > 创建kvm虚拟机
部署kvm
装第一个
yum install libvirt virt-install qemu-kvm -y
#yum -y install qemu-kvm libvirt virt-manager virt-install
virt-viewer#yum install libvirt* virt-* qemu-kvm* -y#安装软件说明
libvirt 创建虚拟机管理
virt 虚拟机克隆
qemu 管理虚拟机硬盘qemu-kvm: 为kvm提供底层仿真支持
libvirt-daemon: libvirtd守护进程,管理虚拟机
libvirt-client: 用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu: libvirtd连接qemu的驱动
libvirt: 使用最多的KVM虚拟化管理工具和应用程序接口,即通过libvirt调用KVM创建虚拟机,
libvirt是KVM通用的访问API,其不但能管理KVM,还能管理VMware、Xen、Hyper-V、
virtualBox等虚拟化方案。
virt-manager: 图形界面管理工具,其底层也是调用libvirt API来完成对虚拟机的操作,包括虚拟机的
创建、删除、启动、停止以及一些简单的监控功能等。
virt-install: 虚拟机命令行安装工具
virsh: 命令行工具是基于 libvirt API 创建的命令行工具,它可以作为图形化的 virt-manager 应用的
备选工具。virsh 命令可以被用来创建虚拟化任务管理脚本,如安装、启动和停止虚拟机
virt-viewer: 通过 VNC 和 SPICE 协议显示虚拟机器图形控制台的最小工具。该工具在其同名软件包
中:virtviewer
cockpit: CentOS8 专门提供的基于Web的虚拟机管理界面启动服务
[root@test3 ~]# systemctl start libvirtd.service
[root@test3 ~]# systemctl status libvirtd.service
● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2024-05-16 09:48:53 EDT; 3min 55s agoDocs: man:libvirtd(8)https://libvirt.orgMain PID: 1012 (libvirtd)Tasks: 19 (limit: 32768)Memory: 36.1M
创建一个虚拟机
--virt-type HV_TYPE 要使用的管理程序名称(kvm,qemu,xen,...)
--os-type 系统类型
--os-variant DISTRO_VARIANT 在客户机上安装的操作系统,例如:'fedora28、rhel6、winxp等'
-n NAME,--name NAME 客户机实列名称
--memory MEMORY 配置客户机虚拟内存大小
--vcpus VCPUS 配置客户机虚拟cpu(vcpu)数据
--disk DISK 指定存储的各种选项
-cdrom CDROM 光驱安装介质
-w NETWORK,--network NETWORK 配置客户机网络接口
--graphics GRAPHICE 配置客户机现实设置虚拟化平台选项
-v,--hvm 这个客户机应该是一个全虚拟化的客户机
-p,--paravirt 这个客户机应该是一个半虚拟化的客户机
--container 这个客户机应该是一台容器客户机
--virt-type HV_TYPE 要使用容器的管理程序名称(kvm,qemu,xen,..)
--arch ARCH 模拟cpu架构
--machine MACHINE 机器类型为仿真类型其他选项
--noautoconsole 不要自动尝试连接到客户端控制台
--autostart 主机启动时自动启动域
--noreboot 安装完成后不启动客户机以上信息通过 virt-install --help 获取
安装操作系统的方式
装系统方式1. 基于现有完整的OS镜像,重新装
2. 基于现有一个系统的硬盘,开机即可#virt-install 安装虚拟机
# cpu,内存,系统ISO选择,网络模式(defalut nat ,kvm网络环境,又是一个单独的 192.168.0.xx)
# network=default#kmv特性,是在创建时候,虚拟机的硬件上线,就限制死了
#--memory 2048 -vcpus 2
#如果想动态修改kvm虚拟机的配置,还得额外添加参数,设置最大内存,设置最大cpu才可以
# -vcpus 2 给当前虚拟机,设置2核 ,2个工作的cpu线程,top 看到 cpu0 cpu1
# maxvcpus=8 ,当前虚拟机动态设置到最高8核,cpu0 ~ cpu7
# -vcpus 2,maxvcpus=8
# --memory 2048,maxmemory=4096 给这个机器2G内存,可动态设置到最大 4G内存
# --disk /data/linux0224_cento7.raw,format=raw,size=10
# 虚拟机的磁盘文件,放在/data/ 磁盘文件类型,raw类型,最大容量是 10G
# vmware用的虚拟磁盘类型是 vmdk格式,存储工程师关心的,了解即可# --cdrom /opt/CentOS-7-x86_64-DVD-1804.iso 制定安装os镜像#
# --network network=default # --graphics vnc,listen=0.0.0.0 --noautoconsole # 网络模式选择是nat,开启vnc功能 listen 虚拟机运行后,会开启vnc端口,绑定0.0.0.0 从外网去链接
# 阿里云的服务器,也是这个参数,一样样,也开启vnc功能virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name linux0224_cento7 --memory 2048,maxmemory=4096 --vcpus 2,maxvcpus=8 --disk /data/linux0224_cento7.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-2009.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole#查看运行中的kvm
[root@test3 data]# virsh listId Name State
----------------------------------------------------1 linux0224_cento7 running#查看运行中的kvm(包括挂了的)
[root@test3 data]# virsh list --allId Name State
----------------------------------------------------1 linux0224_cento7 running#查看虚拟机端口,ip情况,可以用ssh去连接
[root@test3 data]# virsh domifaddr linux0224_cento7Name MAC address Protocol Address
-------------------------------------------------------------------------------#用vnc连接
[root@test3 data]# virsh vncdisplay linux0224_cento7
:0
vnc默认产生的端口,:0 即为5900 以此类推 :1 为5901
[root@test3 data]# netstat -tunlp|grep kvm
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 4591/qemu-kvm virsh dumpxml linux0224_cento7 导出虚拟机的配置文件
配置文件中就是定义了当前机器的一些信息,如cpu,磁盘,网络等,想修改虚拟机的信息,就是该这个配置文件
装完虚拟机之后
[root@localhost opt]# virsh list --allId Name State
----------------------------------------------------- linux0224_cento7 shut off#把他给开机
[root@localhost opt]# virsh --help|grep startautostart autostart a domaindefine define (but don't start) a domain from an XML filestart start a (previously defined) inactive domainiface-start start a physical host interface (enable it / "if-up")net-autostart autostart a networknet-start start a (previously defined) inactive networkpool-autostart autostart a poolpool-start start a (previously defined) inactive pool
[root@localhost opt]# virsh start linux0224_cento7
Domain linux0224_cento7 started[root@localhost opt]#
[root@localhost opt]#
[root@localhost opt]# virsh listId Name State
----------------------------------------------------3 linux0224_cento7 running#查看ip情况
[root@localhost opt]# virsh domifaddr linux0224_cento7Name MAC address Protocol Address
-------------------------------------------------------------------------------vnet0 52:54:00:f2:60:4e ipv4 192.168.122.218/24#此时就可以通过ssh连接了
[root@localhost opt]# ssh root@192.168.122.218
The authenticity of host '192.168.122.218 (192.168.122.218)' can't be established.
ECDSA key fingerprint is SHA256:35q+qgdpexAK2dXVHCJjhkIwXZS3Y11iqiL7Tkf9pt0.
ECDSA key fingerprint is MD5:7c:09:7c:d5:43:bd:b3:db:d4:ae:bf:78:67:78:23:6c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.218' (ECDSA) to the list of known hosts.
root@192.168.122.218's password:
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:f2:60:4e brd ff:ff:ff:ff:ff:ffinet 192.168.122.218/24 brd 192.168.122.255 scope global noprefixroute dynamic eth0valid_lft 3164sec preferred_lft 3164secinet6 fe80::2ba4:e902:8dd3:7cc/64 scope link noprefixroute valid_lft forever preferred_lft forever强制删除就是删除这个路径下的文件配置,用virsh list 看的也是这个文件,有用命令就能现实出来,没有就不能显示出来
[root@localhost ~]# ll /etc/libvirt/qemu/
total 8
-rw-------. 1 root root 4263 Jun 2 09:57 linux0224_cento7.xml
drwx------. 3 root root 42 Jun 2 09:53 networks#设置kvm开机自启,每次宿主机启动 kvm就启动
[root@localhost ~]# systemctl enable libvirtd
[root@localhost ~]# systemctl is-enabled libvirtd
enabled
[root@localhost ~]# virsh autostart linux0224_cento7
Domain linux0224_cento7 marked as autostarted#开机自启会自动创建一个软连接
[root@localhost ~]# ll /etc/libvirt/qemu/autostart/linux0224_cento7.xml
lrwxrwxrwx. 1 root root 38 Jun 2 21:41 /etc/libvirt/qemu/autostart/linux0224_cento7.xml -> /etc/libvirt/qemu/linux0224_cento7.xml#禁止开机自启,此时那个软连接就没了
[root@localhost ~]# virsh autostart --disable linux0224_cento7
Domain linux0224_cento7 unmarked as autostarted[root@localhost ~]# ll /etc/libvirt/qemu/autostart/linux0224_cento7.xml
ls: cannot access /etc/libvirt/qemu/autostart/linux0224_cento7.xml: No such file or directory搜索镜像[root@localhost ~]# osinfo-query osShort ID | Name | Version | ID
----------------------+----------------------------------------------------+----------+-----------------------------------------alpinelinux3.5 | Alpine Linux 3.5 | 3.5 | http://alpinelinux.org/alpinelinux/3.5 alpinelinux3.6 | Alpine Linux 3.6 | 3.6 | http://alpinelinux.org/alpinelinux/3.6 alpinelinux3.7 | Alpine Linux 3.7 | 3.7 | http://alpinelinux.org/alpinelinux/3.7 alpinelinux3.8 | Alpine Linux 3.8 | 3.8 | http://alpinelinux.org/alpinelinux/3.8 alt.p8 | ALT p8 StarterKits | p8 | http://altlinux.org/alt/p8.starterkits alt.p9 | ALT p9 StarterKits | p9 | http://altlinux.org/alt/p9.starterkits alt.sisyphus | ALT regular | sisyphus | http://altlinux.org/alt/sisyphus alt8.0 | ALT 8 Education | 8.0 | http://altlinux.org/alt/8.0 alt8.1 | ALT 8.1 | 8.1 | http://altlinux.org/alt/8.1
console连接
#在没配置内核时,时不能console的,他会一直卡在那,输入ctrl + ] 退出
[root@localhost ~]# virsh console linux0224_cento7
Connected to domain linux0224_cento7
Escape character is ^][root@localhost ~]# 如何用 console 连接
用vnc连接更改内核参数
1.通过为内核传递参数 console=ttyS0,来让内核把输出定向至 ttyS0
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot此时再用console连接
[root@localhost ~]# virsh console linux0224_cento7
Connected to domain linux0224_cento7
Escape character is ^]#按回车
CentOS Linux 7 (Core)
Kernel 3.10.0-1160.el7.x86_64 on an x86_64localhost login: ubuntu开启console
如下一个简单的命令,就可以开启console了
RHEL/CentOS7和Ubuntu 15.04都使用了systemd,所以也可以直接使用systemctl来启用Guest虚拟机的控制台,方法相同systemctl enable serial-getty@ttyS0.servicesystemctl start serial-getty@ttyS0.service
相关文章:
kvm虚拟化
虚拟化是一种资源管理技术,是将计算机的各种资源,如服务器,网络,内存及存储等,以抽象,转换后呈现出来,打破物理设备结构见的不可切割的障碍,使用户可以比原来的架构更好的方式来应用…...
算法训练营第五十天 | LeetCode 198 打家劫舍、LeetCode 213 打家劫舍II、LeetCode 337 打家劫舍III
LeetCode 198 打家劫舍 代码如下: class Solution { public:int rob(vector<int>& nums) {vector<int> dp(nums.size() 1, 0);dp[1] nums[0];for (int i 2; i < nums.size(); i) {dp[i] max(dp[i - 1] ,dp[i - 2] nums[i - 1]);}return dp…...
linux学习:进程通信 管道
目录 例子1 父进程向子进程发送一条消息,子进程读取这条消息 例子2 mkfifo 函数创建一个命名管道 例子3 mkfifo 函数创建一个命名管道处理可能出现的错误 例子4 管道文件是否已存在 例子5 除了“文件已存在”进行处理 例子6 创建一个命名管道&…...
重大变化,2024软考!
根据官方发布的2024年度计算机技术与软件专业技术资格(水平)考试安排,2024年软考上、下半年开考科目有着巨大变化,我为大家整理了相关信息,大家可以看看! 🎯2024年上半年:5月25日&am…...
DRIVEN|15分的CNN+LightGBM怎么做特征分类,适用于转录组
说在前面 今天分享一篇做深度学习模型的文章,这是一篇软硬结合的研究,排除转换实体产品,我们做生信基础研究的可以学习模仿这个算法,适用且不局限于临床资料,转录组数据,GWAS数据。 今天给大家分享的一篇文…...
react 怎样配置ant design Pro 路由?
Ant Design Pro 是基于 umi 和 dva 的框架,umi 已经预置了路由功能,只需要在 config/router.config.js 中添加路由信息即可。 例如,假设你需要为 HelloWorld 组件创建一个路由,你可以将以下代码添加到 config/router.config.js 中…...
DBSCAN 算法【python,机器学习,算法】
DBSCAN 即 Density of Based Spatial Clustering of Applications with Noise,带噪声的基于空间密度聚类算法。 算法步骤: 初始化: 首先,为每个数据点分配一个初始聚类标签,这里设为0,表示该点尚未被分配…...
MySQL之查询性能优化(六)
查询性能优化 查询优化器 9.等值传播 如果两个列的值通过等式关联,那么MySQL能够把其中一个列的WHERE条件传递到另一列上。例如,我们看下面的查询: mysql> SELECT film.film_id FROM film-> INNER JOIN film_actor USING(film_id)-> WHERE f…...
生成树协议STP(Spanning Tree Protocol)
为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol࿰…...
03-3.1.1 栈的基本概念
👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…...
排序算法集合
1. 冒泡排序 排序的过程分为多趟,在每一趟中,从前向后遍历数组的无序部分,通过交换相邻两数位置的方式,将无序元素中最大的元素移动到无序部分的末尾(第一趟中,将最大的元素移动到数组倒数第一的位置&…...
pdf文件太大如何变小,苹果电脑压缩pdf文件大小工具软件
压缩PDF文件是我们在日常办公和学习中经常会遇到的需求。PDF文件由于其跨平台、保持格式不变的特点,被广泛应用于各种场合。然而,有时候我们收到的PDF文件可能过大,不便于传输和存储,这时候就需要对PDF文件进行压缩。下面…...
vite项目打包,内存溢出
解决方案: "build1": "node --max-old-space-size8096 ./node_modules/vite/bin/vite.js build", 人工智能学习网站 https://chat.xutongbao.top...
Matlab解决施密特正交规范化矩阵(代码开源)
#最近在学习matlab,刚好和线代论文重合了 于是心血来潮用matlab建了一个模型来解决施密特正交规范化矩阵。 我们知道这个正交化矩阵挺公式化的,一般公式化的内容我们都可以用计算机来进行操作,节约我们人工的时间。 我们首先把矩阵导入进去…...
自养号测评助力:如何打造沃尔玛爆款?
沃尔玛,作为全球零售业的领军者,其平台为卖家们提供了一个巨大的商业舞台。然而,在这个竞争激烈的舞台上,如何迅速且有效地提升销量,成为了卖家们必须面对的重大挑战。 在探讨沃尔玛平台销量提升的策略时,我…...
C语言编译与链接
C语言编译与链接 目录 C语言编译与链接 一、概述 二、编译过程 三、链接过程...
电子电器架构 --- 智能座舱技术分类
电子电器架构 — 智能座舱技术分类 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,…...
提供操作日志、审计日志解决方案思路
操作日志 现在大部分公司一般使用SpringCloud这条技术栈,操作日志通过网关Gateway提供的Globalfilter统一拦截请求解析请求是比较好的选选择。 优点:相对于传统的过滤器、拦截器同步阻塞方案,SpringCloud Gateway使用的Webflux中的reactor-…...
选择富唯智能的可重构装配系统,就是选择了一个可靠的合作伙伴
在数字化、智能化的浪潮中,制造业正迎来一场前所未有的变革。而在这场变革中,富唯智能凭借其卓越的技术实力和创新能力,成为引领行业发展的领军企业。选择富唯智能的可重构装配系统,就是选择了一个可靠的合作伙伴,共同…...
echarts tooltip太多显示问题解决方案
思路:设置5个一换行 tooltip: {trigger: axis,confine:true,//限制tooltip在图表范围内展示// extraCssText: max-height:60%;overflow-y:scroll,//最大高度以及超出处理extraCssText: max-height:60%;overflow-y:scroll;white-space: normal;word-break: break-al…...
【control_manager】无法加载,gazebo_ros2_control 0.4.8,机械臂乱飞
删除URDF和SDRF文件中的特殊注释#, !,: xacro文件解析为字符串时出现报错 一开始疯狂报错Waiting for /controller_manager node to exist 1717585645.4673686 [spawner-2] [INFO] [1717585645.467015300] [spawner_joint_state_broadcaster]: Waiting for /con…...
深入对比:Transformer与LSTM的详细解析
在深度学习和自然语言处理(NLP)领域,Transformer和长短时记忆网络(LSTM)是两个备受瞩目的模型。它们各自拥有独特的优势,并在不同的任务中发挥着重要作用。本文将对这两种模型进行详细对比,帮助…...
lsof 命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) …...
F5G城市光网,助力“一网通城”筑基数字中国
《淮南子》中说,“临河而羡鱼,不如归家织网”。 这句话在后世比喻为做任何事情都需要提前做好准备,有了合适的工具,牢固的基础,各种难题也会迎刃而解。 如今,数字中国发展建设如火如荼,各项任务…...
Ownips+Coze海外社媒数据分析实战指南
目录 一、引言二、ISP代理简介三、应用实践——基于Ownips和coze的社媒智能分析助手3.1、Twitter趋势数据采集3.1.1、Twitter趋势数据接口分析3.1.2、Ownips原生住宅ISP选取与配置3.1.3、数据采集 3.2、基于Ownips和Coze的社媒智能助手3.2.1、Ownips数据采集插件集成3.2.2、创建…...
C#操作MySQL从入门到精通(10)——对查询数据进行通配符过滤
前言 我们有时候需要查询数据,并且这个数据包含某个字符串,这时候我们再使用where就无法实现了,所以mysql中提供了一种模糊查询机制,通过Like关键字来实现,下面进行详细介绍: 本次查询的表中数据如下: 1、使用(%)通配符 %通配符的作用是,表示任意字符出现任意次数…...
厘米级精确定位,开启定位技术新时代
定位技术在当前这个科技发展时代可以说是以以前所未有的速度在发展,其中厘米级精确定位技术更是成为当前的研究热点和实际应用中的佼佼者。这项技术以其高度的精准性和广泛的应用前景,正在逐渐改变我们的生活和工作方式。接下来我们跟着深圳沧穹科技一起…...
docker 存储 网络 命令
文章目录 1 docker存储1.1 目录挂载2.1卷映射2.1.1卷映射和目录挂载的区别2.1.2卷映射的使用 2 docker网络2.1查看docker的默认网络2.2查看容器的IP2.3容器互通2.4自定义网络2.4.1 创建自定义网络2.4.2创建容器的时候加入到自定义的网络2.4.3使用域名进行容器之间的访问2.4.4re…...
【MATLAB源码-第222期】基于matlab的改进蚁群算法三维栅格地图路径规划,加入精英蚁群策略。包括起点终点,障碍物,着火点,楼梯。
操作环境: MATLAB 2022a 1、算法描述 蚁群算法(Ant Colony Optimization,ACO)是一种通过模拟蚂蚁觅食行为的启发式优化算法。它由意大利学者Marco Dorigo在20世纪90年代初提出,最初用于解决旅行商问题(T…...
百度ERNIE系列预训练语言模型浅析(4)-总结篇
总结:ERNIE 3.0与ERNIE 2.0比较 (1)相同点: 采用连续学习 采用了多个语义层级的预训练任务 (2)不同点: ERNIE 3.0 Transformer-XL Encoder(自回归自编码), ERNIE 2.0 Transformer Encode…...
国外做内容网站/百度指数的功能
如今,面对形形色色的商品以及各式各样的产品服务项目以及越来越难满足的顾客,对于线下门店而言, “商品”作为门店盈利非常关键因素。光靠经验是远远不够的,必须懂得运用数据,从中挖掘可以提高门店营收能力的关键点。 …...
做网站挂广告赚钱犯法吗/无锡网站关键词推广
Next[i]数组是得到模式串 i之前最大重复长度,在形成next数组的时候,每当失配时 把jnext[j] 去寻找比当前小一点的长度继续开始 如 : abcabcabcd 在 i9 和j6 是失配,所以到此时 以最长重复字符串abcabc的next数组中的值位参考数据…...
广东网站制作哪家强/宁波网站推广优化公司电话
build.gradle中的minSdkVersion设置过小,为15,改为29即可。...
海洋网站建设性价比高/大搜推广
1.纹理坐标 纹理坐标是纹理图像上的坐标,通过纹理坐标可以在纹理图像上获取纹理颜色。WebGL系统中的纹理坐标系统是二维的,如图所示。为了将纹理坐标和广泛使用的x、y坐标区分开来,WebGL使用s和t命名纹理坐标(st坐标系统ÿ…...
香港可以做违法网站吗/广州百度竞价托管
https://www.jianshu.com/p/3d3950c9fb06 我们知道 当今的数据处理大致可分为两大类 联机事务处理 OLTP (on-line transaction processing) 联机分析处理 OLAP (On-Line Analytical Processing) OLTP 是传统关系型数据库的主要应用 用来执行一些基本的、日常的事务处理 比如…...
建筑企业网站模板免费下载/seo推广策略
http://topic.csdn.net/u/20110630/12/08b2975f-cce2-4f5a-8397-7b9b87bc1324.html...