返回
ZStack实践汇 | OMG锅从天降!物理机误删除后的惊情5分钟...
2020-04-14 15:56


ZStack社区张新光 



背景

一早收到公司员工说云主机添加云盘无效,扩容内存也无效。按照之前的经验,扩容内存肯定没有问题。添加云盘需要在linux操作系统下手动挂载分区扩容。但是内存应该只要重启就可以了吧。也没多想,比如是不是云主机太多?物理机资源耗尽有没有可能影响内存扩容?

好吧,那就登录看看吧,小公司,基本上一个管理员密码,大家都能用。果然云主机的确很多,基本上一个服务一个云主机,nexus、gitlab、mysql、oracle等等,而且分的都是4-16(4CPU,16G内存)。本着节约资源的想法,想删除自己创建的一些无用云主机,整合一些公用的云主机。好吧,问题由此而来,操作失误,物理机被删除了!!



问题原因

我们使用的是ZStack社区版,我用了管理员账号登录查看某台物理机。想着先看看物理机下的云主机占用了多少资源?是否可以删除一些?重点在这里,从物理机进入查看当前物理机下的云主机,是挺乱的。我的本意是想删除云主机,所以我选中了云主机,点了删除。



问题来了,以前经常删除云主机,所以没太在意弹出的确认框。好吧,是我疏忽了。关键是我点的是物理机操作下的删除。天啦,我把物理机删了,物理机的云主机都丢了,怎么办?公司好多服务啊,这个锅我背不动啊。

冷静,ZStack还是很稳定的,用到现在体验也不错,一般这种问题估计也不止我一个,肯定有策略恢复吧,于是赶紧去ZStack社区QQ群里咨询下。




恢复


上面都是废话,这里才是干货请教大神后果然有恢复策略,废话不说,咱们直接看操作过程吧。

  • 首先,我是在物理机中重新加了被我误删的物理机。这个咱也不提了,添加物理机咱们应该都懂。

  • ssh登录master物理机先找到数据库备份物理存储路径:

cd /var/lib/zstack/mysql-backup/
  • 查到所有的备份数据,还好昨天凌晨有备份。惊喜万分!

-rw-r--r-- 1 root root 764449 Mar 11 12:30 zstack-backup-db-2020-03-11_12-30-01.gz
-rw-r--r-- 1 root root 739274 Mar 12 00:30 zstack-backup-db-2020-03-12_00-30-02.gz
-rw-r--r-- 1 root root 739165 Mar 12 12:30 zstack-backup-db-2020-03-12_12-30-02.gz
-rw-r--r-- 1 root root 735696 Mar 13 00:30 zstack-backup-db-2020-03-13_00-30-02.gz
-rw-r--r-- 1 root root 735784 Mar 13 12:30 zstack-backup-db-2020-03-13_12-30-02.gz
-rw-r--r-- 1 root root 730361 Mar 14 00:30 zstack-backup-db-2020-03-14_00-30-01.gz
-rw-r--r-- 1 root root 730363 Mar 14 12:30 zstack-backup-db-2020-03-14_12-30-02.gz
-rw-r--r-- 1 root root 730363 Mar 15 00:30 zstack-backup-db-2020-03-15_00-30-02.gz
-rw-r--r-- 1 root root 728296 Mar 15 12:30 zstack-backup-db-2020-03-15_12-30-02.gz
-rw-r--r-- 1 root root 744715 Mar 16 00:30 zstack-backup-db-2020-03-16_00-30-02.gz
-rw-r--r-- 1 root root 717877 Mar 16 12:30 zstack-backup-db-2020-03-16_12-30-01.gz
-rw-r--r-- 1 root root 687914 Mar 17 00:30 zstack-backup-db-2020-03-17_00-30-02.gz
-rw-r--r-- 1 root root 695441 Mar 17 12:30 zstack-backup-db-2020-03-17_12-30-01.gz
-rw-r--r-- 1 root root 713998 Mar 18 00:30 zstack-backup-db-2020-03-18_00-30-02.gz
-rw-r--r-- 1 root root 708907 Mar 18 09:44 zstack-backup-db-2020-03-18_09-44-07.gz
  • 找到root账号密码

我们需要知道数据库的root账号密码,如果ZStack安装后没有修改过密码,那么root账号的默认密码就是 zstack.mysql.password 。

cd到数据库备份文件位置,我们通过命令来恢复数据库:

zstack-ctl restore_mysql -f zstack-backup-db-2020-03-18_00-30-02.gz --mysql-root-password zstack.mysql.password

说明
-f 指的是备份文件,也就是你要恢复的数据库备份数据,--mysql-root-password 是数据库root账号密码参数,后面跟着的就是mysql数据库root账号密码啦,我这里没有修改过默认密码所以就是zstack.mysql.password。

  • 恢复成功启动ZStack

[root@192-168-3-8 mysql-backup]# zstack-ctl restore_mysql -f zstack-backup-db-2020-03-18_00-30-02.gz --mysql-root-password zstack.mysql.password
check pass
Backup mysql before restore data ...
Backup mysql successfully! You can check the file at /var/lib/zstack/mysql-backup/zstack-backup-db-2020-03-18_09-44-07.gz
successfully stopped management node
Starting restore zstack data ...
successfully stopped the UI server
Starting restore zstack_ui data ...
Recover data successfully! You can start node by: zstack-ctl start
[root@192-168-3-8 mysql-backup]# zstack-ctl start
total 10676
  • OK了,静静等待启动成功

Starting ZStack management node, it may take a few minutes...
successfully started Tomcat container; now it's waiting for the management node ready for serving APIs, which may take a few seconds
successfully started management node
Starting ZStack web UI, it may take a few minutes...
successfully started UI server on the local host, PID[16311], http://192.168.3.8:5000

好吧,至此整个恢复过程就算结束了,我们重新登陆UI就可以看到云主机恢复了。还需要见证下奇迹,启动恢复的云主机,成功了!哈哈!




以上就是我误删的云主机,现在已经重启成功了,当然误删的云主机还有很多哈。



总结

  1. 整个过程跌宕起伏,不过在ZStack社区大神的助力下,恢复的还算顺利,没啥特别的坎坷。提醒大家,管理员权限太大,操作要谨慎。

  2. 整体来说,ZStack使用起来还是很不错的。整个恢复过程也非常快,恢复操作也很简单,输入命令后安心等待恢复就好了。基本上接近一键恢复了,而且整个恢复过程也就5分钟左右吧!!我估计企业版的UI应该有可视化的备份恢复功能,可惜我用的是社区版。

  3. 数据库理论上来说只是存储逻辑数据,比如云主机的记录。云主机的物理机文件应该是存储在物理机的物理硬盘上,删除只是逻辑删除,也就是数据库删除了记录而已,其实云主机都在,所以通过数据库恢复是可以达到恢复效果的。

  4. 一定要做好备份,尤其是数据库,建议要做异地备份,避免硬盘损坏。但是如果硬盘损坏,备份数据库也没啥用吧,毕竟真正有意义的是云主机的物理文件数据。

升级提醒

若您选择升级至4.0.0及之后版本,请注意以下功能调整:

1. 云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。

2. 企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将“用户组与用户”纳管的账号数据妥善迁移至“企业管理”纳管,再执行升级操作。注意:对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。

3. 调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。升级前,请先将“账户”对接纳管的AD/LDAP账号数据妥善迁移至“企业管理”纳管,再执行升级操作。

如对上述升级提醒有任何疑问或需要升级帮助,请联系ZStack官方技术支持

下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
培训认证合作伙伴申请
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司名称不应该少于4个字符
职位名称不应该少于2个字符

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
ZStack&工信人才联合证书申请
已获得ZStack原厂证书
未获得ZStack原厂证书
请填写您的基本信息
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司/学校名称不应该少于4个字符
证书类型
ZCCT
ZCCE
ZCCA
ZCPC-ISP
申请ZStack&工信人才联合证书须支付工本费,是否可以接受

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

立即体验

联系我们

商务咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

回到顶部

产品试用申请
请选择您要试用的产品
ZStack Cloud 企业版
ZStack Ceph分布式存储
ZStack Cloud 混合云版
ZStack Cube 超融合一体机
ZStack Cloud 基础版
ZStack Mini 边缘计算一体机
ZStack Cloud 标准版
ZStack CMP 多云管理平台
ZStack 信创云平台
ZStack Zaku 容器云平台
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。