• 配置Ceph的IPV6集群


    前言

    对于IPV6实在是非常的陌生,所以本篇开始会讲一下最基本的网络配置,首先让网络能通起来,最开始就是因为不熟悉IPV6,而直接使用了link local地址,造成了mon部署的时候进程无法绑定到IP,从而端口没有启动,这个是在ceph社区群友 ceph-长沙-柠檬 同学的帮助下才发现问题的

    IPV6是会有个link local地址的,在一个接口可以配置很多IPv6地址,所以学习路由就有可能出现很多下一跳。所以出现Link Local地址唯一标识一个节点。在本地链路看到下一跳都是对端的Link Local地址。这个地址一般是以fe80开头的,子网掩码为64,这个地方需要给机器配置一个唯一的全局单播地址

    However, with IPv6, all (IPv6) interfaces will have a link local address. This address is intended to allow communications over the attached links and so is defined to be usable only on that link.

    网络配置

    linux下用默认的网卡配置文件

    [root@node1 ceph]# ifconfig 
    eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.46  netmask 255.255.0.0  broadcast 192.168.255.255
            inet6 fe80::20c:29ff:fec5:5a4b  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:c5:5a:4b  txqueuelen 1000  (Ethernet)
            RX packets 18422  bytes 1254119 (1.1 MiB)
            RX errors 0  dropped 6  overruns 0  frame 0
            TX packets 1938  bytes 890164 (869.3 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    取消NetworkManager管理

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl restart network
    

    以免NetworkManager的干扰

    这个地方我没有做自定义的IPV6的设置,让其默认的生成的地方,可以看到上面的node1的link local地址地址为 fe80::20c:29ff:fec5:5a4b
    我的另外一台的地址为 fe80::20c:29ff:feda:6849

    node1 fe80::20c:29ff:fec5:5a4b prefixlen 64

    node2 fe80::20c:29ff:feda:6849 prefixlen 64

    这个地方都是没有单播地址的,需要配置一个

    配置的时候关闭掉ipv4的IP,防止影响,确认配置的就是ipv6环境,去掉IPv4的配置即可,我的网卡配置文件

    TYPE="Ethernet"
    BOOTPROTO="static"
    DEFROUTE="yes"
    PEERDNS="yes"
    PEERROUTES="yes"
    NM_CONTROLLED=no
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6ADDR=2008:20c:20c:20c:20c:29ff:fec5:5a4b/64
    IPV6_AUTOCONF=no
    IPV6_DEFROUTE="yes"
    IPV6_PEERDNS="yes"
    IPV6_PEERROUTES="yes"
    IPV6_FAILURE_FATAL="no"
    NAME="eno16777736"
    UUID="0146f40c-6f4d-4c63-a9cd-7f89264613f3"
    DEVICE="eno16777736"
    ONBOOT="yes"
    

    检查配置情况

    [root@node1 ceph]# ifconfig 
    eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet6 fe80::20c:29ff:fec5:5a4b  prefixlen 64  scopeid 0x20<link>
            inet6 2008:20c:20c:20c:20c:29ff:fec5:5a4b  prefixlen 64  scopeid 0x0<global>
            ether 00:0c:29:c5:5a:4b  txqueuelen 1000  (Ethernet)
            RX packets 9133  bytes 597664 (583.6 KiB)
            RX errors 0  dropped 1  overruns 0  frame 0
            TX packets 466  bytes 137983 (134.7 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    可以看到有两个inet6这样就是对的了

    windows远程ssh连接的方式:ssh 2008:20c:20c:20c:20c:29ff:fec5:5a4b

    配置hosts

    在配置文件/etc/hosts中添加如下内容

    2008:20c:20c:20c:20c:29ff:fec5:5a4b node1
    2008:20c:20c:20c:20c:29ff:feda:6849 node2
    

    检测是否连通

    [root@node1 ~]# ping6 -I eno16777736 2008:20c:20c:20c:20c:29ff:feda:6849
    

    ping主机名称

    [root@node1 ~]# ping6 -I eno16777736 node2
    

    注意ping6需要加上网卡名称

    同样的操作在node2上也配置好,网络到这里就配置好了

    集群配置

    创建初始配置文件

    [root@node1 ceph]# ceph-deploy new node1
    [root@node1 ceph]# cat ceph.conf 
    [global]
    fsid = f0bf4130-f4f0-4214-8b98-67103ad55d65
    ms_bind_ipv6 = true
    mon_initial_members = node1
    mon_host = [2008:20c:20c:20c:20c:29ff:fec5:5a4b]
    auth_cluster_required =cephx
    auth_service_required = cephx
    auth_client_required = cephx
    

    创建mon

    [root@node1 ceph]# ceph-deploy mon create node1
    

    检查状态

    [root@node1 ceph]# ceph -s
        cluster d2882f75-1209-4667-bef8-3051c84cb83c
         health HEALTH_ERR
                no osds
         monmap e1: 1 mons at {node1=[2008:20c:20c:20c:20c:29ff:fec5:5a4b]:6789/0}
                election epoch 3, quorum 0 node1
         osdmap e8: 0 osds: 0 up, 0 in
                flags sortbitwise
          pgmap v2664: 0 pgs, 0 pools, 0 bytes data, 0 objects
                0 kB used, 0 kB / 0 kB avail
    

    检查端口

    [root@node1 ceph]# netstat -tunlp|grep tcp6
    tcp6       0      0 :::22                   :::*                    LISTEN      1155/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1294/master         
    tcp6       0      0 2008:20c:20c:20c:2:6789 :::*                    LISTEN      8997/ceph-mon
    

    可以看到集群已经正确的监听在了ipv6上了,后续的操作跟普通的IPV4集群一样的

    变更记录

    Why Who When
    创建 武汉-运维-磨渣 2016-10-17
  • 相关阅读:
    VS2010+C#写的3D的Android游戏开源咯....不来看别后悔哦。
    把XAML放在服务端,即改即现.....
    TagSL框架设计(1)先来点简介
    OpenMP模式下多线程文件操作 (转)
    VS获取工程版本信息
    OpenMP模式下多线程文件操作(五)
    简单建立DLL和使用DLL
    OpenMP模式下多线程文件操作(三)
    OpenMP模式下多线程文件操作(四)
    【转】VC2008在工具栏Toolbar里添加XP风格spin box control控件
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575376.html
Copyright © 2020-2023  润新知