searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

ipv6简介及ceph集群切换ipv6方法

2023-07-24 03:31:43
76
0

一. Ipv6简介

      IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,能有效解决IPv4地址即将耗尽的问题。

      IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。

一、冒分十六进制表示法

  格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:

  ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

  这种表示法中,每个X的前导0是可以省略的,例如:

  2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

二、0位压缩表示法

  在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:

  FF01:0:0:0:0:0:0:1101 → FF01::1101

  0:0:0:0:0:0:0:1 → ::1

  0:0:0:0:0:0:0:0 → ::

三、内嵌IPv4地址表示法

      为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。

      IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下:

地址类型

地址前缀(二进制)

IPv6前缀标识

centos7下显示

单播地址

未指定地址

00…0(128 bits)

::/128

 

环回地址

00…1(128 bits)

::1/128

 

链路本地地址

1111111010

FE80::/10

inet6 fe80::f816:3eff:fea7:a3da  prefixlen 64  scopeid 0x20<link>

唯一本地地址

1111 110

FC00::/7

(包括FD00::/8和

不常用的FC00::/8)

inet6 fd00:0:0:1::1  prefixlen 64  scopeid 0x0<global>

站点本地地址(已弃用,被唯一本地地址代替)

1111111011

FEC0::/10

inet6 fec0:0:0:1::1  prefixlen 64  scopeid 0x40<site>

全球单播地址

其他形式

最常用2001::/16

inet6 2001:1111::1  prefixlen 64  scopeid 0x0<global>

组播地址

发送到组播地址的数据包被送到由该地址标识的所有接口

11111111

FF00::/8

 

任播地址

发送到任播地址的数据包被送到由该地址标识的其中一个接口

从单播地址空间中进行分配,使用单播地址的格式

 

 

二. Ceph集群切换ipv6方法

      这里介绍将已经部署好的使用ipv4地址的ceph集群切换为ipv6地址的方法。

      测试环境已经部署了ipv4的ceph,需要修改为ipv6,详细步骤及命令为:

1、停服务:选择三台ceph-mon节点其中的一台ceph001,停ceph-mon服务,systemctl stop ceph-mon@ceph001。

2、导出monmap:在ceph001上执行ceph-mon -i ceph001 --extract-monmap map1,导出monmap文件为map1。

3、修改mon地址并导入新monmap:通过monmaptool --print map1查看map信息,再通过monmaptool --rm ceph001 map1,monmaptool --add ceph001 [fec0:0:0:1::1]:6789 map1命令逐一修改ceph001,ceph002,ceph003的地址为ipv6地址,修改后再通过monmaptool --print map1确认新的map信息。再通过命令ceph-mon -i ceph001 --inject-monmap map1导入新的monmap。再将上面的map1文件拷贝到ceph002,ceph003上,同样停ceph-mon服务,导入新的monmap。

4、修改ceph.conf文件:三个控制节点的/etc/ceph/ceph.conf文件添加及修改如下参数:

ms_bind_ipv6 = true

mon_host = [fec0:0:0:1::1]:6789,[fec0:0:0:1::2]:6789,[fec0:0:0:1::3]:6789

public network = fec0:0:0:1::/64

5、启动及重启服务:三个控制节点分别启动ceph-mon服务,通过ceph –s确认三个mon节点运行正常,再通过systemctl restart ceph-mds@ceph001,systemctl restart ceph-mgr@ceph001,systemctl restart ceph-osd.target等命令重启其他ceph相关服务,最后通过ceph –s,ceph osd tree等命令确认ceph集群正常。

      按上面步骤即可完成ceph集群从ipv4到ipv6的改造,注意修改后ceph集群对外提供的是ipv6地址,各个连ceph的客户端都需要更新ceph集群地址。

0条评论
0 / 1000
佘****生
5文章数
0粉丝数
佘****生
5 文章 | 0 粉丝
原创

ipv6简介及ceph集群切换ipv6方法

2023-07-24 03:31:43
76
0

一. Ipv6简介

      IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,能有效解决IPv4地址即将耗尽的问题。

      IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。

一、冒分十六进制表示法

  格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:

  ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

  这种表示法中,每个X的前导0是可以省略的,例如:

  2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

二、0位压缩表示法

  在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:

  FF01:0:0:0:0:0:0:1101 → FF01::1101

  0:0:0:0:0:0:0:1 → ::1

  0:0:0:0:0:0:0:0 → ::

三、内嵌IPv4地址表示法

      为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。

      IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下:

地址类型

地址前缀(二进制)

IPv6前缀标识

centos7下显示

单播地址

未指定地址

00…0(128 bits)

::/128

 

环回地址

00…1(128 bits)

::1/128

 

链路本地地址

1111111010

FE80::/10

inet6 fe80::f816:3eff:fea7:a3da  prefixlen 64  scopeid 0x20<link>

唯一本地地址

1111 110

FC00::/7

(包括FD00::/8和

不常用的FC00::/8)

inet6 fd00:0:0:1::1  prefixlen 64  scopeid 0x0<global>

站点本地地址(已弃用,被唯一本地地址代替)

1111111011

FEC0::/10

inet6 fec0:0:0:1::1  prefixlen 64  scopeid 0x40<site>

全球单播地址

其他形式

最常用2001::/16

inet6 2001:1111::1  prefixlen 64  scopeid 0x0<global>

组播地址

发送到组播地址的数据包被送到由该地址标识的所有接口

11111111

FF00::/8

 

任播地址

发送到任播地址的数据包被送到由该地址标识的其中一个接口

从单播地址空间中进行分配,使用单播地址的格式

 

 

二. Ceph集群切换ipv6方法

      这里介绍将已经部署好的使用ipv4地址的ceph集群切换为ipv6地址的方法。

      测试环境已经部署了ipv4的ceph,需要修改为ipv6,详细步骤及命令为:

1、停服务:选择三台ceph-mon节点其中的一台ceph001,停ceph-mon服务,systemctl stop ceph-mon@ceph001。

2、导出monmap:在ceph001上执行ceph-mon -i ceph001 --extract-monmap map1,导出monmap文件为map1。

3、修改mon地址并导入新monmap:通过monmaptool --print map1查看map信息,再通过monmaptool --rm ceph001 map1,monmaptool --add ceph001 [fec0:0:0:1::1]:6789 map1命令逐一修改ceph001,ceph002,ceph003的地址为ipv6地址,修改后再通过monmaptool --print map1确认新的map信息。再通过命令ceph-mon -i ceph001 --inject-monmap map1导入新的monmap。再将上面的map1文件拷贝到ceph002,ceph003上,同样停ceph-mon服务,导入新的monmap。

4、修改ceph.conf文件:三个控制节点的/etc/ceph/ceph.conf文件添加及修改如下参数:

ms_bind_ipv6 = true

mon_host = [fec0:0:0:1::1]:6789,[fec0:0:0:1::2]:6789,[fec0:0:0:1::3]:6789

public network = fec0:0:0:1::/64

5、启动及重启服务:三个控制节点分别启动ceph-mon服务,通过ceph –s确认三个mon节点运行正常,再通过systemctl restart ceph-mds@ceph001,systemctl restart ceph-mgr@ceph001,systemctl restart ceph-osd.target等命令重启其他ceph相关服务,最后通过ceph –s,ceph osd tree等命令确认ceph集群正常。

      按上面步骤即可完成ceph集群从ipv4到ipv6的改造,注意修改后ceph集群对外提供的是ipv6地址,各个连ceph的客户端都需要更新ceph集群地址。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0