云服务器 ECS 数据恢复:Linux数据恢复

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:


Linux数据恢复

在处理客户磁盘相关问题时,您经常会遇到操作系统中数据盘分区丢失的情况。本文档介绍了 Linux 下常见的数据分区丢失问题以及对应的处理方法,同时给出客户最佳实践以避免可能的数据丢失风险。

前提条件

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

工具说明

Linux 下磁盘分区修复和数据恢复使用的工具:fdisk,testdisk, partprobe 。

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

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

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

如果手动挂载出现报分区表丢失,那么您可以通过如下三种办法先尝试进行处理。

通过 fdisk 进行分区恢复

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


image

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

fdisk 分区操作说明:格式化和挂载数据盘

通过 testdisk 工具恢复分区

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

image


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


image


3.选择 “Analyse” 分析回车。


image


4.可以看到没有任何信息,您继续 “Quick Search” 快速搜索回车。


image


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


image


6.选择 “Write”保存分区,如果不是您需要的分区,可以继续搜索。


image


7.按 “Y” 确认保存分区。


image

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


image


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

通过 testdisk 直接恢复数据

在某些情况下,tedisk 扫描出分区,但是无法保存分区的时候,可以尝试直接把文件恢复处理,具体处理步骤如下:

1.testdisk 已经找到分区,您可以按 “P” 列出文件。


image


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


image


3.然后选择需要复制的目标目录,您以恢复到home为例。


image


4.可以看到提示复制成功。


image


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


image

常见误区与最佳实践

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

常见误区

有些用户认为阿里云的底层存储基于三副本,因此认为操作系统内数据没有任何丢失风险。实际上这是误解,底层存储的三副本提供对数据磁盘的物理层保护,但如果系统内部使用云盘逻辑上出现问题,比如中毒,误删数据,文件系统损坏等情况,还是可能出现数据丢失。此时,您需要通过快照、异地备份等相关技术最大保证数据的安全性。

云盘的三副本说明

ECS 用户对虚拟磁盘的读写最终都会被映射为对阿里云数据存储平台上的文件的读写。阿里云提供一个扁平的线性存储空间,在内部会对线性地址进行切片,一个分片称为一个 Chunk;对于每一个 Chunk,阿里云会复制出三个副本,并将这些副本按照一定的策略存放在集群中的不同节点上,保证用户数据的可靠。至于 ECS 实例内由于病毒感染、人为误删除或黑客入侵等软故障原因造成的数据丢失,需要采用备份、快照等技术手段来解决。任何一种技术都不可能解决全部的问题,因地制宜的选择合适的数据保护措施,才能为宝贵的业务数据筑起一道坚实的防线。具体请参考:云盘三副本技术介绍

最佳实践

数据盘分区恢复以及数据恢复是处理数据丢失问题最后的一道防线,但未必一定能够恢复数据。您强烈建议用户参考如下最佳实践,通过数据进行自动快照、手动快照快照和各类备份方案,最大程度保证数据的安全性。

启用自动快照

根据实际业务情况,对系统盘、数据盘启动自动快照。需要注意的是,自动快照在更换系统盘、服务器到期后或手动释放磁盘时,自动快照可能会被释放。
关于自动快照释放行为,可以在 ECS控制台>全部磁盘 中找到对应磁盘,选择 修改磁盘属性 进行设置,默认选择 自动快照随磁盘释放,选择后,当磁盘手动释放、磁盘随实例释放或更换系统盘时,该磁盘的自动快照会被自动删除。如果想保留快照,您可以手动去掉该选项。详情请参考:ECS云服务器自动快照FAQ

手动快照

请在任何重要或有风险的操作前,请手动执行快照。例如:

  • 系统升级内核
  • 应用升级变更
  • 磁盘数据恢复

在对用户磁盘做恢复的时候,一定要先对创建该磁盘的快照,快照完成后做相应的操作。

OSS、线下、异地备份

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

原文链接

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
12天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
27 4
|
27天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
5天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1045 6
|
6天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
17天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
17天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
20天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
24天前
|
存储 弹性计算 Serverless
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
FPGA云服务器是阿里云提供的实例规格,融合现场可编程门阵列的低延迟硬件加速与弹性资源。FaaS平台简化了FPGA开发,提供统一硬件、开发环境和丰富的IP生态。特性包括硬件虚拟化、联合仿真和动态互联配置。产品计费与ECS一致,支持多种计费模式。优势在于分钟级交付、高性能加速、经济性价比和设计复用。应用广泛,如视频转码、人工智能、基因测序等。FPGA云服务器通过FPGA镜像、OSS服务等工具进行管理。
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
|
27天前
|
网络协议 安全 Shell
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
31 0