资源管理功能服务启动报错

问题现象:
GBase的资源管理在安装时如果没有安装资源管理功能,则需要手动配置资源管理的内容,但是在配置过程中会报以下错误:

cannot mount cpuset to /cgroup/cpuset: Device or resource busy
涉及集群版本:
所有版本。
问题原因:
/cgroup目录被占用,且重启无效。
解决办法:
1、删除/cgroup目录 rm -rf /cgroup
2、执行cgclear
3、重启cgroup服务 systemctl restart cgconfig

命令gcluster_services gbase stop和service gbased stop有什么区别?

(1)gcluster_services脚本路径/opt/gcluster/server/bin/gcluster_services
执行gcluster_services gbase stop命令,下发的是kill -KILL `pidof gbased` ,即kill -9 `pidof gbased` 操作。
(2)reboot操作关闭gbased服务调用的是service gbased stopservice gbased stop 使用的脚本是/etc/init.d/gbased
执行service gbased stop命令下发的是kill -TERM `pidof gbased` kill `pidof gbased` ,是以正常的方式来终止程序。
(3)在新版本上,/etc/init.d/gbased脚本中stop()函数增加部分代码,当正常kill gbased超过60秒之后,会强制执行kill -9 gbased

stop()
{
    ! status $prog > /dev/null 2>&1 && return

    echo -n "Signaling $desc  to terminate: "
    kill -TERM $(pidof $prog) > /dev/null 2>&1
    success
    echo

    echo -n "Waiting for $prog services to unload:"
    cnt=0
    while status $prog > /dev/null 2>&1; do
        sleep 1
        echo -n "."
        cnt=`expr $cnt + 1`
        if [ $cnt -gt 60 ]; then
            kill -9 $(pidof $prog) > /dev/null 2>&1
        fi
    done

    rm -f $LOCK_FILE
    rm -f $PIDFILE
    success
    echo
}

将备份数据在一个新节点进行数据恢复,该怎么操作?

步骤:
1)A环境全部备份
2)A备份上传B环境
3)B环境安装单机
4)B环境使用rcman恢复
方式完成,A备份文件总大小约为350MB。

info:注意事项:

1)A、B两单机安装时使用的操作系统用户名需相同
2)A、B两单机安装时使用的实例名sid需相同
否则恢复的时候,会找不到绝对路径报错。

单机上如何实现数据保护?

使用数据的AB版本机制
在数据写入磁盘后,再进行数据当前有效版本的切换操作。切换成功则正常使用新数据,如果切换失败(磁盘异常)则SQL报错,后续可以使用旧版本的数据。

1)使用数据的AB版本机制。

已有数据的checksum检查机制
每个数据块都记录了对应的checksum值,当从磁盘读取数据块时,会根据加载的内容计算出的checksum值,与之前记录的checksum值进行比较,确保读取的数据块的正确性。如果checksum值不一致则执行SQL会报错(避免由于磁盘错误导致数据异常的扩散)。