Не секрет, что виртуальный диск размещенный в памяти иногда очень и очень выручает в трудных ситуациях. В ОС FreeBSD такие штуки делаются с помощью mdconfig, а вот в Linux... Оказалось, совсем не так. Возникла в общем ситуация, когда web-программистам понадобился сервер с быстрым-быстрым диском. Memcache само собой был, но вот еще и диск хотелось попользовать. На серваке сначала стоял CentOS, но его зависимости в виде ImageMagick-GnomeLibs, x64_86 - i386 меня давно раздражали, я разозлился и поставил Debian - там кривизны намного меньше. Впрочем, это всё лирика - RAM диск делается одинаково и там и там. Сейчас сделаем в Ubuntu. Сначала - прописываем /boot/grub/menu.lst - опцию ядра. Ядро кстати, и по умолчанию создает ram-девайсы вида /dev/ram0, /dev/ram1, но размеры этих девайсов достаточно маленькие. Мы будем делать диск в памяти размером 1G (на сервере их все равно 16G). root (hd0,0) kernel /kernel-name root=/dev/mapper/VolGroup-VolRoot ro quiet splash ramdisk_size=1048576 initrd /image-name Дальше - всего 1 шаг. В стартовый скрипт включаем инициализацию и разметку диска, а также его монтирование к нужной папке. У меня стартовый скрипт называется /etc/rc.local, но это не важно: # RAMDISK /sbin/mke2fs -q -m 5 -b 1024 /dev/ram0 1048576 /bin/mount -t tmpfs /dev/ram0 /ram -o size=1g,rw /bin/chown user:user /ram /bin/chmod 0755 /ram Теперь где были косяки. Когда я не указывал размер блока -b 1024 ... 1048576 и размер диска size, то у меня всегда RAM-диск приобретал объем в 4G. 4G было жалко - пришлось покопаться в мануалах и заставить RAM выдавать правильные размеры. Еще момент. Читаем /usr/src/linux/Documentation/filesystems/. Оказывается - tmpfs может быть сброшена в swap, если памяти кому-то не хватит. Обнаруживаем - вместо tmpfs можно использовать ramfs с небольшими модификациями - ее в своп не сбросишь: mount -t ramfs -o maxsize=256M none /mnt Бонусы (у себя я сделал все-таки tmpfs). Мои SATA-вины в RAID5 с кешированием показывают около 150Мб/сек реальной скорости чтения. А RAM-диск показывает 1Гб/ сек реальной скорости записи (!). Т.е. бонусы есть. Осталось только правильно ими воспользоваться.
Linux/Windows Справочник v0.05 © 2007-2025 Igor Salnikov aka SunDoctor