HPE ProLiant DL380 Gen10 不同BIOS设置内存性能测试

硬件环境

2*Intel(R) Xeon(R) Gold 5122 CPU @ 3.60GHz
12*HPE SmartMemory DDR4-2666 RDIMM 16GiB

iLO 5 1.37 Oct 25 2018
System ROM U30 v1.46 (10/02/2018)
Intelligent Platform Abstraction Data 7.2.0 Build 30
System Programmable Logic Device 0x2A
Power Management Controller Firmware 1.0.4
NVMe Backplane Firmware 1.20
Power Supply Firmware 1.00
Power Supply Firmware 1.00
Innovation Engine (IE) Firmware 0.1.6.1
Server Platform Services (SPS) Firmware 4.0.4.288
Redundant System ROM U30 v1.42 (06/20/2018)
Intelligent Provisioning 3.20.154
Power Management Controller FW Bootloader 1.1
HPE Smart Storage Battery 1 Firmware 0.60
HPE Eth 10/25Gb 2p 631FLR-SFP28 Adptr 212.0.103001
HPE Ethernet 1Gb 4-port 331i Adapter – NIC 20.12.41
HPE Smart Array P816i-a SR Gen10 1.65
HPE 100Gb 1p OP101 QSFP28 x16 OPA Adptr 1.5.2.0.0
HPE InfiniBand EDR/Ethernet 100Gb 2-port 840QSF 12.22.40.30
Embedded Video Controller 2.5

软件环境

CentOS Linux release 7.6.1810 (Core)
Linux yaoge123 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Intel(R) Memory Latency Checker – v3.6

Continue reading

OpenLDAP 升级报错pwdMaxRecordedFailure不存在

升级到OpenLDAP 2.4.44,出现以下错误

User Schema load failed for attribute "pwdMaxRecordedFailure". Error code 17: attribute type undefined
config error processing olcOverlay={1}ppolicy,olcDatabase={2}hdb,cn=config: User Schema load failed for attribute "pwdMaxRecordedFailure". Erro...ype undefined
slapd stopped.

解决办法

cd /etc/openldap/slapd.d/cn=config/cn=schema
mv cn\=\{3\}ppolicy.ldif cn\=\{3\}ppolicy.ldif.bak
mv /etc/openldap/schema/ppolicy.ldif cn\=\{3\}ppolicy.ldif

 

Seafile集成卡巴斯基

防病毒脚本 /opt/kaspersky/kav4fs_scan.sh

#!/bin/bash

VIRUS_FOUND=1
CLEAN=0
UNDEFINED=2
KAV4FS='/opt/kaspersky/kav4fs/bin/kav4fs-control'
if [ ! -x $KAV4FS ]
then
    echo "Binary not executable"
    exit $UNDEFINED
fi

SCAN_OUTPUT=`$KAV4FS --scan-file "$1"`
if [ "$?" -ne 0 ]
then
    echo "Error due to check file '$1'"
    exit 3
fi

while read line
do
	OUT1=`echo $line|cut -d':' -f 1`
	OUT2=`echo $line|cut -d':' -f 2|sed 's/ //g'`
	case "$OUT1" in
        "Threats found" )
                THREATS_C=$OUT2
                ;;
        "Riskware found" )
                RISKWARE_C=$OUT2
                ;;
        "Infected" )
                INFECTED=$OUT2
                ;;
        "Suspicious" )
                SUSPICIOUS=$OUT2
                ;;
        "Scan errors" )
                SCAN_ERRORS_C=$OUT2
                ;;
        "Password protected" )
                PASSWORD_PROTECTED=$OUT2
                ;;
        "Corrupted" )
                CORRUPTED=$OUT2
                ;;
	esac
done <<< "$SCAN_OUTPUT"

if [ $INFECTED -gt 0 ]
then
    exit $VIRUS_FOUND
elif [ $THREATS_C -gt 0 -o $RISKWARE_C -gt 0 -o $SUSPICIOUS -gt 0 -o $SCAN_ERRORS_C -gt 0 -o $CORRUPTED -gt 0 ]
then
    exit $UNDEFINED
else
    exit $CLEAN
fi

/opt/seafile/conf/seafile.conf 添加防病毒配置

[virus_scan]
scan_command = /opt/kaspersky/kav4fs_scan.sh
virus_code = 1
nonvirus_code = 0
scan_interval = 60

每天crontab清除kav4fs的日志/etc/cron.d/kav

30 0 * * * root find /var/log/kaspersky/kav4fs/supervisor_trace.log* -exec rm {} \;
40 0 * * * root /opt/kaspersky/kav4fs/bin/kav4fs-control -S --clean-stat

浪潮刀片和机架的一些问题

用了四年的浪潮NF5270M3机架服务器、I8000刀箱和NX5440刀片服务器,总结一下碰到的管理问题

  1. 浪潮认为刀片BMC的IP应该紧跟着刀箱管理模块的IP顺序增加,比如刀箱管理模块是192.168.1.10,那么第一个刀片就应该是192.168.1.11。不这样设置会出现一些问题,如按刀片上的KVM按钮会亮红灯无法切换,需要SSH到刀片的BMC里用命令行修改一些配置文件
  2. 使用浏览器访问刀片的BMC必须用IP,用hostname的访问打开IP KVM会报错无法使用
  3. 在Linux下打开刀片的IP KVM报错无法使用,Windows下则正常,新的刀片已解决此问题
  4. 刀箱管理模块无法发送报警邮件,NTP配置无法保存且也没有同步时间,无发送syslog功能
  5. 机架BMC发送报警测试邮件正常,但是实际出现故障(如移除电源模块)时却没有发送邮件
  6. 刀箱电源风扇模块故障时前面板报警灯不亮,只在刀箱背后的电源风扇模块上有指示灯变红
  7. 机架RAID卡故障,如硬盘故障,前面板报警灯不亮

Veeam 不同备份方式的负载

IO负载

Method I/O impact on destination storage
Forward incremental 1x write I/O for incremental backup size
Forward incremental, active full 1x write I/O for total full backup size
Forward incremental, transform 2x I/O (1x read, 1x write) for incremental backup size
Forward incremental, synthetic full 2x I/O (1x read, 1x write) for entire backup chain
Reversed incremental 3x I/O (1x read, 2x write) for incremental backup size
Synthetic full with transform to rollbacks 4x I/O (2x read, 2x write) for entire backup chain

 

Reversed Incremental Backup:每次备份对备份存储的IO压力很大,备份窗口时间长,但是备份空间占用最少,只有一个最新的完整备份。

Forward Incremental Backup:每次备份对备份存储的IO压力最小,备份窗口时间最短,可能会需要额外备份空间存储多个完整备份。
Forever forward incremental Backup:对源存储无压力,如果虚拟机变化很大,合并最后一个增量和完整备份可能压力大,只有一个最老的完整备份。
Synthetic Full Backup:对源存储无压力,对备份存储IO压力较大,因为不是备份过程所以没有备份窗口,一般会保留有多个完整备份。
Transforming Incremental Backup Chains into Reversed Incremental Backup Chains:对源存储无压力,对备份存储IO压力极大,因为不是备份过程所以没有备份窗口,只保留一个完整备份。
Active Full Backup:完全从源存储创建一个完整备份,需要从源读取所有数据,对备份存储是顺序IO写因此压力不大,但是备份窗口时间非常长,对生产系统源存储性能有负面影响,一般会保留有多个完整备份。

 

VCSA 6.0 升级 6.5

密码重置

  1. 重置VCSA OS GRUB密码
    http://www.unixarena.com/2016/04/reset-grub-root-password-vcsa-6-0.html
  2. 重置VCSA OS root密码
    https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2069041
  3. 重置administrator@vsphere.local的密码
    https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2146224

vCenter Update Manager迁移

VCSA 6.5开始Update Manager被集成到VCSA中,所以需要迁移工具将原来独立的Update Manager迁移到VCSA 6.5中

  1. 如果修改过VCSA的密码,最好重新配置vCenter Update Manager,并重启它
    https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1034605
  2. 在vCenter Update Manager上运行迁移工具,保持运行窗口打开状态,迁移完成程序会自动退出
    https://docs.vmware.com/cn/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-6A39008B-A78C-4632-BC55-0517205198C5_copy.html
  3. 确保vCenter Update Manager有足够的空余空间,迁移时会打包文件

迁移时部署大小

迁移VCSA时到选择部署大小时,发现tiny/small等小的部署大小不现实,主要是因为原VCSA存储空间消耗过多
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2148587

设置时区

升级后登录VAMI时区显示空,并且无法设置,需要SSH登录到VCSA执行

cd /etc/
rm -rf localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Shockwave Flash crashes

这是Adobe Shockwave Flash version 27.0.0.170已知的问题,只能升级到更新的版本或者降级到老版本
https://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=2151945

 

VMware 迁移步骤

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

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

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

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

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

VMware 下 Linux 虚拟机硬盘扩容

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

  1. VMware编辑虚拟机硬件,扩容硬盘,做快照
  2. 用CentOS安装光盘引导启动虚拟机,进入救援模式
  3. parted /dev/sda,resizepart LVM分区
  4. partprobe
  5. pvresize /dev/sda3,扩充pv
  6. lvextend -l +100%FREE /dev/system/root,扩充lv
  7. pvs、vgs确认容量已扩容
  8. 对于XFS:mount /dev/mapper/system-root /mnt; xfs_growfs /dev/mapper/system-root
  9. 对于EXT4:e2fsck -f /dev/mapper/system-root; resize2fs  /dev/mapper/system-root

使用 rrdcached 解决 Ganglia 高 IOPS

用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,内容如下

[Unit]
Description=Data caching daemon for rrdtool
After=network.service
Before=gmetad.service httpd.service

[Service]
Type=forking
PIDFile=/run/rrdcached.pid
ExecStart=/usr/bin/rrdcached -s ganglia -m 664 -l unix:/var/lib/ganglia/rrdcached.sock -s apache -m 777 -P FLUSH,STATS,HELP -l unix:/var/lib/ganglia/rrdcached_limited.sock -b /var/lib/ganglia/rrds -B -p /run/rrdcached.pid

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

启动服务

systemctl daemon-reload
systemctl enable --now rrdcached.service

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

[Unit]
…………
After=network.target rrdcached.service
Requires=rrdcached.service

[Service]
Environment=RRDCACHED_ADDRESS=/var/lib/ganglia/rrdcached.sock
…………
…………

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

$conf['rrdcached_socket'] = "unix:/var/lib/ganglia/rrdcached_limited.sock";