因原虚拟化平台设备已使用约9年,已经带病运行,且性能上已无法满足,因此购置了全新的一套设备准备替换。

首先对新平台设备进行安装调试,作为一个新的集群加入到原VCSA中。

如两个集群的存储互通,则虚拟机关机在新集群启动后,可以在线迁移存储,这样停机时间很短。如两个集群的存储不互通,则需要虚拟机关机才能迁移存储,停机时间较长。

新的集群采用了DVS,但是DVS需要VCSA才能管理,所以VC绝不能通过其自身管理的DVS进行通讯。DVS接管万兆网跑业务、vMotion、VSAN等流量,VCSA通过标准虚拟交换机用千兆网进行管理。

VCSA关机,用Client登录老集群VCSA所在ESXi导出VCSA,等完成后用Client登录新集群任意一台ESXi导入VCSA,会发现不能选择任何DVS中的端口组,只能选择标准交换机

对VMware下CentOS7虚拟机,根分区进行扩容

  1. VMware编辑虚拟机硬件,扩容硬盘1
  2. 重启虚拟机,进入救援模式
  3. fdisk,删除旧分区,原位创建新分区,并改变分区类型为8e(Linux LVM)
  4. partprobe
  5. pvresize /dev/sda3,扩充pv
  6. lvextend -l +100%FREE /dev/system/root
  7. pvs、vgs确认扩容
  8. 如果未挂载,先 mount /dev/mapper/system-root /mnt
  9. xfs_growfs /dev/mapper/system-root

用Ganglia监控一个近300个节点的集群,采样时间为默认的15s,加了一些自定义的参数,rrds目录容量74GB,12万个rrd文件。这样的一个规模下,平均每秒写入32MB、8k IOPS,平均每次写入只有4K数据,基本都是gmetad将采样的数据写入rrd文件中。这样高的IOPS对存储还是有明显的压力的,RRDtool中的rrdcached可以将对rrd的updates操作缓存到内存中然后在合并写入硬盘,显著降低了对硬盘的压力。

创建一个rrdcached的服务,编辑文件 /usr/lib/systemd/system/rrdcached.service,内容如下

  • rrdcached.sock给gmetad用的、rrdcached_limited.sock限制了可用的操作给WEB前台用
  • -b指定工作目录,-B限制在工作目录下
  • -w指定缓存时间,如果更新时发现超过本文件已经缓存了超过此缓存时间,就放到写入队列中等待写入,默认300s
  • -z指定随机延迟,每一个rrd写入时都插入一个随机延迟,此值不能比-w,默认为0
  • -f指定超时,如果rrd超过此时间还没有更新则写入硬盘

启动服务

修改 /usr/lib/systemd/system/gmetad.service ,在[Unit]和[Service]段修改和添加,并重启gmetad服务

修改前台网页的配置 /etc/ganglia/conf.php 添加一行,并重启httpd服务

 

 

比如Intel J1900 四千兆的无风扇迷你电脑,AHCI(Intel Atom Processor E3800 Series SATA AHCI Controller 8086:0f23)不受ESXi支持,因此需要在ESXi的安装包中添加驱动。

准备工作:

  1. 下载安装VMware PowerCLI
  2. 下载ESXi Offline Bundle放到D:\VMware
  3. 从http://www.v-front.de/p/esxi-customizer-ps.html下载ESXi-Customizer-PS放到D:\vm
  4. 从https://vibsdepot.v-front.de/wiki/index.php/Sata-xahci下载sata-xahci Offline Bundle放到D:\vm

启动VMware PowerCLI,执行下面的命令

重启计算机,再打开VMware PowerCLI

用D:\vm下面新生成的iso安装ESXi

 

一台DDN 7700X,双控,每个控制器两个FDR IB口。两台IO节点,每台两个双口FDR IB卡,一个卡双口与存储两个控制器连接,另一个卡单口与集群IB网络连接。

存储和IO节点间是IB直接连接的,没有通过交换机,每条IB链路都是独立的,所以在每条IB链路上都需要有subnet manager。因每个opensm进程只能绑定一个物理端口,而 service opensmd 只能启动一个opensm进程,所以只能在每个io节点上启动两个opensm专门用于管理存储IB链路。

首先用ibstat查一下和存储连接IB口的Port GUID,在/etc/rc.local中添加opensm并且绑定guid,注意前面的sleep是必须的,否则opensm启动失败。

 

首先要给节点启用NUMA Affinity,在lsb.hosts的Host节中添加AFFINITY列,值为Y,如:

启用后用bhost -l -aff可以看到Affinity已经Enable

提交作业时-R参数添加affinity字段如affinity[core:membind=localprefer:distribute=pack]

HP MSA 2040 SAN,双控制器,每控制器4GB缓存。两台IO节点与存储双控通过16Gb FC冗余链接。

测试命令:iozone -i 0 -i 1 -r 128K -s 256G -t 2 -+m ./iolist -C
每个IO节点一个iozone进程,更多的进程更慢

write rewrite read reread
900GByte 2.5-inch 10Krpm 6Gb/s SAS
每5个盘做一组RAID5,4组RAID5
2421 2421 2419 2418
4TByte 3.5-inch 7.2Krpm 6Gb/s NL-SAS
每6个盘做一组RAID6,2组RAID6
1249 1228 1276 1279

 

HPC集群中一些系统维护工作不需要立刻执行,而希望在不影响用户正常使用的情况下见缝插针的进行,这个时候可以将这些维护工作做成作业,通过作业调度系统来调度完成。下面以通过LSF作业调度系统升级Infiniband卡固件和驱动为例:

  1. 允许root用户提交作业
    1. 修改lsf.conf,添加一行
    2. 重启相关服务让修改生效
  2. 编写升级脚本
  3. 将升级所需文件复制到所有节点
  4. 编写作业提交脚本
    如果队列之间有抢占,系统维护作业需要提交到低优先级队列,提交到高优先级队列会造成重启时还有被抢占挂起的作业
    首先关闭节点,再进行维护作业,完成后再打开节点