ceph存储节点系统盘损坏集群恢复

简介: ceph存储节点系统盘损坏集群恢复

本文主要介绍ceph16版本集群节点系统磁盘故障后的集群恢复,虽然系统盘很多都是做了raid1,但从实际做的项目看,总是有很多未知意外发生,节点挂掉后,上面的mon和osd,mgr都会down掉,如果所在节点的mgr服务是激活状态,则其他节点所在的备用节点将会升级为激活状态。


移除问题主机


节点挂掉后,在确定不能继续开机进入系统的情况下,需要在其他正常的节点将故障节点进行移除,此次宕机的节点为node4,以下命令可能会导致数据丢失,因为 osd 将通过调用每个 osd 来强制从集群中清除。


ceph orch host rm node4 --offline --force


节点初始化操作


将node4节点即故障节点更换新的系统盘并重新安装系统,重装后node4主机名我修改成了node1,并更换了新的ip,在三台ceph节点上重新添加hosts解析


192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3


将公钥添加至新主机


ssh-copy-id -f -i /etc/ceph/ceph.pub node1


安装docker环境


curl -sSL https://get.daocloud.io/docker | sh
systemctl daemon-reload
systemctl restart docker
systemctl enable docker


安装cephadm以及ceph-common


# curl --silent --remote-name --location https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm
# chmod +x cephadm
# ./cephadm add-repo --release pacific
# ./cephadm install
# ./cephadm install  ceph-common


向集群中添加新节点


在ceph集群添加新主机


[root@node2 ~]# ceph orch host add node1
Added host 'node1'


添加后的主机列表可通过以下命令查看


ceph orch host ls


之后会自动安装mon以及crash等服务,还有node-exporter监控agent,但是新添加的节点上还不能进行ceph集群操作,因为新添加的节点上缺少ceph集群管理的密钥环,在上面的命令中其实可以看到新加的node1是缺少一个_admin标签的,这里提一下ceph是有几个特殊的主机标签的,以_开头的属于ceph主机的特殊标签,将_admin标签添加到这台新节点,就会导致cephadm 将配置文件ceph.conf和密钥环文件

ceph.client.admin.keyring分发到新节点上,这里我们把_admin标签添加至新节点,这样可以在新节点上执行ceph集群的操作。


ceph orch host label add node1 _admin
或者在添加节点时就可以把标签添加上
ceph orch host add node1 --labels=_admin


添加osd


之前想着原有的故障节点的osd直接恢复到现有集群上,后来发现虽然是恢复回去了,但是osd的daemon没有被cephadm所管理,osd的容器也没有被创建,因此还是把原来故障节点的osd给格式化了,重新添加的osd,不过这里还是把我恢复的操作写一下吧。先创建一个空的osd。


# vceph osd create
2


然后激活bluestore-osd的tmpfs目录 由于bluestore中osd的目录是以一个tmpfs的形式存在的,所以被umount掉了以后需要重新激活。


ceph-volume lvm activate (osdid) (fsid)


PS:这里的osdid就是我刚创建的,osdid为2,后面的fsid不是集群的fsid,而是这个osd自己的fsid,获取方式可以直接执行ll /dev/ceph*查看,osd-block-后面的即为osd的fsid


然后添加auth和crush map,重启osd


ceph auth add osd.2 osd 'allow *' mon  'allow rwx' -i /var/lib/ceph/osd/ceph-2/keyring


640.png


之后三个osd都会up,但是存在osd的daemon不被cephadm管理的问题,因此我还是删掉这个osd,重新格式化后添加的,删除osd的操作如下:


ceph orch ps --daemon_type osd
#查看osd对应的容器id,先停止容器,我这里没有osd容器启动,所以这步可以忽略
ceph osd out 2
ceph osd crush remove osd.2
ceph auth del osd.2
ceph osd rm 2


上步只是在ceph删除,还需要在磁盘上进行格式化


# 显示当前设备的状态
# dmsetup status
# 删除所有映射关系
# dmsetup remove_all
# 格式化刚才删除的osd所在磁盘
mkfs -t ext4 /dev/vdb


重新添加osd


ceph orch daemon add osd node1:/dev/vdb


此时集群就恢复正常了


640.png


相关文章
|
1月前
|
存储 数据挖掘 Windows
服务器数据恢复—V7000存储raid5故障导致LUN无法访问的数据恢复案例
服务器数据恢复环境: 三台V7000存储,共有64块SAS硬盘(其中有三块热备盘,其中一块已启用)组建了数组raid5阵列。分配若干LUN,上层安装Windows server操作系统,数据分区格式化为NTFS文件系统。 服务器故障: V7000存储中有多块硬盘出现故障离线,阵列失效,LUN无法访问。需要恢复卷中所有数据(主要为dcm文件)。
|
3月前
|
存储 运维 Python
基于 ChunkServer 的数据备份与恢复方案
【8月更文第30天】在分布式文件系统中,数据的安全性和持久性是至关重要的。为了应对可能发生的硬件故障、网络中断等问题,需要有一套完善的备份与恢复方案。本文将详细介绍如何设计和实现一套基于 ChunkServer 的数据备份与恢复流程,确保数据的完整性和持久性。
50 0
|
6月前
|
运维 安全 数据挖掘
【服务器数据恢复】硬盘离线导致Raid5热备盘上线同步失败的数据恢复案例
**服务器数据恢复环境:** 两组由4块磁盘组建的raid5磁盘阵列,两组raid5阵列划分为lun并组成了lvm结构,ext3文件系统。 **服务器故障:** 一组raid5阵列中的一块硬盘离线,热备盘自动上线并开始同步数据。在热备盘完成同步之前,该组raid5阵列中另一块硬盘离线,热备盘同步失败,该组raid5阵列崩溃无法使用,lvm结构被破坏,ext3文件系统无法正常使用了。
|
容灾 关系型数据库 数据库
将旧集群的数据备份迁移到新集群。
将旧集群的数据备份迁移到新集群。
142 1
|
2月前
|
存储 Oracle 关系型数据库
服务器数据恢复—存储硬盘故障导致映射到服务器上的卷挂载不上的数据恢复案例
一台存储上有一组由16块FC硬盘组建了一组raid。存储前面板上的对应10号和13号硬盘的故障灯亮起,存储映射到redhat linux操作系统服务器上的卷挂载不上,业务中断。
|
3月前
|
存储 运维 数据挖掘
服务器数据恢复—raid5阵列2块硬盘离线,热备盘未全部启用的数据恢复案例
服务器存储数据恢复环境: 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘,其中2块硬盘为热备盘。 服务器存储故障: 该存储raid5阵列中有两块硬盘离线,只有1块热备盘启用替换掉其中一块离线盘,另外1块热备盘未成功启用,raid5阵列崩溃,存储不可用。 磁盘阵列中硬盘离线的原因通常是磁盘存在物理故障或者硬盘出现坏道。由于EMC存储中的raid控制器的磁盘检查策略十分严格,经常将硬盘的性能不稳定判定为硬件故障并将该硬盘踢出raid。很多情况下EMC存储中raid崩溃的原因就是磁盘读写不稳定。
服务器数据恢复—raid5阵列2块硬盘离线,热备盘未全部启用的数据恢复案例
|
6月前
|
存储 缓存 安全
【VSAN数据恢复】VSAN集群节点数据迁移失败的数据恢复案例
VSAN存储是一个对象存储,以文件系统呈现给在vSphere主机上。这个对象存储服务会从VSAN集群中的每台主机上加载卷,将卷展现为单一的、在所有节点上都可见的分布式共享数据存储。 对于虚拟机来说,只有一个数据存储,这个分布式数据存储来自VSAN集群中每一台vSphere主机上的存储空间,通过磁盘组进行配置,在单独的存储中存放所有的虚拟机文件。这种数据存储方式比较安全,当闪存盘或者容量盘出现故障的时候,数据会向其他节点转移,在转移过程中有可能出现故障。
|
5月前
|
存储 运维 数据挖掘
服务器数据恢复—raid5热备盘同步失败导致阵列崩溃的数据恢复案例
某品牌DS5300存储,包含一个存储机头和多个磁盘柜,组建了多组RAID5磁盘阵列。 某个磁盘柜中的一组RAID5阵列由15块数据盘和1块热备硬盘组建。该磁盘柜中的某块硬盘离线,热备盘自动替换并开始同步数据,在热备硬盘同步数据的过程中,又有一块硬盘出现问题离线,数据同步失败,该RAID5阵列失效,卷无法挂载访问。
|
6月前
|
Oracle 关系型数据库 Linux
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
某公司的一台服务器中的raid5磁盘阵列有两块磁盘先后掉线,服务器崩溃。故障服务器的操作系统为linux,操作系统部署了oa,数据库为oracle。oracle数据库已经不再对该oa系统提供后续支持,用户要求尽可能恢复操作系统和数据。 经过北亚企安数据恢复工程师检测,发现热备盘完全无启用,所有硬盘不存在明显物理故障,无明显同步的表现。
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
|
6月前
|
存储 数据库
服务器数据恢复—服务器RAID5故障数据恢复解析
RAID5作为应用最广泛的raid阵列级别之一,在不同型号服务器中的RAID5出现故障后,处理方法也不同。 RAID5阵列级别是无独立校验磁盘的奇偶校验磁盘阵列,采用数据分块和独立存取技术,能在同一磁盘上并行处理多个访问请求,同时允许阵列中的任何一个硬盘出现故障。 实际案例中,raid5阵列最常出现的故障情况就是硬盘自行脱机,联机状态显示为DDD(Defunct Disk Drive,无效磁盘驱动器),硬盘出现物理故障或逻辑故障。
服务器数据恢复—服务器RAID5故障数据恢复解析
下一篇
无影云桌面