Windows ディスクを VMware VMDK ファイルと一致させる方法

Windows ディスクと VMware 仮想ディスクを一致させる方法

VMのディスクサイズを管理したり、ディスクを削除したりするのは本当に面倒な作業です。特に、同一のVMDKファイルが複数存在したり、SCSIコントローラが複数存在したりする場合はなおさらです。時に、どの仮想ディスクがVM内のWindowsディスクに実際に対応しているのか、という大きな疑問に直面することもあります。ディスクのサイズが異なる場合は簡単に特定できますが、同じサイズのVMDKファイルが大量に存在したり、SCSIコントローラが複数存在したりすると、完全に推測するしかありません。だからこそ、WindowsディスクとVMwareの対応するディスクを一致させることが重要です。そうすることで、ディスクの拡張や縮小時に間違ったディスクを間違えてしまうのを防ぐことができます。これを正しく行うことで、時間と手間を大幅に節約できます。ここでは、一般的な方法を用いて、VMware内のどの仮想ディスクがWindowsのどのディスクに対応しているのかを正確に把握する方法を説明します。目標は、UUIDまたはシリアル番号に基づいて一致させることです。UUIDまたはシリアル番号は一意であり、何が何であるかを正確に確認するのに役立ちます。—

Windows および VMware で SCSI デバイス番号を取得する方法

まず、ディスクが SCSI コントローラによって接続されているだけの場合は、Windows でデバイス ポートを識別できます。Windowsdiskmgmt.mscでディスクの管理コンソール ( ) を開きます。私のセットアップの 1 つでは、SCSI コントローラ情報が直接表示されません (Windows はディスクのみを表示し、コントローラ ID は表示しない)。そのため、状況がおかしくなります。詳細を確認するには、ディスクを右クリックし、[プロパティ]を選択して、[全般]タブの[場所]フィールドを確認します。通常は次のようなものが表示されます。 – 場所: 160 (SCSI コントローラ 0 のポート) – ターゲット ID: 1 (実際の SCSI ID) これらを組み合わせると、SCSI(0:1)のような表記になります。これが SCSI バス 0、ターゲット 1 で、VMware 仮想ディスクと一致するはずです。次に、VMware 経由で検証するには、vSphere または vSphere Client で VM の設定を開きます。Windows で見つけたのと同じSCSI(0:1)指定を持つディスクを見つけます。通常、SCSIコントローラの番号はVMwareとWindowsで異なります。そのため、例えば「SCSI (0:1)」というラベルの付いたディスクがWindowsで識別したデバイスと一致するかどうか、クリックして確認するのが最善の方法です。複数のSCSIコントローラ(VMwareでは最大4つ)を設定している場合、正しいコントローラを手動で識別するのは非常に複雑になります。また、環境によってSCSIコントローラIDが異なる場合があるため、最初から完全に一致しなくても心配しないでください。 —

PowerShell を使用して UUID/シリアル番号で Windows ディスクと VMware VMDK を一致させる方法

これはより「確実な」方法ですが、VMwareでEnableUUID=TRUEが設定されている必要があります。VMの設定で設定を有効にしてください。そうすることで、ゲストOSのWindowsはディスクに割り当てられたUUIDを認識できるようになります。一部の設定ではこれがデフォルトで有効になっていないため、状況が複雑になりますが、有効になっている場合はUUIDによるディスクのマッチングがはるかに簡単になります。PowerShellが必要になり、おそらくWindowsとVMwareのPowerCLIの両方で実行して、両方から情報を取得します。まずはWindowsでディスク情報を収集します。古いバージョンのWindowsにはストレージモジュールが搭載されていない可能性があるため、WMIが代替手段として有効です。シリアル番号、SCSI コントローラー情報、ディスク容量を取得するための一般的なコマンドを次に示します。 powershell $DiskInfo = foreach ($disk in Get-WmiObject Win32_DiskDrive) { [pscustomobject]@{ DeviceID = $disk. DeviceID Caption = $disk. Caption CapacityGB = [math]::Round($disk. Size / 1GB, 0) SerialNumber = $disk. SerialNumber SCSIControllerNum = $disk.scsiport SCSIDeviceNum = $disk.scsitargetid } } $DiskInfo | Format-Table これは、ディスクのシリアル番号とコントローラー情報をダンプします。便利ですよね? 私の経験では、シリアル番号は 16 進数の文字列のように見えることがよくあります。特にディスクが仮想で SerialNumber が明示的に設定されていない場合は、簡単ではない場合がありますが、試してみる価値はあります。 VMware側の情報を取得するには、PowerCLI経由でvCenterまたはESXiホストに接続します。VMDKの詳細を取得するサンプルスニペットを以下に示します。powershell Import-Module VMware. VimAutomation. Core connect-viserver your-vcenter-server $vmName = “YourVMName” $vmHardDisks = Get-VM -Name $vmName | Get-HardDisk $virtualDiskManager = Get-View -Id VirtualDiskManager-virtualDiskManager $disks = foreach ($disk in $vmHardDisks) { $uuid = ($disk. ExtensionData. Backing. Uuid | ForEach-Object { $_. Replace(‘ ‘, ”).Replace(‘-‘, ”) }) [PSCustomObject]@{ Path = $disk. Filename Name = $disk. Name SizeGB = $disk. CapacityGB UUID = $uuid } } $disks | Format-Table ここでの考え方は、各VMDKのUUIDとファイル名/パスを収集することです。その後、これらのUUIDをWindowsディスクのシリアル番号と照合できます。VMware環境が正しく構成されていれば、UUIDはWindowsディスクのシリアル番号と一致するはずです。もう1つの方法(より高度な方法を試したい場合)は、PowerShellを使ってネットワーク経由でVM内のゲストOSに接続することです。リモート接続し、Windows内のディスク情報を取得し、シリアル番号またはUUIDで照合するスクリプトがあります。こうすることで、Windows内でどのディスクがどのディスクであるかを、手動で推測することなく確認できます。Windowsのディスク情報をリモートで取得する方法を示す簡単なコードを以下に示します。powershell # ゲストVMに管理者権限があり、WinRMが適切に設定されていることを確認してください。Invoke-Command -ComputerName “YourVM” -ScriptBlock { Get-WmiObject Win32_DiskDrive | Select-Object DeviceID, SerialNumber, Model } これが実行できれば、ディスクを照合する最も明確な方法になります。特に複数のディスクが外見上は同じように見える場合。—

まとめ

仮想ディスクとWindowsディスクのマッチングは、一見すると直感的とは言えませんが、PowerShellのちょっとした魔法と忍耐力があれば、ずっと簡単になります。VMディスクでUUIDを有効にし、シリアル番号とUUID情報を適切に収集すれば、ディスクのマッチングは驚くほど簡単になります。通常は、試行錯誤を繰り返し、SCSI IDまたはUUIDを相互参照することで、ようやくすべてがうまくいくようになります。ただし、仮想環境の設定は複雑になる場合があり、環境によっては情報が隠されていたり、UUIDが正しく表示されなかったりする場合があることに注意してください。しかし、これらのツールを使えば、少なくとも推測作業の大部分は省くことができます。—

まとめ

  • Windows 内でディスク管理を使用して SCSI デバイス番号を取得する
  • これらの番号をVMware VM SCSIコントローラIDと一致させます
  • VMwareでUUIDを有効にしてマッチングを改善する
  • VM の内部と外部の両方で PowerShell スクリプトを使用して、UUID とシリアル番号を比較します。
  • 必要に応じてVMにリモート接続してディスク情報を取得します

まとめ

このアプローチによって、ディスク管理の負担が軽減されることを願っています。最初は少し面倒ですが、一度すべてが整うと、VMwareディスクの管理がはるかにスムーズになります。これで1つのVMのディスクのマッチングが解決できれば、苦労した甲斐があったと言えるでしょう。これで、誰かの「どれがどれだっけ?」という混乱を回避できるといいですね。