* NTFS 分区格式: 您只能将U盘中的文件复制到 ESXi,而不能将其复制回来。

将文件从 USB 设备复制到 ESXi 主机:

/bin/ntfscat -f /dev/disks/${USB_KEY}:2 MyFile > /tmp/MyFile

/bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

如果要从 FAT 格式 USB 设备传输较大的文件,则需要将其分块并在 ESXi 主机上重新构建文件。  
 您可以使用可以在Mac OS X或Linux系统上找到的`split`命令将原始文件分解为较小的块, 然后只需使用 ESXi Shell 中提供的`cat`命令即可重新构造原始文件。

标准示例

将超过4G的文件,将文件拆分为1GB=1073741820 byte块, 拆分完毕后文件会分成很多带字母后缀data_split{a,b,c……}的文件。

split -b 1073741824 data.zip data_split

以下是将各个块重新构建到原始文件中new_data.zip

cat data_split* > new_data.zip

实践示例

您可以在复制之前将源文件拆分为某些部分(例如 3 GB):

split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

然后,您可以将所有部件复制到 USB 驱动器,并将它们加入目标 ESXi 主机上:

cat vm1* > vm1.vmdk

---


#### 0x02 如何在 VMWare ESXi 中将外部 USB 驱动器连接为 VMFS 数据存储?


描述: 假设您要将 USB 驱动器连接到 ESXi 主机,并在其上创建 VMFS 数据存储,以便方便地复制/移动虚拟机的文件和映像。



> 
> 官方称,VMWare不支持将外部USB驱动器作为VMFS数据存储。但是,它可以工作,您可以使用它。此外,ESXi 不支持大于 2 TB 的 USB 设备。
> 
> 
> 


在 VMWare ESXi 6.5 及更高版本中,将 USB 设备连接到主机的方法已更改。早期使用了几个驱动程序(xhci,ehci-hcd,usb-uhci,usb-storage),然后一个USB驱动程序( vmkusb )替换了所有这些驱动程序。




---


**偷偷的告诉你哟?**【**极客全栈修炼**】微信小程序已经上线了,


可直接在微信里面直接浏览博主博客了哟,后续将上线更多有趣的小工具。




---


**操作步骤:**


Step 1.通过 SSH 连接到 ESXi 主机控制台 ;


Step 2.停止 USB 仲裁器, 该服务用于 将 USB 设备从 ESXi 主机传递到虚拟机 (USB 直通)`# /etc/init.d/usbarbitrator stop`



> 
> 如果不希望 USB 仲裁器在主机重新启动后启动,请运行以下命令: `# chkconfig usbarbitrator off`
> 
> 
> 


Step 3.将空 USB 驱动器连接到 ESXi 主机;


Step 4.可以在日志中标识 USB 驱动器的名称 /var/log/vmkernel.log 或使用 /dev/disks : `# ls /dev/disks/` (PS: U盘通常命名为mpx.vmhbaX或naa.X。)


Step 5.在 USB 驱动器上创建 GPT (GUID) 分区表:`# partedUtil mklabel /dev/disks/naa.5000000000000001 gpt`


Step 6.然后手动在驱动器上创建分区。为此,请指定驱动器上的第一个和最后一个扇区, 列出有关磁盘扇区的信息:`# partedUtil getptbl /dev/disks/naa.5000000000000001`


Step 7.第一个扇区始终是 2048 最后一个扇区的大小是根据 getptbl 输出计算的。



> 
> 在我的示例中,它的计算方法如下:`121597 * 255 * 63 -1 = 1953455804`  
>  如果驱动器上有分区,您可以将其删除:# partedUtil delete /dev/disks/naa.5000000000000001 1
> 
> 
> 


![1026f49a6512a6f1e28f719ba0a63799.png]()


Step 8.创建 VMFS 分区(此类分区的 GUID 始终为 AA31E02A400F11DB9590000C2911D1B8): `# partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"`


亲,文章都看完了,不关注一下吗?


长按二维码  即可关注我哟!



Step 9.然后,您可以使用 VMFS6 格式化分区: `# vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1`


Step 10.打开图形 VMWare vSphere Client 并转到 存储 , 您的 USB 驱动器将显示在可用数据存储列表中。


![263d747bee093b085c1d1deb3f0e7a65.png]()


温馨提示: 上述做法通常是为了让存储设备实现直通!


本文至此完毕,更多技术文章,尽情等待下篇好文!