现网有一套比较老旧但比较强大的自动化运维系统BMC Bladelogic(商业收费软件),2014年进入当前的公司开始使用该产品,但从安装包的时间来推断是2012年的版本,由于当时是第三方BMC代理公司安装部署的,近期软件突然不能用了,从主机上找了下安装包,决定重装下。虽然在百度文库上找到相关文档 —《BMC Bladelogic安装配置-部分功能介绍-V1.1》,不过还是记录下该本档中未提到的部分。

一、数据库的配置

BMC Bladelogic数据是记录在数据库的,其在老版本中只支持oralce和sql server两种数据库。在82-SP1-external-files.zip解压后,有db_scripts目录,目录中有oracle和sqlserver两个子目录,在oracle目录中存放的是BBSA需要的表空间、表结构和创建用户等相关的多个sql文件。

1、修改sql文件

安装oracle的过程略过,在win平台下无非是多个下一步的操作。数据库安装完成后。修改oracle\schema\create_oracle_instance.sql 文件中的数据存储的位置。

create_oracle_instance
create_oracle_instance

会有多处,都需要做这样的修改。默认执行该sql后,还会创建一个用户名为BLADELOGIC,密码为sa的数据库用户,如果不想使用sa做密码,也是修改该文件

2、执行sql文件

切换到create_oracle_instance.sql 文件所在的目录下执行如下操作:

1C:\Documents and Settings\Administrator>cd /d C:\bmc\oracle\schema
2C:\bmc\oracle\schema>sqlplus "/as sysdba"
3SQL> start  create_oracle_instance.sql;
4SQL> commit;
5SQL> exit

上面退出后,进入oracle_nchar_master.sql 所在的目录,使用刚刚的BLADELOGIC 用户连接,执行oracle_nchar_master.sql脚本—-由于该sql文件会调用多个文件,建议将执行过程记录到日志,后面确认日志里是否有报错,命令如下:

1--- 连接
2sqlplus /nolog
3conn BLADELOGIC/sa
4----执行
5SQL>spool create_bladelogic_schema.log 
6SQL>start oracle_nchar_master.sql BLADELOGIC BLADELOGIC_INDEX; 
7SQL>spool off
8SQL> commit;
9SQL> exit

注:此时如果想使用老的数据库,如建好的机器分组、创建好的任务等信息,可以通exp导出原数据库数据,在新建的数据库里通过imp进行导入即可

二、BBSA Server的安装

1、BBSA server安装中遇到的问题

双击BBSA82-SP1-WIN64.exe进行BBSA server服务进行安装,这个操作也比较简单,又是多个下一步的操作,在百度文库的文档上介绍的比较详细。不过其在安装完成后,在进行blappconf.exe配置时会出现错误,如下:

blappconf
blappconf

其中file server这一步过不去,根据从BMC官方论坛查到的结果发现也执行不成功。如下:

 1C:\Program Files\BMC Software\BladeLogic\NSH\bin>blasadmin.exe -a
 2blasadmin now running against the following deployments: default, _template
 3Bladelogic Admin Utility; Version 8.2.01.273.
 4Copyright (c) 2001-2012 BladeLogic, Inc. All rights reserved.
 5Type 'help' for Bladmin help.
 6bladmin:*>show fileserver all
 7[FileServer]
 8[10 Nov 2017 19:40:41,652] [main] [ERROR] Unable to read data: No DB information available.
 9[FileServer]
10[10 Nov 2017 19:40:41,699] [main] [ERROR] Unable to read data: No DB information available.
11bladmin:*>

执行命令进行设置同步报上面的错误:

1set fileserver name newfshost
2set fileserver location /C/storage/

我通过在这台主机上搭建ftp和web服务器,再进行该步操作,同样报这样的错误。通过多次测试,后来找到了问题原因。是在安装包时安装的顺序有问题,在安装BBSA Server之前,需要先安装PXE82-WIN32安装包,目前猜测该包内封装了文件系统服务,主要用于pxe安装使用。如果先安装了BBSA Server也没关系,到上图报错的时候,可以先退出,等pxe82-win32.exe安装完成后,再在开始—程序里找到BMC配置向导进行配置,也可以直接到BMC主bin目录执行blappconf.exe程序进行下一步操作。

在pxe程序安装完成后,还需要在hosts文件中配置主机名和IP之间的映射关系,配置好后重启系统,重新blappconf.exe配置后,建议再进行一次重启(不重启在服务里拉起bmc application server时可能会报错)。

2、正确的安装过程

我试图说清解决问题的过程,但上面的描述可能比较繁琐,你如果不想重现这个错误,只是想很顺利的完成安装,可以按如下顺序进行安装:修改hosts文件IP和主机名的对应关系 —-> RSCD82-WIN64.msi —-> PXE82-WIN32.exe —–> BBSA82-WIN64.exe并进行配置 —-> 重启OS —-> 修改注册表 —-> BBSACONSOLE82-WIN64.exe安装

mkdir-deny
mkdir-deny

按正确的方法进行安装时,在文件服务器这一步按默认确认的时候,一般还是会报上面的错误,这时候可以手动创建一个文件服务使用的存储目录,如c:/stroage,在文件存储位置项修改为/c/stroage,再确认就通过了。之所以出现该问题,目前猜测是因为agent安装时映射的用户没有对应administrator用户有关。如查想要根本解决该问题,可以修改C:\WINDOWS\rsc\users.local 文件,增加如下内容:

System:System rw,map=Administrator

具体可以参考BMC官文两部分文档:

File server requirements

Configuring the file server agent ACLs

3、RBACAdmin与BLAdmin用户

radcadmin-bladmin
radcadmin-bladmin

这里设置的密码,后面第三步安装管理软件时会用到。

三、BBSACONSOLE的安装

在安装BBSACONSOLE之前,还需要先修改组策略或注册表。根据相关文档来看,一般需要如下步骤修改组策略:

步骤 1:转到开始菜单 -> 运行…,键入 “gpedit.msc”,然后按 Enter 键。  步骤 2:转到计算机配置 -> 管理模板 -> Windows 组件 -> 远程桌面服务 -> 远程桌面会话主机 -> 临时文件夹。  步骤 3:将 “退出时不删除 temp 文件夹” 设置为 “启用”。     步骤 4:将 “每个回话不使用 temp 文件夹” 设置为 “启用”。     步骤 5:重新启动。 

上面修改不成功,再修改注册表。不过个人感觉上面的步骤太繁琐,还是修改注册表来的方便,如下:

regedit启动注册表,找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server,将 PerSessionTempDir 和 DeleteTempDirsOnExit 更改为 0。重新启动。

修改完注册表还要配置为允许在无受限的模式下运行(这两步不能少,我试过跳过这两步,安装console人时候会报错):

步骤 1:转到“开始”菜单 -> “控制面板” -> “系统” -> “高级系统设置”。选择“高级”选项卡,然后选择“性能”区中的“设置”按钮。选择“数据执行保护”选项卡。    

步骤 2:单击“添加”按钮添加此应用程序至 DEP,并选择 C:\Media\BBSACONSOLE81-302-WIN64.exe。 选择“应用”。 选择“确定”。

bbsa-console
bbsa-console

安装完成后,运行该程序,增加配置文件,指定BBSA server的地址,并使用刚刚创建的BLAdmin密码进行登录就可以进入BMC自动化管理软件超人性的界面了。

bmc-automation
bmc-automation

上面提到的很多配置项的东西,也可以通过命令行的方式进行配置,这点在官方文档上也有说明,具体参看如下:

Using blasadmin to perform initial application server configuration

在BLAdmins密码项,我在第一次配置后忘记了密码,该密码是存在数据库中的,也可以通过修改数据库进行更新,具体也可以参看BMC论坛社区上的相关文档:

Can we reset password of BLAdmin & RBACAdmin