APC PowerChute Network Shutdown安全关机VMware vSphere vCenter的设置

天锦 发表于 女票们的新建与保养 分类,标签:

PowerChute 

    APC的UPS提供了可选安装的网络管理卡NMC,用于安装到UPS中以提供停电时能通过网络安全的将服务器停机以保护数据。APC提供了Windows系统和Linux系统的PowerChute Network Shutdown软件,将该软件安装在需要保护的系统上,当电池不足以继续提供电力的时候,NMC将会通知Network Shutdown软件通知系统正常关机以保护数据。Windows和Linux是常规的操作系统,除此之外,APC还提供了能够保护VMware虚拟化平台的版本,以ova虚拟机模板的形式提供,可以保护单台vSphere ESXi Host或者由vCenter管理的多台vSphere ESXi Host。

部署

    PowerChute的部署与普通的ova模板导入没有多少出入,正常导入ova模板,按照提示设置好网络,开启虚拟机就可,开机完成后需要在虚拟机控制台中再次进行PowerChute软件的设置,包括网络IP、用户协议、语言、时区以及时间设定等,设置完成既可以通过其提示的https://ip:6547  访问PowerChute Web interface,这里需要设置IPv4或者IPv6的协议栈,要保护的是单台ESXi主机或者是多台受vCenter管理的主机,以及UPS的NMC地址、用户、密码等信息。

    PowerChute Setup: vCenter Server Details中设置有关vCenter Server的信息,需要勾选“Accept Untrusted SSL Certificates”以防止自签证书引起安全警告造成无法正常通信。如果你的vCenter是以虚拟机的形式运行的话还需要勾选”vCenter Server running on a VM“,PowerChute将会针对虚拟机vCenter安排合理的关机顺序。

    PowerChute Setup: UPS Configuration中是进行UPS的配置设置,你需要根据实际情况进行选择,有单台UPS、双机冗余,多机并行和高级组合方式可选择,我使用的是单台UPS保护两台受vCenter管理的ESXi主机,就选择单台(Single)。

此外,在设置UPS的NMC信息时还需要一个”Authentication Phrase“,这个需要到UPS的NMC中”UPS>PowerChute>Authentication Phrase“进行设置。

关机

    待部署完成之后,点击Finish按钮完成配置,来到PowerChute Network Shutdown网页主页面,打开”Configure Events“选项卡,选择需要的条件设置关机动作。比如我需要在电池剩余时间不多的时候关闭服务器,就在Runtime remaining below threshold中配置了Shutdown动作。

Plug-in

在Virtualization Settings中可以发现PowerChute提供了vCenter的插件以集成到vCenter方便管理,提供了两中格式:vSphere Web Client Plug-in和vSphere Plug-in。vSphere Plug-in是针对vCenter 5.x系列的桌面客户端提供的插件,vSphere Web Client Plug-in是针对vCenter 6.x系列的Web界面客户端提供的插件。二者只能二选一,我使用的是较新的Web Client,所以选择了vSphere Web Client Plug-in。

但是不巧的是在我的vSphere Web Client中,每次登录都会提示”下载插件时出错。请确保该 URL 可以访问,并且已注册的指纹正确。“

err.PNG

出现这个问题有一下两点:

  1. 下载插件是通过主机名的方式下载的,如果vCenter无法正常解析PowerChute虚拟机的主机名的话是无法下载的,打开PowerChute虚拟机的控制台,用户名root密码是导入ova时设置的密码登入系统,输入hostname以查看主机名,例如我vCenter设定的DNS是10.10.10.254,PowerChute虚拟机主机名为pmg.domain.com、IP为10.10.10.9,则需要在我的DNS(10.10.10.254)中设置pmg.domain.com的A记录到10.10.10.9,或者是编辑vCenter的host文件添加pmg.domain.com的解析到10.10.10.9。方法很多总之就是要实现在vCenter中能ping通pmg.domain.com并且是正确的IP地址。

  2. PowerChute的Web服务器是使用的自签证书,vCenter不接受不安全的连接。虽然PowerChute可以切换到HTTP协议而不使用HTTPS,但是我尝试了无果。vCenter依旧使用6547端口进行HTTPS连接以尝试下载插件。只能在证书上下功夫,要么将自签证书添加到vCenter的受信列表(不好实现)要么更换自签证书为由可信CA签发的正规可信证书。因为我手上有注册了的域名,可以走CA签发受信的证书,所以选择了后者。并且在APC网站上搜索到了有关更换证书的介绍(有用但用处不大)。下面就详细介绍一下如何更换PowerChute的自签证书。

更换证书

    首先是到阿里云去申请个有效的证书,下载了来自APC的”Replacing the SelfSigned Cert on PowerChute_Linux.pdf“指导书得知了PowerChute是用java实现的,证书存储在/opt/APC/PowerChute/group1/keystore中,具体折腾就不说了,直接给出操作方法。另外APC提供的PowerChute的ova镜像实际上就是一个CentOS的操作系统部署好了pcns软件的虚拟机模板,后续需要使用SSH连接进行操作和文件上传,使用SSH需要service sshd start和firewall-cmd --add-port=22/tcp。

  1. 到阿里云申请证书,签发后下载tomcat版本的证书,也就是pfx格式的证书,证书密码也在压缩包中,我们假定你拿到的密码为6A6A6A,将pxf证书使用scp上传到/opt/APC/PowerChute/group1/中,并重命名为newcre.pfx。

  2. 使用service PowerChute stop命令停止运行PowerChute:

    [root@pmg ~]# service PowerChute stop
  3. 更改Keystore的密码,编辑/opt/APC/PowerChute/group1/pcnsconfig.ini,在[NetworkManagementCard]中添加一行KeystorePassword = your_password

    [root@pmg ~]# vim /opt/APC/PowerChute/group1/pcnsconfig.ini

    添加如下:

    [NetworkManagementCard]
    mode = single
    IP_1 = 10.10.10.8
    port = 80
    protocol = http
    enrolWithNMC = true
    acceptCerts = false
    KeystorePassword = 6A6A6A

    保存并退出。

  4. 启动PowerChute:

    [root@pmg ~]# service PowerChute stop
  5. 使用keytool查看keystore中存储的证书并验证更改后的密码是否生效,当提示Enter keystore password时输入在pcnsconfig.ini新设的密码即6A6A6A。

    [root@pmg ~]# cd /opt/APC/PowerChute/group1
    [root@pmg group1]# /opt/APC/PowerChute/jre-14.0.2/bin/keytool -list -v -keystore keystore 
    Enter keystore password:  
    Keystore type: JKS
    Keystore provider: SUN
    
    Your keystore contains 1 entry
    
    Alias name: securekey
    Creation date: Feb 18, 2021
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: C=JP, ST=Tokyo, L=Tokyo, O=Schneider Electric, OU=Schneider Electric, CN=10.10.10.9
    Issuer: C=JP, ST=Tokyo, L=Tokyo, O=Schneider Electric, OU=Schneider Electric, CN=10.10.10.9
    Serial number: ffffffffff
    Valid from: Thu Feb 04 05:46:35 UTC 2021 until: Tue Feb 04 05:46:35 UTC 2031
    Certificate fingerprints:
    	 SHA1: ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
    	 SHA256: ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 2048-bit RSA key
    Version: 3
    
    
    *******************************************
    *******************************************
    
    
    
    Warning:
    The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12".
  6. 接下来导入申请的pfx证书。
    先停掉PowerChute:

    [root@pmg ~]# service PowerChute stop

    替换证书:

    [root@pmg group1]# /opt/APC/PowerChute/jre-14.0.2/bin/keytool -importkeystore -srckeystore yournewcre.pfx -alias alias -destkeystore keystore -destalias securekey

    其中-alias alias是指定将pfx文件中别名为alias的证书导入,-destalias securekey指定导入到目标keystore后别名设置为securekey,因为阿里签发的证书别名为alias,所以也就是将签发的pfx证书文件中别名为alias的证书导入keystore并将别名重命名为securekey。不同CA签发下来的别名可能会不同,使用keytool -list -v -keystore younercrt.pfx 查看。
    最后启动PowerChute:

    [root@pmg ~]# service PowerChute start


    到浏览器中使用域名访问PowerChute,不在有安全警告。vCenter中也不再报下载插件出错。