CentOS vps의 빈 커널 프로세스: 2개의 다른 서버

CentOS vps의 빈 커널 프로세스: 2개의 다른 서버

제가 질문하는 것이 옳은 것인지 잘 모르겠습니다. 아니면 잘못된 것을 보고 있는 것일 수도 있습니다. 하나의 CentOS Vps(OpenVZ 시스템)에서 다른 CentOS VPS(VMWare 시스템)로 마이그레이션하려고 합니다.

  • VPS #1 = CentOS 버전 6.5(최종) - Linux 버전 2.6.32-042stab061.2(gcc 버전 4.4.6 20120305(Red Hat 4.4.6-4)
  • VPS #2 = CentOS 버전 6.5(최종) Linux 버전 2.6.32-431.29.2.el6.x86_64(gcc 버전 4.4.7 20120313(Red Hat 4.4.7-4)

기본적으로 동일한 설정인 LAMP가 YUM을 통해 최신 버전으로 업데이트되었습니다. 그러나 VPS #1에는 프로세스가 많지 않고 설정에서 예상되는 표준만 있습니다.

VPS #2에는 더 많은 프로세스가 있는데 그 이유를 잘 모르겠습니다. 물론, "빈" 프로세스(0% CPU, 0% 메모리)인 것처럼 보이지만 왜 거기에 있습니까?

하나의 VPS는 OpenVZ에 있고 다른 하나는 VMWare에 있기 때문이 아닌 것 같습니다. 아니면 그렇습니까?

가상 사설 서버 #1

가상 사설 서버 1

가상 사설 서버 #2

가상 사설 서버 2A 가상사설서버 2B

질문

  • 누군가 이 두 시스템 간에 이러한 차이점이 존재하는 이유를 설명해 줄 수 있습니까?
  • 한 시스템에 다른 시스템보다 더 많은 프로세스가 있는 이유는 무엇입니까?

답변1

OpenVZ에서는 누락된 프로세스가 정상입니다. OpenVZ는 VMWare나 VirtualBox와 같은 진정한 가상화 기술이 아닌 컨테이너 기술입니다. VMWare에는 호스트 시스템의 커널에 통합되는 하이퍼바이저라는 기술이 있습니다.

OpenVZ 시스템에서 게스트 시스템은 동일한 Linux 커널을 공유합니다. 따라서 실제로는 각 게스트마다 하나씩 실행되는 것이 아니라 단 하나의 Linux 커널만 실행됩니다.

내 OpenVZ 게스트 중 하나의 출력은 다음과 같습니다.

$ ps -eaf
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Mar09 ?        00:00:18 init [3]      
root      7699 22497  1 14:05 ?        00:00:00 sshd: root@pts/0 
root      7769  7699  2 14:05 pts/0    00:00:00 -bash
root      7794  7769  0 14:05 pts/0    00:00:00 ps -eaf
apache   12221 25901  1 10:41 ?        00:02:33 /usr/sbin/httpd
apache   13386 25901  1 Sep17 ?        00:14:23 /usr/sbin/httpd
apache   14030 25901  1 07:22 ?        00:05:37 /usr/sbin/httpd
apache   14038 25901  1 07:22 ?        00:05:36 /usr/sbin/httpd
root     21967     1  0 Mar09 ?        00:00:00 /sbin/udevd -d
rpc      22317     1  0 Mar09 ?        00:00:22 portmap
rpcuser  22349     1  0 Mar09 ?        00:00:00 rpc.statd
root     22419     1  0 Mar09 ?        00:00:01 /sbin/rsyslogd -i /var/run/rsyslogd.pid -m 0
root     22435     1  0 Mar09 ?        00:00:49 ypbind
root     22457     1  0 Mar09 ?        00:15:42 automount
root     22485     1  0 Mar09 ?        00:13:33 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a
root     22497     1  0 Mar09 ?        00:00:00 /usr/sbin/sshd
root     22508     1  0 Mar09 ?        00:00:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
root     22526     1  0 Mar09 ?        00:00:23 sendmail: accepting connections
smmsp    23558     1  0 Mar09 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root     23577     1  0 Mar09 ?        00:00:03 crond
root     23585     1  0 Mar09 ?        00:00:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root     23586 23585  0 Mar09 ?        00:00:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root     23594     1  0 Mar09 ?        00:00:07 /usr/sbin/uptimed
apache   24238 25901  1 04:34 ?        00:07:22 /usr/sbin/httpd
root     25901     1  0 Sep16 ?        00:00:00 /usr/sbin/httpd

OpenVZ 프로젝트 웹 사이트는 컨테이너 가상화 기술과 가상 머신 기술의 차이점에 대한 좋은 개요를 제공합니다.

"빈" 프로세스 제거

이는 빈 프로세스가 아닙니다. 가상 머신 환경에서는 하드웨어 계층에서 가상화하므로 게스트 운영 체제는 베어메탈에서 실행되는 경우보다 더 많은 핵심 프로세스를 제공해야 합니다.

OpenVZ/Docker/LXC와 같은 컨테이너 기술을 사용하면 프로세스 수준에서 가상화하므로 의무 사항이 다릅니다. 모든 컨테이너는 단일 Linux 커널을 공유함으로써 이점을 얻을 수 있습니다.

관련 정보