Product Documentation

在不使用网络共享的情况下管理和访问 LUN

Dec 20, 2016

通常情况下,如果要对 Provisioning Services 使用适用于虚拟磁盘的 SAN 存储,需要将共享文件系统放置在 SAN 前端,以协调多台服务器对 NTFS 格式的 LUN 的访问。 但在某些情况下,可以允许 Provisioning Services 使用不具有共享文件系统的 SAN。 Provisioning Services 可以使用此类 SAN,同时仍然允许多台服务器访问相同的 LUN,而不会破坏卷。

Provisioning Services 仅允许对 SAN LUN 进行只读共享访问。 因此,在使用此功能时,所需的 Provisioning Services 目标设备引导模式非常重要。

下表描述了使用只读虚拟磁盘存储时的引导模式及其限制。
引导模式 写入缓存限制 限制
专有映像 不支持 不支持
标准映像,缓存位于服务器磁盘上 对于存储,需要使用独立的读/写共享写入缓存位置。 如果 LUN 为只读,则无法修改虚拟磁盘属性。

无法在 Provisioning Server 上映射虚拟磁盘。

标准映像,缓存位于目标设备 RAM 中 无限制。 如果 LUN 为只读,则无法修改虚拟磁盘属性。

无法在 Provisioning Server 上映射虚拟磁盘。

标准映像,缓存位于目标设备的硬盘驱动器上 如果目标设备硬盘驱动器找不到或出现故障,则无法回退到服务器磁盘上的缓存。 如果 LUN 为只读,则无法修改虚拟磁盘属性。

无法在 Provisioning Server 上映射虚拟磁盘。

将虚拟磁盘放置在只读存储中的主要限制包括以下内容:
  • 不允许从只读存储引导专有映像。
  • 如果希望缓存位于 Provisioning Server 磁盘上,则写入缓存文件需要一个具有读/写访问权限的独立共享存储位置。
  • 如果虚拟磁盘存储位置为只读,则不允许修改虚拟磁盘属性。
  • 如果虚拟磁盘存储位置为只读,则不允许在服务器上装载虚拟磁盘。

必备条件

下面是使用此功能的必备条件:
  • 有权访问只读共享 LUN 的 Provisioning Server 属于服务器类计算机。
  • Microsoft iSCSI 发起程序软件安装在将有权访问 SAN 的所有 Provisioning Server 上。
  • 要放置在只读共享 LUN 上的虚拟磁盘文件已创建完毕,并且位于常规读/写存储位置。 与在常规读/写存储中预先创建 VHDX 文件,然后将这些文件复制到共享 LUN 相比,在 LUN 上恰当的位置创建虚拟磁盘文件更加复杂。
  • 正在使用的 SAN 能够将 LUN 设置为允许读/写共享访问或只读共享访问,不需要在前端安装共享文件系统。 通常情况下,如果未在前端安装共享文件系统,则在读/写共享访问模式下使用 LUN 将破坏 NTFS 卷。 将 LUN 的访问模式限制为只读访问可避免出现此问题。

实现

在 SAN 上
  1. 使用 EqualLogic Group Manager(或其他相关的前端 SAN 接口)在 EquaLogic SAN 上创建一个卷。 将该卷的空间设置为足够大,可以容纳将在各 Provisioning Server 之间共享的所有 VHDX 以及与 VHDX 关联的 PVP 文件。
  2. 将该卷的访问类型设置为读/写共享。 请注意,将通过 NTFS 属性而非 SAN 访问权限将该卷设置为只读。 虽然可以在只读共享模式下使用该卷,但需要额外的步骤来实施该解决方案。 因此,此过程描述了将该卷设置为读/写共享访问时的步骤。
在 Provisioning Server 上
  1. 使用 iSCSI 发起程序仅从一台 Provisioning Server 登录到 SAN 卷。
    注意:除非 SAN 卷标记为只读,否则不要从多台服务器同时登录该卷。 如果在 SAN 卷处于读/写模式时允许多台服务器通过 iSCSI 接口同时登录该卷,将会破坏该卷,需要对其重新进行格式化。 此时该卷上的所有数据都将丢失。
  2. 通过 Windows 磁盘管理器使用 NTFS 文件系统格式化 SAN 卷,并分配驱动器盘符或装载点路径。 如果将在一台服务器上公开多个 LUN/卷,则需要分配装载点路径,因为此时没有驱动器盘符限制。 确保在使用 SAN 卷的所有服务器上所使用的驱动器盘符/装载点完全相同。 如果无法使其相同,则需要使用 Provisioning Services/存储替代路径,将特定服务器指向 SAN 卷的不同驱动器盘符/装载点。
  3. 在格式化 SAN 卷并为其分配驱动器盘符/装载点后,应能够在此 Provisioning Server 上以读/写模式访问该卷。 确保正确设置了将驻留在 SAN 卷上的 VHDX 和 PVP 文件的所有属性(包括启用高可用性),然后将所有 VHDX 文件及其关联的 PVP 文件复制到该卷中。 不需要复制锁文件。 PVP 文件必须随 VHDX 文件一起复制。 如果 SAN 卷为只读,系统将无法“即时”创建 PVP 文件。
  4. 所有文件都复制到 SAN 卷后,必须将该卷设为只读。 关闭访问 SAN 卷的所有资源管理器窗口,然后在能够访问该卷的服务器上打开命令提示窗口。
  5. 运行 diskpart.exe。 此时将启动一个与 diskpart.exe 交互的会话。
  6. 键入以下命令查找卷编号:list volume。
  7. 记下卷编号,并键入以下命令来选择此编号:select volume volumeNumber(其中 volumeNumber 为 list volume 命令列出的卷编号)。
  8. 选择该卷后,键入以下命令设置该卷的只读属性:attributes volume set readonly。
  9. 键入以下命令检查其只读属性是否已正确设置:detail volume。
  10. 键入下面的命令以退出 diskpart.exe: exit。
  11. 使用 iSCSI 发起程序接口,在此服务器上注销然后重新登录该卷。 确保将该卷设置为永久目标。 必须注销然后重新登录该卷,以使服务器上的 NTFS 重新读取卷属性,这样才能将该卷识别为只读。 将卷设为永久目标可以确保服务器在重新引导后仍然可以访问该卷。
  12. 现在可以在所有 Provisioning Server 上安全装载该 iSCSI 卷。 使用 iSCSI 发起小程序和 Microsoft 磁盘管理器,在需要访问该卷的所有 Provisioning Server 上装载该卷。 使目标在 iSCSI 接口中永久存在,并尝试使所有服务器都使用同一个驱动器盘符或装载点进行装载,这样可以使 Provisioning Services 存储的设置更加轻松。
    注意:可能需要使所有服务器上的 Provisioning Services Stream Service 依赖于 iSCSI 服务。 这样可以确保当服务器重新引导以及目标设备在服务器重新引导期间引导时,卷可在适当时间可用。 为此,请编辑 Stream Service 的注册表,然后添加指向 iscsiexe.exe 服务 (MSiSCSI) 的 DependsOnService 值。
  13. 在其中一个 Provisioning Server 上运行控制台,创建指向该卷的驱动器盘符/装载点的存储。
  14. 选择有权访问此存储的卷的 Provisioning Server。
    注意:如果对该卷上的任何 VHDX 使用服务器上的缓存或差异磁盘模式,必须为不指向 SAN 只读卷的存储输入默认写入缓存路径。 对于所有 Provisioning Server,此路径必须处于共享位置。 可以使用 Windows 网络共享或任何其他共享的读/写存储设备,但写入缓存路径不能指向只读卷。 只读卷只能包含 VHDX 和 PVP 文件。 如果使用的是其中一种目标设备缓存模式(本地 HD 或 RAM),则无需为存储设置读/写共享写入缓存位置。
  15. 在控制台中,在该存储上单击鼠标右键,然后选择添加现有磁盘…菜单选项,此操作将扫描该存储并将 VHDX 文件添加到数据库中。
  16. 将位于该存储上的 VHDX 文件分配给目标设备,然后正常引导这些目标设备。 只读卷上的 VHDX 文件在控制台中始终显示为锁定:lock type: Read only media: Shared(锁定类型: 只读介质: 共享)。 不能删除此锁定类型。 如果已通过 diskPart.exe 将存储标记为只读,则无法在该存储上创建新的虚拟磁盘。 如果已将存储标记为只读,则无法编辑 VHDX 的属性。

修改虚拟磁盘属性

如果 SAN LUN 位置标记为只读,则无法修改虚拟磁盘属性。 要编辑虚拟磁盘属性或修改 LUN 上的虚拟磁盘文件,请完成以下过程:
  1. 关闭使用该存储上的 VHDX 的所有目标设备。
  2. 使用 iSCSI 发起程序,在所有 Provisioning Server 上(除一个 Provisioning Server 外)注销该卷。 或者,也可以在某些类型的服务器操作系统上使用 diskpart.exe 实用程序,将该卷标记为在所有 Provisioning Server 上脱机(并非所有类型的操作系统都支持此功能。 如有必要,请使用 iSCSI 发起程序注销该卷)。
  3. 要使用 diskpart.exe 实用程序将该卷标记为读/写,请在有权访问该卷的服务器上打开命令提示窗口,然后运行 diskpart.exe。 此时将启动一个与 diskpart.exe 交互的会话。
  4. 键入以下命令查找卷编号: list volume。
  5. 记下卷编号,并键入以下命令来选择此编号: select volume volumeNumber ,其中 volumeNumber 为 list volume 命令识别的卷编号。
  6. 选择该卷后,要清除其只读属性,请键入以下命令: attributes volume clear readonly。
  7. 键入以下命令检查其只读属性是否已正确设置: detail volume。
  8. 键入下面的命令以退出 diskpart.exe: exit。
  9. 在仍然能够访问该卷的唯一一台服务器上,注销/登录该卷(或在 diskpart 中将其标记为脱机/联机)。
  10. 通过控制台编辑 VHDX 文件属性,然后将新文件复制到该卷中。
  11. 完成所有编辑操作后,使用 diskpart.exe 实用程序将卷标记为只读,方法是选择该卷,然后设置只读属性:attributes volume set readonly
  12. 键入以下命令检查其只读属性是否已正确设置: detail volume
  13. 键入下面的命令以退出 diskpart.exe: exit。
  14. 使用 iSCSI 发起程序注销并重新登录该卷,以重新读取只读属性。
  15. 在所有 Provisiong Server 上使用 iSCSI 发起程序重新登录该卷。
注意:重要提示! 除非 SAN 卷标记为只读,否则不要从多台服务器同时登录该卷。 如果在 SAN 卷处于读/写模式时允许多台服务器通过 iSCSI 接口同时登录该卷,将会破坏该卷,需要对其重新进行格式化。 此时该卷上的所有数据都将丢失。