5.1、虚拟化环境VMware ESXi
在前面介绍EVE-NG的时候,我们用到了VMware的两款产品,分别是VMware ESXi 6.7和VMware Workstation 16。对于普通用户而言,应该是Workstation用多一些;而对于企业用户而言,应该是ESXi多一些。为了提升学习效果,我们本次主要使用ESXi进行介绍。
VMware vSphere是VMware公司推出的服务器虚拟化解决方案,包含两个重量级产品:VMware ESXi和VMware vCenter。本文主要介绍ESXi相关的内容,vCenter属于更高一层的内容,有兴趣的小伙伴可以参考文章(vCenter Server Appliance部署实录),本文不再多做介绍。
截止到目前,我们已经学习过VMware ESXi安装镜像的定制方法(如何私人定制VMWare ESXi 6.7和7.0的安装镜像?)、服务器中的部署方法(惠普VMware ESXI 6.7定制版部署)、个人PC的部署方法(VMware ESXi 6.7可以成功识别机械硬盘了)、升级方法(如何将VMWare ESXi 6.7升级版本到7.0?)和vCenter纳管(vCenter 7.0数据中心集群配置指南)等。本文将以服务器环境为基础,介绍如何定制、部署和升级ESXi服务器。
5.1.1、定制ESXi 6.7安装镜像
我现在用的这台HPE ProLiant DL360 Gen9服务器(惠普DL 360 GEN9服务器开箱),从HPE官网或者VMWare官网都能搜到对应的ESXi安装包,也可以直接下载。
但是,不是所有的服务器都能在官网找到定制好的安装镜像。比如我之前用的H3C R390X G2服务器,因为没有对应的网卡驱动和阵列卡驱动,导致无法直接使用。而定制ESXi主要是为了解决安装过程中无法识别存储设备(阵列卡)和网卡等硬件设备的问题。
那是不是所有的都需要驱动呢?也不是,比如我们前面在虚拟机部署的HPE的ESXi虚拟机,因为增加了定制驱动,导致升级版本会出现找不到驱动的问题。
如此看来,为了满足不同的需求,我们就要根据实际情况来进行调整。
VMware镜像定制工具有两代产品,第一代是ESXi-Customizer,主要支持6.5及之前版本,因为ESXi 6.5已经比较久远了,我们就多不再介绍ESXi-Customizer工具的使用了,有需要的可以参考之前的文章(VMware ESXi部署镜像定制);后来有开发者根据VMware官方的工具自己又开发了一个ESXi-Customizer-PS工具,几乎可以支持几乎所有版本的镜像定制,包括笔记本的安装镜像。
以H3C R390X G2服务器为例,我们首先要到H3C官网下载服务器对应的存储控制器和网卡的驱动文件。
然后就可以开始定制ESXi 6.7了,这里我们用到的工具就是ESXi-Customizer-PS。ESXi系统使用VMware PowerCLI进行驱动集成。操作使用的PowerShell 需要 3.0 以上版本(Windows Server 2008 R2版本为2.0,不满足要求;Windows Server 2012 系统自带 4.0 版本,Windows Server 2016系统自带为5.1,均满足要求)。我使用的是Windows Server 2012 R2系统,在Windows PowerShell视图下通过 $psversiontable 命令可以查看 PowerShell 版本(PSVersion)。
首先要安装VMware PowerCLI工具,下载链接如下:
http://down.whsir.com/downloads/VMware-PowerCLI-6.5.0-4624819.exe
然后下载定制工具ESXi-Customizer-PS-v2.6.0.ps1文件,链接如下:
https://www.v-front.de/p/esxi-customizer-ps.html
接下来,就是准备ESXi镜像了,可以使用官网下载的ESXi670-202207001.zip这个文件。把下载的ESXi系统depot包、ESXi-Customizer-PS-v2.6.0.ps1文件和阵列卡驱动程序(新建一个文件夹driver放进去)都放到 C 盘根目录下。
接下来,以管理员身份运行VMware PowerCLI,会询问是否进入程序,直接回车即可。
再次查看PowerShell版本,确认版本满足要求。
执行命令如下命令,等待执行结束。
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\ESXi670-202207001.zip -pkgDir C:\driver
(备注:使用 ESXi-Customizer-PS-v2.6.0.ps1,通过-izip 命令,向VMware-ESXi-6.7.0-8169922-depot.zip 文件中添加文件;使用-pkgDir 指定驱动文件路径为C:\driver,用于添加driver 里的阵列卡驱动文件。)
很不幸,有一个报错,原因是证书不被信任,如果出现这种情况,在命令中增加一个-nsc(NoSignatureCheck,导出时不检查证书)即可。
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\ESXi670-202207001.zip -pkgDir C:\driver -nsc
此时,在C盘的根目录下,就生成了新的ESXi-6.7.0-20220704001-standard-customized.iso文件,可以使用了。
使用定制好的镜像进行安装,就可以识别到硬盘阵列了。
当然,相信大家也看到了生成的其他的文件,比如ESXi-7.0U3g-20328353-standard-customized.iso这个镜像,就是使用的VMware-ESXi-7.0U3g-20328353-depot.zip源包来生成的,命令如下:
.\ESXi-Customizer-PS-v2.6.0.ps1 -izip .\VMware-ESXi-7.0U3g-20328353-depot.zip -pkgDir C:\ -nsc
5.1.2、部署ESXi 6.7
对于服务器部署,一般需要先配置RAID,操作方法请参考(硬件RAID横评(上)、硬件RAID横评(下))。
然后通过IRC软件使用磁盘挂载VMware的惠普服务器御用版本“VMware-ESXi-6.7.0-OS-Release-8169922-HPE-Gen9plus-670.10.2.0.35-Apr2018”。
挂载好之后重启服务器,就进入到安装过程了,ESXi安装器加载中。
ESXI安装器安装环境检查。
按“Enter”确认部署。
按“F11”接受用户协议。
按“Enter”确认安装位置,如果有多个逻辑卷时需要确认安装位置。
按“Enter”确认放弃磁盘中的所有数据。
选择键盘布局为“US Default”,并按“Enter”确认。
为root账户设置密码,并按“Enter”确认。
按“F11”再次确认安装。
安装进度截图。
安装完成后按“Enter”确认重启。
重启过程中,有一个短暂的加载页面,在这个页面可以按快捷键“SHIFT+O”修改启动选项,按快捷键“SHIFT+R”进入恢复模式;也可以按“ENTER”直接启动。
重启完成后,安装部署完成。
业务网卡默认也是通过DHCP获取IP地址,此时网卡获取到了192.168.100.108的IP地址,在浏览器中输入https://192.168.100.108进入登录页面。
输入安装过程中设置的账户密码进行登录。首次登陆时,首屏会提示“加入VMware客户体验改进计划”,当然,这个操作一般会将本地部分信息返回软件商,涉及到信息安全,我就不加入了。
在主页还有这样一条提示“You are running HPE Customized Image ESXi 6.7.0 version 670.10.2.0 released on April 2018 and based on ESXi 6.7.0 Vmkernel Release Build 8169922.”表示这个版本的ESXI是HPE针对Gen 9 系列服务器的定制版本。
安装完成后自带2个月的免费试用有效期,通过对比观察,使用功能权限和授权后基本没什么差别。
不过既然有免费的许可证,还是注册一下吧。点击“管理”→“分配许可证”,进入到如下页面,然后填入许可证秘钥。
需要先检查许可证,验证有效之后才能分配许可证。
激活之后主机许可状态如下,过期日期为“从不”。
在首页可以看到主机状态,看到主频59.9GHz,是一个CPU主频2.5 GHz * 24线程的结果;内存在仅运行ESXI主机的状态下占用为2.53GB;存储使用率为1.47GB。
在“管理”→“硬件”页面,可以查看硬件信息
在“安全和用户”页签下的“身份验证”中,还支持对服务器做加域操作,并支持AD域等认证模式。
在用户页面,可以查看、管理用户。
具体创建虚拟机的方法和过程可以参考(一次看够H3C NFV在VMware ESXi中的安装、组网和配置)。
5.1.3、ESXi 6.7升级ESXi 7.0
对于正常使用的ESXi主机来讲,肯定是有虚拟机的,那么在对ESXi主机进行升级时,最好是对虚拟机进行备份(如何操作VMware ESXi虚拟机的迁移?)或克隆(如何操作VMware ESXi虚拟机的克隆?)。
当然,像我这种仅有一台物理服务器,没有办法备份或迁移服务器的,也是可以直接升级的。当然为了展示效果,我是使用虚拟机中的ESXi主机进行演示的。
其实,ESXi 6.7升级ESXi 7.0和ESXi 6.5升级ESXi 6.7的操作基本一致(如何将VMWare ESXi 6.5升级版本到6.7?)。首先,我们还是到VMWare官网搜索7.0版本的产品补丁程序。
https://customerconnect.vmware.com/cn/patch#search
我们选择最新的版本进行下载,可以看到,发布时间是2022年9月1日,到现在只有不到半个月。如果想了解ESXi 8.0的,请参考(快速部署VMware ESXi 8.0(图文版))。
下载完成之后,我们得到了一个名为VMware-ESXi-7.0U3g-20328353-depot.zip的压缩包,前面是大的版本号,后面是版本代号。
接下来我们登录到ESXi的管理页面,进入到左侧导航器的“存储”中,在“数据存储”中,点击“datastore1”进入到详情页面,记录下存储的位置信息。
点击进入“数据存储浏览器”,再点击“上传”,把刚才下载的升级包上传到储存中。
接下来,在“管理→服务”页面,启动TSM和TSM-SSH服务。
然后通过SSH登录到ESXi的后台。首先,查看升级包所在的路径及文件,确认文件上传成功。
ls -l /vmfs/volumes/632329cb-f43afddc-93bc-000c29787ee5
查看当前的版本信息,为VMware ESXi 6.7.0 Update 3(build-19997733)。
vmware -vl
然后查看升级包中对应的版本信息。
esxcli software sources profile list -d /vmfs/volumes/632329cb-f43afddc-93bc-000c29787ee5/VMware-ESXi-7.0U3g-20328353-depot.zip
现在我们已经知道了,ESXi-7.0U3g-20328353-standard和ESXi-7.0U3g-20328353-no-tools的区别是前者正常升级全部软件包,后者不升级VMWare Tools,所以我们直接使用ESXi-7.0U3f-20036589-standard这个进行升级即可。
esxcli software profile update -d /vmfs/volumes/632329cb-f43afddc-93bc-000c29787ee5/VMware-ESXi-7.0U3g-20328353-depot.zip -p ESXi-7.0U3g-20328353-standard
可以看到,有针对CPU的告警提示,提醒目前使用的CPU可能在未来不受支持。不过可以使用--no-hardware-warning选项忽略告警信息,那就直接忽略好了。
esxcli software profile update -d /vmfs/volumes/632329cb-f43afddc-93bc-000c29787ee5/VMware-ESXi-7.0U3g-20328353-depot.zip -p ESXi-7.0U3g-20328353-standard --no-hardware-warning
NICE,一把过!升级操作执行完成之后,可以看到升级结果显示为成功,下面是升级软件包的详细信息。同时提示升级之后需要重启服务器生效,接下来我们重启服务器。
重启之后,在主机的控制台页面,可以看到版本已经显示为ESXi 7.0.3了。
我们再次登录ESXi管理页面,发现授权竟然失效了。
因为ESXi 6.x的许可证和ESXi 7.x的许可证是不通用的,所以我们需要再到网上去找一个ESXi 7.0的授权,直接“分配许可证”即可。
再次登录到ESXi的命令行后台,可以看到版本已经升级为VMware ESXi 7.0 Update 3(build-20328353)。
最后我们启动虚拟机看一下虚拟机的运行状态。
启动成功,没有任何报错,说明ESXi主机带虚拟机直接升级完全没有问题。
5.1.4、vCenter纳管ESXi主机
vCenter 6.7和7.0的差别不大,以vCenter 6.7为例(vCenter 6.7部署(Linux环境)、vCenter 6.7部署(Windows环境)),vCenter启动之后,可以在ESXi控制台查看VCSA 6.7虚拟机的控制台页面,可以看到,和ESXi的控制台页面十分相似。
打开https://192.168.100.131页面,首先点击右下角的“下载受信任的根CA证书”进行安装。安装完成后,再点击“启动VSPHERE CLIENT(HTML5)”,进入登录页面。
登录页面如下所示,和ESXi 的登录页面也保持着高度一致,不过登录用户名多少有点复杂,要使用aministrator@vsphere.local进行登录。
登录成功之后,可以看到页面布局如下,页面上端提示许可证即将过期。
在“系统管理”→“许可”→“许可证”页面,增加一个许可证。再点击到“资产”页签,选中主机,使用“Assign License”将添加的授权分配给它。
接下来就是添加主机了。点击首页IP地址后面的“操作”下拉框,选择“新建数据中心”。
设置新建数据中心的名称。
新建完成之后,点击进入到数据中心。再点击数据中心后面的“操作”下拉框,选择“添加主机”。
设置ESXi主机的IP地址信息。
设置连接方式,将root的账户密码信息填写上。
关于证书指纹的安全提示,点击“是”确认连接。
查看主机摘要信息,点击“NEXT”到下一步。
分配许可证信息。
锁定模式,一般不建议启用,如果是正规的数据中心,应该要进行管控。我就这一台,而且vCenter还是嵌入式部署,可不敢点启用,使用了默认的“禁用”。
确认虚拟机位置信息。
确认所有配置信息,点击“FINISH”完成设置。
再点击到数据中心“Guo Tiejun”下的主机,就可以看到主机信息了。
有关vCenter 7.0的配置操作,请参考(vCenter 7.0的热迁移配置操作指南、vCenter 7.0数据中心集群配置指南、vCenter 7.0数据中心集群资源池配置指南)。
5.2、虚拟化环境CAS
我们不得不承认VMware虚拟化的强大,那国内有没有拿得出手的虚拟化工具呢?去年在学习软考网络规划师的材料时,发现里面竟然在介绍H3C的云计算虚拟化,最终我的论文也是写的H3C的虚拟化系统CloudOS。结合最近的国产化趋势,应该多介绍一些国产化的产品,那我们今天就来简单介绍一下H3C CAS(Cloud Automation System)云计算管理平台。
作为云计算基础架构的资源管理平台,H3C的很多数据中心云计算解决方案都和CAS相关;同时,作为H3CNE-Cloud云计算方向的重点考察内容,首先要掌握CAS的部署和使用。
登录H3C官网,在“支持→文档与软件→软件下载→云计算→H3Cloud虚拟化平台→H3C CAS虚拟化管理系统”路径下,可以看到CAS目前主要提供ARM和x86两个版本。
我们直接下载x86版本即可,ARM版本的安装与x86基本一致。
5.2.1、部署CVM管理节点
因为前几年主要使用的是CAS的3.0和5.0版本,相比于VMWare而言,整体体验一般。我就不直接在物理机上部署了,用虚拟机来做个简单的操作演示。
首先说一下,H3Linux系统是基于CentOS 7进行封装的,这也是我一直使用的CentOS的主要原因。所以,在选择客户机操作系统时,需要选择“Linux→CentOS 7(64位)”。
虚拟机配置给到16核CPU、32 GB内存、200 GB系统盘,开启嵌套虚拟化,最终配置如下:
然后启动虚拟机,可以看到安装的Grub引导都是CentOS 7的提示。
经过短暂的等待,进入到和CentOS 7一样的配置页面。
首先需要调整软件包,默认是安装CVK(Cloud Virtualization Kernel,云虚拟化内核)节点,是不具备管理能力。如果要对计算、网络和存储等资源进行管理,也就是对CVK节点等进行管理,就需要部署CVM(Cloud Virtualization Manager,云虚拟化管理系统)节点。
然后是磁盘分区配置,默认是手工分区方式。第一次安装时,我们还不了解分区结构,需要将分区方式调整为自动分区。
然后调整网络配置,将IP地址配置方式修改为静态IP地址。
然后我们调整主机名,将默认的cvknode修改为cvmnode,点击“Apply”来应用生效。
接下来,就可以点击“Begin Installation”开始安装了。
系统安装完成后,会自动创建一个sysadmin账号(默认密码为Sys@1234),以备禁用“ROOT SSH权限”后使用。但是此时,我们要为root用户设置一个密码。
等待安装完成后,系统会自动重启,控制台的配置页面如下:
然后我们通过https://192.168.1.41/登录CVM云计算管理平台,默认的初始用户名和密码为admin/Cloud@1234。
然后就出现了报错,提示“获取主机MAC地址失败”。装过iMC的应该都了解,这是因为CAS检测到运行于虚拟机中,需要获取物理主机的一些信息。但是又没有配置的页面,那就只能调整一下虚拟机的配置了。在“编辑设置”中,进入“虚拟机选项”页面,点击“高级”下面“配置参数”中的“编辑配置”。
点击“添加参数”,增加图中所示的两行配置。其中,“hypervisor.cpuid.v0”设置成FALSE的目的是欺骗虚拟机系统,使其不能发现运行在虚拟机中;“mce.enable”设置成TRUE的目的是启用MCE(Machine Check Exception,机器检查异常),也就是串口监听功能,方便虚拟机发现硬件错误。
点击“确定”后保存虚拟机设置。
当然,我们也可以直接修改主机的vmx配置文件。文件路径的前半部分是数据存储的位置,参考(如何将VMWare ESXi 6.5升级版本到6.7?),后半部分是虚拟机磁盘文件目录。
然后我们在配置文件192.168.1.41-CAS.vmx的末尾添加一下两行配置:
hypervisor.cpuid.v0 = "FALSE" mce.enable = "TRUE"
之后重启CAS虚拟机。再次登录CVM管理平台,登陆成功。
页面很丰富,不过目前没有添加主机和虚拟机。
在“系统”下的“License管理”中,我们可以看到CAS安装完成后,默认自带180天的企业增强版试用授权,可以管理1024个CPU和1024台虚拟机,对于测试和学习来说,完全够用。
如果要用来搭建业务系统,请在License有效期内升级商用授权,避免影响业务。
最后我们看一下H3Linux系统的相关信息。系统默认开启了SSH服务,可以直接通过root用户进行登录。
我们可以看出,系统是基于CentOS 7.6.1810进行封装的,这就是我们客户机操作系统要选择“Linux→CentOS 7(64位)”的原因。
然后我们看一下分区情况。
可以看到虚拟机数据分区/vms的大小为68 GB,该分区用于存放虚拟机的所有数据文件,原则上是越大越好。日志分区/var/log,该分区用于存放系统操作的日志文件,说实话,我感觉34 GB有点过分了。根目录/的分区我们暂且不说,这个sda4分区的100 GB去哪了?看上去是分成了sda5和sda6,也就是/vms和/var/log,这要手工分配,应该要怎么操作呢?
在没有任何配置的情况下,系统的内存使用量为7.4 GB左右。
内存占用比较高的是java和mysql进程。
5.2.2、部署CVK计算节点
部署完CAS的CVM之后,我们已经了解了H3Linux系统是基于CentOS 7进行封装的。在部署CAS时,需要调整软件包,来选择是安装默认的CVK(Cloud Virtualization Kernel,云虚拟化内核)节点,还是具备管理CVK节点能力的CVM(Cloud Virtualization Manager,云虚拟化管理系统)节点。其他的安装过程和CentOS的安装过程没什么差异(CentOS操作系统最小化安装部署)。
CVK是运行在基础设施层和上层客户操作系统之间的虚拟化内核软件,用于实现上层客户操作系统对底层硬件资源的访问,需要资源池化的服务器均需要安装CVK组件。而且CVK组件为默认安装选项,比如我们上次安装的CVM也是在CVK的基础上增加CVM的相关软件,如果仅有一台服务器需要管理,直接安装CVM即可,无需再单独部署CVK。
但是为了对CVM和CVK进行简单比较,了解一下相关差异,我们还是再安装一台CVK主机,主机的配置信息如下:
这次软件包这里我们不用修改了,将分区方式调整为自动分区,再配置好网卡,就可以开始安装了。
等待安装完成后,系统会自动重启,控制台的配置页面如下所示,和CVM的控制台是一模一样的。
然后我们探测CVK主机的80端口和443端口,发现均处于关闭状态,说明CVK主机是不提供前台WEB服务的。
登录CVK主机后台,查看主机系统资源使用情况,我们发现内存使用量相比于CVM的7.4 GB,只有1.5 GB,可用内存将近29 GB。
CVM中存在多个java进程,内存占用率将近20%,而在CVK中只有3.1%,初步可以判断,CVM中的前端进程占用了比较多的内存资源。
查看系统分区情况。
可以发现,CVK和CVM的分区完全一致,通过对比,可以看出设备的sda1、sda2和sda3为系统分区,差别是CVM的根目录使用空间为14 GB,比CVK的7.5 GB多了6.5 GB;而sda4为扩展数据分区,又分成了sda5和sda6两个分区。
所以,如果我们后面想自己手工进行分区设置,可以将日志分区/var/log压缩到10 GB或者更小,将根目录/压缩到30 GB或者更小,剩余的空间全部分配给虚拟机数据分区/vms,来存储更多的虚拟机数据文件。
再将CVK纳管到CVM之前,我们一定要检查主机的系统时间是否正确。
如果系统时间存在误差,可以参考我们之前的NTP文章(NTP服务的一套组合拳打法)进行配置。同时,在配置完成之后,使用以下命令将系统时间写入到BIOS中,提高可靠性。
hwclock -w
然后,我们就可以使用CVM纳管CVK主机节点了。
5.2.3、CVM纳管CVK节点
CVK是运行在基础设施层和上层客户操作系统之间的虚拟化内核软件,用于实现上层客户操作系统对底层硬件资源的访问,需要资源池化的服务器均需要安装CVK组件,CVK是不具备管理能力的。对CAS资源池中计算、网络和存储等资源的管理是通过CVM进行操作的。
在确保主机时间正确之后,我们就可以在CVM云计算管理平台操作配置CVK节点的纳管了。
在“云资源”页面中,我们点击“增加主机池”按钮。
配置一个主机池名称,点击“确定”就完成了主机池的创建。
主机池创建好之后,我们点击进入刚才创建的主机池,再点击“增加主机”。
和vCenter一样,配置好主机的IP地址和账号密码,就可以添加主机了。
添加完成后,我们就可以在主机池下看到主机信息了。
同理,我们还可以把CVM主机也作为CVK节点添加进来。
在主机cvmnode下面,我们可以查看CVK节点的“概要信息”。
在“硬件监控”页面,我们可以查看主机的CPU、内存、温度、电扇和风扇等硬件状态信息。因为我是虚拟机,所以只能查看处理器和内存信息;我之前测试过HPE、H3C和紫光恒越的国产服务器,温度、电源和风扇的状态监控都是没问题的。
“性能监控”这里,信息就基本都能看了,包括CPU利用率、内存利用率、I/O吞吐量统计、网络吞吐量统计、磁盘请求、磁盘利用率和分区占用率等信息,监控项还是比较全面的。
“虚拟机”这里,暂时还没有数据,等待着我们来添加。
在“存储”页面,我们可以看到/vms路径的文件信息,主要是镜像池isopool和默认池defaultpool,我在VMWare中配置ISOPool就是从这里学到的。
“虚拟交换机”页面,可以看到默认的vswitch0管理交换机,下面还有一个虚拟交换面板,用来展示端口流量信息。但是,CAS的网络配置没有VMWare那么丰富,目前为止我还没有发现类似端口组之类的配置,如果要模拟线路连接,只能是通过增加虚拟交换机来实现了。
我们在后台查看OVS配置信息,可以看到vswitch0是桥接到接口eth0的,两个接口的MAC地址都是一样的。
“硬件”页面,还是主要展示CVK主机的物理设备,包含物理网卡、GPU设备、存储适配器和本地磁盘等信息。当然,我之前也查过,对HPE ProLiant DL360 Gen9支持的GPU设备也是有线的,而且需要NVIDIA的授权,算了,还是不要GPU了。
还有一些比较多的“高级设置”,可能比较有用的就是“路由配置”吧。
“任务”页面,可以查看执行的历史任务信息。
但是显示的不全,正常是3个任务,这里只显示了增加主机192.168.1.41这一个任务。
经过简单的几步操作,本来只有24线程的物理主机,现在有32核可用的CPU了,如果多配置几台,应该可以看起来更加高大上。
“主机健康度”这里,什么都还没跑,就已经只有97分了,我记得好像是根据CPU、内存、存储、网络等各项资源的使用率来进行打分的。
然后我们点击“一键健康巡检”,可以看到CVM管理平台目前存在1项故障,5项警告。
通过点击检测项,可以查看具体的告警信息和改进建议。
比如我们按照指导修改一下NTP配置,可以看到主机自动启动NTP服务。
再次执行“一键健康巡检”,可以看到修复后的问题状态,仅剩下5项警告了。
当然,这个和主机健康度是没有关系的,主机健康度还是之前的分数。
虚拟机的安装过程和VMware类似,有需要的小伙伴可以参考安装CentOS的文章(CentOS操作系统最小化安装部署)和安装Windows的文章(H3C CAS部署Windows虚拟机)。
了解完了网络设备模拟器和虚拟化环境,我们已经已经初步具备了搭建模拟网络环境的能力。但是,我们前面也测试过,像Cisco模拟器Packet Tracer的功能比较简单,HCL的性能又差点意思(HCL中虚拟设备的转发性能怎么样?今天我们来测一下),eNSP的性能会稍微好一些(中华之名,有为之势!看eNSP如何吊打HCL)。EVE-NG的功能整体会好一些,但是性能也受底层硬件性能的限制,那如果我们想看看最接近物理设备的设备,那就要提到网络功能虚拟化(Network Functions Virtualization,NFV)了。
5.3、网络功能虚拟化NFV
NFV是一种关于网络架构的概念,我们平时使用的服务器由不同的硬件厂商生产,在安装了不同的操作系统以及软件后实现了各种各样的功能。而传统的网络设备并没有采用这种模式,路由器、交换机、防火墙、负载均衡等设备均有自己独立的硬件和软件系统。而NFV提供了一种方法,一般是在商用服务器硬件上部署虚拟化软件,将原本运行在专有硬件上的网络服务(如路由器、防火墙等)打包为虚拟机(Virtual Machine,VM),对外提供虚拟化的网络功能,而对最终用户无感知。借助NFV,我们无需再为每个网络功能配备专用硬件,提高了系统的扩展性和敏捷性。
在介绍EVE-NG时(没想到啊,竟然万物皆可EVE-NG!),很多同学都在问我要这些NFV的镜像。其实,这里面绝大多数的NFV镜像都是可以从H3C官网直接下载的,我也不止一次的提到,H3C对于从业者和学习者的开放态度,完全比华为高出不止一个层级。
比较常用的NFV镜像有虚拟路由器VSR、虚拟防火墙vFW、虚拟负载均衡vLB、虚拟交换机vSW、虚拟DHCP服务器vDHCP、虚拟宽带接入服务器vBRAS、虚拟无线控制器VAC等等,这些都是可以在H3C官网进行下载的。
其中,vDHCP、VSR和vBRAS都在软件下载页面下的“NFV”产品线下,1000系列指的是适用于虚拟机部署环境,2000系列指的是适用于物理服务器部署环境。
vAC在软件下载页面下的“无线”产品线下。
vFW和vLB在软件下载页面下“安全”产品线下。
vSW在软件下载页面下“ADNET&SNA”产品线下。
还有其他很多NFV,期待大家到H3C官网的“软件下载”页面进行探索。
https://www.h3c.com/cn/Service/Document_Software/Software_Download/
5.3.1、部署NFV
我们今天在ESXi 6.7环境中部署3台NFV:VSR1000、vFW1000和VLB1000,供大家参考一下部署过程。
首先我们把3台NFV的部署镜像上传到ESXi服务器的数据存储中。
然后我们创建一台VSR1000的虚拟机,主机配置如下:
安装过程就很简单了,启动虚拟机之后,首先根据提示输入“1”(全新安装),然后输入“yes”开始部署,最后输入“yes”重启主机,安装就结束了。
当然,还会有一个提示确认的过程,提示移除安装介质之后按回车继续重启。
重启之后就能成功进入到系统了。
然后我们再创建一台vFW1000的虚拟机,主机配置如下:
安装过程和VSR一样,启动虚拟机之后,首先根据提示输入“1”(全新安装),然后输入“yes”开始部署,最后输入“yes”重启主机,回车确认,安装就结束了。
进入系统和VSR有点小差异,那就是需要进行验证,输入默认的账号密码admin/admin即可登录设备,同时可以看到接口G1/0还开启了DHCP自动获取IP地址的功能。
最后我们再创建一台vLB1000的虚拟机,主机配置如下:
安装过程和VSR也是一样的,启动虚拟机之后,首先根据提示输入“1”(全新安装),然后输入“yes”开始部署,最后输入“yes”重启主机,回车确认,安装就结束了。
系统的登录和使用与VSR基本一致,无需登录认证,接口配置为空。
5.3.2、配置NFV网络
接下来,我们点击导航器的“网络”进入到ESXi的网络配置页面,点击切换到“虚拟交换机”页签下,点击“添加标准虚拟交换机”。
输入vSwitch的名称,配置接受安全属性,点击“添加”完成添加标准虚拟交换机。
然后,在“端口组”页签下面,点击“添加端口组”。
输入端口组的名称,建议配置一个单独的VLAN ID用于隔离业务,虚拟交换机选择刚刚新建的NFV,安全配置均保持“从vSwitch继承”即可,完成“添加”。
现在我们就用了nfv1001和nfv1002两个端口组,当每个端口组仅连接一台主机时,一个端口组就像是一条单独的物理线路一样,有着比较好的隔离和模拟效果。
然后,我们用这两条线将3台设备连接起来,像下图这样。
我们回到VSR1000上,编辑设置来为它配置两个网卡,并分别选择连接到nfv1001和nfv1002两个端口组。
我们现在看主机的硬件配置有两个网卡,但是在系统里面只能看到一个。这一点我们之前介绍过,因为VSR的网卡调整后,需要重启生效。
重启之后,就能在系统里看到两个网卡了,我们配置好网卡地址。
然后我们调整VLB的网卡连接到nfv1002,无需重启,直接配置IP地址和路由即可实现到全网网段的访问。
最后,我们配置vFW的网卡连接到nfv1001,同样无需重启,直接配置IP地址和路由即可实现到全网网段的访问。
这是防火墙的最简单配置,因为防火墙的接口G1/0加入到了Management安全域,可以实现Management到Local的访问。
这里仅做一个示范,如果想看大型NFV组网,请查看(付出总有回报,全国SRv6组网实验成功了!)。
5.3.3、NFV设备初始配置
一般为了方便管理,建议按照“位置+型号+管理IP”的格式设置设备名称。我是虚拟化,没有位置,就直接设置成vFW-200.1了。
查看接口信息,和物理防火墙不一样的是,设备默认的第一个接口没有配置信息,需要手工配置地址。在G1/0接口上配置了192.168.100.200/24的地址,ping网关100.1发现不通,也没有ARP信息,才发现是完全的空配置。
# sysname vFW-200.1 # interface GigabitEthernet1/0 port link-mode route description Management ip address 192.168.100.200 255.255.255.0
对于防火墙,需要额外调整域间策略配置。首先将接口G1/0加入到安全域Management,如果是还不支持安全策略的老版本,可以调整域间策略。
# security-zone name Management import interface GigabitEthernet1/0 # zone-pair security source Local destination Management packet-filter 3000 # zone-pair security source Management destination Local packet-filter 3000
正常来讲,域间策略只应该精确地放通需要互访的流量,比如此处,放通规则仅添加192.168.100.0/24网段的互访,并在最后添加deny规则。
# acl advanced 3000 description zonepair rule 0 permit ip source 192.168.100.0 0.0.0.255 destination 192.168.100.0 0.0.0.255 rule 100 deny ip
一般为了管理方便,我们都要配置远程管理。在条件允许的情况下,尽量避免使用Telnet、HTTP等非加密协议,建议使用SSH和HTTPS,并使用ACL进行远程访问控制。
# line vty 0 63 authentication-mode scheme user-role network-operator # ssh server enable ssh server acl 2400 # acl basic 2400 description vtylogin rule 0 permit source 192.168.100.0 0.0.0.255 # ip https port 8443 ip https acl 2400 ip https enable
为避免收到攻击,需要关闭不必要的服务并删除无关账号信息,如上次传版本使用的FTP服务就要及时关闭,创建的FTP临时账号也要及时删除。
同时,为了安全考虑,我们还要调整用户配置。这次,我们新增了用户Tietou,并删除默认用户admin,提升安全级别。要保证用户权限设置合理,密码强度符合要求,一般是包含数字、大小写字母、特殊字符,并且字符长度不低于8位。
# local-user Tietou class manage password simple Tietou@h3c.com service-type ssh terminal https authorization-attribute user-role network-admin