GNU/Linux >> Znalost Linux >  >> Linux

Připojení více img souborů jako zařízení s jednou smyčkou

Nemyslím si, že to můžete udělat na místě, ale pokud máte dostatek místa, mělo by to fungovat:

# Create the files that will hold your data
dd if=/dev/zero of=part-00 bs=1M count=4k
dd if=/dev/zero of=part-01 bs=1M count=4k

# Create the loop devices
losetup /dev/loop0 part-00
losetup /dev/loop1 part-01

# Create a RAID array
mdadm --create /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1

# Copy the original filesystem
dd if=original-file-00 of=/dev/md0 bs=512
# Look at the records written value
dd if=original-file-01 of=/dev/md0 bs=512 seek=<sum of records written values so far>

# Mount the new filesystem
mount /dev/md0 /mnt

Nemůžete jednoduše vytvořit pole RAID z původních souborů, protože disky RAID mají specifickou hlavičku, kde je uložen počet disků, úroveň pole RAID atd. Pokud to uděláte, část vašich původních souborů bude přepsána.

Můžete použít mdadm --build vytvořit pole bez metadat, ale pak byste měli nejprve vytvořit zálohu. Nebo pokud stačí připojení pouze pro čtení:

losetup -r /dev/loop0 original-00
losetup -r /dev/loop1 original-11
mdadm --build /dev/md0 --level=linear --raid-devices=2 /dev/loop0 /dev/loop1
mount /dev/md0 /mnt

Proč to chcete udělat? Pokud váš souborový systém nezvládá>4GB soubory, měli byste prostě přejít na rozumný.


Pro připojení obrazu rozděleného disku (nebo obrazu oddílu) byste měli použít affuse z afftools, které jsou aktuálně spravovány zde:https://github.com/sshock/AFFLIBv3

Pokud tedy máte soubor, rozdělte jej do několika podsouborů test_img.000, test_img.001, test_img.002, test_img.003, test_img.004, test_img.005, test_img.006, test_img.007, test_img.008, test_img.009

pak se k nim můžete virtuálně připojit pomocí affuse

# affuse test_img.000 /mnt/combine
# ls -lh /mnt/combine
total 0
-r--r--r-- 1 root root 2.0G 1969-12-31 16:00 test_img.000.raw

(toto sloučí všechny soubory počínaje souborem 000, poté 001, 002, …)

A poté připojte obraz

mount -o ro,loop,offset=329043456 /mnt/combine/test_img.000.raw /mnt/test

Použití je popsáno zde a několik příkladů zde. Manuálová stránka je také dostupná po zkompilování a instalaci nebo zde.

PS:Za mě affuse fungovalo pouze v případě, že rozdělené soubory měly velikost, která byla násobkem 512 bajtů.


Linux
  1. Importujte více souborů SQL do MySQL

  2. Jak přejmenovat více souborů v jediném příkazu nebo skriptu v systému Unix?

  3. Dd:Více vstupních souborů?

  1. Jak vytvořit virtuální blokové zařízení (smyčkové zařízení/systém souborů) v Linuxu

  2. Více knihoven glibc na jednom hostiteli

  3. Zařízení s trvalou smyčkou?

  1. Rozdělte obrázek dd do více souborů

  2. Co je smyčkové zařízení při montáži?

  3. Jak přejmenovat více souborů v jednom příkazu nebo skriptu v Unixu?