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

qq在线网页版网站seo课程

qq在线网页版,网站seo课程,六安网约车,常州网站推广优化虚拟化技术的演变过程分为软件模拟、虚拟化层翻译、容器虚拟化三个阶段 1 软件模拟的技术方式 软件模拟是通过软件完全模拟CPU、网卡、芯片组、磁盘等计算机硬件,因为是软件模拟,所以理论上可以模拟任何硬件,甚至不存在的硬件。但是由于是软…

虚拟化技术的演变过程分为软件模拟、虚拟化层翻译、容器虚拟化三个阶段

1 软件模拟的技术方式

软件模拟是通过软件完全模拟CPU、网卡、芯片组、磁盘等计算机硬件,因为是软件模拟,所以理论上可以模拟任何硬件,甚至不存在的硬件。但是由于是软件模拟硬件,效率低,典型产品有 Bochs、QEMU。

2 虚拟化层翻译

X86平台指令集划分为4个特权模式:ring0、Ring1、Ring2、Ring3 操作系统工作在 Ring0 级别,应用程序使用Ring3,驱动程序使用 Ring1和 Ring2。

①完全虚拟化

X86在虚拟化方面的一个难点就是如何将虚拟机越级的指令使用进行隔离。这种方式称为全虚拟化,典型应用 VMware。
多数的虚拟化采用虚拟机管理程序Hypervisor
Hypervisor是一个软件层或者子系统(也称为VMM–Virtual Machine Monitor)
允许多种 OS 在相同的物理 OS 中运行;控制硬件并向 GuestOS 提供访问底层硬件的途径向 GuestOS 提供虚拟化的硬件

  • 类型一:裸金属型(直接安装在硬件设备)
    裸金属型虚拟化是一种在物理硬件上直接安装虚拟化软件的方式。在这种模式下,虚拟化软件(也称为hypervisor或虚拟机监控器)直接运行在物理硬件上,而不需要操作系统的支持。这意味着虚拟机可以直接访问底层硬件资源,如处理器、内存和存储设备,从而提供接近原生性能的虚拟化体验。
    裸金属型虚拟化适用于需要最高性能和隔离性的场景,如高性能计算、大规模数据库和云计算等。由于没有操作系统的干扰,裸金属型虚拟化可以提供更高的性能和更好的资源利用率。
  • 类型二:宿主型(安装的有OS的设备上)
    宿主型虚拟化是一种在已安装操作系统的设备上运行虚拟化软件的方式。在这种模式下,虚拟化软件作为应用程序运行在宿主操作系统之上,称为宿主操作系统。虚拟机则作为这个宿主操作系统的进程运行,并通过宿主操作系统提供的接口来访问硬件资源。
    宿主型虚拟化相对于裸金属型虚拟化来说更加灵活,因为它可以在常见的操作系统上运行,如Windows、Linux等。它也可以利用宿主操作系统的设备驱动程序来提供虚拟化的硬件支持,从而简化了虚拟机的管理和配置。
  • 裸金属型虚拟化适用于需要高性能和隔离性的场景,而宿主型虚拟化更加灵活且易于管理。选择哪种虚拟化方式取决于具体的应用需求和硬件环境。

“OS"指的是操作系统(Operating System),它是一种软件,负责管理计算机的硬件和软件资源,并提供各种服务和功能给应用程序使用。常见的操作系统包括Windows、macOS和Linux等。
而"GuestOS"指的是在虚拟化环境中运行的虚拟机的操作系统。虚拟机是一种软件实体,它在物理计算机上模拟出一个完整的计算机系统,包括处理器、内存、硬盘等。GuestOS是在虚拟机中安装和运行的操作系统,可以是任意支持虚拟化技术的操作系统,例如Windows、Linux等。
在虚拟化技术中,物理计算机上的"Host OS”(宿主操作系统)负责管理物理硬件,并提供虚拟化的功能。它允许多个不同的GuestOS同时运行在同一台物理计算机上,每个GuestOS都被隔离在自己的虚拟机中,互相之间相互独立并且不能直接访问宿主操作系统或其他GuestOS。
通过虚拟化技术,Host OS向GuestOS提供了对底层硬件的访问,并将其虚拟化,使得GuestOS可以以为自己独占使用了底层硬件资源,从而实现了运行多个操作系统的能力。这种虚拟化的硬件通常称为"虚拟化的硬件"(virtualized hardware)。

②半虚拟化

对虚拟机的操作系统内核进行改造,使虚拟机自己对特殊指令进行更改,然后和虚拟化层一起配合工作,改造的虚拟机虽然使用上有限制,配置比较麻烦,但是这种方式效率非常高,也称为半虚拟化
对CPU指令进行改造.
x86 CPU环
核心指令直接调用运行Ring 0
应用程序运行调用Ring 3
Intel推出了硬件的方案,对CPU指令进行改造,即VT-x.增加了两种操作模式

③硬件辅助虚拟化

Intel-VT和AMD-V创建了一个新的Ring -1单独给Hypervisor使用
GuestOS可以直接使用Ring 0而无需修改
主流例如:KVM VM.ESXi Xen-3.0

3 容器虚拟化

容器虚拟化的原理时基于CGroups、Namespace等技术将进程隔离,每个进程就像一台单独的虚拟机一样,有自己被隔离出来的资源,也有自己的根目录,独立的进程编号,被隔离的内存空间。典型应用DOCKER

常见的虚拟化产品

  • RedHat KVM
    虚拟化方式:完全虚拟化
    架构:寄居架构(linux内核);祼金属架构RHEV-H

  • VmWare ESX
    虚拟化方式:完全虚拟化
    架构:裸金属架构

  • Citrix XenServer
    虚拟化方式:半虚拟化(linux安装linux);全虚拟化(linux安装windows),硬件辅助虚拟化

  • Microsoft Hyper-V
    虚拟化方式:半虚拟化
    架构:裸金属架构Hyper-V Server;寄居架构 Windows 2008

  • DOCKER

KVM 概述

KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,能够将Linux作为虚拟机监视器(VMM),实现对硬件资源的虚拟化。

广义的 KVM 实际上包含两部分,一部分是基于 Linux 内核支持的 KVM 内核模块,另一部分就是经过简化和修改的 Qemu。

QEMU是一种通用的开源计算机仿真器和虚拟器。QEMU共有两种操作模式

  • 全系统仿真:能够在任意支持的架构上为任何机器运行一个完整的操作系统
  • 用户模式仿真:能够在任意支持的架构上为另一个Linux/BSD运行程序

具体来说,当作为机器仿真器使用时,QEMU可以通过动态代码翻译机制(dynamic translation)在不同的机器上仿真任意一台机器(例如ARM),并执行不同于主机架构的代码。同时由于动态代码翻译机制,它也能够实现不错的性能。

而当QEMU用作虚拟器时,QEMU的优点在于其实纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,但是也正因为QEMU是纯软件实现的,因此所有指令都需要QEMU转手,因此会严重的降低性能。而可行的办法是通过配合KVM或者Xen来进行加速,目前肯定是以KVM为主。

KVM 是硬件辅助的虚拟化技术,主要负责 比较繁琐的 CPU 和内存虚拟化,而 QEMU 则负责 I/O 虚拟化,两者合作各自发挥自身的优势,相得益彰。

KVM 工作原理

用户模式的 Qemu 利用接口 libkvm 通过 ioctl 系统调用进入内核模式。KVM Driver 为虚拟机创建虚拟 CPU 和虚拟内存,然后执行VMLAUNCH 指令进入客户模式,装载 Guest OS 并运行。Guest OS 运行过程中如果发生中断或者影子缺页等异常,将暂停 Guest OS的运行并保存当前上下文退出到内核模式来处理这些异常。内核模式处理这些异常时如果不需要 I/O 则处理完成后重新进入客户模式。如果需要 I/O 则进入到用户模式,由 Qemu 来处理 I/O,处理完成后进入内核模式,再进入客户模式,

案例实施:Linux 安装虚拟机(图形化)

YUM 安装 KVM

在 CentOS 的系统光盘镜像中,已经提供了安装 KVM 所需软件。通过部署基于光盘镜像的本地 YUM 源,直接使用 YUM 安装所需软件即可,安装 KVM 所需软件具体包含以下几个:

yum groupinstall -y "GNOME Desktop"	//安装 GNOME 桌面环境
yum -y install qemu-kvm	//KVM 模块
yum -y install qemu-kvm-tools	//KVM 调试工具,可不安装
yum -y install virt-install	//构建虚拟机的命令行工具
yum -y install qemu-img	//qemu 组件,创建磁盘、启动虚拟机等
yum -y install bridge-utils	//网络支持工具
yum -y install libvirt	//虚拟机管理工具
yum -y install virt-manager	//图形界面管理虚拟机
yum -y install virt-viewer	//显示虚拟机的控制台

重启系统后,查看 CPU 是否支持虚拟化。

对于 Intel 的服务器可以通过以下命令查看,只要有输出就说明 CPU 支持虚拟化;

# cat /proc/cpuinfo | grep vmx

在这里插入图片描述

AMD 服务器可用 cat /proc/cpuinfo | grep smv 命令查看

开启 libvirtd 服务

安装完成后还需要开启 libvirtd 服务,以开启相关支持。

# systemctl start libvirtd
# systemctl enable libvirtd

配置桥接网络

NAT 方式是 kvm 安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。

建立 br0 网卡

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@localhost network-scripts]# vim ifcfg-br0
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR=192.168.27.145
NETMASK=255.255.255.0
GATEWAY=192.168.27.2
DNS1=192.168.27.2

桥接物理网卡 ens33

[root@localhost network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
DEVICE=ens33
BRIDGE=br0

重启网络

# systemctl restart network

在这里插入图片描述

测试能否连接外网

在这里插入图片描述

创建KVM存储池

启动 virt-manager

# virt-manager

创建存储池–存放虚拟硬盘

双击 QUMU,选择 “存储" 选项卡,如图新建存储池,设置存储目录为/home/KVMimg

在这里插入图片描述

在这里插入图片描述

创建存储池–存放镜像文件

以同样的方式创建一个镜像存储池,存放目录为/home/KVMISO

同时上传 ISO 镜像文件,以便后面安装虚拟机(可以使用 MX 或者 Xshell 等工具上传)
在这里插入图片描述

创建存储卷

点击刚才创建好的 bdqn 存储池,点击加号新建存储卷,设置最大容量和分配容量

在这里插入图片描述

创建虚拟机

返回到主界面,右键单击,选择”新建“

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

选择虚拟机存放的位置

在这里插入图片描述

在点击完成后就自动开始安装,后面的操作和安装 Linux 没有区别

在这里插入图片描述

在这里插入图片描述

案例:使用 KVM 命令集管理虚拟机

1、查看命令帮助

[root@localhost  ~]# virsh -h

2、查看KVM的配置文件存放目录(centos01是虚拟机系统实例的配置文件)

[root@localhost ~]# ls /etc/libvirt/qemu
centos01.xml  networks

3、查看虚拟机状态

[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------2     centos01                       running

4、虚拟机关机与开机

首先需要确认acpid服务安装并运行

[root@localhost ~]# virsh shutdown centos01
域 centos01 被关闭
[root@localhost ~]# virsh start centos01
域 centos01 已开始

5、强制实例系统关闭电源

[root@localhost ~]# virsh destroy centos01

6、通过配置文件启动虚拟机系统实例

[root@localhost ~]# virsh create /etc/libvirt/qemu/centos01.xml
域 centos01 被创建(从 /etc/libvirt/qemu/centos01.xml)
[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------2     centos01                       running

7、挂起虚拟机

[root@localhost ~]# virsh suspend centos01
域 centos01 被挂起
[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------2     centos01                       暂停

8、恢复虚拟机

[root@localhost ~]# virsh resume centos01
域 centos01 被重新恢复
[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------2     centos01                       running

9、配置虚拟机实例伴随宿主机自动启动

[root@localhost ~]# virsh autostart centos01
域 centos01标记为自动开始上述命令创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统[root@localhost ~]# ls /etc/libvirt/qemu/autostart/
centos01.xml[root@localhost ~]# virsh autostart centos01 --disable
域 centos01取消标记为自动开始

10、导出虚拟机配置

[root@localhost ~]# virsh dumpxml centos01 > /etc/libvirt/qemu/centos02.xml

11、虚拟机的删除与添加

删除虚拟机:

[root@localhost ~]# virsh shutdown centos01
域 centos01 被关闭
[root@localhost ~]# virsh undefine centos01
域 centos01 已经被取消定义

查看删除结果,centos01的配置文件被删除,但是磁盘文件不会删除

[root@localhost ~]# ls /etc/libvirt/qemu
autostart centos02.xml networks

通过virsh list --all查看不到centos01的信息,说明虚拟机被删除

[root@localhost ~]# virsh list --all
Id 名称 状态
----------------------------------------------------

通过备份的配置文件重新定义虚拟机

[root@localhost ~]# mv /etc/libvirt/qemu/centos02.xml
/etc/libvirt/qemu/centos01.xml
[root@localhost ~]# virsh define /etc/libvirt/qemu/centos01.xml
定义域 centos01(从 /etc/libvirt/qemu/centos01.xml)

查看虚拟机信息

[root@localhost ~]# virsh list --allId    名称                         状态
-----------------------------------------------------     centos01                       关闭

12、修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)

直接通过vim命令修改
[root@localhost ~]# vim /etc/libvirt/qemu/centos01.xml通过virsh命令修改
[root@localhost ~]# virsh edit centos01

13、虚拟机的其他管理(在宿主机上)

# virsh start centos01     # 虚拟机开启(启动):
# virsh reboot centos01    # 虚拟机重新启动
# virsh shutdown centos01  # 虚拟机关机
# virsh destroy centos01   # 强制关机(强制断电)
# virsh suspend centos01   # 暂停(挂起)KVM 虚拟机
# virsh resume centos01    # 恢复被挂起的 KVM 虚拟机
# virsh undefine centos01  # 该方法只删除配置文件,磁盘文件未删除
# virsh autostart centos01 # 随物理机启动而启动(开机启动)
# virsh autostart --disable centos01 # 取消标记为自动开始(取消开机启动)

KVM 命令安装虚拟机

创建客户机所需要的磁盘

[root@localhost ~]# mkdir /home/KVMimg
[root@localhost ~]# qemu-img create -f raw /home/KVMimg/centos02.raw 10G
Formatting '/home/KVMimg/centos02.raw', fmt=raw size=10737418240
qemu-img 主要用来创建虚拟客户机所需的磁盘
create表示创建
-f raw 表示创建一个格式为 raw 的磁盘
/home/KVMimg/centos02.raw 10G 表示创建的磁盘名称及磁盘文件
10G表示该磁盘可用大小

安装虚拟客户机

[root@localhost ~]# virt-install --virt-type=kvm --name=centos02 --vcpus=1 --memory=1024 --location=/home/KVMISO/CentOS-7-x86_64-DVD-1810.iso --disk path=/home/KVMimg/centos7-1.qcow2,size=10,format=qcow2  --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force
--virt-type=kvm 虚拟机类型
--name=centos02 虚拟客户机名称
--vcpus=1 给虚拟客户机分配的虚拟CPU数量
--memory=1024 内存大小
-location=/home/KVMimg/CentOS-7-x86_64-DVD-1810.iso 指定客户机安装镜像文件
路径
--disk path=/home/KVMimg/centos02.raw,size=10,format=raw 客户端磁盘的位置及
格式
--network bridge=br0 客户端网卡配置(机器默认会有virbr0,这里的br0为上一章节
中配置过的)
--graphics none 不用图像配置界面
--extra-args='console=ttyS0' 表示使用console ttys0进行管理
--force
注意:.iso镜像文件一定放到/home 或者根目录重新创建目录,不然会因为权限报错,无法创建虚拟机。

KVM文件管理

通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置问题无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件有raw与qcow2两种格式,KVM虚拟机默认使用raw格式,raw格式性能最好、速度最快,其缺点是不支持一些新的功能,如镜像、zlib磁盘压缩、AES加密等。针对两种格式的文件有不同的工具可用选择。这里介绍本地YUM安装 libguestfs-tools 后产生的命令行工具(这个工具可以直接读取qcow2格式的磁盘文件,因此需要将raw格式的磁盘文件转换成qcow2的格式).

虚拟机的克隆

# virsh shutdown centos02
# virt-clone -o centos02 -n centos03 -f /home/KVMimg/centos03.qcow2-o  要克隆的原虚拟机名字
-n  克隆后新虚拟机的名字
-f  新虚拟机磁盘镜像文件的存储位置

虚拟机快照

# virsh list --all //列出所有虚拟机
# virsh shutdown centos01  //关闭centos01虚拟机
# virsh snapshot-create-as centos01 centos01-s1  //为虚拟机centos01创建快照centos01-s1
# virsh snapshot-list centos01 //列出虚拟机test1的所有快照
# virsh snapshot-info centos01 centos01-s1 //查看快照的详细信息
# virsh snapshot-delete centos01 centos01-s1 //删除虚拟机centos01的快照centos01-s1// 恢复快照
# virsh shutdown centos01
# virsh snapshot-revert centos01 centos01-s1
# virsh start centos01

web管理端

安装基础依赖

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
yum install apt install -y python3-pip
yum install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml
yum install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy3 python3-cheetah python3-pampy python-m2crypto gettext python3-openssl

启动服务

systemctl start nginx
systemctl enable nginx
systemctl start wokd
systemctl enable wokd

浏览器访问 https://192.168.27.145:8001/login.html

http://www.khdw.cn/news/38718.html

相关文章:

  • 简单个人网站制作教程seo整站优化费用
  • 外文网站做t检验分析做seo如何赚钱
  • 网站标题优化工具长尾词seo排名优化
  • 海南建设网站网游百度搜索风云榜
  • wordpress分页问题班级优化大师官方免费下载
  • .cn域名注册官方网站百度百科官网
  • 60天做网站成都网络营销公司排名
  • 文件下载网站源码海外推广代理商
  • 头条网站怎么做p2p万能搜索引擎
  • 网站开发大概需要多少钱百度搜索次数统计
  • vs 团队网站开发学网络营销好就业吗
  • 廊坊网站建设外包建网络平台要多少费用
  • 杭州网站建设zj net查域名注册详细信息查询
  • 安顺公司做网站最近一周的新闻
  • 值得相信的西安网站开发友情链接英文翻译
  • 室内设计师培训班多少钱提升seo排名平台
  • 会员注册网站怎么做蚂蚁bt
  • 买产品做企业网站还是博客拼多多商品关键词搜索排名
  • 网站seo策划方案设计免费下载百度seo
  • 做曖网站水平优化
  • 凡客诚品网站推广农技推广
  • 锦州市做网站seo优化包括什么
  • h5微信网站开发品牌建设
  • 人才网站的会计账如何做网络广告怎么做
  • 在哪里建网站好为企业策划一次网络营销活动
  • 中企动力邮箱企业版石家庄seo外包公司
  • 织梦网站联系我们的地图怎么做网络网站推广优化
  • 个人论坛类网站杭州seo整站优化
  • 中小型企业网搭建石家庄seo代理商
  • 义乌网红村百度seo关键词优化