다음 네트워크 설정으로 다른 OpenVZ 컨테이너를 설정했습니다.
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.10.168 P-t-P:192.168.10.168 Bcast:192.168.10.168 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
잠시 동안은 잘 작동했지만 갑자기 뚜렷한 이유 없이 인터페이스가 구성 해제되었습니다.
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
머신은 imapd를 실행 중이고 /var/log/syslog에서 찾은 마지막 몇 줄은 다음과 같습니다.
Jul 16 11:59:39 mail postfix/cleanup[2802]: fatal: inet_addr_local[getifaddrs]: getifaddrs: Cannot allocate memory
Jul 16 11:59:40 mail postfix/master[1703]: warning: process /usr/lib/postfix/cleanup pid 2802 exit status 1
Jul 16 11:59:40 mail postfix/master[1703]: warning: /usr/lib/postfix/cleanup: bad command startup -- throttling
Jul 16 12:00:01 mail CRON[2805]: System error
사용 가능한 메모리가 충분합니다(약 3GB).
mail:/# uname -a
Linux mail 2.6.32-openvz-042stab081.5-amd64 #1 SMP Mon Sep 30 16:40:27 MSK 2013 i686 GNU/Linux
root@hostmachine:~# vzubc 10168
----------------------------------------------------------------
CT 10168 | HELD Bar% Lim%| MAXH Bar% Lim%| BAR | LIM | FAIL
-------------+---------------+---------------+-----+-----+------
kmemsize|12.4M 90% 88%|13.7M 100% 97%|13.7M|14.1M| -
lockedpages| - - - |2.82M 35% 35%| 8M| 8M| -
privvmpages| 241M 5% 5%| 276M 6% 6%| 4G| 4G| -
shmpages|64.6M 76% 76%|68.4M 81% 81%| 84M| 84M| -
numproc| 101 42% 42%| 126 52% 52%| 240 | 240 | -
physpages| 160M - - | 224M - - | - | - | -
vmguarpages| - - - | - - - | 4G| 4G| -
oomguarpages| 52M 1% 1%|58.9M 1% 1%| 4G| 4G| -
numtcpsock| 43 11% 11%| 61 16% 16%| 360 | 360 | -
numflock| 13 6% 6%| 48 25% 23%| 188 | 206 | -
numpty| 1 6% 6%| 15 93% 93%| 16 | 16 | -
numsiginfo| - - - | 48 18% 18%| 256 | 256 | -
tcpsndbuf| 267K 15% 10%|1.65M 100% 63%|1.64M|2.58M| 27
tcprcvbuf| 209K 12% 7%| 711K 42% 27%|1.64M|2.58M| -
othersockbuf| 495K 45% 24%| 743K 67% 36%|1.07M| 2M| -
dgramrcvbuf| - - - |8.52K 3% 3%| 256K| 256K| -
numothersock| 360 100% 100%| 360 100% 100%| 360 | 360 | 2.35K
dcachesize|3.42M 105% 98%|3.46M 106% 100%|3.25M|3.46M| -
numfile|1.52K 16% 16%|1.77K 19% 19%|9.09K|9.09K| -
numiptent| 20 15% 15%| 20 15% 15%| 128 | 128 | -
swappages| - - - | - - - | - | - | -
----------------------------------------------------------------
호스트는 Debian 7.2이고 게스트는 Debian 8.1입니다.
내가 모르는 잘못된 구성이 있습니까? 누구든지 나를 도와줄 수 있나요? !
답변1
네트워크 장애의 원인을 추측할 수는 없지만, 컨테이너에 할당된 리소스가 부족해 간접적으로 문제가 발생할 수 있는 것 같습니다. vzubc
HN에서 다음과 같은 내용이 실행되는 것을 볼 수 있습니다 .
----------------------------------------------------------------
CT 1078 | HELD Bar% Lim%| MAXH Bar% Lim%| BAR | LIM | FAIL
-------------+---------------+---------------+-----+-----+------
lockedpages| - - - |12.3M 1% 1%| 1G| 1G| -
physpages| 144M - 14%| 274M - 26%| - | 1G| -
vmguarpages| - - - | - - - | 2G| - | -
oomguarpages| 131M 12% - | 132M 13% - | 1G| - | -
swappages|39.6M - 3%|44.3M - 4%| - | 1G| -
----------------------------------------------------------------
CT 1072 | HELD Bar% Lim%| MAXH Bar% Lim%| BAR | LIM | FAIL
-------------+---------------+---------------+-----+-----+------
kmemsize|5.51M 4% 4%|6.37M 5% 5%| 128M| 128M| -
lockedpages| - - - | 580K 56% 56%| 1M| 1M| 2
privvmpages| 582M 14% 14%| 625M 15% 15%| 4G| 4G| 4
shmpages| 256K 0.3% 0.3%| 260K 0.3% 0.3%| 84M| 84M| -
numproc| 68 28% 28%| 84 35% 35%| 240 | 240 | -
physpages|43.7M - - |60.1M - - | - | - | -
vmguarpages| - - - | - - - | 132M| - | -
oomguarpages|4.88M 4% - |5.94M 5% - | 102M| - | -
numtcpsock| 3 0.8% 0.8%| 4 1% 1%| 360 | 360 | -
numflock| 1 0.5% 0.5%| 3 2% 2%| 188 | 206 | -
numpty| - - - | - - - | 16 | 16 | -
numsiginfo| - - - | 9 3% 3%| 256 | 256 | -
tcpsndbuf|51.1K 3% 2%|68.1K 4% 2%|1.64M|2.58M| -
tcprcvbuf| 48K 2% 2%| 64K 3% 2%|1.64M|2.58M| -
othersockbuf|4.52K 0.4% 0.2%|12.8K 1% 0.6%|1.07M| 2M| -
dgramrcvbuf| - - - | - - - | 256K| 256K| -
numothersock| 5 0.7% 0.7%| 8 1% 1%| 720 | 720 | -
dcachesize|3.45M 106% 99%|3.46M 106% 100%|3.25M|3.46M| -
numfile| 153 2% 2%| 260 2% 2%|9.09K|9.09K| -
numiptent| 20 15% 15%| 20 15% 15%| 128 | 128 | -
바라보다/proc/user_beancounters그리고UBC 매개변수 테이블위에 표시된 매개변수의 의미. 여부에 따라 두 가지 유형의 출력이 가능합니다.VSWAP활성화(CT 1078) 또는 활성화되지 않음(CT 1072).
각 테이블에서 주목해야 할 점은 FAIL 카운터입니다. 이는 컨테이너가 과거에 장벽(BAR) 또는 제한(LIM) 값을 초과한 리소스를 요청하려고 시도했지만 해당 리소스 할당에 실패한 횟수를 의미합니다. 따라서 FAIL이 0보다 크고 계속 증가하는 경우 해당 리소스에 더 많은 리소스를 할당해야 합니다.
vzctl
언제든지 BAR 또는 LIM을 늘리거나 줄일 수 있습니다. VSWAP가 있는 컨테이너의 경우 각각 ( physpages
메모리) 또는 swappages
(가상 스왑)을 늘릴 수 있습니다 .--ram
--swap
vzctl set 1078 --save --ram 2G --swap 2G
VSWAP가 없는 컨테이너의 경우 일반적으로 privvmpages
메모리를 늘리고 때로는 다른 리소스를 조정합니다.
vzctl set 1072 --save --privvmpages 5G
FAIL 카운터는 컨테이너가 시작될 때 0으로 재설정됩니다. vzubc -r
마지막 실행 이후 FAIL 카운터의 상대 값을 표시합니다.