搭建背景
如大家有使用服务器虚拟化软件的经历,就会发现共享存储设备(常用 SAN 存储)非常重要,但有的场景(如:测试开发环境)确实没有共享存储设备可用,那么你得忍受无法支持在线迁移、HA 等高级功能。而超融合技术的其中一个特点是使用通用服务器硬件即可同时提供服务器虚拟化和存储功能,不需要额外的 SAN 存储设备即可提供共享存储的服务。但一般的超融合集群至少需要 3 个节点,以及对网络也有相关要求,下面我将跟大家一起挑战如何使用 2 个节点构建超融合集群。
国内超融合厂商 SmartX ,在前阵子推出了 SMTX OS 超融合软件的社区版本,可永久免费使用,支持 3 节点的集群部署,只需要在官方网站进行注册即可获得许可。从官方的硬件要求中可以看到,标准集群依然是需要 3 台服务器的,以及要求使用万兆以太网进行互联。但考虑到有不少用户不一定有 3 台空闲的服务器,甚至也不一定配有万兆交换机,但又希望体验超融合架构的优势,这能实现吗?在任务开始之前,我们不妨先做一些前提和目标设定:
任务前提
- 服务器数量:2 台
- 网络交换机:只有千兆交换机,不使用万兆交换机
任务目标
- 企业测试开发环境对于资源池化,运维便利性要求并不低,因此要求超融合集群需支持存储池化、在线迁移等功能(不接受 2 台服务独立运行情况)
- 企业测试开发环境也需要一定程度的数据可靠性,因此要求集群支持数据副本冗余保护(至少支持 2 副本),能应对硬盘故障场景
- 企业测试开发环境虚拟机的密度很高,因此希望尽可能保证集群的存储高性能体验
既然目标已经清晰,那么就开干吧~
搭建准备
硬件准备
凑了两台配置合适的戴尔服务器,单台服务器配置如下:
CPU |
Intel Xeon Silver 4110 CPU 2.10GHz x2(官方最低要求 2.1Ghz) |
内存 |
128GB(官方最低要求是 64GB 以上 ) |
启动盘 |
240GB M.2 SSD(官方最低要求是 120GB) |
缓存盘 |
960GB x2(官方最低要求 2 块 480GB ,单没有冗余性) |
数据盘 |
2TB x4 (官方最低要求 2 块) |
千兆网卡 |
1 块 |
万兆网卡 |
1 块 |
PS: 需要在服务器 bios 中开启 CPU 的 VT 支持
网络准备
SMTX OS 社区版中提到需要 100% 发挥性能,服务器之间必需使用 10Gb 以太网互联,但实际上又没有万兆交换机,怎么办?没关系,由于是 2 节点集群,我们尝试通过一根带万兆线缆将两台服务器直连,解决没有万兆交换机的问题。
*当然你也可以使用万兆光模块+光纤跳线代替;但这种万兆线缆,两头自带 10GbE SFP+ 模块,节省了 2 个光模块,成本大概就 200-300 RMB,很实惠 。
服务器互联示意图
安装镜像获取
访问 https://www.smartx.com/community/ 进行登记可获取安装镜像,其中包括两个文件,社区版的 SMTX OS 超融合软件以及 CloudTower 平台管理软件,分别对应文件名为:
- community-4.0.10-el7-2105162031-x86_64.iso
- cloudtower-1.5.2.iso
PS:获取安装镜像后,应先确认 ISO 文件的 MD5 值是否一致,防止后续安装过程出错。
community-4.0.10-el7-2105162031-x86_64.iso 文件可以刻录到 U 盘进行安装。如果不了解如何刻录到 U 盘的同学,请参考 U盘刻录;另外,如果你的服务器本身有 IPMI 功能,也可以直接将 ISO 文件挂载,通过网络访问 IPMI 进行系统安装。
安装步骤
SMTX OS 系统安装
安装系统可以使用刻录好的 U 盘插到服务器上,并选择 U 盘进行启动(如使用 IPMI ,将 ISO 文件挂载到虚拟光驱中,并选择虚拟光盘启动即可)。
U 盘引导通过 U 盘引导
引导成功后,进入以下界面,选择 start intallation 即可
选择启动盘
根据实际情况输入对应的硬盘标识,案例中的启动盘是 sdg (240GB 大小),填入 sdg 后确定,系统将进入无人值守安装。
无人值守安装
安装过程中,系统会显示软件包的安装进度,完成后系统将自动重启
确认服务器网络连接情况
使用默认的账号: root ,密码: smartx 登陆系统
通过 ls /etc/sysconfig/network-scripts 命令查看服务器的网卡名称
使用 ethtool 命令查看网卡的连接情况和速度,确认万兆网卡和千兆网卡都是连通状态,这里确认千兆网卡名称是:enp94s0f0,万兆网卡名称是:enp24s0f1
配置管理 IP 地址
手工千兆网卡 IP 地址(手工配置 IP 方法参照),这里配置为:192.168.96.43
到这里基本已经完成了系统的安装,另外一台服务只需要重复以上 4 个步骤即可完成系统安装(另外一台服务器可以不手工配置 IP 地址)。
集群初始化
阅读服务条款
输入集群名称
集群名字可以自行定义,在这里集群名称定为: HCI
扫描集群
执行扫描后,确认系统可发现 2 台服务器(如下图),输入主机名(自定义)
配置存储模式
本次集群是 SSD+HDD 混闪配置,应该选择【分层】模式
创建管理网络虚拟交换机
填入管理网络的虚拟交换机名称(自定义),勾选关联服务器的千兆网卡 enp94s0f0(如果不清楚网卡对应关系,请参考系统安装章节:确认网卡连接状态和速度)
创建存储网络虚拟交换机
填入管理存储的虚拟交换机名称(自定义),勾选关联服务器的万兆网卡 enp24s0f1,鼠标移动到对应网卡上面会显示速度。
配置集群网络
为管理网络配置网关地址和掩码,存储网络只需要填子网掩码,不需要网关
配置 IP 地址:
管理网络的 IP 分别是:192.168.96.43 和 192.168.96.43
存储网络的 IP 分别是:10.0.10.43 和 10.0.10.43(存储地址是直连的,只需保证与管理网络不在同一网段的两个互通的 IP 即可)
指定一个可访问的 DNS 服务器地址(如没有则缺省),指定一个可访问的 NTP 服务器(如没有,则选择【使用集群内主机作为 NTP 服务器】)
检查集群配置信息
执行初始化前确认页面显示的配置信息准确无误
执行集群初始化
完成集群设置
创建集群管理员密码和 IPMI 关联设置
如服务器没有 IPMI 管理口,可选择跳过步骤
配置成功后,系统自动跳转到管理界面,表示集群初始化成功!
配置集群虚拟管理地址,后面用于连接 CloudTower
在管理界面点击 smartx 图标旁边的【设置按钮】,找到【虚拟 IP】设置界面,填入虚拟 IP 地址:192.168.96.45(需与原来两个管理 IP 地址不冲突)
到这里基本完成了集群初始化的任务,后面我们将继续安装 CloudTower
CloudTower 安装
上传 CloudTower 镜像
通过管理界面中【 ISO 映像】上传 CloudTower 的 ISO 文件
创建 CloudTower 虚拟机
在管理界面中的【虚拟机】中,创建空白虚拟机,具体配置如下:
vCPU |
4 个 |
虚拟内存 |
8GB |
虚拟磁盘 |
100GB |
虚拟网卡 |
1 块 |
ps:别忘记在新创建的虚拟机上挂载 CloudTower 的 iso 镜像
部署 CloudTower 系统
启动新创建的虚拟机,按下图选择 intall centos 7,执行 CloudTower 系统安装
安装 CloudTower 软件包
使用默认用户名 root,初始密码 smartx 登陆虚拟机,依次执行以下命令进行安装:
安装完成后,手工设置 CloudTower 的 IP 地址,并应用设置
初始化 CloudTower
使用 web 浏览器访问上一步设置的 CloudTower 的 IP 地址,执行初始化设置,包括创建管理员密码,填入组织名称(任意输入一个名称)
关联 SMTX OS 集群
登陆 CloudTower 的主界面,选择【集群】页签,在右上角单击 【+ 】关联集群,弹出关联集群对话框,输入 SMTX OS 集群虚拟 IP 的地址(参见虚拟 IP 设置),以及 SMTX OS 集群的管理员账号和密码(参见创建集群管理员账号和密码)
完成关联设置后,就可以正式使用超融合集群了!
小试牛刀
为了简单体验平台的存储读写速度,下面创建一个虚拟机,读写一个大文件,观察虚拟机读写带宽。
上传 windows 操作系统安装镜像到 CloudTower
使用 CloudTower 创建虚拟机
输入虚拟机名称,指定虚拟机的运行主机
为虚拟机配置 2 vCPU,8GB 内存,系统盘 40GB,创建虚拟机
使用虚拟机控制台安装 windows
如图,鼠标选中新创建的虚拟机,在右边菜单中选择【打开终端】,即可开始安装系统
安装的时候遇到一个小问题,windows 操作系统光盘无法识别硬盘,这是由于缺少 virtio 驱动的原因,可以下载 virtio 镜像(下载地址)解决该问题。
下载 virtio 镜像,并上传到 cloudtower,虚拟机同时挂载 windows 安装镜像和 virtio 镜像,重新开始 windows 安装,还是到了上图的位置(依然没有识别到虚拟硬盘),点击加载驱动程序,如下图,选择对应的文件夹
扫描后会显示如下图的驱动程序
成功加载驱动后就能正常识别硬盘大小了,然后就可以正常安装操作系统了。
安装虚拟机工具
系统安装好之后,可能会发现虚拟机有部分驱动缺失,这个时候可以通过点击虚拟机菜单中【安装虚拟机工具】,完成驱动的安装。
激活虚拟机工具安装后,虚拟机里面可以看到加载了一个虚拟光盘
运行安装程序,如下图:
拷贝测试
在线添加一块虚拟磁盘,测试从系统盘拷贝到另外一个虚拟磁盘的速度
拷贝过程可以看到,带宽表现还是不俗的,写入速度达到 250MB/s 以上!
到这里我们已经成功完成 2 台服务器搭建的超融合集群了,并且初步看起来性能还不错,任务的目标大致上已经完成。为了确保平台能完全达到任务的预期,后面我们将基于这个平台做更详尽的测试,包括详细性能、可靠性、甚至是应用的测试等,敬请期待。