RAM disk คือดิสก์เสมือนที่สร้างขึ้นในพื้นที่หน่วยความจำ (RAM) ที่ว่างเปล่า ซึ่งระบบปฏิบัติการมองเห็นเป็นดิสก์ฟิสิกัลแยกต่างหาก เนื่องจาก RAM disk จัดเก็บอยู่ใน RAM ที่รวดเร็ว การดำเนินการอ่าน/เขียนบนดิสก์นี้จึงทำงานได้ทันที เร็วกว่าแม้แต่การใช้ SSD (ความเร็วการถ่ายโอนข้อมูลของ SSD ที่มีประสิทธิภาพสูงสุดประมาณ 560 MB/s ในขณะที่หน่วยความจำ DDR4 – 12,000-25,000 MB/s)
แนะนำให้ใช้ RAM disk ในระบบที่มีหน่วยความจำว่างมาก คุณสามารถใช้ RAM disk เพื่อวางแคชหรือไฟล์ชั่วคราวของแอป/ระบบ ฐานข้อมูล SQL ชั่วคราว ดังนั้นคุณสามารถเพิ่มประสิทธิภาพแอปพลิเคชันและฐานข้อมูลได้อย่างมีนัยสำคัญ
ใน Windows OS ไม่มีเครื่องมือรวมสำหรับสร้าง RAM disk ดังนั้นคุณต้องใช้ซอฟต์แวร์ภายนอก (AMD RAMDisk, ImDisk, PassMark OSFMount, StarWind RAM Disk, เป็นต้น)
อย่างไรก็ตาม คุณสามารถสร้าง RAM disk ใน Windows Server โดยไม่ใช้แอปภายนอกใดๆ ได้ โดยใช้ไดรเวอร์ iSCSI
ขั้นแรก ติดตั้งส่วนประกอบ iSCSI Target Server (เป็นส่วนหนึ่งของบทบาท File and Storage Services)
หากคุณเปิดใช้งาน Windows Firewall คุณต้องอนุญาตการจราจร iSCSI Service
เพื่ออนุญาตการจราจรไปยังอินเทอร์เฟซ loopback สำหรับ iSCSI ให้เปลี่ยนค่าพารามิเตอร์ DWORD AllowLoopBack เป็น 1 ในคีย์รีจิสทรี HKLM\Software\Microsoft\iSCSI Target คุณสามารถเปลี่ยนพารามิเตอร์รีจิสทรีจาก PowerShell โดยใช้คำสั่งเดียว:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\iSCSI Target' -Name AllowLoopBack -Value 1

ตอนนี้เปิดคอนโซล PowerShell และสร้าง RAM disk เสมือน 5 GB โดยใช้คำสั่งนี้:
New-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx" -Size 5GB
ตอนนี้คุณต้องสร้าง iSCSI target ที่ชี้ไปยังที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ (ไม่ใช่ localhost!):
New-IscsiServerTarget -TargetName targetRAMDisk -InitiatorIds @("IPAddress:10.1.1.200")
เชื่อมต่อ RAM disk กับ iSCSI target ที่สร้าง:
Add-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"

รันคอนโซลการจัดการ iSCSI Initiator ผ่าน Server Manager
ระบุที่อยู่ IP ของเซิร์ฟเวอร์ของคุณในแท็บ Targets และคลิก Quick Connect เพื่อเพิ่ม iSCSI target ของคุณ

คุณสามารถเชื่อมต่อ iSCSI Target ด้วยคำสั่ง:
Get-IscsiTarget | Connect-IscsiTarget
เปิดคอนโซล Disk Management และตรวจสอบว่าดิสก์ใหม่ 5 GB ปรากฏอยู่ที่นั่น นี่คือ RAM disk ที่เราสร้าง เริ่มต้นดิสก์ สร้างพาร์ติชันและจัดรูปแบบ กำหนดตัวอักษรดิสก์ให้มัน
คุณสามารถเริ่มต้น RAM disk และกำหนดตัวอักษรไดรฟ์โดยใช้ cmdlet PowerShell จากโมดูลจัดการดิสก์และพาร์ติชันที่สร้างใน Storage ด้วย one-liner ต่อไปนี้:
Get-Disk | Where partitionstyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "disk2" -Confirm:$false

ตอนนี้คุณสามารถย้ายไฟล์แอปไปยัง RAM disk และกำหนดค่าโปรแกรมของคุณให้ใช้มัน

หลังจากรีบูทเซิร์ฟเวอร์ RAM disk จะถูกลบพร้อมกับเนื้อหาทั้งหมดและคุณจะต้องสร้างใหม่อีกครั้ง
ซอฟต์แวร์ภายนอกบางส่วนที่สร้าง RAM disk อนุญาตให้บันทึกข้อมูล RAM disk เป็นไฟล์บนฮาร์ดไดรฟ์ของคุณ เมื่อระบบรีสตาร์ท ข้อมูลจะถูกแยกและย้ายไปยัง RAM disk
เพื่อลบ RAM disk ของคุณ ให้ใช้คำสั่งต่อไปนี้:
Remove-IscsiVirtualDiskTargetMapping -TargetName targetRAMDisk -DevicePath "ramdisk:testRAM.vhdx"
Remove-IscsiServerTarget -TargetName targetRAMDisk
Remove-IscsiVirtualDisk -Path "ramdisk:testRAM.vhdx"