环境
宿主机 天逸 510s i3-8代
vSphere ESXi 6.7.0 Update 3 (Build 15160138)
VM Windows Server 2016
步骤
主机 -> 操作 -> 服务 -> 启用安全 Shell(SSH)
存储 -> 设备 -> 找到 Sata 设备,通常为Local ATA Disk
开头 -> 点击进入,获取设备路径(后续称呼为 SATA盘路径)
存储 -> 数据存储 -> 找到 datastore1(默认,如果未修改的话) -> 点击进入,获取数据存储位置(后续称呼为 非SATA盘数据存储位置)
使用 SSH 终端连接到 ESXi 主机,密码使用 Keyboard Interactive 方式输入
vmkfstools -r SATA盘路径 非SATA盘数据存储位置/RdmHDD16T.vmdk(英文格式)
将 Windows Server 2016 关机,关机后编辑,添加硬盘,现有硬盘,浏览到对应数据存储 datastore1,选择 RdmHDD16T.vmdk,保存,开机虚拟机。
若未显示磁盘,在计算机管理,磁盘管理中,定位对应磁盘,选择联机即可;若无盘符,需手动分配。
补充 关于 vmkfstools
RDM 原始设备映射不会丢失硬盘已有数据(硬盘识别为RAW格式时,请勿胡乱操作!),且有一定好处,请查阅末尾参考最后一条。
推荐 -r 命令,创建虚拟映射,使用访问虚拟映射文件,从而访问 NTFS SATA 硬盘。
网络上关于 ESXi RDM 直通访问 NTFS SATA 硬盘的一手文章竟然均是使用的 -z 物理映射方式,但是对于访问已有的 NTFS SATA DISK 硬盘更推荐 -r 虚拟映射方式。
在虚拟兼容模式下,RDM 就像一个虚拟磁盘文件。RDM 可以使用快照。
在物理兼容模式下,RDM 为需要较低级别控制的应用程序提供对 SCSI 设备的直接访问。
使用 -z 参数时,此时是物理映射,可能出现 Windows Server 磁盘管理中识别到 RAW 格式硬盘(此时 RAW 表明文件系统损坏或未识别正确);
此时,可尝试切换硬盘控制器;因为虚拟机默认添加硬盘时,硬盘的控制器均为 SCSI,与物理控制器 SATA 不一致。
当物理磁盘控制器是 SATA,虚拟控制器是 SCSI 时,可能会出现文件系统损坏,虚拟机中硬盘大小识别错误(与实际硬盘大小不一致),硬盘容量过大时识别为 RAW 格式等;所以使用物理映射时,虚拟控制器因与物理控制器类型一致。
变更硬盘控制器:虚拟机关机后编辑,点击展开不可编辑的硬盘,控制器位置切换为 SATA 控制器 0(若无则通过上方添加其他设备,添加 SATA 控制器)。
vmkfstools -r
vmkfstools -r
:创建虚拟
兼容模式原始设备映射,原始磁盘映射到 vmdk 文件,可以像访问普通 VMFS 虚拟磁盘一样访问该 LUN。映射的文件长度与其指向的裸 LUN 的大小相同。
vmkfstools -z
vmkfstools -z
:创建物理
兼容模式原始设备映射,直通原始磁盘,映射到 VMFS 卷上的 vmdk 文件。通过映射,虚拟机可以在访问其虚拟磁盘时绕过ESXi SCSI 命令。当虚拟机必须发送专有 SCSI 命令时(例如,当虚拟机上运行 SAN 感知软件时),这种映射非常有用。
参考
gist.github.com/Hengjie/1520114890bebe8f805d337af4b3a064?permalink_comment_id=3929500
www.reddit.com/r/esxi/comments/yfwszf/rdm_disk_not_showing_correct_size_on_guest_os/
docs.vmware.com/en/VMware-vSphere/8.0/vsphere-storage/GUID-0AC9C948-4D0A-4634-99B8-E10CC09EFE47.html
docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-D9B143D8-9F93-41D1-A32F-9FF4DE4CDF14.html
关联问题
如何在 VMWare EXSI 6.5 6.7 7.0 8 上直接将 SATA 硬盘 硬盘直通 RDM 给虚拟机使用
ESXi 硬盘直通
如何通过 RDM 正确映射 NTFS 磁盘