群晖的一次阵列恢复
- 第一步 检查主机空间状态
- cat /etc/fstab
- 查看开机挂载点
- 查看开机挂载点
- cat /tmp/diskmaps
- 查看主机里硬盘接口的硬盘状态
- 查看主机里硬盘接口的硬盘状态
- cat /proc/mdstat
- 查看保存RAID相关的多块磁盘的当前状态信息
- 查看保存RAID相关的多块磁盘的当前状态信息
- fdisk -l
- 确认下主机内部的硬盘群晖的分区是否还在
- 确认下主机内部的硬盘群晖的分区是否还在
- df -l
- 查看文件系统的挂载点
- 查看文件系统的挂载点
- mount
- 查看目录挂载点 小问题的话 一般mount -a 都可以解决
- 查看目录挂载点 小问题的话 一般mount -a 都可以解决
- sfdisk -l
- cat /var/log/bash_history.log
- 查看之前执行的命令
- 查看之前执行的命令
- cat /etc/fstab
- 第二步 检查RAID群组的成员
- mdadm -E /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3 /dev/sdg3 /dev/sdh3 /dev/sdi3
- 检查这些盘 RAID的信息 RIAD的级别 组员 创建时间 最后在线时间
- 检查这些盘 RAID的信息 RIAD的级别 组员 创建时间 最后在线时间
- mdadm -E /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3 /dev/sdg3 /dev/sdh3 /dev/sdi3
- 第三步 将各个硬盘加入之前的群组 (群晖的md组从md2开始 )
- mdadm -A /dev/md2 /dev/sda3 /dev/sdb3 /dev/sdc3
- 将sda3 sdb3 sdc3 三个盘加到md2这个之前的组中
- 将sda3 sdb3 sdc3 三个盘加到md2这个之前的组中
- mdadm -A /dev/md2 /dev/sda3 /dev/sdb3 /dev/sdc3
- 第四步,激活当前的虚拟卷
- vgchange -ay
- vgchange命令 – 修改卷组属性
- vgdisplay可以显示vg的卷组名
- vgchange命令 – 修改卷组属性
- vgchange -ay
- 第五步,将卷组挂载到一个挂载点
- mount -o ro /dev/mapper/cachedev_1 /volume1/ (使用于7.0系统)
- mount -o ro /dev/md2 /volume1/ (适用于6.2系统)
- 把卷组2通过只读挂载到volume1路径下
- 把卷组2通过只读挂载到volume1路径下
- mount -o ro /dev/mapper/cachedev_1 /volume1/ (使用于7.0系统)
- 第六步 只读下确认下数据是否完好
- 确认完好 可以将volume1卸载
- umount /volume1
- 卸载这个目录的挂载
- 卸载这个目录的挂载
- 挂载为正常读写
- mount -w /dev/mapper/cachedev_1 /volume1/ (使用于7.0系统)
- mount -w /dev/md2 /volume1/ (适用于6.2系统)
- mount -w /dev/mapper/cachedev_1 /volume1/ (使用于7.0系统)
- 确认完好 可以将volume1卸载
- 补充
- 检查btrfs文件系统
- btrfs check /dev/mapper/cachedev_0
- btrfs check /dev/mapper/cachedev_0
- 使用第二个超级快信息检查文件系统
- btrfs check --super 1 /dev/mapper/cachedev_0
- btrfs check --super 1 /dev/mapper/cachedev_0
- 使用第三个超级块信息检查文件系统(一般有3个超级块)
- btrfs check --super 2 /dev/mapper/cachedev_0
- btrfs check --super 2 /dev/mapper/cachedev_0
- 如果超级块信息检查通过 没有全部损坏 可以修复超级块
- btrfs rescue super-recover -v /dev/mapper/cachedev_0
- btrfs rescue super-recover -v /dev/mapper/cachedev_0
- 检查btrfs文件系统