Найти тему
WinITPro.ru - Блог админа

Создаем быстрый RAM диск в оперативной памяти Windows Server 2022/2019/2016

RAM диск – это виртуальный диск, созданный в свободной области оперативной памяти, который воспринимается операционной системой как отдельный физический диск. За счет, того, что RAM диск хранится в быстрой оперативной памяти, все операции чтения/записи с такого диска выполняются почти мгновенно, даже быстрее, чем при использовании SSD накопителя (у самых производительных SSD скорость передачи данных сейчас составляет около 560МБ/с, в то время как у памяти DDR4 — 12000-25000МБ/с).

Использование RAM диска целесообразно в системах с избытком оперативной памяти. На таком RAM диске можно размещать кэш и временные файлы приложений/системы, временные базы SQL, тем самым можно добиться существенного увеличения производительности приложений.

В операционной системе Windows отсутствуют встроенные средства создания RAM-дисков, поэтому в этих целях приходится использовать сторонние программы (AMD RAMDisk, ImDisk, PassMark OSFMount, StarWind RAM Disk и т.д.).

Однако в Windows Server вы можете создать RAM диск и без использования сторонних программ. Для этого можно воспользоваться драйвером iSCSI.

В первую очередь на сервере нужно установить компонент iSCSI Target Server (входит в состав роли File and Storage Services).

Если у вас включен файервол Windows, необходимо разрешить трафик для службы iSCSI Service.

Чтобы разрешить трафик на loopback интерфейс для iSCSI, нужно в ветке реестра HKLM\Software\Microsoft\iSCSI Target изменить значение DWORD параметра AllowLoopBack на 1. Можно изменить ключ реестра из PowerShell одной командой:

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

Теперь откройте консоль PowerShell и создайте виртуальный RAM диск размером 5 Гб командой:

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

Теперь нужно создать iSCSI таргет:

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

Подключим RAM диск в созданный iSCSI таргет

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

Теперь нужно запустить консоль iSCSI Initiator через Server Manager

-5

На вкладке Targets укажите IP адрес вашего сервера, нажмите Quick Connect и подключите ваш iSCSI таргет.

-6

Теперь откройте консоль управления дисками и проверьте, что у вас появился новый диск размером 5 Гб. Это и есть тот самый RAM диск. Инициализируйте, разметьте и отформатируйте данный диск. Назначьте ему букву диска.

-7

Теперь вы можете перенести необходимые файлы на RAM диск и перенастроить ПО на использование данного диска.

-8

После перезагрузки сервера RAM диск удаляется (вместе со всем содержимым) и его нужно пересоздавать заново.

В некоторых сторонних программах для создания RAM дисков есть возможность сохранения данных RAM диска в файл на жестком диске. После перезагрузки системы данные извлекаются и помещаются на RAM диск.

Как создать RAM диск в оперативной памяти Windows? | Windows для системных администраторов