分布式存储节点替换故障硬盘(filestore+LVMcache)

1. 说明

此文档操作方法适用于>=V13.2.5 ceph版本,部署模式为filestore,将每一块机械盘(LVM卷)对应一个OSD进程,并且journal日志放在ssd加速盘上。

2. 故障硬盘为SSD缓存盘(加速盘)

【思路】

缓存盘故障,需先删除机械盘对应的osd,再取消对应机械盘的cache关系,关机换盘后,重新创建cache逻辑卷与绑定cache-pool,创建osd。

【测试环境】

【处理步骤】

1、删除故障硬盘

登录故障缓存盘所在节点,将故障盘对应的osd down掉,并等待数据同步完成

# lsblk
# docker exec ceph-cmd ceph osd out osd.<ID>
# docker exec ceph-cmd daemon-stop  target=osd.<ID>
# docker exec ceph-cmd ceph osd purge <id>  --yes-i-really-mean-it
# docker exec ceph-cmd daemon-delete  target=osd.<ID>
# docker exec ceph-cmd  ceph-s

2、设置分布式存储数据不迁移

# cmd

# ceph osd set norecover

# ceph osd set nobackfill

# ceph osd set noout

3、移除故障OSD

示例: 故障缓存硬盘sda     卷组vg0     数据逻辑卷vg0/data_sdc   vg0/data_sdd

# lvconvert --uncache  vg0/data_sdc

# lvconvert --uncache  vg0/data_sdd

# vgreduce  /dev/vg0   /dev/sda3

# pvremove /dev/sda3

# fdisk /dev/sda      删除sda1    sda2   sda3这三个分区

4、关闭服务器,更新故障缓存盘(SSD)

5、开机进入RAID配置页面,将新硬盘做RAID0(若是JBOD直通,可忽略此步骤)

6、进入操作系统,检查所有磁盘监控状态,要求均能识别正常

7、格式化/dev/sda磁盘,并新建3个分区

sda1    10G   

sda2    10G

sda3    剩余所有

8、创建cache/meta 逻辑卷,并绑定缓存池

# pvcreate  /dev/sda3
# vgextend  /dev/vg0   /dev/sda3
# lvcreate  -n  cache_sdc  -L  210G  vg0   /dev/sda3
# lvcreate  -n  meta_sdc  -L  1G  vg0   /dev/sda3
# lvcreate  -n  cache_sdd  -L  210G  vg0   /dev/sda3
# lvcreate  -n  meta_sdd  -L  1G  vg0   /dev/sda3
# lvconvert  --type cache-pool  --poolmetadata vg0/meta_sdc  vg0/cache_sdc
# lvconvert  --type cache  --cachepool vg0/cache_sdc   vg0/data_sdc  --cachemode writeback 
# lvconvert  --type cache-pool  --poolmetadata vg0/meta_sdd  vg0/cache_sdd
# lvconvert  --type cache  --cachepool vg0/cache_sdd   vg0/data_sdd  --cachemode writeback
# lvs
# lsblk

9、添加osd

# docker exec ceph-cmd daemon-create host=ycc-xxx  osd type=filestore disk=/dev/vg0/data_sdc  journal=/dev/sda1

# docker exec ceph-cmd daemon-create host=ycc-xxx  osd type=filestore disk=/dev/vg0/data_sdd  journal=/dev/sda2

# docker  exec  -it  ceph-cmd   ceph  -s

3. 故障硬盘为OSD 数据盘

【思路】

删除故障osd对应的lvm卷,关机更换故障硬盘,将新硬盘重新做RAID0,并从/dev/sda3或者/dev/sdb3中新建lvmcahe的cache、meta逻辑卷。从故障硬盘新建数据逻辑卷,并绑定lvm cache-pool,再添加osd到ceph集群。

【测试环境】

【处理步骤】

1、删除故障硬盘

登录故障osd所在计算点,删除故障机械盘对应osd

# docker exec ceph-cmd ceph osd out osd.<ID>

# docker exec ceph-cmd daemon-stop host=<host> target=osd.<ID>

# docker exec ceph-cmd ceph osd purge <id> --yes-i-really-mean-it

# docker exec ceph-cmd daemon-delete host=<host> target=osd.<ID>

2、设置分布式存储数据不迁移

# cmd

# ceph osd set norecover

# ceph osd set nobackfill

# ceph osd set noout

3、删除故障硬盘对应的lvm卷

示例: 故障硬盘sdc     卷组vg0     数据逻辑卷/dev/vg0/data_sdc

# lvremove  -y  /dev/vg0/data_sdc

# vgreduce  vg0   /dev/sdc

# pvremove /dev/sdc

4、关闭服务器,更新故障缓存盘(SSD)

5、开机进入RAID配置页面,将新硬盘做RAID0(若是JBOD直通,可忽略此步骤)

6、进入操作系统,检查所有磁盘监控状态,要求均能识别正常

7、格式化/dev/sda磁盘,并配置lvmcache

# pvcreate  /dev/sdc

# vgextend  /dev/vg0   /dev/sdc

# lvcreate  -l  100%FREE  -n  data_sdc  /dev/vg0   /dev/sdc

# lvcreate  -n  cache_sdc  -L  210G  vg0   /dev/sda3

# lvcreate  -n  meta_sdc  -L  1G  vg0   /dev/sda3

# lvconvert --type cache-pool    --poolmetadata vg0/meta_sdc  vg0/cache_sdc

# lvconvert --type cache  --cachepool vg0/cache_sdc   vg0/data_sdc  --cachemode writeback  

# lvs

8、添加osd

# docker exec ceph-cmd daemon-create host=ycc-xxx  osd type=filestore disk=/dev/vg0/data_sdc  journal=/dev/sda1

# docker  exec  -it  ceph-cmd   ceph  -s
Ceph是一个可靠的、数据自动重均衡、自动恢复的SDS(软件定义存储)分布式存储系统,功能主要有三大块:块存储、对象存储、文件系统。Ceph不但是提供了统一存储,并且同时还充分利用了客户端的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的设计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性能并不会受到影响。不管是私有云还是公有云,随着云架构的发展,Ceph 成为了OpenStack、Proxmox标配的后端存储,不光如此,就连目前最火的容器编排 Kubernetes 持久存储也都支持 Ceph ,让 Ceph 成为当前主流的存储系统,而对 Ceph 存储的学习也就变的刻不容缓。 该课程属于比较基础的 Ceph 存储课程,旨在让大家能快速上手对 Ceph 集群的部署以及操作,主要讲解以下几个方面: 1.     架构的介绍2.     集群的多种部署方式3.     块存储部署,客户端使用及快照、克隆和镜像4.     对象存储的部署及简单使用5.     Ceph FS 文件系统的部署、客户端使用及导出为NFS6.     集群的操作和管理,包括服务,集群扩展,缩减和集群维护7.     Ceph 基础知识的介绍,包括集群map,PG和身份验证8.     Ceph 集群的监控
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值