pve灾难故障恢复
目录
pve灾难故障恢复(以恢复/usr为例)
(记录在一次pve中rm /usr -R
之后)
先脱离集群(集群内机器都需要脱群,否则单独工作时仍会出错)
-
集群机器都正常使用时(先替换NodeName值为需要的值)
1 2 3 4
export NodeName=pve pvecm nodes pvecm delnode $NodeName ls -l /etc/pve/nodes/
-
当集群host无法正常工作时,以上命令会无法正常工作,需要强制脱群
1 2 3 4 5 6 7 8 9
systemctl stop pve-cluster.service systemctl stop corosync.service pmxcfs -l [main] notice: forcing local mode (although corosync.conf exists) rm /etc/pve/corosync.conf rm -rf /etc/corosync/* killall pmxcfs systemctl start pve-cluster.service rm -rf /etc/pve/nodes/$NodeName
如果pve已经无法正常启动
- 将一个U盘(最好8G以上)以ext4格式安装同版本pve
- 如需从另一台pve复制系统文件
- 将U盘插入运行的正常机器
- 挂载U盘:
mkdir /mnt/u & mount /dev/sdx1 /mnt/u
- 复制文件:
mkdir /mnt/u/recover & rsync -av /usr /mnt/u/recover/usr
- 卸载U盘:
umount /mnt/u
- 恢复文件
- 将U盘插入故障机器,从U盘启动
- 查看磁盘
ls /dev/disk/by-id && zpool list
- 创建挂载目录
mkdir /mnt/zfs
- 加载zfs:
zpool import -d /dev/disk/by-id/ata-XXX-XXX-XXX-part3 -R /mnt/zfs rpool
- 若上一步要将rpool挂载为其它名称,需要在rpool后面使用新的pool 名称,如 … rpool npool
- 若从U盘恢复:
rsync -av /recover/usr /usr
- 若从NAS恢复:
- 修改IP:
nano /etc/network/interfaces
- 重启网络:
/etc/init.d/networking restart
- 复制文件:
rsync -av henry@10.8.9.3:/share/rsync/$NodeName/etc /usr
- 修改IP:
- 卸载zfs:
umount /mnt/zfs
- 拔掉U盘,重启电脑
- 修复系统
apt --fix-broken install