GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un ramdisk Linux di dimensioni fisse che non si scambia mai su disco?

Questo è solo un pensiero e ha più di uno svantaggio, ma potrebbe comunque essere abbastanza utilizzabile.

Che ne dici di creare un file immagine e un filesystem al suo interno sopra ramfs, quindi montare l'immagine come dispositivo loop? In questo modo puoi limitare la dimensione del ramdisk semplicemente limitando la dimensione del file immagine. Ad esempio:

$ mkdir -p /ram/{ram,loop}
$ mount -t ramfs none /ram/ram
$ dd if=/dev/zero of=/ram/ram/image bs=2M count=1
1+0 records in
1+0 records out
2097152 bytes (2.1 MB) copied, 0.00372456 s, 563 MB/s
$ mke2fs /ram/ram/image
mke2fs 1.42 (29-Nov-2011)
/ram/ram/image is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
256 inodes, 2048 blocks
102 blocks (4.98%) reserved for the super user
First data block=1
Maximum filesystem blocks=2097152
1 block group
8192 blocks per group, 8192 fragments per group
256 inodes per group

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done
$ mount -o loop /ram/ram/image /ram/loop
$ dd if=/dev/zero of=/ram/loop/test bs=1M count=5
dd: writing `/ram/loop/test': No space left on device
2+0 records in
1+0 records out
2027520 bytes (2.0 MB) copied, 0.00853692 s, 238 MB/s
$ ls -l /ram/loop
total 2001
drwx------ 2 root root   12288 Jan 27 17:12 lost+found
-rw-r--r-- 1 root root 2027520 Jan 27 17:13 test

Nell'esempio (un po' troppo lungo) sopra il file immagine viene creato per essere di 2 megabyte e quando si tenta di scrivere più di 2 megabyte su di esso, la scrittura semplicemente fallisce perché il filesystem è pieno.

Un ovvio ridimensionamento di tutto questo è ovviamente che c'è molta complessità aggiunta, ma almeno per scopi accademici questo dovrebbe essere sufficiente.


Linux
  1. Come creare un filesystem su una partizione Linux o un volume logico

  2. Come creare snapshot del filesystem utilizzando Snapper Command su Linux

  3. Come creare filesystem ZFS con compressione file su Linux

  4. Come determinare quale processo sta scrivendo su disco in Linux

  5. Come creare un file con una determinata dimensione in Linux?

Come creare e utilizzare file di scambio su Linux

Come crittografare il filesystem di root su Linux

Come formattare le partizioni del disco su Linux

Come creare partizioni del disco su Linux

Come funziona la memoria di scambio in Linux?

Come controllare la dimensione di file e directory su Linux