安装asan版本
一、95 asan版本安装
953版本可直接配置环境变量后直接进行安装,步骤如下:
1、 安装rpm包,创建日志目录 sudo yum -y install llvm
2、 mkdir /opt/asan;chmod 777 /opt/asan; ll /opt/
3、 修改~/.bashrc,添加如下内容:
export ASAN_OPTIONS=halt_on_error=0:detect_leaks=1:symbolize=1:log_path=/opt/asan/asan.log
export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
source ~/.bashrc
4、 安装集群
5、 Gnode层配置文件中修改:
_gbase_enable_system_heap=1
6、 重启服务后,集群即可使用
二、 862 asan版本安装(环境安装过953 asan版本集群,包含上述953版本的环境变量;若环境未安装953 asan版本,需要进行95 asan版本安装中的步骤1~3)
862 asan版本直接安装会在在添加gcware时失败,如下图所示:
查看gcinstall.log有如下报错;
环境中没有corosync进程:
解决思路如下:
1、先安装普通的862版本集群
2、安装完成后停止service gcware stop停止所有节点的服务
3、解压asan版本的bundle.tar.bz2包,解压完成后会有gcluster、gnode两个文件夹
4、将集群本身的gclusterd、gbased中的server目录备份,然后替换成asan版本的,并保证替换后的server权限与原目录一致
mv /opt/gnode/server /opt/gnode/server.bak
mv /opt/gcluster/server /opt/gcluster/server.bak
cp -r /home/gbase/gcinstall_8.6.2_build43-R37.1-asan/gnode/server/ /opt/gnode/
cp -r /home/gbase/gcinstall_8.6.2_build43-R37.1-asan/gcluster/server/ /opt/gcluster/
chown -R gbase:gbase /opt/gnode/server
chown -R gbase:gbase /opt/gcluster/server
5、各节点修改/home/gbase/.gbase_profile文件
将“export
LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
LD_LIBRARY_PATH:
LDLIBRARYPATH:GCWARE_BASE/lib64:
G
C
L
U
S
T
E
R
H
O
M
E
/
l
i
b
/
g
b
a
s
e
/
:
“中的”
GCLUSTER_HOME/lib /gbase/:“中的”
GCLUSTERHOME/lib/gbase/:“中的”GCWARE_BASE/lib64:“删掉
6、使用root用户启动各节点服务service gcware start ,切换到gbase用户,使用gcluster_services gbase restart 重启gbase、gclusterd服务。
按照预期,执行完以上步骤集群即可正常使用,但使用8.6.2.build43-R37.1版本重启服务后,发现corosync及gcluster服务仍旧无法启动,gcadmin报错:Could not initialize CRM instance error: [6]->[GC_AIS_ERR_TRY_AGAIN]
排查后发现是因为/lib64目录下缺少libasan.so.3 文件
解决方法:
(1)将libasan.so.3文件拷贝到/lib64目录下
cp /opt/gnode/server/lib/gbase/libasan.so.3 /lib64
(2)使用root用户执行 export LD_PRELOAD=/lib64/libasan.so.3
此时环境内gccli命令仍不可用,需要创建一个软连接
ln -s /opt/gcluster/server/bin/gbase gccli
若以上方法仍无法安装成功,进行以下操作:
(1)查看节点/lib64/libstdc++.so.6*是否有如下内容,若没有可从其他环境拷贝,并创建软链接:
(2)在gnode层的配置文件/opt/gnode/config/gbase_8a_gbase.cnf 中添加参数skip_file_check=1,并重启节点服务