3.2. 기본 네트워킹 문제 해결
Red Hat Ceph Storage는 신뢰할 수 있는 네트워크 연결에 크게 의존합니다. Red Hat Ceph Storage 노드는 네트워크를 사용하여 서로 통신합니다. 네트워킹 문제로 인해 Ceph OSD와 같이 많은 문제가 발생하거나 중단으로 잘못 보고될 수 있습니다 .
네트워킹 문제로 인해 Ceph 모니터의 클럭 차이 오류도 발생할 수 있습니다. 또한 패킷 손실, 높은 대기 시간 또는 제한된 대역폭은 클러스터 성능과 안정성에 영향을 줄 수 있습니다.
사전 요구 사항
- 노드에 대한 루트 수준 액세스.
절차
net-tools
및telnet 패키지를 설치하면
Ceph 스토리지 클러스터에서 발생할 수 있는 네트워크 문제를 해결할 때 도움이 될 수 있습니다.Red Hat Enterprise Linux 7
[root@mon ~]# yum install net-tools [root@mon ~]# yum install telnet
Red Hat Enterprise Linux 8
[root@mon ~]# dnf install net-tools [root@mon ~]# dnf install telnet
Ceph 구성 파일의
cluster_network
및public_network
매개변수에 올바른 값이 포함되어 있는지 확인합니다.예제
[root@mon ~]# cat /etc/ceph/ceph.conf | grep net cluster_network = 192.168.1.0/24 public_network = 192.168.0.0/24
네트워크 인터페이스가 작동 중인지 확인합니다.
예제
[root@mon ~]# 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: enp22s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 40:f2:e9:b8:a0:48 brd ff:ff:ff:ff:ff:ff
Ceph 노드가 짧은 호스트 이름을 사용하여 서로 연결할 수 있는지 확인합니다. 스토리지 클러스터의 각 노드에서 이를 확인합니다.
구문
ping SHORT_HOST_NAME
예제
[root@mon ~]# ping osd01
방화벽을 사용하는 경우 Ceph 노드가 적절한 포트의 다른 포트에 연결할 수 있는지 확인합니다.
firewall-cmd
및telnet
툴은 포트 상태를 확인하고 포트가 각각 열려 있는지 확인할 수 있습니다.구문
firewall-cmd --info-zone=ZONE telnet IP_ADDRESS PORT
예제
[root@mon ~]# firewall-cmd --info-zone=public public (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: 192.168.0.0/24 services: ceph ceph-mon cockpit dhcpv6-client ssh ports: 9100/tcp 8443/tcp 9283/tcp 3000/tcp 9092/tcp 9093/tcp 9094/tcp 9094/udp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: [root@mon ~]# telnet 192.168.0.22 9100
인터페이스 카운터에 오류가 없는지 확인합니다. 노드 간 네트워크 연결에 예상되는 대기 시간이 있는지와 패킷 손실이 없는지 확인합니다.
ethtool
명령 사용:구문
ethtool -S INTERFACE
예제
[root@mon ~]# ethtool -S enp22s0f0 | 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@mon ~]# ifconfig enp22s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.8.222.13 netmask 255.255.254.0 broadcast 10.8.223.255 inet6 2620:52:0:8de:42f2:e9ff:feb8:a048 prefixlen 64 scopeid 0x0<global> inet6 fe80::42f2:e9ff:feb8:a048 prefixlen 64 scopeid 0x20<link> ether 40:f2:e9:b8:a0:48 txqueuelen 1000 (Ethernet) RX packets 4219130 bytes 2704255777 (2.5 GiB) RX errors 0 dropped 0 overruns 0 frame 0 1 TX packets 1418329 bytes 738664259 (704.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 2 device interrupt 16
netstat
명령 사용:예제
[root@mon ~]# netstat -ai Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg docker0 1500 0 0 0 0 0 0 0 0 BMU eno2 1500 0 0 0 0 0 0 0 0 BMU eno3 1500 0 0 0 0 0 0 0 0 BMU eno4 1500 0 0 0 0 0 0 0 0 BMU enp0s20u13u5 1500 253277 0 0 0 0 0 0 0 BMRU enp22s0f0 9000 234160 0 0 0 432326 0 0 0 BMRU 1 lo 65536 10366 0 0 0 10366 0 0 0 LRU
성능 문제의 경우 대기 시간 확인 외에 스토리지 클러스터의 모든 노드 간 네트워크 대역폭을 확인하려면
iperf3
툴을 사용합니다.iperf3
툴은 서버와 클라이언트 간에 간단한 지점 간 네트워크 대역폭 테스트를 수행합니다.대역폭을 확인할 Red Hat Ceph Storage 노드에
iperf3
패키지를 설치합니다.Red Hat Enterprise Linux 7
[root@mon ~]# yum install iperf3
Red Hat Enterprise Linux 8
[root@mon ~]# dnf install iperf3
Red Hat Ceph Storage 노드에서
iperf3
서버를 시작합니다.예제
[root@mon ~]# iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
참고기본 포트는 5201이지만
-P
명령 인수를 사용하여 설정할 수 있습니다.다른 Red Hat Ceph Storage 노드에서
iperf3
클라이언트를 시작합니다.예제
[root@osd ~]# 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/초와 테스트 중에
재전송(Retr
)이 없음을 보여줍니다.Red Hat은 스토리지 클러스터에 있는 모든 노드 간의 네트워크 대역폭을 검증하는 것이 좋습니다.
모든 노드의 네트워크 연결 속도가 동일한지 확인합니다. 연결 속도가 느려지면 연결된 노드가 더 느려질 수 있습니다. 또한 스위치 링크가 연결된 노드의 집계 대역폭을 처리할 수 있는지 확인합니다.
구문
ethtool INTERFACE
예제
[root@mon ~]# ethtool enp22s0f0 Settings for enp22s0f0: 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
추가 리소스
- 자세한 내용은 고객 포털의 기본 네트워크 문제 해결 솔루션을 참조하십시오.
- Red Hat Ceph Storage 구성 가이드의 MTU 값 확인 및 구성 섹션을 참조하십시오.
- Red Hat Ceph Storage 설치 가이드의 방화벽 구성 섹션을 참조하십시오.
- 자세한 내용은 "ethtool" 명령이란 무엇이며 이를 사용하여 네트워크 장치와 인터페이스에 대한 정보를 얻을 수 있는 방법을 참조하십시오.
- 자세한 내용은 고객 포털에서 RHEL 네트워크 인터페이스 삭제 패킷 솔루션을 참조하십시오.
- 자세한 내용은 고객 포털에서 Red Hat Ceph Storage에 사용할 수 있는 성능 벤치마킹 툴이란 무엇입니까? 솔루션을 참조하십시오.
- Red Hat Enterprise Linux 7용 네트워킹 가이드.
- 자세한 내용은 고객 포털의 네트워킹 문제 해결 과 관련된 기술 자료 문서 및 솔루션을 참조하십시오.