OpenVZ 컨테이너의 시작 스크립트/파일은 어디에 있나요?

OpenVZ 컨테이너의 시작 스크립트/파일은 어디에 있나요?

컨테이너를 시작했는데 몇 가지 오류가 발생했습니다.

[xxx@centosbuilder1 etc]$ sudo vzctl start 1011
Starting container...
Container is mounted
Adding IP address(es): 10.0.64.23
cp: cannot stat '/etc/conf.d/netcfg': No such file or directory
/bin/bash: line 593: /etc/conf.d/netcfg: No such file or directory
/bin/bash: line 594: /etc/conf.d/netcfg: No such file or directory
A unit file for profile 'venet0' already exists
Setting CPU units: 1000

디렉토리를 생성하고 (게스트에서) netcfg를 터치하면 오류가 사라집니다.

차라리 실제 문제를 해결하고 싶습니다. 어떤 파일이 실행되고 있나요? 593행을 찾아서 조사하고 싶습니다.

답변1

문서에 따르면 vzctl start여러 가지 트리거가 발생합니다.액션 스크립트달리다. 그러나, 그실제 코드더 복잡한 것 같습니다. 내가 읽어본 결과:

  1. 생성된 템플릿의 이름에서 컨테이너에서 실행 중인 배포판을 확인합니다.
  2. 컨테이너의 파일 시스템을 마운트하고 사전 마운트 및 마운트 작업 스크립트를 트리거합니다.
  3. 가상 환경을 생성하고 해당 리소스(네트워킹 및 리소스 제한)를 설정합니다. 그러기 위해서는,일부 스크립트를 실행합니다컨테이너에서 실행되는 배포판에만 해당됩니다 /etc/vz/dists/*.conf. 을 참조하세요.
  4. 사전시작 및 시작 스크립트를 실행하십시오.
  5. 초기화 실행컨테이너( /sbin/init, /etc/init또는 중 하나 /bin/init)에 있습니다.

귀하의 오류는 3단계에서 발생한 것 같습니다. 실제로 실행되는 스크립트에 대한 자세한 내용을 보려면 를 시도하십시오 vzctl --verbose --verbose start 1011. 그래도 정보가 충분하지 않다면 시도해 볼 수 있습니다 strace -f -e file vzctl start 1011.

관련 정보