PowerFlex 기존 클러스터에 노드를 추가하면 네트워크가 불안정해질 수 있음
Summary: 새 노드가 기존 클러스터에 추가되고 연결이 자주 끊깁니다.
Symptoms
시나리오
네트워크에 새 노드를 추가할 때 광범위한 연결 문제가 관찰될 수 있습니다. 연결 문제는 PowerFlex 외부에서도 나타날 수 있습니다.
조짐
다양한 증상이 있으며 각 부위에는 다음 중 하나 이상이 있을 수 있습니다.
고객이 한 호스트에서는 특정 IP 주소를 ping하지 못할 수 있지만 다른 호스트에서는 ping을 수행할 수 있습니다.
고객이 다양한 네트워크 디바이스(예: 스위치)에 SSH를 연결하지 못할 수 있습니다.
서버가 rsyslog와 같은 외부 서비스에 연결하지 못할 수 있습니다.
SDC에서 보고한 소켓 할당 오류 및 연결 끊김이 있을 수 있습니다.
2022-03-28 15:55:14.310000:4507407:NEW_SDC_CONNECTED WARNING New SDC connected. ID: c39eb4b2000000ca; IP: 192.168.192.239,192.168.176.239,192.168.168.239,192.168.184.239; GUID: 23D8FFD8-E3E3-4A68-9459-D6AFCB1480DF ... 2022-03-28 15:55:17.439000:4507422:OSCILLATION_COUNTER_PASSED_THRESHOLD WARNING SDC (Name: , ID: c39eb4b2000000ca) reports frequently exceeded socket allocation failures. Short window threshold (300 socket allocation failures in 60 seconds). 2022-03-28 15:55:17.439000:4507423:OSCILLATION_COUNTER_PASSED_THRESHOLD WARNING SDC (Name: , ID: c39eb4b2000000ca) reports frequently exceeded socket allocation failures. Medium window threshold (500 socket allocation failures in 3600 seconds). ... 2022-03-28 16:19:29.708000:4507849:SDC_DISCONNECTED WARNING SDC disconnected. ID: c39eb4b2000000ca; GUID: 23D8FFD8-E3E3-4A68-9459-D6AFCB1480DF
연결 상태 경고와 함께 SDS 분리 이벤트가 있을 수 있습니다.
2022-03-28 15:55:28.223000:4507431:SDS_DECOUPLED ERROR SDS: Sds-pdc1lfisnxbsn01.fnfis.com (id: b0abeb1300000000) decoupled. 2022-03-28 15:55:34.488000:4507433:CMATRIX_POLICY_BECAME_WORSE WARNING The inter-SDS connectivity health for Protection Domain ID: 7a1f601000000000 has changed from HEALTHY to REBUILD_ALLOWED
새 시스템을 끌 때 안정성이 복원되었습니다.
영향
동작이 심한 경우 DU가 발생할 수 있습니다. 성공적인 재구축이 있는 SDS 분리가 더 일반적입니다.
Cause
추가 노드가 서버에 구성된 최대 ARP 항목 수를 초과했습니다.
현재 ARP 설정을 확인하려면 다음 명령을 실행합니다.
sysctl -a | grep "net.ipv4.neigh.default.gc_thresh" net.ipv4.neigh.default.gc_thresh1 = 128 net.ipv4.neigh.default.gc_thresh2 = 512 net.ipv4.neigh.default.gc_thresh3 = 1024
이 정보는 로그 번들에도 sysctl.txt.
$ grep "net.ipv4.neigh.default.gc_thresh" /path/to/server_directory/sysctl.txt net.ipv4.neigh.default.gc_thresh1 = 128 net.ipv4.neigh.default.gc_thresh2 = 512 net.ipv4.neigh.default.gc_thresh3 = 1024
현재 사용 중인 ARP 항목 수를 확인하려면 다음 명령을 실행합니다.
ARP 항목 수가 gc_thresh2 임계값에 가깝거나 높으면 이 문제가 발생할 수 있습니다.
arp –a | grep ether | wc –l
이 정보는 로그 번들에도 arp_av.txt.
$ grep "ether" /path/to/server_directory/arp_av.txt | wc -l 565
Resolution
해결 방법
ARP 임계값을 높입니다.
- PxFM 버전 3.7.1 이상에서는 설정이 자동으로 업데이트됩니다(이 변경 사항은 V4.0+에서 2,000개의 SDC를 지원하도록 구현됨).
- 아래 설정은 PowerFlex 3.6 이상에서 테스트 및 지원됩니다.
- 일관성을 위해 모든 MDM, SDS 및 SDC에 아래와 같은 변경 사항을 적용해야 합니다.
sysctl.conf에서 임계값을 업데이트합니다.
file="/etc/sysctl.conf"
cp "$file" "$file".backup
if grep -q "net.ipv4.neigh.default.gc_thresh" "$file"; then
sed -i 's/net.ipv4.neigh.default.gc_thresh1 = [0-9]\+/net.ipv4.neigh.default.gc_thresh1 = 8192/' "$file"
sed -i 's/net.ipv4.neigh.default.gc_thresh2 = [0-9]\+/net.ipv4.neigh.default.gc_thresh2 = 16384/' "$file"
sed -i 's/net.ipv4.neigh.default.gc_thresh3 = [0-9]\+/net.ipv4.neigh.default.gc_thresh3 = 32768/' "$file"
sysctl -p
else
echo -e "net.ipv4.neigh.default.gc_thresh1 = 8192 \nnet.ipv4.neigh.default.gc_thresh2 = 16384 \nnet.ipv4.neigh.default.gc_thresh3 = 32768" >> "$file"
sysctl -p
fi
스크립트가 수행하는 작업은 다음과 같습니다.
sysctl.conf (을)를 file 변수내의 파일명으로 정의합니다.
변경하기 전에 sysctl.conf를 복사합니다.
grep -q를 사용하여 "net.ipv4.neigh.default.gc_thresh"가 포함된 줄이 파일에 있는지 확인합니다. -q 플래그는 grep을 조용하게 만들고 성공 또는 실패 종료 상태만 리턴합니다.
grep 하지만 성공했을 경우(즉, 행이 존재하는 경우), sed (을)를 사용해, thresh[1|2|3] (으)로 갱신해, 파일 내의 8192, 16384, 32768 (으)로 갱신해, sysctl -p (을)를 실행해, sysctl.conf (을)를 실시합니다.
grep이 성공하지 못하면(즉, 행이 존재하지 않는 경우) "... 쓰레쉬1 = 8192", "... thresh2 = 16384", 그리고 "... thresh3 = 32768"을 추가하고, sysctl -p를 실행해 sysctl.conf의 변경 사항을 적용합니다.
영향을 받는 버전
해당 없음 - PowerFlex와 관련된 문제가 아닙니다.
고정 버전
해당 사항 없음
PxFM 고객의 경우 해결 방법 섹션에서 위의 설명을 참조하십시오.