Resolución básica de problemas de red

IBM Storage Ceph depende en gran medida de una conexión de red fiable. Los nodos de almacenamiento Ceph utilizan la red para comunicarse entre sí. Los problemas de red pueden causar muchos problemas con los OSD de Ceph, como por ejemplo que se incumplan, o que se notifiquen incorrectamente como down. Los problemas de red también pueden causar errores de desfase horario de Ceph Monitor. Además, la pérdida de paquetes, la alta latencia o el ancho de banda limitado pueden afectar al rendimiento y la estabilidad del clúster.

Antes de empezar

  • Acceso de nivel raíz al nodo.

Acerca de esta tarea

Para obtener más información, consulte los siguientes recursos:

Procedimiento

  1. Instale los paquetes net-tools y telnet .
    Los paquetes net-tools y telnet pueden ayudar a resolver problemas de red que se pueden producir en un clúster de almacenamiento Ceph.
    Por ejemplo:
    [ root@host01 ~]# dnf install net-tools
    [ root@host01 ~]# dnf install telnet
  2. Inicie sesión en el shell cephadm y verifique que los parámetros public_network del archivo de configuración Ceph incluyen los valores correctos.
    Por ejemplo:
    [ceph: root@host01 /]# cat /etc/ceph/ceph.conf
    # mínimo ceph.conf para 57bddb48-ee04-11eb-9962-001a4a000672
    [global]
            fsid = 57bddb48-ee04-11eb-9962-001a4a000672
            mon_host = [ v2:10.74.249.26:3300/0,v1:10. 74.249.26:6789/0 ] [ v2:10.74.249.163:3300/0,v1:10. 74.249.163:6789/0 ] [ v2:10.74.254.129:3300/0,v1:10. 74.254.129:6789/0 ]
    [mon.host01]
    red pública = 10.74.248.0/21
  3. Salga del shell y verifique que las interfaces de red están activas.
    Por ejemplo:
    [ root@host01 ~]# ip link list
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
        enlace/éter 00:1a:4a:00:06:72 brd ff:ff:ff:ff:ff:ff
  4. Verifique que los nodos Ceph puedan ponerse en contacto entre sí utilizando sus nombres de host cortos.
    Realice esta comprobación en cada nodo del clúster de almacenamiento.
    ping SHORT_HOST_NAME
    Por ejemplo:
    [ root@host01 ~]# ping host02
  5. Si utiliza un cortafuegos, asegúrese de que los nodos Ceph puedan ponerse en contacto entre sí en sus puertos adecuados.
    Si no utiliza un cortafuegos, continúe en el paso 6. La herramienta firewall-cmd valida el estado del puerto y la herramienta telnet valida si el puerto está abierto.
    firewall-cmd --info-zone=ZONE
    telnet IP_ADDRESS PORT
    Por ejemplo:
    [ root@host01 ~]# firewall-cmd --info-zone =public
    público (activo)
      objetivo: por defecto
      icmp-block-inversion: no
      Interfaces: ens3
      Fuentes:
      servicios: ceph ceph-mon cockpit dhcpv6-client ssh
      puertos: 9283/tcp 8443/tcp 9093/tcp 9094/tcp 3000/tcp 9100/tcp 9095/tcp
      protocols:
      mascarada: no
      puertos de reenvío:
      puertos de origen:
      bloques icmp:
      reglas ricas:
    
    [ root@host01 ~]# telnet 192.168.0.22 9100
  6. Verifique que no haya errores en los contadores de interfaz.
    Compruebe que la conectividad de red entre nodos tenga la latencia esperada y que no haya pérdida de paquetes.
    1. Utilice el mandato ethtool .
      ethtool -S INTERFACE
      Por ejemplo:
      [ root@host01 ~]# ethtool -S ens3 | grep errores
      Estadísticas NIC:
           errores_rx_fcs: 0
           rx_align_errors: 0
           Errores rx_frame_too_long: 0
           Errores de longitud de entrada: 0
           Errores de longitud de salida de recepción: 0
           Errores tx_mac: 0
           Errores de detección de portadora TX: 0
           tx_errors: 0
           errores de recepción: 0
    2. Utilice el mandato ifconfig .
      Por ejemplo:
      [ root@host01 ~]# ifconfig
      ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
              inet 10.74.249.26 máscara de red 255.255.248.0 broadcast 10.74.255.255
              inet6 fe80::21a:4aff:fe00:672 prefixlen 64 scopeid 0x20<link>
              inet6 2620:52:0:4af8:21a:4aff:fe00:672 prefixlen 64 scopeid 0x0<global>
              ether 00:1a:4a:00:06:72 txqueuelen 1000 (Ethernet)
              Paquetes RX 150549316 bytes 56759897541 ( 52.8 GiB )
              Errores de recepción 0 abandonados 176924 desbordamientos 0 trama 0
              TX paquetes 55584046 bytes 62111365424 ( 57.8 GiB )
              Errores de transmisión 0 caídas 0 desbordamientos 0 portadora 0 colisiones 0
      
      lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
              inet 127.0.0.1 máscara de red 255.0.0.0
              inet6 ::1 prefixlen 128 scopeid 0x10<host>
              loop txqueuelen 1000 (Loopback local)
              Paquetes RX 9373290 bytes 16044697815 ( 14.9 GiB )
              RX errors 0 dropped 0 overruns 0 frame 0
              TX paquetes 9373290 bytes 16044697815 ( 14.9 GiB )
              Errores de transmisión 0 caídas 0 desbordamientos 0 portadora 0 colisiones 0
    3. Utilice el mandato netstat .
      Por ejemplo:
      [ root@host01 ~]# netstat -ai
      Tabla de interfaces del núcleo
      Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
      ens3 1500 311847720 0 364903 0 114341918 0 0 0 BMRU
      lo 65536 19577001 0 0 0 19577001 0 0 0 LRU
  7. Para problemas de rendimiento, utilice la herramienta iperf3 para verificar el ancho de banda de red entre todos los nodos del clúster de almacenamiento.
    La herramienta iperf3 realiza una prueba de ancho de banda de red punto a punto simple entre un servidor y un cliente.
    1. Instale el paquete iperf3 en los nodos de IBM Storage Ceph que desea comprobar el ancho de banda.
      Por ejemplo:
      [ root@host01 ~]# dnf install iperf3
    2. En un IBM Storage Ceph, inicie el servidor de iperf3 .
      Nota: El puerto predeterminado es 5201, pero se puede establecer utilizando el argumento de mandato -P .
      Por ejemplo:
      [root@host01 ~]# iperf3 -s
       Servidor escuchando en 5201
    3. En un nodo de IBM Storage Ceph diferente, inicie el cliente de iperf3 .
      iperf3 -c mon
      Por ejemplo:
      [ root@host02 ~]# iperf3 -c mon
       Conectando al host mon, puerto 5201
       [ 4] local xx.x.xxx.xx puerto 52270 conectado a xx.x.xxx.xx puerto 5201
       [ID] Intervalo Transferencia Ancho de banda Retr Cwnd
       [ 4] 0.00-1.00 seg 114 MBytes 954 Mbits/seg 0 409 KBytes
       [ 4] 1.00-2.00 seg 113 MBytes 945 Mbits/seg 0 409 KBytes
       [ 4] 2.00-3.00 seg 112 MBytes 943 Mbits/seg 0 454 KBytes
       [ 4] 3.00-4.00 seg 112 MBytes 941 Mbits/seg 0 471 KBytes
       [ 4] 4.00-5.00 seg 112 MBytes 940 Mbits/seg 0 471 KBytes
       [ 4] 5.00-6.00 seg 113 MBytes 945 Mbits/seg 0 471 KBytes
       [ 4] 6.00-7.00 seg 112 MBytes 937 Mbits/seg 0 488 KBytes
       [ 4] 7.00-8.00 seg 113 MBytes 947 Mbits/seg 0 520 KBytes
       [ 4] 8.00-9.00 seg 112 MBytes 939 Mbits/seg 0 520 KBytes
       [ 4] 9.00-10.00 seg 112 MBytes 939 Mbits/seg 0 520 KBytes
       - - - - - - - - - - - - - - - - - - - - - - - - -
       [ID] Intervalo Transferencia Ancho de banda Retr
       [ 4] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 remitente
       [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receptor
      
       iperf Hecho.
      Esta salida muestra un ancho de banda de red de 1.1 Gbits/segundo entre los nodos de IBM Storage Ceph , junto con ninguna retransmisión (Retr) durante la prueba. Se recomienda validar el ancho de banda de red entre todos los nodos del clúster de almacenamiento.
  8. Asegúrese de que todos los nodos tengan la misma velocidad de interconexión de red.
    Los nodos conectados más lentos pueden ralentizar los conectados más rápidos. Además, asegúrese de que los enlaces entre conmutadores pueden manejar el ancho de banda agregado de los nodos conectados.
    ethtool INTERFACE
    Por ejemplo:
    [ root@host01 ~]# ethtool ens3
     Ajustes para ens3:
     Puertos compatibles: [ TP ]
     Supported link modes:    10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
                             1000baseT/Half 1000baseT/Full
     Uso del marco de pausa admitido: No
     Supports auto-negotiation:  Yes
     Modos FEC soportados: No informado
     Advertised link modes:   10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
                             1000baseT/Half 1000baseT/Full
     Uso de fotogramas de pausa anunciados: Simétrico
     Advertised auto-negotiation: Yes
     Modos FEC anunciados: No comunicado
     Modos de enlace anunciados por el socio de enlace 10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
     Uso de trama de pausa anunciada por el socio de enlace: Simétrico
     Link partner advertised auto-negotiation:   Yes
     Modos FEC anunciados por el socio de enlace: No comunicado
     Velocidad: 1000Mb/s 
     Dúplex: Completo 
     Puerto: Par trenzado
     PHYAD: 1
     Transceiver: internal
     Auto-negotiation: on
     MDI-X: desactivado
     Soporta Wake-on: g
     Activación: d
     Nivel de mensaje actual: 0x000000ff (255)
             drv sonda enlace temporizador ifdown ifup rx_err tx_err
     Link detected:  yes