如何在Windows服务器上创建RAM磁盘?

时间:2020-01-09 10:46:19  来源:igfitidea点击:

RAM磁盘是在内存(RAM)的可用区域创建的虚拟磁盘,操作系统将其视为单独的物理磁盘。由于RAM磁盘存储在快速RAM中,该磁盘上的所有读/写操作几乎都是即时执行的,甚至比使用SSD时更快(最高效的SSD的数据传输速度约为560 MB/s,而DDR4内存为12000-25000 MB/s)

建议在有多余可用内存的系统中使用RAM磁盘。我们可以使用RAM磁盘来放置应用程序/系统、临时SQL数据库的缓存或者临时文件。因此,我们可以显著提高应用程序和数据库的性能。

在Windows操作系统中,没有集成的工具来创建RAM磁盘,所以必须使用第三方软件(AMD RAMDisk、ImDisk、PassMark OSFMount、StarWind RAM Disk等)。

但是,我们可以在Windows Server中创建RAM磁盘,而无需使用任何第三方应用程序。为此,我们可以使用iSCSI驱动程序。

首先,安装 iSCSI目标服务器组件(它是文件和存储服务角色的一部分)。

如果启用了Windows防火墙,则必须允许iSCSI服务流量。

要允许到iSCSI环回接口的流量,请将
HKLM\Software\Microsoft\iSCSI Target
注册表项中的DWORD参数 AllowLoopBack的值更改为 1。我们可以使用单个命令从PowerShell更改注册表参数:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\iSCSI Target' -Name AllowLoopBack -Value 1

现在打开PowerShell控制台并使用以下命令创建5 GB虚拟RAM磁盘:

New-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx" -Size 5GB

现在,我们需要创建一个指向服务器IP地址的iSCSI目标(不是本地主机!):

New-IscsiServerTarget -TargetName targetRAMDisk -InitiatorIds @("IPAddress:10.1.1.200")

将RAM磁盘连接到创建的iSCSI目标:

Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"

通过服务器管理器运行iSCSI启动器管理控制台。

目标页签中指定服务器的IP地址,点击 快速连接添加iSCSI目标。

我们可以使用以下命令连接iSCSI目标:

Get-IscsiTarget | Connect-IscsiTarget

打开磁盘管理控制台,确保新的5 GB磁盘出现在那里。这是我们创建的RAM磁盘。初始化磁盘,创建一个分区并格式化它。给它分配一个磁盘号。

我们可以使用内置磁盘和分区管理模块 存储中的PowerShell cmdlet初始化RAM磁盘并为其分配一个驱动器号,命令行如下:

Get-Disk | Where partitionstyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "disk2" -Confirm:$false