简介
停电后,esxi重启,出现以下问题
- vsphere center到重做日志已损坏
- centos7 system损坏
- 上台centos7部署的nextcloud中的mariadb损坏
解决方案
vsphere center
直接采用快照回滚,然后重新连接esxi,修改配置,进行快照
centos7 system损坏
为保险起见,先用kali——live-cd挂载进去,拿到了data中的数据,发现数据可以拿出,放到其他上面备份,发现系统盘不可读
经过检查,是/dev/mapper/centos-root出了问题
开机加入rescue模式
或者
rw single=/sysroot/bin/sh
之后使用xfs_repair修复
ls -l /dev/mapper;
xfs_repair /dev/mapper/centos-root;
xfs_repair -L /dev/mapper/centos-root;
init 6
docker部署的mariadb损坏
首先修改docker-compose.yml
services:
db:
image: mariadb
#command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
command: --innodb-force-recovery=2
进入备份nextcloud数据库
docker exec -it nextcloud_db_1 /bin/bash
mysql -uroot -p
mysqlcheck --all-databases -uroot -p
mysqldump -h 127.0.0.1 -u root -ppassword nextcloud > nextcloud.sql;
修改回docker-compose.yml,并删除一些脏数据
rm -i ib*;
rm core.*;
这时候mariadb就可以正常启动了,先删除nextcloud数据库的文件然后恢复数据库
rm -rf ./nextcloud/*
mysql -uroot -p
drop database nextcloud;
create database nextcloud;
use nextcloud;
source nextcloud.sql;
修复全部完成,打好快照备用。
后记
有时间应该弄一个自动叠带快照的脚本,每隔一定时间自动打一次快照,并且自动保存最新的3-5个快照。