我已经向 W2K3 机器添加了动态磁盘。
它已正确连接并显示在 iScsi 启动器中,并且已正确绑定。但是,每次启动后,我都需要在管理磁盘控制台中重新激活它。
这是一个已知的错误吗?
请问我怎样才能让它自动重新激活?
答案1
我在使用 Buffalo Terastation III 4GB iSCSI SAN 设备连接到 MS Windows Server 2003 时也遇到了同样的问题。
问题
重新启动后,操作系统不会重新激活与 iSCSI 设备关联的动态磁盘。并且与动态磁盘关联的任何网络共享都将丢失(未共享)。iSCSI 启动器显示设备连接正常。需要在磁盘管理器中手动激活动态磁盘。然后我必须重新共享我想要共享的文件夹,并设置共享权限。
动态磁盘在纸面上具有某些优势,使它们看起来像是一个不错的选择,但微软在 iSCSI 设备上又犯了另一个未记录的错误。据报道,他们已经在较新的 MS 操作系统中修复了这个问题,但当然没有迫切的动机去回头在 Windows Server 2003 操作系统中修补它。
重新激活失败与启动过程中的操作时间和顺序有关。磁盘管理加载太早或太晚,导致动态磁盘无法在启动时自动激活。
解决方案
我发现了一个脚本解决方案,可以在启动时重新激活受影响的动态磁盘,无需用户干预,使用 bat 文件并在 Windows 2003 Server 组策略中设置启动选项。
重新激活 iSCSI 动态磁盘并设置组策略以运行批处理脚本。有关如何创建文件“Connect_SAN.bat”和“Connect_SAN.txt”,然后配置组策略以在启动时运行它们的说明可在此处找到:
http://bitbud.com/2009/01/23/microsoft-dynamic-disks-cause-iscsi-issues-on-reboot/
注意:对于许多管理员来说,这应该是显而易见的,但以防万一……您需要忽略 Htike Win 在命令前面放置的破折号。他像使用项目符号一样使用它们,但它们不应包含在您将创建的批处理文件和文本文件中。
此外,他的网页上显示的引号字符是智能引号,Windows 命令无法识别。您需要在批处理脚本中将其重新输入为简单引号。只需在键盘上重新输入“引号”字符即可。
可选 - 最后,我在 Connect_SAN.bat 文件中添加了一行,我将“net time >>c:\Connect_SAN.log”作为第二行添加到批处理文件中。它在 diskpart 命令完成后运行,然后提供重新启动时间的简单文本日志。当我想仔细检查某些批处理脚本是否正常运行时,我会在其中构建冗余。
重新分享网络共享
接下来,如果您有使用该 iSCSI 驱动器设置的网络共享,您将需要另一个使用 net share 命令的脚本来重新共享资源并设置权限。您需要在动态磁盘重新激活后运行此脚本。
我设置了另一个批处理脚本“Connect_SAN_shares.bat”。该批处理文件的每一行都是重新共享特定子文件夹的命令。我将共享批处理文件设置为在 Connect_SAN.bat 完成后在组策略中运行。
如果您不熟悉该命令,请在命令行中运行“net share ?”以查看选项。您至少需要指定一个共享名称,然后将 Everyone 的权限设置为 FULL。您可以调整这些共享权限以适合您自己,但要小心限制权限,否则您可能会将自己锁定。
永久的解决方案? 最后,我看到了通过将动态磁盘转换为基本磁盘来永久解决此问题的参考,但在与 SAN 制造商确认它可以正常工作之前,我不会这样做。
坊间传言称,一旦动态磁盘转换为基本磁盘,它们在重启后就能重新连接,网络共享也不会丢失。将来设置新设备时要记住这一点。
如果 BuffaloTech 支持人员回复我的询问,这就是我的下一步。
一旦我确信将 iSCSI 磁盘转换为基本模式是安全的,我将安排时间对所有数据进行完整备份,我知道这些数据将静止几个小时,然后执行磁盘转换。据说这是一个相当快的过程。