一:客户信息
海南某三甲医院
二:案例背景
什么是分布式文件系统
分布式文件系统(DistributedFile System,DFS)是一种能够在多台计算机之间共享文件存储资源的系统。它将文件存储在多个节点上,这些节点通常是位于不同地理位置的服务器或计算机集群。分布式文件系统的核心目标是提高文件存储的可靠性、可扩展性和性能,同时为用户提供透明的文件访问体验,仿佛文件是存储在单一的本地文件系统中一样。
Ceph的三种存储结构
对象存储:Ceph 提供 S3 和 Swift 兼容的RESTful API,用于存储和检索对象数据。
块存储:Ceph 提供块设备接口,支持虚拟机的块存储,如 KVM、OpenStack 等虚拟化平台。
文件系统:Ceph 提供一个 POSIX 兼容的文件系统(CephFS),支持传统的文件存储需求。
三:案例描述
近期我司遇到一个华三的分布式云平台,有三台物理机,每台物理机使用24块12TB的物理盘+3块1TB的闪存+2块480G的SSD系统盘,总容量为七百多TB,客户误操作删除了100TB的数据文件,云平台才用的是文件存储模式,通过NFS协议挂载传入数据。。
四:解决方案
1.应急响应
客户联系我们以后,我方技术团队面对这一紧急情况,立即让客户的运维团队启动应急预案,采取了以下措施:
1.紧急停机:首先,为避免进一步的数据损坏,立即停止了所有可能影响到Ceph集群的操作,包括数据写入和读取。
2.环境评估:对当前的Ceph分布式集群状态进行全面评估,确认受影响的范围及程度,包括哪些配置文件丢失,是否已造成数据损坏等。
2.恢复挑战
在服务器没有备份容灾的情况下进行数据恢复是极具挑战性的,主要挑战包括:
无备份可用:传统的恢复方式依赖于已有的备份,而在没有备份的情况下,需要通过日志文件、元数据和其他剩余数据来重建丢失的配置。
系统复杂性:云平台与Ceph分布式存储的配置复杂,恢复过程中稍有不慎就可能造成数据的永久性丢失。
时间紧迫:在实际业务环境中,服务的中断会带来巨大的损失,因此需要快速而准确地进行恢复。
3.案例评估
客户已经找过多家数据恢复公司进行恢复操作,虽未能成功恢复数据文件,但已经把三台物理机的87块硬盘全部镜像为虚拟磁盘的镜像文件。因为华三大多数都是使用的ceph来管理,我司对各个版本的ceph都有过底层解析,经过沟通客户选择相信我们,跳过现勘阶段,直接将装有镜像文件的硬盘送至我司进行数据提取。
4.恢复方案
1、初步解析
在工作站上使用winhex查看物理盘和闪存盘,发现底层为ceph分布式存储,其下层是基于bluestore的分布式结构,“上层”使用leveldb算法,“中间层”使用rocksdb运作。全局采用持久化的模式,算是一种标准化的新版ceph分布式存储系统。
Bluestore:

Leveldb:

告知客户2天内可让客户看见我司随机提取的数据文件。
2.恢复前的准备工作
1、从闪存盘获取leveldb数据库文件。
Leveldb-sst:

2、解析rocksdb的运作模式,可以理解为“16进制结构的表信息”。
Rocksdb:

3、获取所有物理盘的osd位图信息。
Osdmap:

3、获取必要信息
1、解析leveldb的表结构,依照特定的算法全盘获取持久化之前的meta_data(元数据)。
2、解析当前rocksdb的运作模式,通过meta_data中记录的信息与之关联。
3、将所有物理盘上的osd信息按照特定的结构全部获取,获取每段osd信息上的“ID”信息。
4、获取闪存盘上记录的文件head信息。
5、获取bluestore给每个对象分配的ID信息(包含文件名信息)。
4、分布式空间碎片组合
将获取的各种元数据信息导入到SQL数据库内
1、将rocksdb与meta_data进行关联,获取每块的空间信息

2、将head信息与空间信息进行关联,使得可以通过head去访问文件的在空间内的存储地址。

3、将从bluestore获取的对象ID信息与head关联。

4、将自建的SQL数据库与每块硬盘(osd)关联
5、通过ID→head→空间信息→获取分配的地址信息
5、开始数据文件的恢复提取

五:案例总结
经过紧张而有序的工作,我方技术团队终于成功恢复了Ceph分布式存储服务器集群的配置文件,并确保了整个系统环境的稳定运行。此次事件虽然惊心动魄,但也带来了宝贵的经验教训:
1. 加强备份管理:务必建立健全的备份机制,定期备份Ceph集群关键配置文件和数据,确保备份的完整性和可用性,以防不测。
2. 提高安全意识:合理设置管理员权限,加强运维人员的安全教育和培训,提升自身的运维能力和数据保护水平,降低人为错误的发生概率。
3. 完善应急预案:制定规范的操作流程,不断完善和优化应急预案,确保在紧急情况下能够迅速、有效地响应。
4. 加强监控与日志分析:开启日志审计功能,记录管理员的所有操作,便于追溯和排查问题,充分利用监控系统和日志分析工具,及时发现并处理潜在问题。
Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs)。目前也是OpenStack的主流后端存储,和OpenStack亲如兄弟,为OpenStack提供统一共享存储服务。使用Ceph作为OpenStack后端存储,具有如下优点:
所有的计算节点共享存储,迁移时不需要拷贝根磁盘,即使计算节点挂了,也能立即在另一个计算节点启动虚拟机(evacuate)。
利用COW(Copy On Write)特性,创建虚拟机时,只需要基于镜像clone即可,不需要下载整个镜像,而clone操作基本是0开销,从而实现了秒级创建虚拟机。
Ceph RBD支持thin provisioning,即按需分配空间,有点类似Linux文件系统的sparse稀疏文件。创建一个20GB的虚拟硬盘时,最开始并不占用物理存储空间,只有当写入数据时,才按需分配存储空间。
当数据发生丢失时,金海境科技研发团队深入研究各种服务器和系统设计思路,认真对比故障类别,攻克疑难恢复案例,总结成功恢复经验,拥有成功修复服务器数据库,虚拟化平台,分布式存储等数据中心相关的上万个疑难案例,并掌握了勒索病毒恢复核心技术,所有恢复的数据不丢记录,结构完整,直接使用,不报错。