Ramdisk, e' un driver del kernel Solaris, per creare block o raw devices in RAM. Con ramdiskadm e' possibile creare e distruggere ramdisks. Notare che per la creazione del ramdisk la RAM necessaria deve essere disponibile, pena messaggio d'errore e mancata creazione:
# vmstatCreiamo:
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m4 m5 in sy cs us sy id
0 0 0 23058496 7046264 0 1 0 0 0 0 0 0 12 0 0 371 156 432 0 0 99
# ramdiskadm -a ramb 8g
ramdiskadm: couldn't create ramdisk "ramb": Resource temporarily unavailable
# ramdiskadm -a rama 1gCi possiamo fare piu' o meno quello che ci pare; creiamoci su un normalissimo filesystem UFS:
/dev/ramdisk/rama
# ls -la /dev/ramdisk/rama
lrwxrwxrwx 1 root root 38 Aug 14 22:13 /dev/ramdisk/rama -> ../../devices/pseudo/ramdisk@1024:rama
1 # ls -la /dev/rramdisk/rama
lrwxrwxrwx 1 root root 42 Aug 14 22:13 /dev/rramdisk/rama -> ../../devices/pseudo/ramdisk@1024:rama,raw
# newfs /dev/rramdisk/ramaMontiamolo:
/dev/rramdisk/rama: Unable to find Media type. Proceeding with system determined parameters.
newfs: construct a new file system /dev/rramdisk/rama: (y/n)? y
/dev/rramdisk/rama: 2097000 sectors in 3495 cylinders of 1 tracks, 600 sectors
1023.9MB in 219 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
2006432, 2016032, 2025632, 2035232, 2044832, 2054432, 2064032, 2073632,
2083232, 2092832
# mount /dev/ramdisk/rama /mntCreiamo un file e compariamo i tempi di creazione con quelli di un file identico creato su hard disk SAS:
# df -n|grep "^/mnt"
/mnt : ufs
*ramdisk ufsLa differenza nei tempi di creazione tra un disco interno al server SAS e il ramdisk e' ovviamente enorme; interessante vedere come sia necessario lo stesso tempo per la creazione del file su una lun residente su array FC, che fa il suo buon uso della sua cache.
# time mkfile 700m /mnt/700mega
real 0m5.368s
user 0m0.091s
sys 0m5.272s
*SAS interno ufs
# time mkfile 700m /FS/700mega
real 0m12.301s
user 0m0.081s
sys 0m2.907s
*FC array qfs
# time mkfile 700m /qfs_di_prova/700mega
real 0m5.866s
user 0m0.074s
sys 0m3.973s
Va bene! Gli usi possibili di un ramdisk sono tra i piu' disparati, diamoci da fare!
Nessun commento:
Posta un commento