1

私は、salt-stack と pyvmomi モジュールを使用して vCenter と通信し、VM を作成します。この新しく作成された VM で、vcenter Datastore からファイル (約 1 GB) をコピーしたいと考えています。InitiateFileTransferToGuest を使用してファイルを VM にアップロードできますが、データストアから vm にファイルをコピーするにはどうすればよいでしょうか?

4

2 に答える 2

0

私が考えることができる最もハックな方法は次のとおりです。

  1. 1GB のファイルを .iso {MagicIso または Linux の組み込みツールを使用} として保存します。
  2. ファイルをデータストアに配置します。
  3. ここで、vm を作成するときに、空の文字列ではなくファイル データを指すように cdrom を設定する必要があります。
  4. vmx ファイルを編集するか、それ自体を作成するときに vmx オプションを指定できます。
  ide1:0.deviceType = "cdrom-image"
    ide1:0.fileName = "/vmfs/volumes/5034a864-xxxxxx/data.iso"
    ide1:0.present = "TRUE"
  1. ゲストの電源を入れた後、ゲストによっては、ディスクにコピーするバッチ/シェルを追加できます。
  2. 必要に応じて、Invoke-VMScript powercli コマンドレットを使用して操作 5 を実行できます。

乾杯、zXi

于 2016-10-10T12:39:08.150 に答える
0

rsync の実行について

  • ESXi ホスト: SSH を有効にする
  • SSHキーについてのある程度の理解

これが 1 回限りのファイル転送である場合は、おそらく最初のステップを省略できます。

vCentre の公開 SSH キーをセットアップします。ssh-keygen は ssh-keygen にあり、次の場所に/usr/lib/vmware/openssh/bin 2 つのファイルが生成され~/.sshます。id_rsaid_rsa.pub

ssh-keygen -f ~/.ssh/id_rsa -q -P ""

リモート ホストで、パブリック キーを保存します。ESXi 5 以前を使用している場合id_rsa.pubは、~/.ssh/authorized_keys. ESXi 5.5 以降を使用している場合は、公開鍵が別の場所にあるためid_rsa.pub/etc/ssh/keys-<username>/authorized_keys

注意として、このファイルには複数のキーを保存できます。

root アクセスを許可するには、ファイル内を に変更PermitRootLogin noします。パスワード ログインを無効にするには、とが に設定されていることを確認します。PermitRootLogin yes/etc/ssh/sshd_configChallengeResponseAuthenticationPasswordAuthenticationno

SSHサービスの再起動 ESXi - /etc/init.d/SSH restart ESX -service sshd reload

認証がソートされたので、暗号化されたチャネルを介して宛先にファイルをコピーできます。ssh キーがどのように機能するかを理解すると、リモート実行タスクがはるかに簡単になり、展開と管理が合理化されます。

Rsync rsync の基本的な構文は次のとおりです。 rsync オプション ソース 宛先

SSH経由の再同期

いくつかのオプション - ローカルとしての VM

SSH を使用してリモート サーバー (ESXi) からローカル サーバー (VM) にファイルをコピーする

rsync -avzhe ssh root@[vcentreIP]:/source_dir_to_copy/ /dest_dir_location/

SSH を使用してローカル サーバー (VM) からリモート サーバー (ESXi) にファイルをコピーする

rsync -avzhe ssh /source_dest_to_copy/ root@[vcentreIP]:/dest_dir_location/

いくつかのオプション - ESXi をローカルとして - ESXi にはデフォルトで rsync がインストールされていません。

SSH を使用してリモート サーバー (VM) からローカル サーバー (ESXi) にファイルをコピーする

rsync -avzhe ssh root@[VMIP]:/source_dir_to_copy/ /dest_dir_location/

SSH を使用してローカル サーバー (ESXi) からリモート サーバー (VM) にファイルをコピーする

rsync -avzhe ssh /source_dest_to_copy/ root@[VMIP]:/dest_dir_location/

別の方法がおそらくあなたのためのオプションです。

上記と同じロジックと方法を使用します。2 台のマシン間で一連のキーを生成し、エージェントを使用して rsync コマンドを開始できます。

SSH を使用して VM から ESXi にファイルをコピーする

rsync -avzhe ssh root@[VMIP]:/source_dir_to_copy/ root@[vCentreIP]:/dest_dir_location/

SSH を使用して ESXi から VM にファイルをコピーする

rsync -avzhe ssh root@[vcentreIP]:/source_dir_to_copy/ root@[VMIP]:/dest_dir_location/

于 2016-12-05T22:04:00.127 に答える