コンテナを起動すると、いくつかエラーが発生します。
[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
いくつかのアクションスクリプト実行する。しかし、実際のコードより複雑なようです。私が読んだところによると、
- コンテナ内で実行されているディストリビューションを、それが作成されたテンプレートの名前から判別します。
- コンテナのファイルシステムをマウントし、premount および mount アクション スクリプトをトリガーします。
- 仮想環境を作成し、そのリソース(ネットワークとリソース制限)を設定します。そのためには、いくつかのスクリプトを実行するコンテナー内で実行されているディストリビューションに固有のもの — を参照してください
/etc/vz/dists/*.conf
。 - 事前起動スクリプトと起動スクリプトを実行します。
- initを実行するコンテナー内 (
/sbin/init
、、/etc/init
または のいずれか/bin/init
)。
エラーは手順 3 で発生したと思います。実際に実行されるスクリプトの詳細については、 を試してくださいvzctl --verbose --verbose start 1011
。それでも情報が不十分な場合は、 を試してくださいstrace -f -e file vzctl start 1011
。