首页
关于道锋
工具
友情链接
公告栏
麟图图床
麟云文件
麟云KMS
Search
1
兽装曲腿制作文档
909 阅读
2
Frpc使用XTCP不通过服务器传输
782 阅读
3
CloudFront CDN配置教程
566 阅读
4
NTP放大反射攻击扫描列表教程
427 阅读
5
优化你的Typecho禁止F12和查看源码
289 阅读
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
登录
Search
标签搜索
开源
源码
教程
服务器
环境搭建
摄影
rustlang
Rust
VS CODE
v2ray
bbr
加速
网络优化
拥塞控制
CloudFront教程
CF教程
AWS教程
CloudFront接入
Frpc
Frps
道锋潜鳞
累计撰写
446
篇文章
累计收到
67
条评论
首页
栏目
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
页面
关于道锋
工具
友情链接
公告栏
友人
PCD-01’s Blog
iMin博客
特资啦!个人资源分享站
黎洛云综合门户网站
1mxy笔记
三石的记录
咬一口激动的鱼
温瞳's Blog
中二病晚期の物語
奇梦博客
布丁の小窝
道麟笔记
小林笔记
迷失的小K
koto's Site
Abyss-博客
西西のBlog
麟图图床
麟云文件
麟云KMS
搜索到
23
篇与
的结果
2023-03-04
KVM 应用-创建虚拟机
KVM 应用-创建虚拟机
2023年03月04日
16 阅读
0 评论
0 点赞
2023-03-04
KVM 虚拟机系统安装
KVM 虚拟机系统安装
2023年03月04日
28 阅读
0 评论
0 点赞
2023-03-04
CentOS 8 VNC远程桌面
CentOS 8 VNC远程桌面
2023年03月04日
58 阅读
0 评论
0 点赞
2023-03-04
虚拟化与KVM介绍
虚拟化与KVM介绍
2023年03月04日
50 阅读
0 评论
0 点赞
2022-04-17
境外服务器的各种线路说明
通过一篇短文带你了解AS4809,AS4134,AS4837,AS9929,CUVIP,AS9809,CN2,GIA,GT等各种网络线路,让你挑选服务器的时候,能够更加得心应手
2022年04月17日
158 阅读
0 评论
0 点赞
2021-12-20
Docker 重置 docker0 网卡
作者在使用docker的过程中,遇到了件糟心事。我的宿主机莫名其妙被封了ip,据说是由于莫名其妙的疑似攻击行为(我寻思着我打攻击干嘛啊?)然后起初不知道,因为那天堪萨斯机房刚刚好刮风,吧网给挂断了,本以为只是网的问题,一波操作吧全部网卡配置全咔嚓掉了,重新配置eth0。很显然,网还是不通。。。然后今天,机房那边给我解了这子虚乌有的封禁,进了一波机器,重启了一下,然后苦逼的发现图床怎么502了!!!进了ifconfig看了一下,好家伙,docker0的网卡没ip了。。咋办呢,重新装docker不成?不重新安装?图床,小说网都搁那502,宿主机不通容器。。理解Docker0Docker启动的时候会在主机上自动创建一个docker0网桥,实际上是一个Linux网桥,所有容器的启动如果在docker run的时候没有指定网络模式的情况下都会挂载到docker0网桥上。这样容器就可以和主机甚至是其他容器之间通讯了。那安装这么说,我能不能先关闭docker,然后删除这个网桥,最后再重载docker呢实践我的宿主机使用的是centos8系统,以centos8为例```yang pkill docker iptables -t nat -F ifconfig docker0 down ## 删除docker0 网卡 nmcli c delete docker0 nmcli d delete docker0 docker -d systemctl restart docker ```首先先杀掉docker进程(最好先保存一下运行的容器)然后使用iptables清除所有的网桥配置然后关闭目标网卡,删除目标网卡最后重载docker结束经过一番瞎几把操作,宿主机和容器的通信恢复输入ifconfig也能查看到docker0获取到了地址同时容器的子虚拟网卡也正常运行
2021年12月20日
128 阅读
0 评论
0 点赞
2021-10-16
BBR一键脚本 BBR/BBR Plus/魔改BBR/锐速(LotServer)四合一
关于BBR Plus,什么是BBR?BBR是Google推出的一套拥塞控制算法,集成在最新的Linux内核中。BBR应用在VPS服务器上,可以明显改善服务器的网络传输速度,减少丢包。而BBR Plus版本,以及魔改版BBR,则是网友在原版BBR的基础上,对一些参数进行改良后的修正版本,比原版BBR有着更为显著的加速效果。至于两个改良版本哪个加速效果更好,大家可以分别安装测试,选取最适合自己的版本。下文会提供各版本的一键安装脚本。BBR Plus版本的优点:修正了原版BBR的以下两项缺点,加速效果更好:在高丢包率环境下容易失速收敛慢BBR Plus版本的不足:脚本仍在完善阶段,在少部分系统中可能会安装失败。由于涉及到内核的修改,部分系统环境下,可能会导致重启无法进入系统。虽然加速效果更好,但是考虑到系统数据安全的话,还是建议大家以试用为主,不要在生产环境下尝试安装BBR Plus。总的来说,BBR作为在Cubic之后提出的拥塞控制算法,它的有很多优点,并且解决了Cubic算法存在的一些问题,但是因为它并非是采用丢包作为拥塞信号,也带来了一些新的问题。BBR的公平性存在问题,它会抢占Cubic算法的带宽(取决于瓶颈缓冲区的大小)BBR的机制会导致高重传率 BBR目前来看,只能说和Cubic更有优劣,两者擅长处理的网络环境并不相同。不过它不采用丢包作为拥塞信号,而是通过自己评估,也许会在其他的环境下取得更好的成绩,比如说和强化学习相结合。BBR Plus一键安装脚本(四合一)本文介绍的BBR Plus一键安装脚本数据源,来自网友cx9208的Github参考,在此感谢一下。除了BBR Plus外,此脚本还另外集成有原版BBR一键安装、魔改BBR一键安装、锐速(lotServer)一键安装,为四合一版本,四个版本可以切换使用。另外,鉴于市面上目前的bbr一键脚本为直接从github获取数据,如果想要在中国大陆内使用的话,难免会遇到大范围的网络波动情况,甚至无法使用。因此在中间介入了反向代理系统,用于向全球范围内提供数据分发能力,也为大陆用户的体验提升了一个档次适用架构:KVM / Xen,不支持OpenVZ(OVZ)。适用系统:CentOS 7、Debian 8、Debian 9、Ubuntu 16.04、Ubuntu 18.04。BBR Plus一键安装脚本使用:1.FinalShell,Xshell,Putty连接VPS服务器,运行如下脚本:wget --no-check-certificate -O tcp.sh https://www.silverdragon.cn/downloads/tcp.sh && chmod +x tcp.sh && ./tcp.sh2.接下来会出现菜单选择界面,如下图所示,我们需要先安装对应的内核,之后再开启加速。以BBR Plus版本为例,输入对应的数字2回车,开始安装内核。3.原有内核卸载完毕,新内核安装成功后,会出现下图提示重启,输入Y回车或直接回车重启:4.重启后再次用Putty连接VPS服务器,运行如下命令重新打开脚本:./tcp.sh5.在脚本菜单选项中,输入数字7回车,开启BBR Plus加速:6.出现下图提示,则表示BBR Plus加速成功开启:7.如果需要安装或切换其它版本的加速,比如原版BBR、魔改BBR、锐速(LotServer)等,那么需要重新进行以上各流程,选择对应版本的内核,内核安装成功后重启系统开启加速。8.最后,可以再次运行脚本,输入10来对系统网络配置进行优化,然后安装提示重启
2021年10月16日
100 阅读
0 评论
0 点赞
2020-10-08
云计算与KVM实践(网卡番外)
KVM-QEMU虚拟化具有四种虚拟网络设备1.rtl8139 经典的100M螃蟹网卡兼容性好,但是性能差劲。 这个网卡模式是qemu-kvm默认的模拟网卡类型,RTL8139是Realtek半导体公司的一个10/100M网卡系列,是曾经非常流行(当然现在看来有点古老)且兼容性好的网卡,几乎所有的现代操作系统都对RTL8139网卡驱动的提供支持 2.e1000 经典的1000M的Intel网卡,兼容性好,但性能一般般 纯的QEMU(非qemu-kvm)默认就是提供Intel e1000系列的虚拟网卡 3.virtio 半虚拟化神作网卡,10G网络带宽,性能优秀,但占用CPU 类型是qemu-kvm对半虚拟化IO(virtio)驱动的支持 4.VT-d 物理设备透传网卡(SR-IOV),性能优秀,但考研硬件设备 ps:以上解释为个人解释,非严谨解释先按照顺序测试一下所有网卡设备性能。测试平台:宿主机系统:Ubuntu 18.04 宿主机CPU:Intel I7-3630QM 宿主机内存:8G 神州K580S移动平台 客户机系统 Windows10 1903 客户机CPU:I7-3630QM(四线程) 客户机内存:4G 软件平台:iperf3 PS:测试数据仅供参考,具体由平台而异一、Rtl8139网卡启动KVM虚拟机打开iperf3进行TCP速度测试RTL8139网卡客户机上行速度RTL8139网卡客户机下行速度可以看出上行速度略高于下行速度。但交换性能较低二、e1000网卡e1000网卡客户机上行速度e1000网卡客户机下行速度e1000网卡是其中比较诡异的,下行速度基本上满载,而上行只能占据越60%的性能。且交换性能较低三、Virtio网卡virtio网卡客户机上行速度virtio网卡客户机下行速度virtio是唯一可以达到10Gb/s的,根据文献一,其iperf测试速率可达到9.4。文献1还提到如果virtio配置不合理速度只能达到3.6。不用担心这个情况,经查验ovirt自己生成的虚拟机配置都是合理的使用virtio_net半虚拟化驱动,可以提高网络吞吐量(thoughput)和降低网络延迟(latency),从而让客户机中网络达到几乎和原生网卡差不多的性能。四,VT-d网卡(平台不支持,略过,但是是真正最接近原生平台性能的网卡(硬件虚拟化))
2020年10月08日
78 阅读
3 评论
0 点赞
2020-10-07
云计算与KVM实践运用3
1.什么是KVM KVM的简史KVM (全称是 Kernel-based Virtual Machine) 基于内核的虚拟机。前面提到的,是采用硬件虚拟化技术的全虚拟化解决方案,但是其究竟是归于1类机还是2类机一直具有争议。ps:首先其基于kernel module的形式,与kernel融为一体,可认定为1类机,但其在逻辑上又受制于kernel ,资源管理均由kernel实现,又可认定为2类机。由 Quramnet开发,该公司于 2008年被 Red Hat 收购。它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。它需要支持虚拟化扩展的CPU。它是完全开源的。官方网站:http://www.linux-kvm.org/page/Main_PageKVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KVM 能够使用Linux 内核的已有功能。但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 内核模块/dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O被 KVM 拦截后,交给 QEMU 处理。QEMU:修改过的为KVM虚机使用的QEMU代码,运行在用户空间,提供硬件I/O虚拟化,通过IOCTL /dev/kvm 设备和 KVM 交互。KVM 是实现拦截虚机的 I/O 请求的原理: 现代 CPU 本身实现了对特殊指令的截获和重定向的硬件支持,甚至新硬件会提供额外的资源来帮助软件实现对关键硬件资源的虚拟化从而提高性能。以 X86 平台为例,支持虚拟化技术的 CPU 带有特别优化过的指令集来控制虚拟化过程。通过这些指令集,VMM 很容易将客户机置于一种受限制的模式下运行,一旦客户机试图访问物理资源,硬件会暂停客户机运行,将控制权交回给 VMM 处理。VMM 还可以利用硬件的虚级化增强机制,将客户机在受限模式下对一些特定资源的访问,完全由硬件重定向到 VMM 指定的虚拟资源,整个过程不需要暂停客户机的运行和 VMM 的参与。由于虚拟化硬件提供全新的架构,支持操作系统直接在上面运行,无需进行二进制转换,减少了相关的性能开销,极大简化了VMM的设计,使得VMM性能更加强大。从 2005 年开始,Intel 在其处理器产品线中推广 Intel Virtualization Technology 即 IntelVT 技术。QEMU-KVM: 其实 QEMU 原本不是 KVM 的一部分,它自己就是一个纯软件实现的虚拟化系统,所以其性能低下。但是,QEMU 代码中包含整套的虚拟机实现,包括处理器虚拟化,内存虚拟化,以及 KVM需要使用到的虚拟设备模拟(网卡、显卡、存储控制器和硬盘等)。 为了简化代码,KVM 在 QEMU 的基础上做了修改。VM 运行期间,QEMU 会通过 KVM 模块提供的系统调用进入内核,由 KVM 负责将虚拟机置于处理的特殊模式运行。当虚机进行 I/O 操作时,KVM 会从上次系统调用出口处返回 QEMU,由 QEMU 来负责解析和模拟这些设备。 从 QEMU 角度看,也可以说是 QEMU 使用了 KVM 模块的虚拟化功能,为自己的虚机提供了硬件虚拟化加速。除此以外,虚机的配置和创建、虚机运行所依赖的虚拟设备、虚机运行时的用户环境和交互,以及一些虚机的特定技术比如动态迁移,都是 QEMU 自己实现的。 KVM: KVM 内核模块在运行时按需加载进入内核空间运行。KVM 本身不执行任何设备模拟,需要 QEMU 通过 /dev/kvm 接口设置一个 GUEST OS 的地址空间,向它提供模拟的 I/O 设备,并将它的视频显示映射回宿主机的显示屏。它是KVM 虚机的核心部分,其主要功能是初始化 CPU 硬件,打开虚拟化模式,然后将虚拟客户机运行在虚拟机模式下,并对虚机的运行提供一定的支持。以在 Intel 上运行为例,KVM 模块被加载的时候,它:首先初始化内部的数据结构;做好准备后,KVM 模块检测当前的 CPU,然后打开 CPU 控制及存取 CR4 的虚拟化模式开关,并通过执行 VMXON 指令将宿主操作系统置于虚拟化模式的根模式;最后,KVM 模块创建特殊设备文件 /dev/kvm 并等待来自用户空间的指令。 接下来的虚机的创建和运行将是 QEMU 和 KVM 相互配合的过程。两者的通信接口主要是一系列针对特殊设备文件 /dev/kvm 的 IOCTL 调用。其中最重要的是创建虚机。它可以理解成KVM 为了某个特定的虚机创建对应的内核数据结构,同时,KVM 返回一个文件句柄来代表所创建的虚机。 针对该句柄的调用可以对虚机做相应地管理,比如创建用户空间虚拟地址和客户机物理地址、真实物理地址之间的映射关系,再比如创建多个 vCPU。KVM 为每一个 vCPU 生成对应的文件句柄,对其相应地 IOCTL 调用,就可以对vCPU进行管理。其中最重要的就是“执行虚拟处理器”。通过它,虚机在 KVM 的支持下,被置于虚拟化模式的非根模式下,开始执行二进制指令。在非根模式下,所有敏感的二进制指令都被CPU捕捉到,CPU 在保存现场之后自动切换到根模式,由 KVM 决定如何处理。 除了 CPU 的虚拟化,内存虚拟化也由 KVM 实现。实际上,内存虚拟化往往是一个虚机实现中最复杂的部分。CPU 中的内存管理单元 MMU 是通过页表的形式将程序运行的虚拟地址转换成实际物理地址。在虚拟机模式下,MMU 的页表则必须在一次查询的时候完成两次地址转换。因为除了将客户机程序的虚拟地址转换了客户机的物理地址外,还要将客户机物理地址转化成真实物理地址。 功能概述1.内存管理内存也需要硬件模块VT-x与VT-d 的支持 NPT (Nested PageTables)AMD称为NPT GVA (Guest Virtual Address) 客户机虚拟地址 guest GPA (Guest Physical Address) 客户机物理地址 HPV (Host Physical Address) 客户机物理地址 Hypervisor EPT (Extended Page Tables)属于Intel的二代硬件虚拟化技术,针对内存管理单元(MMU)的虚拟化扩展。EPT降低了内存虚拟化的难度(影子页表)也提升了内存虚拟化的性能。从基于Intel的Nehalem架构的平台开始,EPT作为CPU的一个特性加入到CPU硬件中去了。 一个机子对应一个影子页表,记录了客户机虚拟地址与客户机逻辑地址、客户机物理地址的对应关系——虚拟机的物理地址对应着物理机的逻辑地址,物理机逻辑地址对应着物理机的物理地址。所以在没有EPT之前,内存的压力很大,既要存储影子页表又要管理这些影子页表。为了解决内存压力就产生了EPT,1个EPT页表=N个影子页表。CPU用EPT记录影子页表的信息,CR3会根据EPT表的信息把交互信息直接交给内核处理,这样内存的管理压力与存储压力就缓解了许多。 由于影子页表的存在,如果物理机内存只有32G的话,那只能安装3个8G内存的虚拟机,剩下的空间要留给内存进行管理以及其他工作。VPID (VirtualProcessor Identifiers)虚拟处理器标识,提升实时迁移的效率,同时节省实时迁移的开销,提高速度,降低延迟。在进行虚拟机迁移时,不仅要保证CPU型号一致,还要保证内存的编号与新物理机中的虚拟机编号的内存不冲突,这是VPID就发挥了作用。 TLB (translation lookaside buffer)旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。#grep ept /proc/cpuinfo#grep vpid /proc/cpuinfo#cat /sys/module/kvm_intel/parameters/ept#cat /sys/module/kvm_intel/parameters/vpid#modprobe kvm_intel ept=0,vpid=0大页(hugepages) 大页(Huge Page) 的硬件要求:x86_64CPU支持2MB大页;内核2.6以上支持大页 大页的功能:减少内存页数量,从而需要更少的页表,节约页表所占用的内存数量,减少地址转换,提高内存访问性能。地址转换信息一般保存在CPU缓存中,减少地址转换信息,从而减少CPU缓存压力。1)先查看不使用大页时的状态 #getconf PAGESIZE //内存的单位存储#cat /proc/meminfo | grep Huge2)使用大页第一步 需要给大页一个存储位置,所以要挂载个大页格式的设备 #mount -t hugetlbfs hugetlbfs /dev/hugepages#hugepages=yes //开启大页第二步 修改内核参数 #sysctl vm.nr_hugepages=1024注:1024的单位是个,所以内存为2M*1024=2048M3)观察大页变化: 多开启几个虚拟机,观察CPU、内存、硬盘与进程的变化。注意,用了大页之后就无法使用swap空间的交换了,也不能以ballooning方式增长。 ballooning增长方式,如果物理机内存是6G,创建虚拟机1、2各是8G内存,虚拟机开机只用了2G内存,但是虚拟机都以为自己是8G内存,所以当虚拟机1需要运行应用时会向物理机请求内存(虚拟机不知道是请求,只知道自己有8G内存),假设是还要2G,物理机得知请求后会把空闲的2G分配给虚拟机1,虚拟机1运行完应用后不会主动将内存还给物理机(因为虚拟机只知道那是自己的内存),此时如果虚拟机2也需要2G内存运行程序,那么物理机会把虚拟机1的多余2G内存像挤气球一样挤出来分配给虚拟机2,如果内存还是不够用,那么物理机会把闲置的程序交换到swap分区,腾出内存空间。正常情况下,物理机会不断地挤气球,把闲置的内存空间尽量放在自己这里。4)虚拟机想要使用大页的话,直接输入命令 #hugepages=yes 。或者在虚拟机的xml文件中添加内容:<memoryBacking><hugepages/></memoryBacking>注意,配置虚拟机建议就修改配置文件,三方工具功能不全。内存超配 内存80%-90%的时候就应该警惕,此时很快就会使用swap空间了,需要查一查是什么原因,且内存是否有使用增长趋势,为什么增长,增长就要解决。内存50%时,但是此时却用了1G的swap空间,这更要警惕了,除了NUMA会导致这种情况以外,还有别的原因。 某服务器32GB物理内存,其上运行64个内存为1GB的客户机。宿主机需要4GB内存满足系统进程/驱动/磁盘缓存及其它应用程序所需内存(不包括客户机进程所需内存)。客户机交换分区大小为:1G*64+4G-32G=36G;因此宿主机交换分区大小为:36G+8G=44G。 内存的超配比1.2-1.5,也就是实际内存是1G的话,虚拟机内存加一起不能超过1.5G。生产环境中,实际内存与swap空间的比例=1:(1-2),但是根据行业说法,内存>8G时,swap就都给8G,不够用了再增加即可。增加swap空间的方法有dd文件,swapon 设备或分区,或者使用LVM实际上swap空间就是自动实现了内存的超配,当内存不够用时,主机会使用swap进行交换,把待机的应用放到swap空间,正在使用的程序在内存中,但是swap空间会使得主机运行很慢。程序无响应就是因为内存不够了,swap交换很慢。balloon也能实现内存超配,但是需要安装驱动。通过virio_balloon驱动来实现宿主机Hypervisor和客户机之间的协作。页面共享实现内存超配(page sharing) 通过KSM(Kernel Samepage Merging)合并多个客户机进程使用的相同内存页。
2020年10月07日
39 阅读
0 评论
1 点赞
2020-09-25
云计算与KVM实践运用2
上一篇降到硬件虚拟化和软件虚拟化,那么,何为硬件虚拟化何为软件虚拟化呢1.软件虚拟化技术顾名思义,这是通过相关软件来模拟直接实现VMM层,纯软件的还原重定向客户机内的系统指令。早些时候的硬件系统并不支持虚拟化辅助,仅仅只能通过软件对机器码的直接翻译来对目标客户机仿真。那么,既然每一条操作指令都需要软件重定向给物理硬件,可想而知,虚拟化性能较差。而且软件代码复杂度显著增长。不过可以随意模拟平台。2.硬件虚拟化技术硬件本身具有辅助能力,能支持客户机指令独立执行,而不完全依赖VMM截取后重定向。大多数情况下,客户机系统与原生系统大同小异。从2005年起,I家在自家U中加人了硬件虚拟化的支持,简称Intel VT 后期所有的Intel CPU中都可以看见有VT的身影且每一代都有改进。既然有软/硬虚拟化,那也有全/半虚拟化了1.半虚拟化什么是最理想的虚拟化?1.让客户机不认为自身运行在虚拟化环境中2.不需要vmm层介入。抛开第一点,配合修改VMM层,这就是半虚拟化PV 在一方面提升了性能,也简化了VMM的难度。且不过于依赖硬件虚拟化技术的支持,跨平台相对友好。经典的如Virtio 需要双端驱动。2.全虚拟化与半虚拟化相反而为之,它则坚持第一点,客户机完全不需要修改。所有指令操作由VMM在系统和硬件之间处理,模拟出完整的类似与物理平台的平台,全虚拟化FV由于达成第一个目标,大大增加了VMM的复杂性。其实自从2005年硬件虚拟化技术开始发展之前,FV被PF完败,,但在兴起之后,情况彻底改变,VT-x VT-d的出现,代表着硬件虚拟化技术的兴起。由硬件辅助的FV开始全面超过PV,但半虚拟化也并非停滞不前。以Virtio为代表的半虚拟化一直在发展,虽性能略低于全虚拟化,但其得益于较低的平台依赖率,依旧收到广泛的欢迎。从框架上看,虚拟化层的位置又可风为Type1 Type2两种虚拟化Type1虚拟化,这类虚拟化层直接运行于硬件之上,没有宿主机系统的概念,而是直接分配控制硬件资源。如Xen 、VM ESXType2虚拟化,这类虚拟化层运行于某一宿主机操作上,如VMwareWorkstation系列,KVM。这类虚拟化层表现为操作系统的一个应用程序,受宿主机系统的调度和管理。通常被抽象为进程。
2020年09月25日
37 阅读
2 评论
1 点赞
2020-09-24
云计算与KVM实践运用1
什么是云计算从2006年,亚马逊Amazon发布了所谓的“弹性计算云”后,各大互联网厂商随即也相继推出了自家的云计算服务,众多云计算平台也如雨后春笋一样相继出现。如Google Computer Engine、阿里云、Openstack等等。。。。从全球来看,云计算市场这些年蓬勃发展让人侧目。云服务的几种类型作为推动IT转业务的重大变革。着眼于运营效率,快速响应等。IT即服务讲提供业务所需的一切,而不散失对系统的可控制性的同时,保持灵活性和敏捷性根据服务层次之间的差距,可以分为IaaS(基础架构即服务)、PaaS(平台即服务)、SaaS(软件即服务)服务随之抽象,用户可控制范围也随之减小。SaaS 软件即服务服务商直接使用部署好的软件系统为用户服务,用户完全不需要维护软件本身,只需使用服务即可。用户为服务付费。如常见的各种社交软件,云储存软件。PaaS 平台即服务服务提供商为相对应的客户提供开发,运维应用的一个环境。用户仅需维护自身的应用程序,并提供下一级服务,用户为运行环境付费。如云虚拟主机,云函数,Google App Engine之类。IaaS 基础架构即服务作为拥有最大的自主权的服务方式,用户可以随意操作操作系统,虚拟网络,虚拟硬件等。用户为一个主机环境付费。如阿里云,腾讯云等云服务器云数据库产品。那么无论是那种的服务方式服务模型,都离不开虚拟化(Virtualization)技术的基础什么是虚拟化技术虚拟化这东西好像离我们很远又离我们很近维基百科上这么定义的:“在计算机领域,虚拟化指创建某事物的虚拟版本,包括虚拟的计算机硬件平台、 储存设备、以及计算机网络资源”不难看出 这是一种资源管理技术可以将计算机物理资源分割独立出来重新组合,以达到最大的利用使用率。广义上看,硬盘的逻辑分区,LVM都算的上虚拟化。通常地,一个物理主机,只能在物理设备上运行一个操作系统以及依赖的运行环境和应用。而在加入虚拟化技术后,硬件被抽象出来,分割成了多个逻辑上的主机,同样也可以在上运行操作系统与应用程序,称之为虚拟机。VMM(虚拟机监控器,Hypervisor)是为了虚拟化引入之中的一个软件层,它掌控所有物理服务资源,并向虚拟机呈现数份逻辑资源,将物理资源访问重定向,让虚拟机以为在使用物理资源。真实的物理机称之为宿主机,虚拟机称之为客户机。一样的,虚拟化分为软件虚拟化和硬件虚拟化
2020年09月24日
39 阅读
0 评论
0 点赞
1
2