Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复。如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态。

前提条件

在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复。如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态。

工具说明

在Linux实例里,您可以选择以下任一种工具修复磁盘分区并恢复数据:

  • fdisk:Linux系统默认安装的分区工具。
  • testdisk:主要用恢复Linux系统的磁盘分区或者数据。Linux系统默认不安装,您需要自行安装这个软件,比如,在CentOS系统里,您可以运行 yum install -y testdisk 在线安装。
  • partprobe:Linux系统默认安装的工具。主要用于不重启系统时让kernel重新读取分区。

Linux系统下数据盘分区丢失和数据恢复处理办法

在Linux实例里,您重启系统后,可能会出现数据盘分区丢失或者数据丢失的问题。这可能是因为您未在 etc/fstab 文件里设置自动挂载。此时,您可以先手动挂载数据盘分区。如果手动挂载时报分区表丢失,您可以通过如下三种办法尝试进行处理:通过fdisk恢复分区通过testdisk恢复分区 或者 通过testdisk直接恢复数据

    • 通过fdisk恢复分区

      对数据盘分区时,分区磁盘的起止扇区一般使用默认的值,所以可以先尝试直接使用 fdisk 新建分区进行恢复。具体操作,请参考 Linux 格式化和挂载数据盘

      Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

      如果上述操作无效,您可以使用 testdisk 工具尝试修复。

    • 通过 testdisk 恢复分区

      这里假设云盘的设备名为 /dev/xvdb。按以下步骤使用 testdisk 恢复分区:

      1. 运行 testdisk /dev/xvdb(根据实际情况替换设备名),再选择 Proceed(默认值)后按回车键。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      2. 选择分区表类型进行扫描:一般选择 Intel(默认)。如果您的数据盘采用GPT分区,选择 EFI GPT
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      3. 选择 Analyse 后按回车键。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      4. 如果您没有看到没有任何分区信息,选择 Quick Search 后按回车键快速搜索。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

        在返回结果中会显示分区信息,如下图所示。

        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

      5. 选中分区后,按回车键。
      6. 选择 Write 保存分区。
         
        说明 如果不是您需要的分区,可以选择 Deeper Search 继续搜索。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      7. 按 Y 键确认保存分区。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      8. 运行 partprobe /dev/xvdb(根据实际情况替换设备名)手动刷新分区表。
      9. 重新挂载分区,查看数据盘里的数据情况。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
    • 通过testdisk直接恢复数据

      在某些情况下,您可以用testdisk扫描出磁盘分区,但是无法保存分区,此时,您可以尝试直接恢复文件。具体操作步骤如下所示:

      1. 按 通过testdisk恢复分区 的第1步到第4步描述找到分区。
      2. 按 P 键列出文件。 返回结果如下图。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
      3. 选中要恢复的文件,再按 C 键。
      4. 选择目标目录。本示例中以恢复到 /home 为例。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

        如果您看到 Copy done! 1 ok, 0 failed 说明复制成功。如下图所示。

        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

      5. 切换到 /home 目录查看。如果您能看到文件,说明文件恢复成功。
        Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法
上一篇:RHCS(概念篇)


下一篇:Maven之debug技巧