» »

[Linux] loop naprava in virtualni disk

[Linux] loop naprava in virtualni disk

poweroff ::

Torej, zadeva je taka: rad bi si naredil eno datoteko, ki bo jo lahko priklopil (mountal) kot virtualno diskovno napravo.

Rečem:
dd if=/dev/zero of=sparsefile.img bs=1 seek=100M count=0

Nato:
mke2fs sparsefile.img

Ter:
sudo mount -o loop sparsefile.img /mnt/

TODA!

Če rečem:
dd if=/dev/zero of=virtual-hd.img bs=1k count=100MB

mi NE naredi 100 Mb velike datoteke, pač pa se le-ta povečuje v neskončnost.

Kje bi bil problem? Uporabljam Ubuntu 7.04...
sudo poweroff
  • spremenilo: CCfly ()

Jean-Paul ::

poskusi tako:
dd if=/dev/zero of=virtual-hd.img bs=1kB count=100kB

LP

poweroff ::

Jup, dela.

Očitno se množi, jaz sem pa glup da nisem pomislil na to. :P

Tnx.

OK, naslednje vprašanje... kako bi gor dodal crypto layer? luksformat ne dela, javi napako.
sudo poweroff

Poldi112 ::

Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

Jean-Paul ::

poglej tale link

vojko20 ::

Drugače pa image lahko narediš tudi z mkisofs.

Brane2 ::

Ni mi jasno, zakaj imaš Byteje v countu. Ta samo pove kolikokrat naj se ponovi "bs" ali blocksize in nima nič z bytei.
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

BigWhale ::

What he said.

BS je block size, to das v bytih, count pa stevilo blokov.

torej za en GB

bs=1GB count=1

?

Quikee ::

sudo mount -o loop sparsefile.img /mnt/
Namesto tega lahko narediš "loop block device" nad datoteko, ki se bo vedel enako kot kateri koli drugi "block device", kar je malo bolj elegantno kot tvoja rešitev. Z "losetup /dev/loopX file" povežeš "loop device" z datoteko - poglej si uporabo "losetup".

Verjetno zato luks ne dela ker rabi "block device" (če se ne motim luks deluje z uporabo device mapperja) in ne mountano loop datoteko.

Brane2 ::

"mount -o loop" naredi to bolj elegantno, vse v enem koraku.

Sam rezervira nov loop, ga zapopana na datoteko in se z druge strani zmounta...
On the journey of life, I chose the psycho path.

Quikee ::

Sam rezervira nov loop, ga zapopana na datoteko in se z druge strani zmounta...

Ja samo "mount -o loop" ti naredi en korak preveč - Ti hočeš preko "block device" torej /dev/loopX naredit en dodaten zakodiran sloj (z device mapperjem) in potem na tega dat "file system". Ali se motim?

Sam sem že z device mapperjem delal ročne "snapshote" in "nepersistentne sloje", enkripcije pa še ne.

Brane2 ::

On je filesistem že dal gor z mke2fs dirrekt na fajl, ki ga je naredil z "dd if=... etc"

"mount -o loop" pa rezervira loop, ga pripopa na ta fajl, drugo stran loopa pa zmounta na zahtevani direktorij, kot bi sicer zmountal navaden blockevice.

Kateri korak naj bi bil tu odvečen ?
On the journey of life, I chose the psycho path.

Quikee ::

Trik je, da luks (kolko jaz vem) ni na nivoju file systema ampak na "vmesnem" blokovnem nivoju in se tudi izvaja nad bloki in ne direktno datotekami.

Torej kako si jaz predstavljam, da takšna enkripcija deluje:
block dev. z zakodiranimi podatki -> vmesni nivo za katerega skrbi device mapper za odkodiranje blokov -> file system
Torej kreira se nekako tole:
/dev/loop0 (zakodirani blokovni podatki) -> /dev/mapper/some_volume (vmesni transparenti nivo, kjer se "on demand" odkodirajo podatki iz "/dev/loop0") -> create/mount file system
Na tak način dosežeš enkripcijo, ki je neodvisna od file systema.

Zdaj pa: kot izvršiš "mount -o loop" popolnoma preskočiš vmesno sekcijo z device mapperjem.

Seveda obstajajo še drugi načini enkripcije, ki so bolj na nivoju samega datotečnega sistema (recimo reiser4 ima že vgrajeno transparentno enkripcijo). Tam bi tvoj način popolnoma zadostoval.

Brane2 ::

Ampak tu tip ni aktiviral enkripcije...
On the journey of life, I chose the psycho path.

Brane2 ::

Kar se Reiserja4 tiče, se ravno sedaj ukvarjam s tem. Rad bi enkriptirane določene stvari na disku, ne pa celotnega diska, da ne bi trpela hitrost prenosa in CPU useage...

Pa je crypto plugin za Reiser4 že končan ?
On the journey of life, I chose the psycho path.

Quikee ::

Ampak tu tip ni aktiviral enkripcije...
Res je.. zdaj vidim, da je spraševal za "crypto layer" kasneje.

Kar se Reiserja4 tiče, se ravno sedaj ukvarjam s tem. Rad bi enkriptirane določene stvari na disku, ne pa celotnega diska, da ne bi trpela hitrost prenosa in CPU useage...
Pa je crypto plugin za Reiser4 že končan ?


Koliko je kaj končano/stabilno pri reiser4 je težko rečt, saj ni nekih rednih informacij o cryptcompress oz. o stanju reiser4 nasplošno (ali pa jaz nisem našel).
Je pa alternativa tudi recimo fuse encfs.. odvisno od tega za kaj točno rabiš.

poweroff ::

V bistvu rabim zadevo točno tako, kot je povedal Quikee. Najprej moram mountati image na loop, potem loop preko cryptsetup na /dev/mapper in potem to napravo na recimo /mnt, gor je pa recimo ext3.

Torej imam:
image.img -> loop device -> crypto device -> filesystem mount point

OK, zdaj sem pa naletel na eno čudno zadevo...

Imam dva kriptirana diska (s cryptsetup).Enega mi normalno automounta, drugega pa ne. Sicer me vpraša za geslo in mi naredi novo napravo na /dev/mapper, venar le-te potem noče mountat na /media. Lahko pa jo ročno mountam na /mnt.

Če rečem:
sudo mount -a

Dobim:
fusermount: mount failed: Device or resource busy
FUSE mount point creation failed
Unmounting /dev/disk/by-uuid/3234D4E934D4B159 ()

Ne vem sicer če ima to kaj veze, ampak sem šel gledat /dev/disk in tole je primerjava med diskom, ki ga automounta in diskom, ki ga ne):

ls -lha /dev/disk/by-label
NOT MOUNTED:
lrwxrwxrwx 1 root root 61 2007-06-14 13:33 USB-crypt320 -> ../../mapper/luks_crypto_699da152-b6e8-447e-bdbc-ec44413b703f
MOUNTED NORMALLY
lrwxrwxrwx 1 root root 61 2007-06-14 13:37 USB-crypt500 -> ../../mapper/luks_crypto_221e9736-353e-4814-8553-1e055d9f635c

ls -lha /dev/disk/by-path
NOT MOUNTED:
lrwxrwxrwx 1 root root 9 2007-06-14 13:33 pci-0000:00:1d.7-usb-0:7:1.0-scsi-0:0:0:0 -> ../../sdc
MOUNTED NORMALLY
lrwxrwxrwx 1 root root 9 2007-06-14 13:37 pci-0000:00:1d.7-usb-0:8:1.0-scsi-0:0:0:0 -> ../../sdd
lrwxrwxrwx 1 root root 10 2007-06-14 13:37 pci-0000:00:1d.7-usb-0:8:1.0-scsi-0:0:0:0-part1 -> ../../sdd1

ls -lha /dev/disk/by-id
NOT MOUNTED:
lrwxrwxrwx 1 root root 9 2007-06-14 13:33 usb-WD_3200JB_External_57442D5743414D5233393538313437-0:0 -> ../../sdc
MOUNTED NORMALLY
lrwxrwxrwx 1 root root 9 2007-06-14 13:37 usb-WD_5000AAJS_Externa_57442D574341505731313439373633-0:0 -> ../../sdd
lrwxrwxrwx 1 root root 10 2007-06-14 13:37 usb-WD_5000AAJS_Externa_57442D574341505731313439373633-0:0-part1 -> ../../sdd1

ls -lha /dev/disk/by-uuid
NOT MOUNTED:
lrwxrwxrwx 1 root root 61 2007-06-14 13:33 a87dcb74-c852-4eb8-bb2c-86a7f4f6221f -> ../../mapper/luks_crypto_699da152-b6e8-447e-bdbc-ec44413b703f
MOUNTED NORMALLY:
lrwxrwxrwx 1 root root 61 2007-06-14 13:37 c58fa8e8-0e9d-41e2-b2bf-7999c54c5a4c -> ../../mapper/luks_crypto_221e9736-353e-4814-8553-1e055d9f635c

Kakšna ideja kaj bi bilo narobe?
sudo poweroff


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Linux Lubuntu - pomoč pri inštalaciji dmsetup

Oddelek: Operacijski sistemi
181933 (1481) diler515
»

Grub Error 15: File not found

Oddelek: Operacijski sistemi
51693 (1635) poweroff
»

[Linux] Tezave z zvocnim cipom

Oddelek: Operacijski sistemi
221840 (1556) MarkoSan
»

[Gentoo] Kernel upgrade (strani: 1 2 )

Oddelek: Operacijski sistemi
674906 (4432) Trubadur
»

mrežna kartica

Oddelek: Omrežja in internet
171423 (1248) ta_pridna

Več podobnih tem