I've some software that wants access to a very fast disk. I could buy an SSD, but my server has approx 64GB of ram spare. Is it possible to use a portion of that unused RAM to create and mount a virtual disk?
I'm using either Ubuntu or CentOS.
Tmpfs might help:
mount -t tmpfs -osize=4g tmpfs /mountpoint
You'll lose whatever is there if you reboot, though. It may be okay for temporary files, but it is not a replacement for an SSD.
Any unused RAM will be automatically allocated for caching reads / buffering writes - and you get the added advantage that its automatically flushed to disk. Certainly there will be times (e.g. after a reboot) when the cache might benefit from being primed - but that's just a matter of reading all the files.
You could probably use /dev/shm
for this, as long as the files saved are temporary. Ubuntu apparently auto-mounts this filesystem. See this superuser question.
Alternatively you can create a custom ramdisk this way:
mount -t tmpfs -o size=SIZE tmpfs /where/to/mount
As SIZE
you can specify either a size in K, M or G or a percentage of physical RAM (ie size=50%
).