Linux podporuje speciální blokové zařízení zvané smyčkové zařízení, které mapuje normální soubor na virtuální blokové zařízení. To umožňuje, aby byl soubor použit jako „virtuální souborový systém“ uvnitř jiného souboru. S Linuxem je možné vytvořit souborový systém uvnitř jednoho souboru. Tato úložná zařízení jsou dostupná jako soubory zařízení, například /dev/název_zařízení .
Vytvořte soubor
1. Prvním krokem je vytvoření souboru požadované velikosti. Následující příkaz vytvoří soubor o velikosti 1 GB:
# 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. Ověřte velikost souboru, který jste právě vytvořili.
# du -sh loopbackfile.img 1000M loopbackfile.img
Vytvořte zařízení smyčky
1. Dalším krokem je vytvoření smyčkového zařízení se souborem. Použijte příkaz „losetup ” pro vytvoření smyčkového zařízení “loop0”
# losetup -fP loopbackfile.img
Tady,
-f – najít první nepoužívané smyčkové zařízení. Pokud je přítomen argument souboru, použijte toto zařízení. V opačném případě vytiskněte jeho název.
-P – vynutit jádru skenování tabulky oddílů na nově vytvořeném zařízení smyčky.
2. Chcete-li vytisknout zařízení smyčky vygenerované pomocí výše uvedeného příkazu, použijte „losetup -a“.
# losetup -a /dev/loop0: [64769]:4199216 (/root/loopbackfile.img)
Vytvořte souborový systém
1. Nyní vytvoříme souborový systém ext4 na zařízení se zpětnou smyčkou.
# 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
Připojit souborový systém zpětné smyčky
1. Nyní můžeme připojit souborový systém zpětné smyčky do adresáře. Smyčka „-o ” další možnost se používá k připojení souborových systémů zpětné smyčky.
# mkdir /loopfs # mount -o loop /dev/loop0 /loopfs
2. Pomocí níže uvedených příkazů ověřte velikost nového bodu připojení a typ souborového systému.
# 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)
Odstranění smyčkového zařízení
Pokud chcete odstranit nový souborový systém, použijte následující kroky:
1. Odpojte a odstraňte adresář /loopfs
umount /loopfs rmdir /loopfs
2. Odstraňte zařízení zpětné smyčky „loop0“ vytvořené pomocí příkazu „losetup -d“.
# losetup -d /dev/loop0
3. Nakonec odstraňte soubor „/root/loopbackfile.img“ použitý k vytvoření smyčkového zařízení.
# rm /root/loopbackfile.img
Povolit šifrování v souborovém systému smyčky
„losetup“ také umožňuje povolit šifrování dat za účelem získání zašifrovaného souborového systému. Syntaxe pro vytvoření zařízení se šifrovanou smyčkou je zobrazena níže:
# losetup [ -e encryption ] loop_device file
Jsou přijímány následující šifrovací algoritmy:
- ŽÁDNÉ nepoužívat žádné šifrování (výchozí).
- XOR použijte jednoduché šifrování XOR.
- DES použijte šifrování DES.
Šifrování DES je dostupné pouze v případě, že byl do jádra přidán volitelný balíček DES. Šifrování DES používá další počáteční hodnotu, která se používá k ochraně hesel proti útokům ze slovníku.
Maximální povolený počet Lopback zařízení
Při vytváření více než 8 zařízení se zpětnou smyčkou se může zobrazit chybová zpráva „žádné takové zařízení“. To se děje, protože jste omezeni množstvím dostupných smyčkových zařízení. V závislosti na vašem systému přidejte ‘options loop max_loop=X’ do /etc/modprobe.conf na CentOS/RHEL 5 nebo vytvořte nový soubor s názvem disk.conf v adresáři /etc/modprobe.d na CentOS/RHEL 6. (kde X je číslo smyčkového zařízení, které potřebujete).