栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

裸金属虚拟化解决方案-工业一体机(1)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

裸金属虚拟化解决方案-工业一体机(1)

上一篇(工业云原生设计探讨-数字化架构设计(9)_luozhonghua2000的博客-CSDN博客)我们谈到整体生态中的云原生,虚拟机层与数字工厂原生系统打通是通过我们工业一体机,对上就是云原生层,再上层就是中台,最后才是应用app,虚拟机层都属于os级基础软件,因此我们考虑从iaas开始验证(真正要做好,vm达到100%硬件性能是必须要在芯片上做优化和升级的),这里基本上是手工命令实现的,要商业化起码要做到管理界面维护虚机集群弹性和订单化及虚机性能优化。

本篇内容:裸金属虚拟化方法, 裸机虚拟化解决方案

第一部分:裸金属虚拟化方法

虚拟化架构常见的分为两类: 一、宿主虚拟化,二、裸机虚拟化

宿主虚拟化
很好理解,就是你想装虚拟化软件,需要先装一个操作系统
就比如 Windows系统上的 VMware Workstation VirtualBox 软件 ,Mac OS 上的 Parallels Desktop 软件
宿主虚拟化的 hypervisor 就像是安装在子操作系统上的一个应用,这种方式比裸机虚拟化的 hypervisor 提供更好的硬件兼容性,因为调用硬件的流程是 虚拟机内核 -> Hypervisor -> 操作系统 -> 硬件,但这也导致了宿主虚拟化的性能是要比裸机虚拟化差很多的
优点:
1、硬件兼容性好
2、使用方便,附加功能比较丰富
缺点:
1、性能差

裸机虚拟化
这个不需要操作系统, 虚拟管理程序本身就是一个操作系统,例如:VMware ESXI 、Proxmox VE、Microsoft Hyper-V, 裸机虚拟化的性能是要优于宿主虚拟化的,一般IDC都是运行的这类系统
裸机型在虚拟化中Hypervisor直接管理访问硬件资源,不需要底层操作系统,也可以将Hypervisor看作是一个很薄的操作系统, hypervisor直接访问硬件资源,这个使得虚拟机能够获得更好的性能、扩展性与稳定性。
调用的流程是 虚拟机内核 -> Hypervisor -> 硬件
优点:
1、性能好,损耗极低
2、一般拥有资源管理、高可用性和安全方面的功能,比较适合企业数据中心
缺点:
1、硬件支持有限,因为hypervisor通常内置的设备驱动很有限,比如esxi

第二部分:裸机虚拟化解决方案

主流计算虚拟化技术

开源的:KVM、Xen       闭源的:Hyper-V 、VMware ESXi 、Huawei FusionSphere
KVM是全虚拟化的,Xen有全虚拟化和半虚拟化
KVM的核心是KVM module(Linux Kernel):主要功能是初始化。

KVM模块直接整合在Linux内核中

1.KVM组成

  • KVM Driver
    虚拟机创建
    虚拟机内存分配
    虚拟CPU寄存器读写
    虚拟CPU运行
  • QEMU(经过简化与修改)
    模拟PC硬件的用户控件组件
    提供I/O设备模型及访问外设的途径

2.KVM虚拟化三种模式
客户模式
用户模式
内核模式

 KVM工作原理

案例环境

环境:
使用一台物理机器,安装Centos7.5_x64 系统(bdqn)作为宿主机,在bdqn安装KVM并安装虚拟机test01

主机操作系统IP地址
bdqnCentos7.5192.168.137.70
test01Centos7.5192.168.137.72

案例需求:
安装KVM
安装Linux虚拟机
使用KVM命令集管理虚拟机

1、安装KVM

安装KVM所需软件
yum -y groupinstall Desktop  安装桌面
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  图形界面管理虚拟机

查看CPU是否支持虚拟化(如果是AMD的服务器使用cat /proc/cpuinfo | grep svm命令查看)只要结果非空,代表已支持虚拟化
[root@localhost ~]# cat /proc/cpuinfo | grep vmx
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr 
sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc 
eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave 
avx f16c rdrand hypervisor lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust 
smep arat spec_ctrl intel_stibp flush_l1d arch_capabilities

检查KVM模块是否安装
[root@localhost ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

2、设置KVM网络
KVM网络包括:用户模式(NAT)与桥接模式
本案例中使用桥接模式

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0 
vim ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b2a0537e-c7d3-4998-8f49-bc467742274b"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0"
#IPADDR="192.168.137.70"
#PREFIX="24"
#GATEWAY="192.168.137.2"
#DNS1="114.114.114.114"
#IPV6_PRIVACY="no"

vim ifcfg-br0
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br0"
UUID="b2a0537e-c7d3-4998-8f49-bc467742274b"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.137.70"
PREFIX="24"
NETMASK="255.255.255.0"
GATEWAY="192.168.137.2"
DNS1="114.114.114.114"

systemctl restart network
ip a
6: br0: mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:56:9f:32 brd ff:ff:ff:ff:ff:ff
    inet 192.168.137.70/24 brd 192.168.137.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe56:9f32/64 scope link 
       valid_lft forever preferred_lft forever

3、KVM图形化管理

virt-manager是基于libvirt的图形化虚拟机管理软件

virt-manager是基于libvirt的图形化虚拟机管理软件

[root@localhost ~]# virt-manager
新建存储池
创建存储池store和镜像存储池iso

新建存储卷
单击创建好的存储池store,创建存储卷

准备镜像文件到镜像存储池iso下

开始新建虚拟机配置

安装虚拟机

 

使用KVM命令集管理虚拟机 KVM基本功能管理

[root@localhost ~]# whatis qemu-img
qemu-img (1)         - QEMU disk image utility
查看虚拟机信息
[root@localhost ~]# qemu-img info /var/lib/libvirt/images/store/test01.qcow2 
image: /var/lib/libvirt/images/store/test01.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 1.4G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
查看虚拟机状态
[root@localhost ~]# virsh list --all
 Id    名称              状态
----------------------------------------------------
 4     centos7.0          running
虚拟机关机或开机
[root@localhost ~]# virsh shutdown centos7.0 
域 centos7.0 被关闭
[root@localhost ~]# virsh start test02
域 test02 已开始
虚拟机暂停(挂起)与恢复
[root@localhost ~]# virsh suspend centos7.0
域 centos7.0 被挂起
[root@localhost ~]# virsh resume centos7.0 
域 centos7.0 被重新恢复
配置虚拟机伴随宿主机自动启动
[root@localhost ~]# virsh autostart centos7.0 
域 centos7.0标记为自动开始
虚拟机克隆(语法:virt-clone -o 原虚拟机 -n 新虚拟机 -f 新img文件)
[root@localhost ~]# virt-clone -o centos7.0 -n test02 -f /var/lib/libvirt/images/store/test02.qcow2                 //*确保在关机状态下进行克隆
WARNING  当卷已经被全部分配后,需要的卷容量将超过可用池空间。(20480 M 需要的容量 > 7477 M 可用容量)
正在分配 'test02.qcow2'              |  20 GB  00:00:53     
成功克隆 'test02'。
制作快照
 [root@localhost ~]# virsh list –all 
 Id    名称                         状态
----------------------------------------------------
 5     test02                         running
 -     centos7.0                      关闭
[root@localhost ~]# virsh snapshot-create centos7.0
已生成域快照 1572105184
快照管理
[root@localhost ~]# virsh snapshot-list centos7.0            //查看快照
 名称               生成时间              状态
------------------------------------------------------------
 1572105184           2019-10-26 23:53:04 +0800 shutoff
[root@localhost ~]# virsh snapshot-revert centos7.0 1572105184            //恢复快照
[root@localhost ~]# virsh snapshot-delete centos7.0 1572105184            //删除快照
已删除域快照 1572105184
[root@localhost ~]# virsh snapshot-list centos7.0
 名称               生成时间              状态

查看虚拟机帮助
[root@localhost ~]# virsh -h

命令行安装虚拟机

[root@localhost iso]# virt-install  --name demo --ram 500 --disk path=/kvm/images/demo.img,size=8   --cdrom /kvm/images/iso/CentOS-7-x86_64-DVD-1810.iso --graphics vnc

参数说明
-n        | --name         #指定创建虚拟机名称
--ram                       #指定内存大小
--vcpus                       #指定CPU个数
--disk path                    #指定虚拟机文件存储名称及位置
size                          #虚拟机大小,单位G                        
--cdrom                    #指定镜像位置
vnc                          #指定远程连接

删除虚拟机
[root@localhost iso]# virsh undefine demo
域 demo 已经被取消定义

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853864.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号