3.2. 기본 네트워킹 문제 해결
Red Hat Ceph Storage는 안정적인 네트워크 연결에 크게 의존합니다. Red Hat Ceph Storage 노드는 네트워크를 사용하여 서로 통신합니다. 네트워킹 문제로 인해 Ceph OSD와 같은 여러 문제가 발생할 수 있습니다(예: 실행 중 또는 down
으로 잘못 보고되는 경우). 네트워킹 문제로 인해 Ceph Monitor의 시계가 정지하는 오류가 발생할 수 있습니다. 또한 패킷 손실, 대기 시간이 길거나 제한된 대역폭이 클러스터 성능 및 안정성에 영향을 줄 수 있습니다.
사전 요구 사항
- 노드에 대한 루트 수준 액세스입니다.
절차
net-tools
및telnet
패키지를 설치하면 Ceph 스토리지 클러스터에서 발생할 수 있는 네트워크 문제를 해결할 때 도움이 될 수 있습니다.예제
[root@host01 ~]# dnf install net-tools [root@host01 ~]# dnf install telnet
cephadm
쉘에 로그인하고 Ceph 구성 파일의public_network
매개변수에 올바른 값이 포함되어 있는지 확인합니다.예제
[ceph: root@host01 /]# cat /etc/ceph/ceph.conf # minimal ceph.conf for 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] public network = 10.74.248.0/21
쉘을 종료하고 네트워크 인터페이스가 시작되었는지 확인합니다.
예제
[root@host01 ~]# ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 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 link/ether 00:1a:4a:00:06:72 brd ff:ff:ff:ff:ff:ff
짧은 호스트 이름을 사용하여 Ceph 노드가 서로 연결할 수 있는지 확인합니다. 스토리지 클러스터의 각 노드에서 이 값을 확인합니다.
구문
ping SHORT_HOST_NAME
예제
[root@host01 ~]# ping host02
방화벽을 사용하는 경우 Ceph 노드가 적절한 포트에서 서로 연결할 수 있는지 확인합니다.
firewall-cmd
및telnet
툴은 포트 상태를 확인하고 포트가 각각 열려 있는 경우 다음을 수행합니다.구문
firewall-cmd --info-zone=ZONE telnet IP_ADDRESS PORT
예제
[root@host01 ~]# firewall-cmd --info-zone=public public (active) target: default icmp-block-inversion: no interfaces: ens3 sources: services: ceph ceph-mon cockpit dhcpv6-client ssh ports: 9283/tcp 8443/tcp 9093/tcp 9094/tcp 3000/tcp 9100/tcp 9095/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: [root@host01 ~]# telnet 192.168.0.22 9100
인터페이스 카운터에 오류가 없는지 확인합니다. 노드 간 네트워크 연결 대기 시간이 예상되었으며 패킷 손실이 없는지 확인합니다.
ethtool
명령 사용:구문
ethtool -S INTERFACE
예제
[root@host01 ~]# ethtool -S ens3 | grep errors NIC statistics: rx_fcs_errors: 0 rx_align_errors: 0 rx_frame_too_long_errors: 0 rx_in_length_errors: 0 rx_out_length_errors: 0 tx_mac_errors: 0 tx_carrier_sense_errors: 0 tx_errors: 0 rx_errors: 0
ifconfig
명령 사용:예제
[root@host01 ~]# ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.74.249.26 netmask 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) RX packets 150549316 bytes 56759897541 (52.8 GiB) RX errors 0 dropped 176924 overruns 0 frame 0 TX packets 55584046 bytes 62111365424 (57.8 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 9373290 bytes 16044697815 (14.9 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 9373290 bytes 16044697815 (14.9 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netstat
명령 사용:예제
[root@host01 ~]# netstat -ai Kernel Interface table 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
성능 문제의 경우 대기 시간을 확인하고 스토리지 클러스터의 모든 노드 간 네트워크 대역폭을 확인하고
iperf3
툴을 사용합니다.iperf3
도구는 서버와 클라이언트 간의 간단한 점-투-포인트 네트워크 대역폭 테스트를 수행합니다.대역폭을 확인하려는 Red Hat Ceph Storage 노드에
iperf3
패키지를 설치합니다.예제
[root@host01 ~]# dnf install iperf3
Red Hat Ceph Storage 노드에서
iperf3
서버를 시작합니다.예제
[root@host01 ~]# iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
참고기본 포트는 5201이지만
-P
명령 인수를 사용하여 설정할 수 있습니다.다른 Red Hat Ceph Storage 노드에서
iperf3
클라이언트를 시작합니다.예제
[root@host02 ~]# iperf3 -c mon Connecting to host mon, port 5201 [ 4] local xx.x.xxx.xx port 52270 connected to xx.x.xxx.xx port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 114 MBytes 954 Mbits/sec 0 409 KBytes [ 4] 1.00-2.00 sec 113 MBytes 945 Mbits/sec 0 409 KBytes [ 4] 2.00-3.00 sec 112 MBytes 943 Mbits/sec 0 454 KBytes [ 4] 3.00-4.00 sec 112 MBytes 941 Mbits/sec 0 471 KBytes [ 4] 4.00-5.00 sec 112 MBytes 940 Mbits/sec 0 471 KBytes [ 4] 5.00-6.00 sec 113 MBytes 945 Mbits/sec 0 471 KBytes [ 4] 6.00-7.00 sec 112 MBytes 937 Mbits/sec 0 488 KBytes [ 4] 7.00-8.00 sec 113 MBytes 947 Mbits/sec 0 520 KBytes [ 4] 8.00-9.00 sec 112 MBytes 939 Mbits/sec 0 520 KBytes [ 4] 9.00-10.00 sec 112 MBytes 939 Mbits/sec 0 520 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 1.10 GBytes 941 Mbits/sec receiver iperf Done.
이 출력은 테스트 중에 다시 전송(후부)하지 않고 Red Hat Ceph Storage 노드 간 네트워크 대역폭 1.1 Gbits/second를 보여줍니다.
스토리지 클러스터에 있는 모든 노드 간에 네트워크 대역폭을 확인하는 것이 좋습니다.
모든 노드에 동일한 네트워크 상호 연결 속도가 있는지 확인합니다. 연결된 노드의 속도가 느려지면 더 빠르게 연결된 노드가 느려질 수 있습니다. 또한 상호 스위치 링크가 연결된 노드의 집계된 대역폭을 처리할 수 있는지 확인합니다.
구문
ethtool INTERFACE
예제
[root@host01 ~]# ethtool ens3 Settings for ens3: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: Symmetric Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s 1 Duplex: Full 2 Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: off Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes 3
추가 리소스
- 자세한 내용은 고객 포털의 기본 네트워크 문제 해결 솔루션을 참조하십시오.
- "ethtool" 명령이란 무엇이며 어떻게 네트워크 장치 및 인터페이스에 대한 정보를 얻을 수 있는지 확인하십시오.
- 자세한 내용은 RHEL 네트워크 인터페이스에서 고객 포털에서 패킷 솔루션을 삭제하십시오.
- 자세한 내용은 고객 포털의 Red Hat Ceph Storage에서 사용할 수 있는 성능 벤치마킹 툴이란 무엇입니까?
- 자세한 내용은 고객 포털에서 네트워킹 문제 해결 과 관련된 지식베이스 문서 및 솔루션을 참조하십시오.