ECS数据分区丢失问题处理方法、常见误区和最佳实践

简介: 经常遇到操作系统中数据盘分区丢失的情况?Linux和Windows下常见的数据分区丢失问题都有哪些?数据分区丢失时分别该如何应对?怎么避免可能的数据丢失风险?关于ECS数据分区丢失问题的干货都在这了!

_
本期分享嘉宾 子岳 多年客户系统和网络运维经验,擅长系统故障分析和排查,目前聚焦VPC网络相关问题处理。

ECS数据分区丢失问题处理方法、常见误区和最佳实践

概述

我们在处理客户磁盘相关问题时,经常遇到操作系统中数据盘分区丢失的情况。本文档介绍了Linux和Windows下常见的数据分区丢失问题,以及对应的处理方法,同时给出客户最佳实践以避免可能的数据丢失风险。
重要
在对数据修复之前,首先需要对分区丢失的数据盘创建快照。快照创建完成后再进行尝试修复,如果在修复过程中出现问题,可以通过快照回滚还原到修复之前的状态。

工具说明

磁盘分区修复和数据恢复使用的工具:
Linux : fdisk testdisk partprobe
1、fdisk
Linux 系统默认有的分区工具。
2、testdisk
Linux 系统默认没有安装。比如 Centos 系统可以通过 yum install -y testdisk 在线进行安装。主要用作对 Linux 系统磁盘分区恢复或者数据恢复。
3、partprobe
Linux 默认工具。主要是在系统不重启的情况下,让 kernel 重新读取分区。

**Windows:磁盘管理,数据恢复软件
1、磁盘管理 **
系统自带工具,可以对磁盘进行分区格式化等操作。
2、数据恢复软件
一般是商业软件,可以去相应的官网进行下载使用。主要作用是文件系统异常恢复数据。

案例分析

案例1:Linux 下数据盘分区丢失和数据恢复处理办法

Linux 数据盘分区丢失或者数据丢失一般是用户重启系统后显现出来的。首先怀疑可能是用户 /etc/fstab 下没有配置自动挂载,所以先让用户手动挂载下。
如果手动挂载出现报分区表丢失:

那么我们通过如下3个办法先尝试进行处理。

一、通过 fdisk 进行分区恢复

一般用户对数据盘分区的时候,分区磁盘的起止扇区一般使用默认的值,所以可以先尝试直接使用fdisk 新建分区进行恢复。1

如果这个方法尝试无效,那么就使用 testdisk 工具尝试修复。

fdisk 分区操作说明:
https://help.aliyun.com/document_detail/25426.html

二、通过 testdisk 工具恢复分区

1、输入 testdisk /dev/xvdb (请写需要回复的磁盘名称),然后默认“Proceed” 回车
_

2、选择 默认一般选择 “Intel” ,如果您是 GPT 分区,则选择 “EFI GPT” 进行扫描:
_

3、选择 “Analyse” 分析回车
_

4、可以看到没有任何信息,我们继续 “Quick Search” 快速搜索回车
_

5、可以看到找到一个分区信息,选中回车继续
_

6、选择 “Write”保存分区,如果不是我们需要的分区,可以继续搜索
_

7、按 “Y” 确认保存分区
7

8、这个时候可能的/dev 下还是看不到这个分区文件,我们需要通过partprobe /dev/xvdb 命令手动刷新分区表。
然后重新挂载,查看数据盘里的数据情况。
8

TestDisk使用说明:
http://www.cgsecurity.org/wiki/TestDisk

三、通过 testdisk 直接恢复数据

在某些情况下,tedisk 扫描出分区,但是无法保存分区的时候,可以尝试直接把文件恢复处理,具体处理步骤如下:
1、testdisk 已经找到分区,我们可以按 “P” 列出文件:
_1

2、可以看见存在的文件,将要恢复的文件选中,然后按 “C”
_2

3、然后选择需要复制的目标目录,我们以恢复到home为例
_3

4、可以看到提示复制成功
_4

5、切换到 home 目录查看,可以看见文件已经恢复了
_5

案例2:Windows 下数据盘分区丢失和数据恢复处理办法

一、磁盘显示为 “外部”磁盘导致没有显示分区

1、我们可以通过磁盘管理查看磁盘,磁盘显示“外部”
a

2、针对显示为“外部”的磁盘,可以在磁盘区块上右击,选择导入外部磁盘,点击确定即可
b

二、磁盘显示为 “脱机”状态导致没有显示分区

1、我们可以通过磁盘管理查看磁盘,磁盘显示“脱机”
c

2、针对显示为“脱机”的磁盘,可以在磁盘区块上右击,选择联机,点击确定即可
d

三、未分配盘符导致无法显示分区

1、在磁盘管理,可以看到数据盘可以被系统正确识别,但是未分配盘符给这块磁盘。
e

2、右击磁盘右侧的色块,在弹出的菜单中选择“更改驱动器号和路径”:重新分配驱动号即可。
f

四、在磁盘管理无法查看到该数据盘,出现“枚举卷期间出错”的报错

1、在磁盘管理里面无法查看到数据盘,在系统日志里面报“枚举卷期间出错”错误:
g

2、打开Windows PowerShell 命令窗口,执行winrm quickconfig命令进行修复,在弹出询问: 执行这些更改吗【y/n】? 输入 “y” 确认执行
h

3、修复完毕后重新打开磁盘管理,数据盘已可以正常显示
i

五、数据盘变成RAM

在某些特殊情况下,我们发现Windows下Disk变为RAW格式。Disk显示Raw disk是因为Windows无法识别其上的文件系统。这通常是记录文件系统类型或者位置的信息丢失或者损坏了,如partition table或者boot sector。比较可能的原因列举如下:
 外接硬盘发生这种问题通常是因为断开时没有使用”safely remove hardware” 的选项;
 意外断电导致的磁盘问题也比较常见;
 硬件层故障也可能导致磁盘分区信息丢失;
 底层与磁盘相关的driver或应用,例如我们使用的diskprobe工具就可以直接修改磁盘的表结构;
 计算机病毒。
微软官方给出的修复磁盘RAM是使用Dskprobe工具进行修复,详情请参考微软官方文档:
Dskprobe Overview
https://technet.microsoft.com/en-us/library/cc736327(v=ws.10).aspx

除了上述此外,Windows下有大量的免费或商业的数据恢复软件来进行丢失数据的找回。例如,您可以尝试使用Disk Genius工具扫描,来尝试恢复相应的文件。

常见误区与最佳实践

数据是用户的核心资产,很多用户在ECS上构建网站、自建数据库(MYSQL/MongoDB/REDIS)。如果出现数据丢失情况,会给用户的业务带来巨大的风险。如下是我们在数据安全方面总结常见误区和最佳实践。

常见误区

有些用户认为阿里云的底层存储基于三副本,因此认为操作系统内数据没有任何丢失风险。实际上这是误解,底层存储的三副本提供对数据磁盘的物理层保护,但如果系统内部使用云盘逻辑上出现问题,比如中毒,误删数据,文件系统损坏等情况,还是可能出现数据丢失。此时,我们需要通过快照、异地备份等相关技术最大保证数据的安全性。
云盘的三副本说明
ECS 用户对虚拟磁盘的读写最终都会被映射为对阿里云数据存储平台上的文件的读写。阿里云提供一个扁平的线性存储空间,在内部会对线性地址进行切片,一个分片称为一个 Chunk;对于每一个 Chunk,阿里云会复制出三个副本,并将这些副本按照一定的策略存放在集群中的不同节点上,保证用户数据的可靠。至于 ECS 实例内由于病毒感染、人为误删除或黑客入侵等软故障原因造成的数据丢失,需要采用备份、快照等技术手段来解决。任何一种技术都不可能解决全部的问题,因地制宜的选择合适的数据保护措施,才能为宝贵的业务数据筑起一道坚实的防线。
具体参考:
https://help.aliyun.com/document_detail/35108.html

最佳实践

数据盘分区恢复以及数据恢复是处理数据丢失问题最后的一道防线,但未必一定能够恢复数据。我们强烈建议用户参考如下最佳实践,通过数据进行自动快照、手动快照快照和各类备份方案,最大程度保证数据的安全性。
1、启用自动快照
根据实际业务情况,对系统盘、数据盘启动自动快照。需要注意的是,自动快照在更换系统盘、服务器到期后或手动释放磁盘时,自动快照可能会被释放。
关于自动快照释放行为,可以在 ECS控制台>全部磁盘 中找到对应磁盘,选择 修改磁盘属性 进行设置,默认选择 自动快照随磁盘释放,选择后,当磁盘手动释放、磁盘随实例释放或更换系统盘时,该磁盘的自动快照会被自动删除。如果想保留快照,您可以手动去掉该选项。
详情请参考:
ECS云服务器自动快照FAQ
https://help.aliyun.com/knowledge_detail/40552.html

2、手动快照
请在任何重要或有风险的操作前,请手动执行快照。例如:
 系统升级内核
 应用升级变更
 磁盘数据恢复
在对用户磁盘做恢复的时候,一定要先对创建该磁盘的快照,快照完成后做相应的操作。

3、OSS、线下、异地备份
用户可酌情使用OSS、线下、异地的方式进行重要数据的备份。
DM1703080196_n_

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
356 1
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
46 3
|
1月前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
77 2
|
24天前
|
存储 运维 算法
服务器数据恢复—raid6阵列硬盘重组raid5阵列如何恢复raid6阵列数据?
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。 初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
|
2月前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
3月前
|
存储 弹性计算 缓存
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
阿里云服务器ECS提供了多种通用型实例规格族,每种规格族都针对不同的计算需求、存储性能、网络吞吐量和安全特性进行了优化。以下是对存储增强通用型实例规格族g8ise、通用型实例规格族g8a、通用型实例规格族g8y、存储增强通用型实例规格族g7se、通用型实例规格族g7等所有通用型实例规格族的详细解析,包括它们的核心特点、适用场景、实例规格及具体指标数据,以供参考。
阿里云服务器ECS通用型实例规格族特点、适用场景、指标数据解析
|
2月前
|
存储 数据库 虚拟化
无缝过渡:企业级服务器迁移的策略与最佳实践
【10月更文挑战第4天】随着企业数字化转型的加速,服务器迁移成为企业IT基础设施升级的重要环节。本文从架构与规划的视角,探讨了企业级服务器迁移的策略与最佳实践,旨在帮助企业实现无缝过渡,降低迁移风险,提高迁移效率。
270 4
|
3月前
|
存储 弹性计算 安全
阿里云服务器ECS计算型实例规格族特点、适用场景、指标数据参考
阿里云服务器ECS提供了丰富的计算型实例规格族,专为满足不同场景下的高性能计算需求而设计。包括计算型实例规格族c8y、计算型实例规格族c7、计算型实例规格族c8i等热门计算型实例规格,以及网络增强型的c7nex、密集计算型的ic5等其他计算型实例规格,每一种规格族都经过精心优化,确保在计算性能、存储效率、网络吞吐和安全特性等方面达到最佳平衡。本文将详细解析阿里云服务器ECS中的多个计算型实例规格族,包括它们的核心特点、适用场景、实例规格及具体指标数据,为用户在云计算资源选型时提供全面参考。
阿里云服务器ECS计算型实例规格族特点、适用场景、指标数据参考
|
2月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
34 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
87 3