おもちゃ用にもらったPRIMERGY、内蔵SAS 146GB×6 で容量が心許ないのにNASがないので、もらい受けた Buffalo LXU3C をつなげて認識させることに挑戦した。
HD-LXU3Cを手なずける篇
HD-LXU3Cの暗号化を解除する
暗号化機能が有効なまま中身を消去した Buffalo HD-LXU3C をもらい受けた。これは暗号化機能を備えたUSB外付けHDDである。暗号化機能が有効である場合、USBで接続すると読み込み専用ドライブとして見え、パスワードを入力することで読み書きできるドライブがマウントされる。
パスワードを入力したあとに見えるようなったドライブをフォーマットしたところで、暗号化機能を無効にできるわけでない。
暗号化を解除するには SecureLockManagerEasy の「暗号化モードの設定」機能を使わないといけない……
あるいはSecureLockManagerEasy の「出荷時に戻す」の機能を使って初期状態、すなわち「暗号化なし、全ドライブをNTFSフォーマット」に戻すことができた。
ESXiに認識させる篇
NTFSフォーマットではホスト側で認識できない
「暗号化なし、全ドライブをNTFSフォーマット」な状態なので、Windows機ならパスワードなしで全量を認識できる状態になっていたのだが、ESXiではなかなか思うようにいかない。
具体的には、VMWare vSphere Client で、ホスト>構成>ストレージ>デバイス、に登場してくれない。ESXiのsshサーバを有効にしてsshで覗いてみても、lsusb
では見えるものの、/dev/disks に現れない。
[root@localhost:~]# /etc/init.d/usbarbitrator stop
watchdog-usbarbitrator: Terminating watchdog process with PID 33751
usbarbitrator stopped
[root@localhost:~]# lsusb
Bus 005 Device 002: ID 0000:0000
Bus 002 Device 002: ID 0411:0227 BUFFALO INC. (formerly MelCo., Inc.)
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[root@localhost:~]# ls /dev/disks
naa.6003005700f5c4601dd39fca1eee02f8 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035
naa.6003005700f5c4601dd39fca1eee02f8:1 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:1
naa.6003005700f5c4601dd39fca1eee02f8:2 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:2
naa.6003005700f5c4601dd39fca1eee02f8:3 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:3
naa.6003005700f5c4601dd39fca1eee02f8:5 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:5
naa.6003005700f5c4601dd39fca1eee02f8:6 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:6
naa.6003005700f5c4601dd39fca1eee02f8:7 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:7
naa.6003005700f5c4601dd39fca1eee02f8:8 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:8
naa.6003005700f5c4601dd39fca1eee02f8:9 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:9
FAT32 でフォーマットしてみた → ディスクとして見えた。
DriveNavigator の「ソフトウェアの個別インストール」で導入できる「DiskFormatter2」を使うと、FAT32でフォーマットできる。
このあと ESXi に刺してみたら、/dev/disks/mpx.* として登場した。
VMWare vSphere Client で、すべてを再スキャン することで、
構成>ストレージ>デバイス、に Logical USB Direct-Access として登場した。
[root@localhost:~]# lsusb
Bus 002 Device 003: ID 0411:0227 BUFFALO INC. (formerly MelCo., Inc.)
Bus 005 Device 002: ID 0000:0000
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[root@localhost:~]# ls /dev/disks/
mpx.vmhba32:C0:T0:L0 vml.0000000000766d68626133323a303a30
mpx.vmhba32:C0:T0:L0:1 vml.0000000000766d68626133323a303a30:1
naa.6003005700f5c4601dd39fca1eee02f8 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035
naa.6003005700f5c4601dd39fca1eee02f8:1 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:1
naa.6003005700f5c4601dd39fca1eee02f8:2 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:2
naa.6003005700f5c4601dd39fca1eee02f8:3 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:3
naa.6003005700f5c4601dd39fca1eee02f8:5 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:5
naa.6003005700f5c4601dd39fca1eee02f8:6 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:6
naa.6003005700f5c4601dd39fca1eee02f8:7 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:7
naa.6003005700f5c4601dd39fca1eee02f8:8 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:8
naa.6003005700f5c4601dd39fca1eee02f8:9 vml.02000000006003005700f5c4601dd39fca1eee02f8524149442035:9
vmfs5 としてフォーマットしてみた → VMFSとして見えた。
あとは以下の手順にそって http://www.virten.net/2015/10/usb-devices-as-vmfs-datastore-in-vsphere-esxi-6-0/
partedUtil を使ったパーティションを作り方は http://kb.vmware.com/kb/1036609 や http://kb.vmware.com/kb/2080042 を参考に。 下記の謎の 2048
とか AA31E02A400F11DB9590000C2911D1B8
とかの背景の説明があります。
[root@localhost:~]# partedUtil mklabel /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt
[root@localhost:~]# partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0
gpt
243197 255 63 3906967728
[root@localhost:~]# eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3 " - 1"}')
3906959804
[root@localhost:~]# partedUtil setptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt "1 2048 3906959804 AA31E02A400F11DB9590000C2911D1B8 0"
gpt
0 0 0 0
1 2048 3906959804 AA31E02A400F11DB9590000C2911D1B8 0
[root@localhost:~]# vmkfstools -C vmfs5 -S HD-LXU3C /dev/disks/mpx.vmhba32\:C0\:T0\:L0:1
create fs deviceName:'/dev/disks/mpx.vmhba32:C0:T0:L0:1', fsShortName:'vmfs5', fsName:'HD-LXU3C'
deviceFullPath:/dev/disks/mpx.vmhba32:C0:T0:L0:1 deviceFile:mpx.vmhba32:C0:T0:L0:1
ATS on device /dev/disks/mpx.vmhba32:C0:T0:L0:1: not supported
.
Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
Creating vmfs5 file system on "mpx.vmhba32:C0:T0:L0:1" with blockSize 1048576 and volume label "HD-LXU3C".
Successfully created new volume: 5679191b-de894def-4c46-001999b3ab45
usbarbitrator は停止しておく
ESXiホスト上で動作している usbarbitrator というプロセスは、ホスト側に接続されたUSBデバイスを、そのままパススルーで仮想マシンに見せるための仕組み。つまり、これが動いているとホスト側ではUSBデバイスとして認識できない。
なので、以下のようにしてホスト起動時にプロセスが実行されることを抑止しておく:
[root@localhost:~]# chkconfig usbarbitrator off