当前位置: 首页 > news >正文

昆明网站制作代理/搜索推广营销

昆明网站制作代理,搜索推广营销,电话营销技巧和营销方法,网页升级紧急通知每天正常更新kvm虚拟化平台部署 kvm概念简介 kvm自linux2.6版本以后就整合到内核中,因此可以看做是一个原生架构. kvm虚拟化架构 硬件底层提供物理层面的硬件支持 linux(host),就相当于这个架构中的宿主机,上面运行了多个虚拟机。…
  • kvm虚拟化平台部署

    • kvm概念简介

      • kvm自linux2.6版本以后就整合到内核中,因此可以看做是一个原生架构.

      • kvm虚拟化架构

          • 硬件底层提供物理层面的硬件支持

          • linux(host),就相当于这个架构中的宿主机,上面运行了多个虚拟机。

      • kvm组成部分

        • 基于内核支持的kvm模块

          • 根据qemu模拟出的硬件设备模拟出虚拟化环境

        • qemu(快速仿真器)

          • 模拟出硬件设备

      • kvm运行时额三种模式

        • 客户模式

          • 这是操作系统内核运行的地方,拥有最高级别的权限,可以直接访问硬件资源。 在KVM中,内核模式下的KVM模块负责处理虚拟化相关的任务,如创建虚拟机、分配虚拟硬件资源等。

            • 内核模式是操作系统内核运行的地方,拥有最高的权限等级,可以直接访问底层硬件资源。 KVM作为一个Linux内核模块,运行在内核模式下,负责虚拟机的创建、管理和调度。 KVM模块还负责捕获和处理客户模式中的CPU异常和特殊指令,例如特权指令。

              • 执行非io的客户代码,虚拟机运行在这个模式下

        • 用户模式

          • 用户模式程序运行在较低的权限级别下,不能直接访问硬件。 KVM使用一个名为qemu-kvm的用户空间程序来管理虚拟机的配置,并与内核模式交互以执行特定操作,比如启动、停止虚拟机或设置虚拟硬件属性。

            • 用户模式程序运行在较低的权限级别,不能直接访问硬件资源。 KVM使用一个名为qemu-kvm的用户空间程序,它负责配置虚拟机的硬件环境,如网络接口、磁盘设备等,并与内核模式进行交互。 用户模式程序还可以控制虚拟机的生命周期,包括启动、暂停、恢复和关闭等操作。

              • 用户执行io代码,qemu运行在这个模式下

        • 内核模式

          • 客户模式指的是运行在虚拟机内的操作系统或应用程序。 在这个模式下,客户操作系统认为自己是直接运行在物理硬件上,但实际上是由KVM模拟出的虚拟硬件环境。

            • 客户模式指的是运行在虚拟机内部的操作系统和应用程序。 当虚拟机运行时,其操作系统认为自己是在物理硬件上直接运行,但实际上所有的硬件资源都是由KVM模拟提供的。 客户模式的进程运行在虚拟化的环境中,可以访问虚拟化的CPU、内存和其他硬件资源。

              • cpu调度与内存管理

      • kvm工作原理

        • 用户模式的qemu利用ioctl系统调用进入内核模式。kvmdriver为虚拟机创建虚拟cpu和虚拟内存,然后执行vmlaunch指令进入客户模式,装载GuestOS并允许,guest运行过程中如果发生终端或者影子缺页等异常,将暂停GuestOS的运行,并保存上下文退出到内核模式来处理这些异常,内核模式处理这些一场如果不需要io则处理完成后重新进入客户模式,如果需要io则进入用户模式,由qemu来处理io,完成后进入内核模式,在进入客户模式

        • 流程示意图

    • kvm部署需要桌面版的linux

      • 依赖软件包

        • qemu-kvm

          • kvm模块,一般已经自带(核心包)

        • qemu-kvm-tools

          • kvm调试工具

        • qemu-img

          • qemu组件,创建磁盘,启动虚拟机(磁盘管理工具)

        • virt-install

          • 构建虚拟机的命令工具

        • virt-manager

          • 图形化界面的虚拟机管理工具

        • bridge-utils

          • 网络支持工具(虚拟机与外界通信的命令管理工具)

        • libvirt

          • 虚拟机管理工具

            • 核心工具

        • libguestfs-tools

          • 当虚拟机的磁盘格式为qcow2时,可利用该工具对磁盘文件进行操作。

      • 安装完毕后关闭虚拟机设置cpu支持虚拟化

          • 因为是利用虚拟机嵌套,所以内核与内存可以给的大一点。

      • 开机后进行验证

        • 查看cpu信息看是否支持

          • cat /proc/cpuinfo | grep vmx

            • 出现vmx字样表示支持,英特尔是该标识,amd则是vm

        • 查看系统模块

          • lsmod | grep kvm

            • 出现kvm表示有虚拟化模块

      • kvm网络相关设置

        • 类似于VMware虚拟机实现与外界通信时需要vmnet8,直连物理网络需要vmnet0一样 ,kvm虚拟机也需要一个网卡来实现这个功能。

        • 拷贝出桥接模式的网卡

          • cp ifcfg-ens33 ifcfg-br0

            • bridge桥接

        • 因为真实承载数据帧的网卡还是物理网卡,因此还需要真实网卡支持,(变更为桥接模式)

          • vim ifcfg-ens33

          • 添加一行将其改为桥接模式的网卡

            • BRIDGE=br0

        • 修改桥接模式的网卡配置文件br0

          • vim ifc-br0

            • TYPE=Bridge

              • 至关重要的类型修改,桥接模式

            • NAME=br0

              • 名称与设备相匹配

            • DEVICE=br0

              • 名称与设备相匹配

          • 最后重启网络

            • systemctl restart network

      • kvm管理

        • 图形化管理工具

          • virt-manager

            • 图形化工具的初始化界面
              • 标识1:创建存储池,存储池用于存放虚拟机磁盘数据。 标识2:创建卷,为虚拟机分配磁盘空间。
                • 标识1:名称随意,其他保持默认

                  • 选择存放空间,可以自己指定。 确定完后点完成
                    • 最后就成功创建了一个存储池

                • 标识2:格式有个raw格式,效率高,但无法通过libguestfs-tools提供的工具进行关机修改磁盘文件。最大空间不能超过可用空间。 名称尽量简单有代表性,可以使用创建的虚拟机的名字。

                  • 填写完毕后就创建了一个虚拟磁盘
            • 选中qemu/kvm右键,新建就能创建出虚拟机

              • 根据环境选择合适的安装介质,本案例以本地安装介质为例
                • 需要提前拷贝好系统的iso镜像文件到程序有权访问的位置

                • 通过浏览找到镜像文件

                  • 本地浏览找到位置

                  • 双击或打开之后点击前进

                    • 根据需要设置合理的内存,在嵌套的情况下,不能超过上一级虚拟机的最大内存。

                    • 在这里建议使用自己规定的虚拟机存储位置。

                      • 在这里我选择了创建出来的aaa存储池,存储池的路径可以自己指定。最后点击选择

                      • 该处的名字是在命令行使用命令需要敲的名字,因此简单好记有代表性为主。

                      • 点击完成后出现该字样就到了正常装系统的流程,根据需要部署即可。
        • kvm命令行管理

          • 查看命令帮助

            • virsh -h

          • 列出所有虚拟机并显示状态

            • virsh list --all

          • 开启虚拟机

            • virsh start 虚拟机名称

            • 通过配置文件启动

              • virsh create /etc/libvirt/qemu/test01.xml

                • 在该目录下会生成虚拟机对应的配置参数的.xml文件

          • 关闭虚拟机

            • virsh shutdown 虚拟机名称

            • 强制关闭

              • virsh destory 虚拟机名称

          • 挂起虚拟机

            • virsh suspend 虚拟机名称

          • 恢复虚拟机

            • virsh resume 挂起虚拟机的名称

          • 跟随虚拟机开机自启

            • virsh autostart 虚拟机名称

          • 导出虚拟机配置

            • virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml

              • 要导出的虚拟机以及导出后的位置与名称

          • 删除虚拟机

            • virsh undefine 虚拟机名称

              • 这种取消定义的方法进删除配置文件,并不会删除磁盘文件。

          • 添加被取消定义的虚拟机

            • 需要准备好配置文件

              • virsh define 指定配置文件

          • 通过管理工具修改磁盘信息

            • virsh edit 虚拟机名称

              • edit 编辑

        • kvm文件管理

          • 查看当前磁盘格式

            • qemu-img info /data_kvm/store/test01.qcow2

              • .qcow2的优势就是可以关机修改配置信息

          • 如果不是qcow2,需要修改回来的操作

            • 先关闭对应的虚拟机

              • virsh shutdown test01

            • qemu-img convert -f raw -O qcow2 /data_kvm/store/test01.img /data_kvm/store/test01.qcow2

            • 最后修改.xml文件中的磁盘类型与磁盘文件名

              • virsh edit test01

                • <driver name='qemu' type='qcow2' cache='none'/>

                • <source file='/data_KVM/store/test01.qcow2'/>

          • 查看虚拟机文件

            • virt-cat

              • 类似于cat命令

          • 编辑虚拟机文件

            • virt-edit

              • 类似于vim命令

          • 查看磁盘信息

            • virt-df

        • kvm虚拟机克隆

          • 需要关机才能做克隆

          • virt-clone -o test01 -n test02 -f /data_kvm/store/test02.qcow2

            • -o 源虚拟机

              • origin 起源

            • -n 克隆出的虚拟机的名称

            • -f 配置文件的位置与名称

        • 虚拟机快照

          • virsh snapshot-create 虚拟机名称

            • 已生成域快照 1503494464

              • 创建成功后会生成一个快照序列号(标识号)

          • virsh snapshot-current 快照序列号

            • 查看快照当前的虚拟机状态

          • virsh snapshot-list 虚拟机名称

            • 列出该虚拟机所有的快照

          • virsh snapshot-revert 虚拟机名称 快照序列号

            • 为该虚拟机恢复到该快照的状态

          • virsh snapshot-delete 快照序列号

            • 删除该快照

复制到xmind即可形成条理性笔记。 

相关文章:

kvm虚拟化平台部署

kvm虚拟化平台部署 kvm概念简介 kvm自linux2.6版本以后就整合到内核中&#xff0c;因此可以看做是一个原生架构. kvm虚拟化架构 硬件底层提供物理层面的硬件支持 linux&#xff08;host&#xff09;&#xff0c;就相当于这个架构中的宿主机&#xff0c;上面运行了多个虚拟机。…...

利用arthas热更新class文件

利用arthas热更新class文件 背景&#xff1a;发现一个bug&#xff0c;家里难以复现&#xff0c;需要在现场环境更新几行代码验证。 arthas-boot version: 3.7.1 java -jar arthas-boot.jar启动arthas 1、利用arthas的sc命令查找确定类名称 sc com.**2、反编译为java文件 …...

天机学堂 第四天 高并发优化总结

前端每隔15秒就发起一次请求&#xff0c;将播放记录写入数据库。 但问题是&#xff0c;提交播放记录的业务太复杂了&#xff0c;其中涉及到大量的数据库操作&#xff1a; 如何进行优化 单机并发能力 变同步为异步 合并写请求 提高单机并发&#xff1a;优化SQL&#xff0c;尽…...

Canva收购Leonardo.ai,增强生成式AI技术能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

前端练习<HtmlCSS>——照片墙(附完整代码及实现效果)

这个小练习也来源于b站up小K师兄&#xff0c;大家可以通过下面的链接学习哦~up讲的非常详细。 纯CSS写一个简单酷炫的照片墙效果&#xff5e; 先看一下这个照片墙的效果&#xff1a; 1.鼠标没有放到图片上时&#xff0c;照片同比例&#xff0c;每张照片都有倒影的效果。 2.然…...

PHP基于微信小程序的打车平台-计算机毕业设计源码78689

摘 要 本文介绍的是基于PHP开发的打车平台小程序。该系统旨在为用户提供一个便捷、高效的平台&#xff0c;以实现网约车的打车功能。随着社交媒体和互联网的普及&#xff0c;网约车已成为日常交通中常见的形式。然而&#xff0c;传统的打车方式存在不方便、不及时等问题。 微信…...

Vue element ui分页组件示例

https://andi.cn/page/621615.html...

redis存储结构

一、整体结构图 二、redisDb结构体 Redis是一个高性能的键值存储系统&#xff0c;它支持多种类型的数据结构&#xff0c;如字符串、列表、集合、散列等。Redis数据库由多个数据库组成&#xff0c;每个数据库用一个redisDb结构体来表示。 dict *dict; dict指向一个字典结构的指…...

SQL Server 数据误删的恢复

在日常的数据库管理中&#xff0c;数据的误删操作是难以避免的。为了确保数据的安全性和完整性&#xff0c;我们必须采取一些措施来进行数据的备份和恢复。本文将详细介绍如何在 SQL Server 中进行数据的备份和恢复操作&#xff0c;特别是在发生数据误删的情况下。假设我们已经…...

墨烯的C语言技术栈-C语言基础-018

char c; //1byte字节 8bit比特位 int main() { int a 10; //向内存申请四个字节,存储10 &a; //取地址操作符 return 0; } 每个字节都有地址 而a的地址就是它第一个字节的地址 要先开始调试才可以查看监控和查看内存 左边是地址 中间是内存中的数据 最后面的是…...

C端与B端 - 第一弹 - 理解和区分C端与B端软件开发

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有疑问和建议&#xff0c;请私信或评论留言&#xff01; 前言 在软件开发领域…...

穿越多元宇宙的.NET:一场跨平台的星际旅行

概述 在软件开发的浩瀚宇宙中&#xff0c;.NET无疑是一颗耀眼的恒星&#xff0c;散发着多平台开发的光芒。从单一的.NET Framework出发&#xff0c;我们如今已拥有一个多元化的.NET宇宙&#xff0c;每个变体都是一个独特的星球&#xff0c;拥有自己的生态系统和生存法则。本文将…...

Python自学第五天

# 嵌套 字典嵌套字典 # 字典列表 now {pet:cat,color:black} now1 {pet:cat,color:pipe} wq [now,now1] # 这里是中括号 不是花括号 花括号打印不出来 for ff in wq:print(ff) # 创建20个外星人 打印前三个 并且显示一共创建了多少个外星人 now [] for wq in range(20):# 这…...

Cookie-Monster:一款针对Web浏览器的安全分析与数据提取工具

关于Cookie-Monster Cookie-Monster是一款针对常见Web浏览器的安全分析与数据提取工具&#xff0c;该工具可以帮助广大研究人员提取并分析Edge、Chrome和Firefox浏览器中的Cookie数据。 Cookie-Monster适用于红队和蓝队成员&#xff0c;能够提取WebKit主密钥&#xff0c;找到具…...

C语言的结构体

结构体定义 结构体指针...

C语言 写一个函数days,实现某日在本年中是第几天计算。

写一个函数days, 【定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题&#xff08;即将闰年情况包含在内&#xff09;】 由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。 ​#include <stdio.h>typedef struct {int yea…...

2-50 基于matlab的遗传模拟退火算法的聚类算法

基于matlab的遗传模拟退火算法的聚类算法&#xff0c;以模糊K-均值聚类算法为基础&#xff0c;对各样本的聚类中心进行优化&#xff0c;输出聚类可视化结果。聚类类别数可自由输入。程序已调通&#xff0c;可直接运行。 2-50 遗传模拟退火算法的聚类算法 - 小红书 (xiaohongshu…...

电脑屏幕录制软件,分享4款(2024最新)

在今天&#xff0c;我们的电脑屏幕成为了一个多彩多姿的窗口。通过它我们可以浏览网页、观看视频、处理文档、进行游戏……有时&#xff0c;我们想要记录下这些精彩瞬间&#xff0c;与朋友分享&#xff0c;或者作为教程留存&#xff0c;这时&#xff0c;电脑屏幕录制就显得尤为…...

机械学习—零基础学习日志(高数16——函数极限性质)

零基础为了学人工智能&#xff0c;真的开始复习高数 这里我们继续学习函数极限的性质。 局部有界性 充分条件与必要条件 极限存在是函数局部有界的充分条件。什么是充分条件&#xff0c;什么是必要条件呢&#xff1f;我这里做了一点小思考&#xff0c;和大家分享&#xff0c…...

初识c++——list

一、list 1、list结构 c中list为双向带头循环列表&#xff1a; 二、list接口 1、构造 using namespace std; #include<iostream> #include<list> #include<vector> int main() {list<int> lt; //构造空的listlist<int> lt1(10, 1); //构造的l…...

angular入门基础教程(八)表单之双向绑定

绑定表单数据 为了让表单使用 Angular 的特性实现数据绑定&#xff0c;需要导入 FormsModule。 这个比 vue 要繁琐点&#xff0c;不复杂&#xff0c;但是比 react 的自己手动实现要方便&#xff0c;ng 帮我们实现了双向绑定 import { Component } from "angular/core&qu…...

【C++】C++中的find方法介绍

目录 一.find方法基本用法 1.查找字符 2.查找子字符串 3.查找子字符串&#xff08;从指定位置开始&#xff09; 4.查找字符范围 5.查找不包含特定字符的范围 二.使用string::npos返回无效位置 三.总结 在C中&#xff0c; std::string 类的 find 成员函数用于查找子字…...

JVM—HotSpot虚拟机对象探秘

1、对象的创建 对象只是普通对象&#xff0c;不包括数组和Class对象 类加载检查&#xff1a;当虚拟机遇到字节码New指令时&#xff0c;先检查这个指令的参数是否可以在常量池定位到一个类的符号引用&#xff0c;并且加载这个符号引用代表的类是否被加载、解析、验证、初始化过。…...

AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?

在前面的人工智能测试技术系列文章中&#xff0c;我们详细介绍了人工智能测试的技术方法和实践流程。在了解人工智能测试方法后&#xff0c;我们需要进一步学习和研究如何衡量这些方法的有效性&#xff0c;即人工智能模型测试指标的选择。测试指标的选择主要取决于模型的类型和…...

探索LLM世界:新手小白的学习路线图

随着人工智能的发展&#xff0c;语言模型&#xff08;Language Models, LLM&#xff09;在自然语言处理&#xff08;NLP&#xff09;领域的应用越来越广泛。对于新手小白来说&#xff0c;学习LLM不仅能提升技术水平&#xff0c;还能为职业发展带来巨大的机遇。那么&#xff0c;…...

Linux基础命令大全 持续更新中......

最近重新学习了linux基础知识&#xff0c;并整理出了以下内容&#xff0c;以供参考 最近几日后续会持续更新内容哦 用户管理 加括号的代表可以不写 useradd &#xff08;参数选项&#xff09; 用户名 添加新用户 passwd &#xff08;参数选项&#xff09; 用户名 用…...

CPU的起源与发展历程

CPU的起源与发展历程 文章目录 CPU的起源与发展历程前言指令概念电子管&#xff08;真空管&#xff09;体系结构冯诺依曼架构哈佛架构 晶体管集成电路指令集与微架构微处理器x86架构CISC与RISC的提出MIPS架构ARM架构RISC-V架构FPGA 总结 前言 ​ 从古至今&#xff0c;人类为了…...

【C语言】 二叉树创建(结构体,先序遍历,中序遍历,后续遍历)

二叉树的创建&#xff1a;首先先定义一个结构体&#xff0c;里面包含数据&#xff08;data&#xff09;&#xff0c;指向左子树的指针&#xff08;L&#xff09;&#xff0c;指向右子树的指针&#xff08;R&#xff09;三个部分 在创建树的函数中&#xff0c;首先先输入…...

【和相同的二元子数组】python刷题记录

R2-前缀和专题 目录 前缀和哈希表 双指针 ps: 第一眼过去&#xff0c;这题应该能用双指针解出来&#xff0c;应该也能用前缀和解题。 前缀和哈希表 适用于 nums[i] 值不固定为 0 和 1 的其他情况 class Solution:def numSubarraysWithSum(self, nums: List[int], goal: i…...

【单片机毕业设计选题24087】-基于北斗系统的智能路灯

系统功能: 系统操作说明&#xff1a; 上电后OLED显示 “欢迎使用智能路灯系统请稍后”&#xff0c;两秒后显示Connecting...表示 正在连接阿里云&#xff0c;正常连接阿里云后显示第一页面&#xff0c;如长时间显示Connecting...请 检查WiFi网络是否正确。 系统分为四种模…...