コンテキストとして、xenゲストを作成するプロセスを簡素化するスクリプトを作成しています。スクリプトはxen-create-image
を使用し、一連のフラグを使用して、できるだけ多くの有用な設定(ディストリビューション、vg、ルートディスクサイズ、IPなど)を設定します。これはすべてDebian10にあります。
特定のパッケージを(プレ)インストールし、新しく作成されたゲストに特定の設定/構成ファイルを設定するために使用できる他のXenツールまたは構成があるかどうかを知りたいです。
すべてのプリインストールされたパッケージを含むイメージファイルを使用してから、新しいLVにdd
を使用することを避け、ホスト名、IPなどを変更する必要があります。
そのようなコマンドや設定はありますか?
編集:明確にするために、私はオープンソースのXen4.11を使用しています
編集2: SSHを検討しましたが、どうやらxen-create-imageがインストールされず、openssh-serverが有効になりません。
私はそれを考え出した。
xen-create-imageには--role
というオプションがあります。これらの役割は、/etc/xen-tools/role.d/
のsh
スクリプトとして定義されており、実行可能である限り、独自の役割を作成できます。
テストのためだけに、私は本当に単純な役割を果たしました。
#!/bin/sh
prefix=$1
installDebianPackage ${prefix} openssh-server
chroot ${prefix} /bin/systemctl enable ssh
chroot ${prefix} /bin/echo 'PermitRootLogin yes' >> ${prefix}/etc/ssh/sshd_config
prefix=$1
は、デフォルトで/tmp/
内のランダムに生成された名前のフォルダーです。ここでは、xen-create-image
がファイルシステムを構築し、パッケージをインストールしてから、論理ボリュームまたはイメージに配置します(またはそう思われます)。
common.sh
は、xen-create-image
がVMの構築に使用する一連の関数を含むスクリプトです。 installDebianPackage
は、私が読む限り、これらの関数の1つであり、これにより、指定されたパッケージがVMにインストールされます。
chroot
で始まる行は、特定の設定が設定されていることを確認したり、構成ファイルに行を追加したりするコマンドである可能性があります。これは、基本的にすべてのコマンドを実行できるため、ロールの強力な機能です。 systemctl start
、systemctl stop
、およびsystemctl restart
はもちろん機能しませんが、systemctl enable
は機能します。
有効にした場合、sshd
は、マシンの起動後、起動時間と、実際に起動する前に50回「ボリュームグループを処理できません」と言った私のマシンを含めて、起動に約5分かかりました。