目次~
#contents

*概要 [#saddd416]
ESXi5.xにおけるストレージ関連のトラブル対処

**vSphere Clientで内部エラーが発生しました。詳細:入力文字列の形式が正しくありません。 [#yc3085ec]
-原因~
vSphere Client 日本語版のバグ。~

-対処方法~
vSphere Client 英語版、もしくはWeb版を使用する。~

-対処手順~
vSphere Clientは起動時に引数を与えることで英語版として起動することが可能。~
以下のようなバッチファイルを作成し、英語版で使用したい時はバッチから起動すると便利。~
~
 @echo off
 cd /d "C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\"
 VpxClient.exe  -locale en_US


**Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for object "datastorename" on vCenter Server "servername" failed. [#e2c96c67]
-原因~
ストレージ上にパーティションが作成されている場合に発生するエラー。(たの理由ででも出るかも)~

-対処方法~
ESXiに付属するfdiskまたはpartedUtilコマンドにてパーティションを削除する。~

-対処手順(fdisk)~
ESXiのfdiskにてパーティションを削除するには、ESXi上でのディスクの固有IDを把握する必要がある。~
[構成]→[ストレージアダプタ]を開き、ディスクが接続されているストレージアダプタを選択し、詳細の[名前]欄に表示される内容が固有IDとなる。~
~
固有IDを把握できたら、以下のコマンドを実行する。~
~
 # fdisk -u /vmfs/devices/disks/[固有ID]
~
パーティションテーブルを確認し、削除する。~
fdiskの操作はLinuxと同じであるため割愛。~
~
-例~
 # fdisk -u /vmfs/devices/disks/t10.AMCC____A13L2C3C9DFD9F00D6E2
 
 The number of cylinders for this disk is set to 3889.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 
 Command (m for help): p
 
 Disk t10.AMCC____A13L2C3C9DFD9F00D6E2: 31.9 GB, 31988908032 bytes
 255 heads, 63 sectors/track, 3889 cylinders, total 62478336 sectors
 Units = sectors of 1 * 512 = 512 bytes
 
 Device Boot      Start         End      Blocks  Id System
 t10.AMCC____A13L2C3C9DFD9F00D6E2p1   *        63   1028159    514048+  83  Linux
 t10.AMCC____A13L2C3C9DFD9F00D6E2p2       1028160  17816084   8393962+  82  Linux swap
 t10.AMCC____A13L2C3C9DFD9F00D6E2p3      17816085  62524979  22354447+  83  Linux
 
 Command (m for help): d
 Partition number (1-4): 1
 
 【以下、繰り返し削除】
 
 Command (m for help): p
 
 Disk t10.AMCC____A13L2C3C9DFD9F00D6E2: 31.9 GB, 31988908032 bytes
 255 heads, 63 sectors/track, 3889 cylinders, total 62478336 sectors
 Units = sectors of 1 * 512 = 512 bytes
 
 Device Boot      Start         End      Blocks  Id System
 
 Command (m for help): w
 The partition table has been altered!
 
 Calling ioctl() to re-read partition table
~

以上の処理の上、改めてvCenterよりストレージの追加を試みる。~

-対処手順(partedUtil)~
fdiskではパーティションを破棄できない場合があり、このような時は partedUtilコマンドを使用する。~
fdiskと同様にディスク固有のIDを指定して処理内容を引数で渡す操作となる。~
~
引数なしで実行すると、以下の様なヘルプが表示される。~
~
 Usage: 
 Get Partitions : get <diskName> 
 Set Partitions : set <diskName> ["partNum startSector endSector type attr"]* 
 Delete Partition : delete <diskName> <partNum>
 Resize Partition : resize <diskName> <partNum> <start> <end>
 Get Partitions : getptbl <diskName> 
 Set Partitions : setptbl <diskName> <label> ["partNum startSector endSector type/guid attr"]* 
 Fix Partition Table : fix <diskName> 
 Create New Label (all existing data will be lost): mklabel <diskName> <label> 
 Show commonly used partition type guids : showGuids 
 Get usable first and last sectors : getUsableSectors <diskName> 
 Fix GPT Table interactively : fixGpt <diskName> 
~
パーティションテーブルを表示する場合には以下の様なコマンドとなる。~
~
 # partedUtil get /vmfs/devices/disks/[ディスクID]
~
パーティションを削除する場合は以下となる。~
~
 # partedUtil delete /vmfs/devices/disks/[ディスクID] [パーティションID]

~
-実行例~
 # partedUtil get /vmfs/devices/disks/vml.01000000003834484b4e334545323532463141303041343830393639305341
 182361 255 63 2929643520
 1 63 2929643519 131 0
 
 # partedUtil delete /vmfs/devices/disks/vml.01000000003834484b4e334545323532463141303041343830393639305341 2
 Unable to retrieve partition 2 from device
 vml.01000000003834484b4e334545323532463141303041343830393639305341







**SSDが非SSDとして認識される場合の対処 [#s92f8f3d]
SSDが非SSD(non-SSD)として認識される場合の対処。~

-手順
CLI上から以下の操作を行うことでSSDとして認識させることができる。~
~
以下のコマンドで対象となるデバイスの固有IDを確認~
 #esxcli storage nmp device list
~
確認したデバイスの固有IDを元に以下のコマンドを実行する。~
 # esxcli storage nmp satp rule add -s 【Storage Array Type】 --device 【固有ID】 --option=enable_ssd    
 # esxcli storage core claiming unclaim --type device --device 【固有ID】
 # esxcli storage core claimrule load 
 # esxcli storage core claimrule run
~
以上の処理の上、vSphere Clientよりデータストアとして登録する。~

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS