pve灾难故障恢复

pve灾难故障恢复(以恢复/usr为例)

  1. 集群机器都正常使用时(先替换NodeName值为需要的值

    1
    2
    3
    4
    
     export NodeName=pve
     pvecm nodes
     pvecm delnode $NodeName
     ls -l /etc/pve/nodes/
    
  2. 当集群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
    
  1. 将一个U盘(最好8G以上)以ext4格式安装同版本pve
  2. 如需从另一台pve复制系统文件
    1. 将U盘插入运行的正常机器
    2. 挂载U盘: mkdir /mnt/u & mount /dev/sdx1 /mnt/u
    3. 复制文件:mkdir /mnt/u/recover & rsync -av /usr /mnt/u/recover/usr
    4. 卸载U盘:umount /mnt/u
  3. 恢复文件
    1. 将U盘插入故障机器,从U盘启动
    2. 查看磁盘 ls /dev/disk/by-id && zpool list
    3. 创建挂载目录 mkdir /mnt/zfs
    4. 加载zfs:zpool import -d /dev/disk/by-id/ata-XXX-XXX-XXX-part3 -R /mnt/zfs rpool
    5. 若上一步要将rpool挂载为其它名称,需要在rpool后面使用新的pool 名称,如 … rpool npool
    6. 若从U盘恢复:rsync -av /recover/usr /usr
    7. 若从NAS恢复:
      1. 修改IP:nano /etc/network/interfaces
      2. 重启网络:/etc/init.d/networking restart
      3. 复制文件:rsync -av henry@10.8.9.3:/share/rsync/$NodeName/etc /usr
    8. 卸载zfs: umount /mnt/zfs
  4. 拔掉U盘,重启电脑
  5. 修复系统 apt --fix-broken install