Ceph万兆内网与系统万兆迁移

跟風遠走 提交于 2020-02-09 18:18:13

本文将总结一次为Ceph集群加装万兆内网(cluster network),后因需要对比实验来研究分布式存储集群在计算,网络,存储过程中各部分耗时比例,而将Ceph整体系统又整体搬移至万兆网的过程。但由于原始集群环境上还有其他不同的业务,为了不影响其他任务工作,本文确保以前的环境,配置,设备等不变,所以在整个过程中也是采坑不少!

 

Ceph仅做内外网分离将内网设为万兆,整体系统提升效果不是很大,但生产环境下都这么做,最后为了测试将ceph都挂在新的万兆网下,但还是需要保证ceph集群与其他节点在原千兆网环境下可以互联互通。

 

原环境:

1. 纯电口千兆交换机

2. 内部局域网192.168.1.0/24,所有服务器通过一节点做转发连接外网。

3. 24台服务器,每个只有一块千兆网卡(双口),通过节点1(192.168.1.1)转发至外网。

4. 其中节点7,8,9配置为Ceph存储节点,节点6配置为Ceph  Monitor节点。

5. 所有Ceph组件都配置在192.168.1.0/24的局域网网段下。

 

需求:

1. 在保留原环境的不动的前提下,将Ceph集群加装万兆内网,做内外网分离。

2. 实验进行完后,在原环境不动的前提下,将Ceph所有组件整体迁移到刚加小的万兆网环境下

 

因原网都在192.168.1.0/24网段下,而新交换机与老交换机之间无法连接(万兆到千兆,光转电模块丢包严重),不能将新网卡直接配置成192.168.1.0/24的IP(除非想呆在wong  wong  wong 的机房中做实验)。

 

 

万兆网卡与万兆交换机

本文仅将部分节点加万兆网。

万兆网卡:intel X520(二光口)

万兆交换机:华为S6720(纯光口)

 

坑点:网卡上光模块与交换机上光模块波长要一样,多模模块黑色拉环,单模1310波长蓝色拉环,单模1550波长红色拉环

单模LC光纤黄色,多模LC光纤橙色(橘色),连接时采用直连的方式,一根线一进一出

网卡用单模模块,交换机就也要用单模模块,光纤也就要用单模光纤,多模同理

借用别人的这一张图

将网卡插入服务器对应cpu的PICe插槽,用光纤将交换机与网卡连接好。注意交换机灯,绿灯常量,黄灯闪烁这就对了。

 本文在此保留原网不变(可以使用原网络环境访问),将万兆网卡插入7,8,9节点,网卡与交换机均采用单模模块连接

双网卡网络配置:

 

copy /etc/sysconfig/network-scripts/下的一个网卡的ifcfg文件,名字改为万兆网卡名字(通过ifconfig查询)

其中修改配置,IPaddr需要修改为新IP(192.168.2.107),name改为新网卡name,uuid生成一个新的(uuid用于区分网卡,可以查询到,也可以实用工具生成)

注意:千万不要设置以GATEWAY

其他几张网卡均设置好之后设置route路由指定不同网段IP包走不同网卡

route -n查看当前路由表

route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0f0指定所有192.168.2.0/24网段的包走万兆网卡

route相关其他可以参考https://www.cnblogs.com/chenjiaxin--007/p/7724901.html

也可以直接用ifup enp6s0f0启动网卡,然后再systemctl restart network。

现在环境成为了

192.168.1.0/24网段可以访问整个原环境外网  //注意保持原网环境不变

192.168.2.0/24网段访问7,8,9节点用新网卡组成的内网 //使用新网段的节点可以通过原网段访问。
 

 ceph万兆内网配置

 

1.大部分Cpeh集群按照官网方式搭建出来基本上都是将Client,Mgr,RDB,Mon等放在同一个局域网络环境下(同一网段),其中数据恢复,复制等都走的一个网,影响用户服务质量与其他速度。建立内网是为了降低 OSD 节点间数据复制对 Ceph 整体的影响,那么一般只要在 OSD 节点上加内网就可以了,所以使用官网的话,提升效果有限。

 

Ceph 的客户端,如 RADOSGW,RBD 等,会直接和 OSD 互联,以上传和下载数据,这部分是直接提供对外下载上传能力的;Ceph 一个基本功能是提供数据的冗余备份,OSD 负责数据的备份,跨主机间的数据备份当然要占用带宽,而且这部分带宽是无益于 Ceph 集群的吞吐量的。只有一个网络,尤其是有新的存储节点加入时,Ceph 集群的性能会因为大量的数据拷贝而变得很糟糕。所以对于性能有一定要求的用户,还是有必要配置内外网分离的。

因为原来ceph集群在配置时已经关闭了防火墙,此处不需用对新IP开放防火墙,若是防火墙开启状态,则需要对OSD的新ip开放防火墙。

Ceph.conf配置

[golbal]
...
public_network = 192.168.1.0/24
cluster_network = 192.168.2.0/24
...

[osd.0]
host = node7
public_addr = 192.168.1.107
cluster_addr = 192.168.2.107
....
[osd.3]
host = node8
public_addr = 192.168.1.108
cluster_addr = 192.168.2.108

主要是需要加入global段,在其中配置好public_network = 192.168.1.0/24与cluster_network = 192.168.2.0/24,然后需要指明osd的公网与集群网地址。

配置修改好后,就需要把配置上传到服务器上了,配置 Ceph 环境,通常都是使用 ceph-deploy命令

ceph-deploy --overwrite-conf config push node7 node8 node9

然后在7,8,9节点上重启ceph各部件。

systemctl restart ceph.target

坑点:每个OSD都要配置外网与集群内网,要不然系统找不到。注意osd内网的防火墙问题。

参考链接:http://docs.ceph.com/docs/master/rados/configuration/network-config-ref/

 

据官网介绍,内外网分离可以使osd之间的数据复制等走内网,而不影响外网等其他部分,但这样提升效果还是有限,毕竟从Client端到osd端走的还是千兆网,osd到RGW等直接也还是千兆网,只能节省数据复制等过程的时间。为了对比计算出网络对分布式存储系统各部分的提升效果,本文后又将整体ceph集群整个搬迁至7,8,9节点构成的小万兆网环境上。

 

 

Ceph系统万兆网搬迁

意义:撇开上文万兆内外网分离,实验对比纯千兆网下集群性能与纯万兆网下集群性能,来测试网络对ceph集群的影响程度。加上其他磁盘读取实验,从而可以计算出ceph分布式存储过程中每一部分对整体流程的影响程度。

需求:依旧保持原集群环境不动,不重装ceph,要能用原192.168.1.0网访问到7,8,9组成的新万兆网ceph集群。

一次失败的尝试:本人SB一般的将ceph.conf中mon 的ip换为192.168.2.0/24段的万兆ip,然后将上文万兆内网conf文件内的所有192.268.1.0/24段的ip换为192.168.2.0/24段的ip,本以为可以使ceph集群中所有部分都走万兆网卡,其实不然。ceph -s ,ceph osd tree之类的命令都不能使用了,看来问题出现在了mon上,一查果然是SB了。ceph.conf中的mon  IP  与 mon map中的mon   IP不一致,导致集群找不到mon,mon无法启动,然后就无法获得ceph集群的map。

 

正确的方法:在原千兆不分内外网的集群环境下,修改mon osd等及其他部分IP为万兆网IP。通过IP的迫使所有的数据都走万兆网卡,而不影响192.168.1.0/24网段的使用(可以远程)

ceph mon IP修改

原mon IP :192.168.1.107

目标monIP: 192.168.2.107

同一台节点上两张不同网卡的IP

正常步骤为:

确保 ceph mon 正常工作, 备份原有 ceph mon 配置 
导出 ceph mon 配置并修改 
导入 ceph mon 配置 
关闭集群并重启 
修改 ceph 配置文件

在MON主机上执行

最好先关了ceph集群

获得mon map       root@ceph1: ceph mon getmap -o /tmp/monmap

copy  monmap     root@ceph1: cp   /tmp/monmap   /tmp/monmap2

然后停止mon        root@ceph1: sudo systemctl start ceph-mon@{hostname}

可以使用monmaptool --print  /tmp/monmap    查看mon map配置

[root@ceph1 ~]# monmaptool --print /tmp/monmap
monmaptool: monmap file /tmp/monmap
epoch 1
fsid xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
last_changed 2018-05-14 10:33:50.570920
created 2018-05-14 10:33:50.570920
0: xx.xxx.xxx.xxx:6789/0 mon.node7
1: xx.xxx.xxx.xxx:6789/0 mon.node8
2: xx.xxx.xxx.xxx:6789/0 mon.node9

然后修改mon IP

先删除root@ceph1:monmaptool --rm node7 --rm node8 --rm node9 /tmp/monmap

再添加新的root@ceph1:monmaptool --add  node7 192.168.2.107 --add node8  192.168.2.108  --add  node9  192.168.2.109  /tmp/monmap

接着查看monmap   root@ceph1: monmaptool --print /tmp/monmap

然后单独在每个mon节点上 注入新的monmap

[root@node7 ~]# ceph-mon -i node7  --inject-monmap /tmp/monmap

 

其他节点同理。

最后修改ceph.conf中MON ip地址,其他osd等的ip地址为万兆网IP(最好别做内外网分离)

启动集群

MON IP修改结束

 

 

 

分布式存储系统各部分耗时占比实验未完待续。。。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!