ネイティブSATAドライブをESXi上のゲストにどのようにパススルーしますか?


9

Intel Core i7 930プロセッサを搭載したIntel DX58S0 MothboardboardでESXi 4.0を実行しています。VT-dも有効です。

システムに3つのドライブがあります。ドライブ0はESXiに使用されます。ドライブ1と2には古いマシンのデータが含まれており、構成の[ストレージアダプター]セクションに表示されます。

ゲストマシンがこれらのドライブ上のデータにアクセスできるようにします(可能な限り自然に)。マザーボードの内蔵SATAコントローラ(Intel / Marvell 88SE6121)のパススルーを有効にしました。このコントローラーはゲストOSに表示されますが、ゲストには通常の仮想ドライブ以外のドライブは表示されません。LinuxゲストとWindows7を試しました。また、SATAコントローラーのIDE / RAID / ACHIモードを試すようにホストマシンを構成しました。

これらのドライブの生データを取得するようにゲストの1人を構成する方法はありますか?


2
VMWare HCLのシステム/コンポーネント、具体的にはVT-d互換性をリストしていますか?
Chopper3

VT-dは、SATAホストアダプター全体を通過するつもりがない限り、SATAドライブにも関係がありますか?
rackandboneman 2012

回答:


9

故障したサーバーの一部のドライブで同様の問題がありました。このページで答えを見つけました。http://www.vm-help.com/esx40i/SATA_RDMs.php

それはコントローラーのパススルーや私が考えた他のトリックよりもはるかに簡単ですが、サービスコンソールを使用できる必要があります(google esxi unsupported mode ssh)

概要:

手順1)fdisk -lデバイス名を見つける

ステップ2)ls /dev/disks -lVML識別子を見つける

ステップ3) vmkfstools -r VMLid aVMDKName.vmdk

手順4)をaVMDKName.VMDK仮想マシンに追加します。

例えば: vmkfstools -r /vmfs/devices/disks/naa.5000c5003010054f /vmfs/volumes/hdd/lanparty.vmdk

期待していたように(ネットワーク経由で500GBをコピーせずにP2Vで)ディスクを起動できませんでしたが、別の仮想マシンに接続してデータを取得することができました。


あなたされる/vmfs/volumes/hdd既存のディスクに関連する既存のデータストアまたは新しいデータストアは、新しいディスク用に作成する必要がありますか?
ゴリマー

1

別の解決策は、以下を実行することです。

手順1)リモートテクニカルサポート(SSH)が有効になっていて実行中であることを確認します。ステップ2)ホストへのSSHステップ3)fdisk -l | grep -B4「有効なパーティションテーブルが含まれていません」

注:これにより、新しくプロビジョニングされたSAN LUNなど、まだパーティションがない物理ディスクがすべて表示されます。次のようになります。

ディスク/dev/disks/naa.60060e801004eb90052fab6900000000:42.9 GB、42949672960バイト255ヘッド、63セクター/トラック、5221シリンダーユニット= 16065シリンダー* 512 = 8225280バイト

ディスク/dev/disks/naa.60060e801004eb90052fab6900000000には有効なパーティションテーブルが含まれていません

ディスク/dev/disks/naa.60060e801004eb90052fab6900000001:1:42.9 GB、42949672960バイト255ヘッド、63セクター/トラック、5221シリンダーユニット= 16065シリンダー* 512 = 8225280バイト

ディスク/dev/disks/naa.60060e801004eb90052fab6900000001には有効なパーティションテーブルが含まれていません

ディスク/dev/disks/naa.60060e801004eb90052fab6900000002:42.9 GB、42949672960バイト255ヘッド、63セクター/トラック、5221シリンダーユニット= 16065シリンダー* 512 = 8225280バイト

ディスク/dev/disks/naa.60060e801004eb90052fab6900000002には有効なパーティションテーブルが含まれていません

このコマンドでデバイスが表示されない場合は、おそらく前のポスターと同様に、VCの[Raw Device Mappings]ラジオボタンがグレー表示されている理由は、 LUNにはパーティションがありません。

ステップ4)新しいパーティション「fdisk /dev/disks/naa.60060e801004eb90052fab6900000000 "を作成します。注:ここでは独自のデバイス名を使用する必要があります。ステップ5)fdiskに慣れていない場合は、次のようにできます。

a)既存のパーティションを印刷するには、「p」。何も表示されない場合は、おそらく安全です。

b)「n」で新しいパーティションを作成します。

c)プライマリの「p」

d)パーティション1の場合は「1」

e)デフォルトの開始セクターを選択する

f)デフォルトの最終セクターを選択する

g)書く「w」

h)終了する「q」

ステップ6)これで、VirtualCenterでrawディスクを割り当てることができるはずです。


0

最後の答えは真実ですが、これらのようにコマンドにいくつかの変更があります

  1. fdisk -l デバイス名を見つける
  2. ls /dev/disks -l VML識別子を見つける
  3. vmkfstools VMDKName-withFullPath.vmdk(ie /vmfs/volumes/disk2/somename.vmdk)-a adaptertype -z /vmfs/devices/disks/vml.0200000000600508b1001037383941424344450d004c4f47494341
  4. VMDKName-withFullPath.vmdkを仮想マシンに追加します。

:ステップ3 -rでは、の代わりにスイッチを使用できます-z。これらのスイッチは、ディスクコントローラーによって異なります。別の重要な問題は、このソリューションがディスクへのrawアクセス用であることです。物理的な方法でパーティションにアクセスするには、おそらく-rスイッチを使用する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.