Найти в Дзене

Создание RAM диска на Windows встроенными средствами

Создадим RAM диск на Windows Server 2012 R2. Выделим из оперативки 32 Гб в отдельный диск R. Используем для этого средства Windows через драйвер iSCSI.

Для создания RAM диска нам понадобится оперативка. Вставляем в сервер память или выделяем её виртуальной машине:

-2

Итак, 32 Гб оперативки добавили.

Добавляем серверу роль iSCSI Target Server:

-3

Настраиваем Windows Firewall. Выполняем:

firewall.cpl

Запускается оснастка Windows Firewall. Нажимаем Allow an app or feature through Windows Firewall:

-4

Выбираем iSCSI Service и ставим галки на Domain, Private, Public:

-5

В настройках реестра убеждаемся в наличие значения:

HKLM\Software\Microsoft\iSCSI Target
Value Name: AllowLoopBack
Type: REG_DWORD
Value: 1
-6

Запускаем Powershell и создаём виртуальный диск как Ramdisk:

New-IscsiVirtualDisk -Path "ramdisk:tempdbRAM.vhdx" -Size 32GB
-7

Создаём target iSCSI:

New-IscsiServerTarget -TargetName targetRAM -InitiatorIds @("IPAddress:10.10.30.10")
-8

Я сначала пробовал на 127.0.0.1, но что-то не срослось. Пришлось использовать локальный IP адрес, на нём всё завелось.

Мапим Ramdisk на target iSCSI:

Add-IscsiVirtualDiskTargetMapping -TargetName targetRAM -DevicePath "ramdisk:tempdbRAM.vhdx"
-9

Запускаем консоль Server Manager и кликаем Tools > iSCSI Initiator:

-10

Просят запустить iSCSI сервис, соглашаемся:

-11

Запускается настройка iSCSI Initiator Properties:

-12

Указываем в Target адрес, у меня в коде выше был 10.10.30.10, кликаем Quick Connect.

-13

Login Succeeded. Всё в порядке. В оснастке Disk Management можно увидеть новый диск:

-14

Настроил его как R. 

Тестируем с помощью ATTO Disk Benchmark.

ATTO DIsk Benchmark - тестируем скорость накопителей

-15

И видим засаду — скорось чтения/записи очень мала, по сравнению с RAM диском от WinRamTech Ramdisk Enterprise:

Создание RAM диска на Windows Server 2012 R2 средствами WinRamTech Ramdisk Enterprise

У технологии есть свои плюсы и минусы. Не требуется сторонний софт, можно презентовать диск другому серверу. Но низкая скорость портит всё удовольствие. Возможно, есть способы ускорить, я вникать не стал.

Как всё это разобрать

Удаляем диск, потом:

Remove-IscsiVirtualDiskTargetMapping -TargetName targetRAM -DevicePath "ramdisk:tempdbRAM.vhdx"
Remove-IscsiServerTarget -TargetName targetRAM
Remove-IscsiVirtualDisk -Path "ramdisk:tempdbRAM.vhdx"

Источник:
https://internet-lab.ru/ram_windows

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.