0

vCenter にデータストアがあり、毎週実行する PowerCLI スクリプトを使用してクローンを作成しようとしています。仮想マシンを複製することはできますが、ディレクトリ構造を完全に制御することはできません。データストアのルートにある、仮想マシンにちなんで名付けられたフォルダーにすべての仮想マシンを投げています。

私の理想的なディレクトリ構造は、ルートがアクティブな仮想マシンにのみ使用されることです。「BACKUPS」フォルダが存在します。そのフォルダー内には、毎週のクローンを保存するために毎週作成されます。今日の例「20111004」。その中には、仮想マシンごとにフォルダーが存在します。

$vm = <name of the virtual machine obtained programmatically>
$date = Get-Date -Format "YYYYMMDD"
$h = <ESXi host where the VM is located, obtained programatically>
$dsName = "DATASTORE1" #<Name of the datastore I'm targeting>
$dirPath = "BACKUPS/" + $date + "/" + $vm

New-VM -Name $vm-$date -VM $vm -VMHost -$h -Datstore $dsName -Location $dirPath

「フル」パスの例
[DATASTORE1] BACKUPS/20111004/VIRTUALMACHINE

これは、機能しないスクリプトの唯一の部分です。PowerShell でこの方法でコマンドを指定すると、 -Location パラメーターが完全に無視され、データストアのルートにクローンがスローされます。どのようにフォーマットされるべきかについての(私が理解している)ドキュメントはまだ見つかりません。VIContainerと何か関係がありますか??

カスタマイズ中のスクリプト ソース:
http://www.mbnbusiness.co.uk/blog/2010/08/updated-powercli-vmware-vm-backup-script-v2-0/

4

3 に答える 3

1

-Locationは、VMファイルを配置するデータストア内のフォルダーではなく、VMが配置されるvCenterフォルダーを定義します。

私の知る限り、VMファイルはデータストアのルートに配置する必要があります。

古いバックアップのアーカイブが簡単になるため、最初にスクリプトを作成したときに同様のことを試みることを検討しましたが、その時点で解決策を見つけることができませんでした。

申し訳ありませんが、これ以上お役に立てません…</ p>

于 2011-10-05T10:37:14.140 に答える
1

バックアップを試みているようですね。VMwareの Data RecoveryVeeam の Backupユーティリティなど、実際のバックアップ製品を検討することを強くお勧めします。

@Mike が言ったように、VM ファイルはデータストアのルートで機能します。複数のデータストアを作成し、それらを循環してバックアップすることもできますが、高性能ディスクを使用している場合、これは非常に高価になる可能性があります。

于 2011-10-05T12:11:23.307 に答える
0

使ってみ$date = Get-Date -Format "YYYYMMDD"ましたが、出力がになってしまいましたYYY01DD

に変更されました$date = Get-Date -uformat "%d%m%Y 、私は今取得します01012012

于 2012-01-10T16:55:16.973 に答える