<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://goxia.maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://goxia.maytide.net/read.php/1850.htm</link>
<title><![CDATA[HOWTO: 基于 Windows Server iSCSI 服务创建 RAM Disk]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Server]]></category>
<pubDate>Tue, 19 Sep 2017 09:36:09 +0000</pubDate> 
<guid>https://goxia.maytide.net/read.php/1850.htm</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上个月看到 Windows Team 的工程师 <a href="https://blogs.technet.microsoft.com/windowsinternals/2017/08/25/how-to-create-a-ram-disk-in-windows-server/?from=timeline" target="_blank">Mounia Rachidi</a> 发布的 Blog，提到了在 Windows Server 上利用 iSCSI 创建 RAM Disk 的方法，于是动手实践了一下，感觉还不错！决定分享一下实践经验。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实践环境是一台运行 Windows Server 2016，且拥有 32GB 内存的工作站。计划在内存中创建 28GB 的 RAM Disk，用于系统映像（WIM）的处理。将 WIM 放在 RAM Disk 里进行读写操作的优势显而易见，降低磁盘IO瓶颈。当然，也许您还能想到更多 RAM Disk 的应用场景，不妨利用 Windows Server&nbsp; iSCSI 服务来体验一下。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先，我们需要为 Windows Server 2016 安装 iSCSI 目标服务器（iSCSI Target Server）角色，可启动服务器管理工具添加角色和功能。iSCSI目标服务器角色位于”文件和存储服务“角色下，具体参考下图：</p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_role.png"><img width="604" height="431" title="iscsi_role" style="display: inline; background-image: none;" alt="iscsi_role" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_role_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后，在 Windows 防火墙（Windows Firewall）中允许”iSCSI 服务“例外，即允许通过防火墙。</p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_service_mpssvc.png"><img width="604" height="503" title="iscsi_service_mpssvc" style="display: inline; background-image: none;" alt="iscsi_service_mpssvc" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_service_mpssvc_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了确保 iSCSI 目标服务能够为本机提供 iSCSI 服务，需要修改 Windows Server 2016 的注册表以允许回环模式，为此执行 Regedit 定位至如下路径，修改 AllowLoopBack（REG_DWORD） 值为：1</p><p><strong><font style="background-color: rgb(255, 255, 0);">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\iSCSI Target</font></strong></p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_reg_allowloopback.png"><img width="604" height="190" title="iscsi_reg_allowloopback" style="display: inline; background-image: none;" alt="iscsi_reg_allowloopback" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_reg_allowloopback_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 完成上述操作后，便可开始创建 RAM Disk，首先创建容量为 28GB 的 RAM Disk：</p><p><strong><font style="background-color: rgb(255, 255, 0);">New-IscsiVirtualDisk -Path "ramdisk:WIM-RAMDisk.vhdx -Size 28GB</font></strong></p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/new-iscsivirtualdisk.png"><img width="604" height="274" title="new-iscsivirtualdisk" style="display: inline; background-image: none;" alt="new-iscsivirtualdisk" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/new-iscsivirtualdisk_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 之后创建 iSCSI 目标：</p><p><strong><font style="background-color: rgb(255, 255, 0);">New-IscsiServerTarget -TargetName targetRAMDisk -Initiatorlds @("IPAddress:X.X.X.X")</font></strong></p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/new-iscsiservertarget.png"><img width="604" height="297" title="new-iscsiservertarget" style="display: inline; background-image: none;" alt="new-iscsiservertarget" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/new-iscsiservertarget_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来将 RAM Disk 分配给 iSCSI 目标：</p><p><strong><font style="background-color: rgb(255, 255, 0);">Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:WIM-RAMDisk.vhdx"</font></strong></p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/add-iscsivirtualdisktargetmapping.png"><img width="604" height="84" title="add-iscsivirtualdisktargetmapping" style="display: inline; background-image: none;" alt="add-iscsivirtualdisktargetmapping" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/add-iscsivirtualdisktargetmapping_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在启动 Windows Server 2016 上的 iSCSI Initiator（iSCSI 发起程序，该程序位于管理工具组下） 来连接这个 iSCSI 目标。</p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_initator.png"><img width="386" height="528" title="iscsi_initator" style="display: inline; background-image: none;" alt="iscsi_initator" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/iscsi_initator_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 连接成功后，便可在通过磁盘管理器初始化这个 RAM Disk，默认配置下这个 RAM Disk 是动态扩展类型的 VHDX，所以分配并格式化后，不会马上占用内存容量，会随着 RAM Disk 数据量的增长，而发生变化，但不会因删除数据而逆转。也就是说拷贝了一个10GB的数据，删除后会发现内存占用还是10GB，必须重新启动服务器才会得到空间的释放。</p><p><a href="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/diskview.png"><img width="604" height="484" title="diskview" style="display: inline; background-image: none;" alt="diskview" src="http://goxia.maytide.net/ftpup/2017/HOWTO--Windows-Server-iSCSI--RAM-Disk_E9FE/diskview_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后需要注意的是，在 iSCSI 目标服务上启用 RAM Disk 后，会导致无法正常访问 服务器管理器 下的 iSCSI 目标服务器角色。</p>
]]>
</description>
</item>
</channel>
</rss>