想在软路由上加一个PT下载的功能,结果插上USB硬盘盒ESXI无法直接识别,从网上查了几个教程最后成功识别USB硬盘盒,现在把步骤列出来,作为我自己的笔记,也方便大家来看。

1 打开ESXI的SSH功能

进入ESXI的web管理页面,打开 主机>管理>服务>启用TSM和TSM-SSH

2 在未接入USB硬盘时输入以下命令

/etc/init.d/usbarbitrator stop
chkconfig usbarbitrator off

输出结果如下

[root@localhost:~] /etc/init.d/usbarbitrator stop
watchdog-usbarbitrator: Terminating watchdog process with PID 132290
stopping usbarbitrator...
usbarbitrator stopped
[root@localhost:~] chkconfig usbarbitrator off

3 在接入USB硬盘时输入以下命令

esxcli storage core device list |grep -i usb

这时我们可以看到(Is USB:true)说明我们的usb硬盘已经被识别出来,输出结果如下:

[root@localhost:~] esxcli storage core device list |grep -i usb
   Is USB: false
   Display Name: Local USB Direct-Access (mpx.vmhba32:C0:T0:L0)
   Vendor: USB   
   Is USB: true
   Display Name: Local USB Direct-Access (mpx.vmhba34:C0:T0:L0)
   Is USB: true

可以看到有两个USB设备信息,其中一个是我们的引导U盘,一个是刚刚插入的USB硬盘。请到web页面中的 存储>设备中查看已有设备名。

可以看到mpx.vmhba32:C0:T0:L0为目前的引导盘,那么mpx.vmhba34:C0:T0:L0就是我们需要接入的新USB硬盘。

4 输入以下两条命令

partedUtil mklabel /dev/disks/mpx.vmhba34:C0:T0:L0 gpt
partedUtil getptbl /dev/disks/mpx.vmhba34:C0:T0:L0

将命令中的mpx.vmhba34:C0:T0:L0替换为你的设备的名字。

网上说名字中有:号的话,前面加个转义符号,也即是“:”变为“\:”,但是我没加也成功了。输出界面如下。

[root@localhost:~] partedUtil mklabel /dev/disks/mpx.vmhba34:C0:T0:L0 gpt
[root@localhost:~] partedUtil getptbl /dev/disks/mpx.vmhba34:C0:T0:L0
gpt
486401 255 63 7814037168

5 获取硬盘数据

注意替换硬盘名字

eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba34:C0:T0:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1

输出结果

[root@localhost:~] eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba34:C0:T0:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
7814032064

6 再输入以下命令来让系统识别USB硬盘

其中里面要有上一步获取的那个硬盘数据,我的是7814032064,注意硬盘名字和这个数值,替换成你自己的。

partedUtil setptbl /dev/disks/mpx.vmhba34:C0:T0:L0 gpt "1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0"

输出结果

[root@localhost:~] partedUtil setptbl /dev/disks/mpx.vmhba34:C0:T0:L0 gpt "1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0"
gpt
0 0 0 0
1 2048 7814032064 AA31E02A400F11DB9590000C2911D1B8 0

7 挂载USB硬盘

vmkfstools -C vmfs5 -S USB_Datastore /dev/disks/mpx.vmhba34:C0:T0:L0:1

注意这条命令,不仅要替换你的硬盘名字,还要再最后面加上 “:1”,注意这条命令执行的有点慢,需要十秒的样子。

输出结果

[root@localhost:~] vmkfstools -C vmfs5 -S USB_Datastore /dev/disks/mpx.vmhba34:C0:T0:L0:1
create fs deviceName:'/dev/disks/mpx.vmhba34:C0:T0:L0:1', fsShortName:'vmfs5', fsName:'USB_Datastore'
deviceFullPath:/dev/disks/mpx.vmhba34:C0:T0:L0:1 deviceFile:mpx.vmhba34:C0:T0:L0:1
ATS on device /dev/disks/mpx.vmhba34: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.vmhba34:C0:T0:L0:1" with blockSize 1048576 and volume label "USB_Datastore".
Successfully created new volume: 6094b8ab-3560094f-9b37-00f1f31886e6
最后修改:2022 年 01 月 18 日
如果觉得我的文章对你有用,请随意赞赏