最小限の構成でクラウドのようなVMを作成する

最小限の構成でクラウドのようなVMを作成する

の上アマゾンEC2または他の クラウド/IaaS サービス、インストールをほとんど必要とせずに、簡単に新しいマシンを作成できます。基本的には、RAM/HDD/CPU を選択し、公開 SSH キーを提供するだけで、数秒以内に新しいマシンを入手できます。

VirtualBox (またはその他の仮想化ソフトウェア) を使用して、これをローカルで複製するにはどうすればよいですか? 可能であれば、実際のシステムの変更を最小限に抑えるソリューションを希望します。

答え1

使用できます構築済みの仮想マシン同じ効果を得るには、ベース テンプレートを作成し、カスタマイズして保存します。好みの設定 (フォント、ページ設定など) で空の Office ドキュメントを使用するのと同じように、新しいインスタンスが必要になったときに簡単にコピーしてカスタマイズできる仮想マシン (任意の仮想化テクノロジ) を作成できます。長年にわたり、Linux、Windows、Macintosh のさまざまなバージョンとフレーバーのベース * OS ライブラリを所有しています。

答え2

簡単に作成できますオーバーフローVirtualBox でアプリケーションを作成し、これを複数回インポートします。

  1. 好みに合わせてVMを作成し、好きなソフトウェアをインストールします(たとえば、hトップ)を選択し、必要に応じて設定します(たとえば、パスワードなしのsudoを有効にするではログインを高速化するためにが設定されUseDNS No/etc/ssh/sshd_confではタイムアウトが短くなります/boot/grub/grub.cfg
  2. SSHサーバーをインストールし、SSHキーをアップロードする
  3. Linux では、sudo rm -rf /etc/udev/rules.d/永続的なネットワーク名の関連付けを削除するために実行します (そうしないと、ネットワークを再構成する必要があります)。
  4. マシンをシャットダウンします (マシンのサイズを縮小するために、事前にいくつかのキャッシュを削除しておくことをお勧めします)。
  5. VMをエクスポートするには、GUIの[ファイル] -> [アプライアンスのエクスポート]を使用するか、VBoxManage export VM_NAME -o ./myvm.ova

作成したOVAファイルを好きなだけインポートできるようになりました(ファイル -> インポートアプライアンスまたはVBoxManage importこれを実行するたびに、VirtualBox は新しい VM 名を生成し、基本パラメータ (CPU、RAM サイズ、接続されたディスクなど) を変更できるようになります。

ただし、SSH ポート転送ルールを手動で編集する必要があります。次のスクリプトを使用すると簡単に編集できます。

OVA=vm.ova # Change this to the name of your ova file
VM_NAME=$(VBoxManage import "$OVA" | sed -n 's#.*VM name "\(.*\)".*#\1#p')
sshport=$(python -c 'import random;print(random.randint(1025,65535))')
VBoxManage modifyvm $VM_NAME --natpf1 ssh,tcp,127.0.0.1,$sshport,,22
/bin/echo -e "\nHost vbox-$VM_NAME\n\tHostName localhost\n\tPort $sshport\n" \
          >>~/.ssh/config
echo "Start the VM with    VBoxManage startvm $VM_NAME"
echo "Then, type   ssh vbox-$VM_NAME   to log in to your VM"

これで、マシンにsshで接続できるようになりましたssh vbox-$VM_NAME。マシンを展開する場合は、手動で変更する必要があります。SSHサーバーのキーを変更する

エクスポートとインポートの代わりに、クローン既存のマシン。

関連情報