一、备份行云管家
备份行云管家期间会占用大量的CPU,建议在无人使用的时间进行备份。登录行云管家管理控制台,如下图,进入“系统设置”下的“备份与还原”菜单;

1.1、手动备份行云管家
点击“创建备份”可以选择“备份内容”,其中“网盘文件及审计日志”为可选项;

点击“开始备份”后即可备份行云管家,备份时长主要由网盘文件及审计日志所占用磁盘的大小来决定,如果只是想快速备份行云管家的“核心配置文件”、“业务数据”以及“监控数据”,那么可以不勾选“网盘文件及审计日志”;
1.2、自动备份行云管家
点击“备份策略”可以设置定期备份行云管家的策略;

1.3、执行脚本备份行云管家
登录行云管家门户服务器,执行如下命令即可备份行云管家
用法1:/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/
备份文件将会保存至/opt/guanjiabackup
目录。
用法2:/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/ 2
备份文件将会保存至/opt/guanjiabackup
目录,并且将清理 /opt/guanjiabackup
目录,清理后仅保留最近的两份备份文件。
用法3:/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/ nodiskdata
备份文件将会保存至/opt/guanjiabackup
目录,并且将清理/opt/guanjiabackup
目录,不备份网盘数据。
用法4:/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/ nodiskdata 2
备份文件将会保存至/opt/guanjiabackup
目录,并且将清理/opt/guanjiabackup
目录,不备份网盘数据,清理后仅保留最近的两份备份文件。
二、还原行云管家
2.1、在管理控制台页面还原
登录行云管家管理控制台,如下图,进入“系统设置”下的“备份与还原”菜单;

在“备份文件”下我们可以选择各个时间的备份文件来进行还原;

2.2、执行脚本还原行云管家
登录行云管家门户服务器,执行如下命令即可还原行云管家
用法:/opt/cloudbility/bin/restore.sh /opt/guanjiabackup/guanjiabackupxxx.tar.gz
以/opt/guanjiabackup目录下的备份文件guanjiabackupxxx.tar.gz来恢复行云管家。
三、私有部署数据迁移
3.1、单机环境数据迁移
- 注意:迁移完成后,请检查所有功能是否使用正常,并且保留一段时间后再删除旧环境(建议保留时间长一些);
(1)新环境门户IP、域名、端口是否会变更
如果新环境使用的行云管家门户内外网IP、域名、端口有变更,请登录旧环境行云管家管理控制台网页,把新的门户IP、域名、端口添加进去(旧的门户IP、域名请暂时保留不要删除),设置方式请参考行云管家门户访问方式变更指引
如果新环境使用的行云管家门户内外网IP、域名、端口没有变更,请直接跳过此步骤。
(2)清理旧环境网盘数据
登录行云管家门户网页中的网盘菜单页面,清理“团队网盘”以及主机文件中所有主机网盘中不需要保留的文件,因为备份行云管家过程中会备份所有网盘文件,通过清理来避免备份出来的备份文件过大。
(3)停止旧环境行云管家服务:
登录旧环境行云管家门户服务器,执行/opt/cloudbility/bin/stop.sh
(4)旧环境备份:
登录旧环境行云管家门户服务器,执行/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/
备份文件将会保存至/opt/guanjiabackup
目录。
(5)部署新环境
在新环境部署同版本行云管家(必须是同版本的),部署指引请参考行云管家部署指引
(6)新环境管理控制台初始化
安装完成后进入行云管家门户管理控制台(一般是IP/console)进行初始化设置(也就是进入到控制台里面就行了,必须要初始化);
(7)在新环境还原旧环境行云管家数据
登录行云管家门户服务器,假设把备份文件传输到这台服务器的/opt目录下,那么执行如下命令即可还原行云管家,用法:/opt/cloudbility/bin/restore.sh /opt/guanjiabackupxxx.tar.gz
,这里以/opt目录下的备份文件guanjiabackupxxx.tar.gz来恢复行云管家。
(8)更换license许可
登录门户管理控制台,“许可管理”菜单下,导出服务器标识,再通过行云管家商务获取正式license许可进行更换(注意:license许可是zip压缩包,请不要解压);
(9)登录行云管家门户网站,检查网盘等页面是否正常即可正常使用;
3.2、单机数据迁移HA双击模式
- 注意:迁移完成后,请检查所有功能是否使用正常,并且保留一段时间后再删除旧环境(建议保留时间长一些);
(1)新环境门户IP、域名、端口是否会变更
如果新环境使用的行云管家门户内外网IP、域名、端口有变更,请登录旧环境行云管家管理控制台网页,把新的门户IP、域名、端口添加进去(旧的门户IP、域名请暂时保留不要删除),设置方式请参考行云管家门户访问方式变更指引
如果新环境使用的行云管家门户内外网IP、域名、端口没有变更,请直接跳过此步骤。
(2)清理旧环境网盘数据
登录行云管家门户网页中的网盘菜单页面,清理“团队网盘”以及主机文件中所有主机网盘中不需要保留的文件,因为备份行云管家过程中会备份所有网盘文件,通过清理来避免备份出来的备份文件过大。
(3)停止旧环境行云管家服务:
登录旧环境行云管家门户服务器,执行/opt/cloudbility/bin/stop.sh
(4)旧环境备份:
登录旧环境行云管家门户服务器,执行/opt/cloudbility/bin/backup.sh /opt/guanjiabackup/
备份文件将会保存至/opt/guanjiabackup
目录。
(5)部署新环境
在新环境部署同版本行云管家(必须是同版本的),部署指引请参考行云管家部署指引
(6)新环境管理控制台初始化
安装完成后进入行云管家门户管理控制台(一般是IP/console)进行初始化设置(也就是进入到控制台里面就行了,必须要初始化);
(7)在新环境还原旧环境行云管家数据
登录正在运行行云管家服务的门户服务器,假设把备份文件传输到这台服务器的/opt目录下,那么执行如下命令即可还原行云管家,用法:/opt/cloudbility/bin/restore.sh /opt/guanjiabackupxxx.tar.gz
,这里以/opt目录下的备份文件guanjiabackupxxx.tar.gz来恢复行云管家。
(8)更换license许可
HA模式下,总共有四份license许可,其中行云管家license许可两份,HAlicense许可两份。
登录门户管理控制台,“许可管理”菜单下,导出服务器标识,再通过行云管家商务获取正式license许可进行更换(注意:license许可是zip压缩包,请不要解压)。请参考HA切换节点指引进入HA网页,切换到另一个节点,并重复上述操作进入管理控制台网页替换license许可。
请参考HAlicense许可更换指引,把两个HAlicense许可分别放置在两台行云管家服务器中。
(9)登录行云管家门户网站,检查各功能页面是否正常即可正式使用;
四、数据盘迁移
4.1、根分区数据迁移至数据盘(未分区)
此方式适用于未分区未创建文件系统的新磁盘,可以通过fdisk -l
以及df -h
来查看该磁盘是否分区及是否有创建文件系统;
(1)进入行云管家门户服务器,在/opt
目录下执行vi movedata.sh
,然后把下述脚本复制进去并保存。
(2)然后执行命令对该脚本进行授权chmod 775 movedata.sh
(3)执行命令进行迁移/opt/movedata.sh /dev/xxx
(通过fdisk -l
以及df -h
可以查看新磁盘的路径,例如在/dev/xxx
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113 | #!/bin/bash
if [[ $# != 1 ]]
then
echo "参数错误!"
echo "请以以下方式执行脚本."
echo "$0 /dev/vdb --表示要将数据移到设备文件名为 /dev/vdb 的数据盘."
exit -1;
fi
STORAGE_NAME=$1
rpm -qa |grep lvm2 > /dev/null 2>&1
if [[ $? -ne 0 ]]
then
echo "当前服务器未安装LVM组件,请执行 yum install lvm2 安装LVM。然后再执行本脚本进行数据迁移。"
exit -1;
fi
ls "${STORAGE_NAME}" > /dev/null 2>&1
if [[ 0 -ne $? ]]
then
echo "存储设备 ${STORAGE_NAME} 不存在,无法执行操作."
exit -1;
fi
echo -n "注意:执行本操作后,数据盘 ${STORAGE_NAME} 将会被重新分区并格式化,其上原有数据将会丢失。是否继续执行操作? [Y/N]:"
read CONFIRM
if [[ "Y" != ${CONFIRM} ]] && [[ "y" != ${CONFIRM} ]]
then
echo "操作退出."
exit -1;
fi
#处理抽出product.host.id及product.openapi.access-key,license.xml移到/opt/cloudbility/conf/ext目录
echo "正在移动本地license等文件..."
mkdir -p /etc/cloudguanjia_ext
mv /opt/cloudbility/conf/ext/* /etc/cloudguanjia_ext/
rm -rf /opt/cloudbility/conf/ext
ln -s /etc/cloudguanjia_ext /opt/cloudbility/conf/ext
echo "移动本地license等文件完成"
echo "正在对 ${STORAGE_NAME} 进行重新分区并格式化..."
parted --script ${STORAGE_NAME} "mklabel gpt"
parted --script ${STORAGE_NAME} "mkpart primary 0% 100%"
parted --script ${STORAGE_NAME} "set 1 lvm on"
pvcreate ${STORAGE_NAME}1
vgcreate vg_gj ${STORAGE_NAME}1
lvcreate -l 100%FREE -n lv_cloudbility vg_gj
mkfs.ext4 /dev/vg_gj/lv_cloudbility
echo "对 ${STORAGE_NAME} 进行重新分区并格式化完成"
mkdir -p /cloudbility_data
mount /dev/vg_gj/lv_cloudbility /cloudbility_data
echo "/dev/vg_gj/lv_cloudbility /cloudbility_data ext4 defaults 0 0" >> /etc/fstab
mkdir -p /cloudbility_data/cloudbility
mkdir -p /cloudbility_data/mysql
mkdir -p /cloudbility_data/mongo
mkdir -p /cloudbility_data/redis
mkdir -p /cloudbility_data/influxdb
echo "正在停止行云管家相关服务..."
/opt/cloudbility/bin/stop.sh
systemctl stop mysqld
systemctl stop mongod
systemctl stop redis
systemctl stop influxdb
echo "停止行云管家相关服务完成"
echo "正在转移/opt/cloudbility/目录..."
mv -f /opt/cloudbility/{.*,*} /cloudbility_data/cloudbility/ > /dev/null 2>&1
rm -rf /opt/cloudbility
ln -s /cloudbility_data/cloudbility /opt/cloudbility
echo "转移/opt/cloudbility/目录完成"
echo "正在转移MySQL数据目录..."
mv -f /var/lib/mysql/{.*,*} /cloudbility_data/mysql/ > /dev/null 2>&1
chown -R mysql:mysql /cloudbility_data/mysql
rm -rf /var/lib/mysql
ln -s /cloudbility_data/mysql /var/lib/mysql
echo "转移MySQL数据目录完成"
echo "正在转移Mongo数据目录..."
mv -f /var/lib/mongo/{.*,*} /cloudbility_data/mongo/ > /dev/null 2>&1
chown -R mongod:mongod /cloudbility_data/mongo
rm -rf /var/lib/mongo
ln -s /cloudbility_data/mongo /var/lib/mongo
echo "转移Mongo数据目录完成"
echo "正在转移Redis数据目录..."
mv -f /var/lib/redis/{.*,*} /cloudbility_data/redis/ > /dev/null 2>&1
chown -R redis:redis /cloudbility_data/redis
rm -rf /var/lib/redis
ln -s /cloudbility_data/redis /var/lib/redis
echo "转移Redis数据目录完成"
echo "正在转移InfluxDB数据目录..."
mv -f /var/lib/influxdb/{.*,*} /cloudbility_data/influxdb/ > /dev/null 2>&1
chown -R influxdb:influxdb /cloudbility_data/influxdb
rm -rf /var/lib/influxdb
ln -s /cloudbility_data/influxdb /var/lib/influxdb
echo "转移InfluxDB数据目录完成"
echo "正在重新启动行云管家相关服务..."
systemctl start mysqld
systemctl start mongod
systemctl start influxdb
systemctl start redis
/opt/cloudbility/bin/start.sh
echo "重启行云管家完毕,数据转移成功完成."
|
4.2、根分区数据迁移至数据盘(已分区)
此方式适用于已分区的新磁盘,可以通过fdisk -l
以及df -h
来查看该磁盘是否分区及是否有创建文件系统;
(1)进入行云管家门户服务器,在/opt
目录下执行vi movedata.sh
,然后把下述脚本复制进去并保存。
(2)然后执行命令对该脚本进行授权chmod 775 movedata.sh
(3)执行命令进行迁移/opt/movedata.sh /dev/xxx
(假设通过fdisk -l
以及df -h
查看到新磁盘已分配给/home,并且/home对应/dev/xxx)
- 注意:如果是其他目录例如/app,那么在下述脚本里把两个地方的/home改为/app就行了,并且上述执行的命令改为
/opt/movedata.sh /dev/app对应的位置
;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 | #!/bin/bash
#处理抽出product.host.id及product.openapi.access-key,license.xml移到/opt/cloudbility/conf/ext目录
echo "正在移动本地license等文件..."
mkdir -p /etc/cloudguanjia_ext
mv /opt/cloudbility/conf/ext/* /etc/cloudguanjia_ext/
rm -rf /opt/cloudbility/conf/ext
ln -s /etc/cloudguanjia_ext /opt/cloudbility/conf/ext
echo "移动本地license等文件完成"
mkdir -p /home/cloudbility_data
ln -s /home/cloudbility_data /cloudbility_data
mkdir -p /cloudbility_data/cloudbility
mkdir -p /cloudbility_data/mysql
mkdir -p /cloudbility_data/mongo
mkdir -p /cloudbility_data/redis
mkdir -p /cloudbility_data/influxdb
echo "正在停止行云管家相关服务..."
/opt/cloudbility/bin/stop.sh
systemctl stop mysqld
systemctl stop mongod
systemctl stop redis
systemctl stop influxdb
echo "停止行云管家相关服务完成"
echo "正在转移/opt/cloudbility/目录..."
mv -f /opt/cloudbility/{.*,*} /cloudbility_data/cloudbility/ > /dev/null 2>&1
rm -rf /opt/cloudbility
ln -s /cloudbility_data/cloudbility /opt/cloudbility
echo "转移/opt/cloudbility/目录完成"
echo "正在转移MySQL数据目录..."
mv -f /var/lib/mysql/{.*,*} /cloudbility_data/mysql/ > /dev/null 2>&1
chown -R mysql:mysql /cloudbility_data/mysql
rm -rf /var/lib/mysql
ln -s /cloudbility_data/mysql /var/lib/mysql
echo "转移MySQL数据目录完成"
echo "正在转移Mongo数据目录..."
mv -f /var/lib/mongo/{.*,*} /cloudbility_data/mongo/ > /dev/null 2>&1
chown -R mongod:mongod /cloudbility_data/mongo
rm -rf /var/lib/mongo
ln -s /cloudbility_data/mongo /var/lib/mongo
echo "转移Mongo数据目录完成"
echo "正在转移Redis数据目录..."
mv -f /var/lib/redis/{.*,*} /cloudbility_data/redis/ > /dev/null 2>&1
chown -R redis:redis /cloudbility_data/redis
rm -rf /var/lib/redis
ln -s /cloudbility_data/redis /var/lib/redis
echo "转移Redis数据目录完成"
echo "正在转移InfluxDB数据目录..."
mv -f /var/lib/influxdb/{.*,*} /cloudbility_data/influxdb/ > /dev/null 2>&1
chown -R influxdb:influxdb /cloudbility_data/influxdb
rm -rf /var/lib/influxdb
ln -s /cloudbility_data/influxdb /var/lib/influxdb
echo "转移InfluxDB数据目录完成"
echo "正在重新启动行云管家相关服务..."
systemctl start mysqld
systemctl start mongod
systemctl start influxdb
systemctl start redis
/opt/cloudbility/bin/start.sh
echo "重启行云管家完毕,数据转移成功完成."
|