GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come creare un dispositivo a blocchi virtuali (dispositivo di loop/filesystem) in Linux

Linux supporta uno speciale dispositivo a blocchi chiamato dispositivo loop, che mappa un file normale su un dispositivo a blocchi virtuale. Ciò consente di utilizzare il file come "file system virtuale" all'interno di un altro file. Con Linux è possibile creare un file system all'interno di un singolo file. Questi dispositivi di archiviazione sono disponibili come file di dispositivo come /dev/device_name .

Crea un file

1. Il primo passo è creare un file della dimensione desiderata. Il comando seguente creerà un file di 1 GB di dimensione:

# dd if=/dev/zero of=loopbackfile.img bs=100M count=10
10+0 records in
10+0 records out
1048576000 bytes (1.0 GB) copied, 1.26748 s, 827 MB/s

2. Verifica la dimensione del file che hai appena creato.

# du -sh loopbackfile.img 
1000M	loopbackfile.img

Crea il dispositivo loop

1. Il passaggio successivo consiste nel creare un dispositivo loop con il file. Utilizzare il comando "perdita ” per creare un dispositivo loop “loop0”

# losetup -fP loopbackfile.img

Ecco,
-f – trova il primo dispositivo loop inutilizzato. Se è presente un argomento file, utilizzare questo dispositivo. In caso contrario, stampane il nome.
-P – forza il kernel a scansionare la tabella delle partizioni sul dispositivo loop appena creato.

2. Per stampare il dispositivo loop generato utilizzando il comando precedente, utilizzare "losetup -a".

# losetup -a
/dev/loop0: [64769]:4199216 (/root/loopbackfile.img)

Crea il filesystem

1. Ora creiamo un filesystem ext4 sul dispositivo di loopback.

# mkfs.ext4 /root/loopbackfile.img 
mke2fs 1.42.9 (28-Dec-2013)
/root/loopbackfile.img is not a block special device.
Proceed anyway? (y,n) y
Discarding device blocks: done                            
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
64000 inodes, 256000 blocks
12800 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=262144000
8 block groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Monta il filesystem di loopback

1. Possiamo ora montare il filesystem di loopback su una directory. Il "-o loop ” un'opzione aggiuntiva viene utilizzata per montare i filesystem di loopback.

# mkdir /loopfs
# mount -o loop /dev/loop0 /loopfs

2. Verifica la dimensione del nuovo punto di montaggio e il tipo di filesystem utilizzando i comandi seguenti.

# df -hP /loopfs/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop1      969M  2.5M  900M   1% /loopfs
# mount | grep loopfs
/dev/loop0 on /loopfs type ext4 (rw,relatime,seclabel,data=ordered)

Rimozione del dispositivo ad anello

Se desideri rimuovere il nuovo filesystem, procedi nel seguente modo:
1. Smonta ed elimina la directory /loopfs

umount /loopfs
rmdir /loopfs

2. Elimina il dispositivo di loopback "loop0" creato utilizzando il comando "losetup -d".

# losetup -d /dev/loop0

3. Infine rimuovere il file “/root/loopbackfile.img” utilizzato per creare il dispositivo loop.

# rm /root/loopbackfile.img

Abilita la crittografia sul filesystem di loop

'losetup' consente anche di abilitare la crittografia dei dati per ottenere un filesystem crittografato. La sintassi per creare un dispositivo loop crittografato è come mostrato di seguito:

# losetup [ -e encryption ] loop_device file

Sono accettati i seguenti algoritmi di crittografia:

  • NESSUNO non utilizzare la crittografia (impostazione predefinita).
  • XOR usa una semplice crittografia XOR.
  • DES usa la crittografia DES.

La crittografia DES è disponibile solo se il pacchetto DES opzionale è stato aggiunto al kernel. La crittografia DES utilizza un valore iniziale aggiuntivo che viene utilizzato per proteggere le password dagli attacchi del dizionario.

Dispositivo Lopback massimo consentito

Potresti ricevere un messaggio di errore "nessun dispositivo di questo tipo" durante la creazione di più di 8 dispositivi di loopback. Ciò accade perché sei limitato dalla quantità di dispositivi loop disponibili. A seconda del tuo sistema, aggiungi 'options loop max_loop=X' a /etc/modprobe.conf su CentOS/RHEL 5 o crea un nuovo file chiamato come disk.conf nella directory /etc/modprobe.d su CentOS/RHEL 6. (Dove X è il numero di dispositivi loop necessari).


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

  2. Come creare un host virtuale Nginx (blocco server)

  3. Come creare partizioni all'interno del dispositivo di loopback

  4. Android - Come posso far rilevare il mio dispositivo da ADB su Linux?

  5. Crea un dispositivo a blocchi nella RAM

Come connettersi tramite Bluetooth in GNOME su Linux

Come monitorare il tuo laptop Linux

Comando Lsblk in Linux (Elenca dispositivi a blocchi)

Come rilevare e gestire i dispositivi su Linux

Come creare un filesystem XFS

Come scrivere su una webcam virtuale in Linux?