(求助) Ceph 集群迁移方案

场景介绍:在一个生产环境中,A和B两个集群都是同构的FileStore集群,能不能不采用将数据全读出再写入这种方式,完成A集群数据到B集群数据的迁移?数据量20T,可以停机维护,不能搬服务器,因为老集群还有人用,新集群另一波人用,可以拔磁盘,用磁盘把数据带过去,分布在不同机器上几十T的数据,每个设备上都可以提供冗余盘,可以用来搬数据,求靠谱迁移方案。谢谢大家

3回答

zhuqibszhuqibs  软件开发工程师 , Mcd
把手交给叔叔zhanghaiyanzhangpin等赞同了此回答
采用增加节点的方法(1)首先打通新老机房的网络环境(2)然后在新机房增加建立老机房的相同数量的osd节点和mds节点(这些都是标准的做法)(3)然后,停止老机房的osd节点,让系统把数据同步到新的机房节点osd去(4)最后,停止老机房的master节点缺点,需要两套设备变通方法,一个个迁移,很麻烦(2.1)关...显示全部

采用增加节点的方法
(1)首先打通新老机房的网络环境
(2)然后在新机房增加建立老机房的相同数量的osd节点和mds节点(这些都是标准的做法)
(3)然后,停止老机房的osd节点,让系统把数据同步到新的机房节点osd去
(4)最后,停止老机房的master节点
缺点,需要两套设备
变通方法,一个个迁移,很麻烦
(2.1)关闭老机房的一个osd,把磁盘转移到新的机房重新拉起osd,以此类推;
(3.1)对mds节点也采用这个办法,前提,mds不是一个

收起
 2020-04-01
浏览1615
  • 非常感谢。这个办法想法挺好,就是我们这集群网不通,用不了这招,其实出现这个蛋疼的问题,是因为上层的使用者觉得数据已经在你ceph上了,我其他地方想用cp过去就行了,他们也没想什么元数据问题啊什么,要求速度要快,弄的我这边就很不好弄
    2020-04-01
  • 可以采用比较low的办法, 你的存储是raid1吗? 存储有副本吗?
    2020-04-01
  • 添加磁盘到老集群,增加副本到2,然后,关ceph,把新加的盘全部拆下来,搬过去
    2020-04-01
  • [此评论已删除]
    2020-04-03
admkingadmking  技术经理 , 互联网
jim8602赞同了此回答
感觉只能通过数据的读出和写入方式。分布式存储的数据分布在不同的机器上,由MDS记录元数据。不仅仅是数据盘拔插过去的事情了。 集群之间不知道有没有复制功能,可以通过复制的方式进行迁移。这样其实和读出写入是一样的了吧。...显示全部

感觉只能通过数据的读出和写入方式。
分布式存储的数据分布在不同的机器上,由MDS记录元数据。不仅仅是数据盘拔插过去的事情了。

集群之间不知道有没有复制功能,可以通过复制的方式进行迁移。这样其实和读出写入是一样的了吧。

收起
 2020-04-01
浏览1522
花花世界花花世界  系统架构师 , 小太阳
另外网上群友说的一个大致思路。 1. 停掉所有OSD; 2. 将OSD上的PG导出到备份盘,一个PG就是一个文件。 2.1 启动OSD恢复业务,老集群可以继续使用。 3. 将备份盘搬到新机房 4. 在新机房建一个新的存储集群,要求: a) ceph fsid 一致 b) 创建同样pg_num的业务迁移池。 c)容量足够,...显示全部

另外网上群友说的一个大致思路。

1. 停掉所有OSD; 
2. 将OSD上的PG导出到备份盘,一个PG就是一个文件。
2.1 启动OSD恢复业务,老集群可以继续使用。
3. 将备份盘搬到新机房
4. 在新机房建一个新的存储集群,要求:
a) ceph fsid 一致
b) 创建同样pg_num的业务迁移池。
c)容量足够,服务器能插上备份盘
5. 停掉新集群所有OSD,设置nobackfill, 开始倒入PG
5.1 ceph-objectstore-tool remove 掉所有的PG
5.2 ceph-objectstore-tool import 所有备份盘的PG,到任意本服务器上的OSD上都行,OSD启动后,会扫描自身的PG,如果不属于自己,会backfill到crush算出的正确的OSD上。
6. 导入完毕,启动所有OSD,开始数据回迁。
收起
 2020-04-03
浏览1367

提问者

花花世界系统架构师, 小太阳

问题状态

  • 发布时间:2020-04-01
  • 关注会员:3 人
  • 问题浏览:3812
  • 最近回答:2020-04-03