[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RiminiLUG-General] loop device per LVM o file immagine (da serata XEN)
- To: RiminiLUG - General <riminilug-general@xxxxxxxxxxxx>
- Subject: [RiminiLUG-General] loop device per LVM o file immagine (da serata XEN)
- From: Ivan Tarozzi <ivan@xxxxxxxxxxxx>
- Date: Thu, 21 Apr 2011 15:05:31 +0200
- Authentication-results: dtc.neutrino1.xteklabs.com; dkim=pass header.i=@gmail.com; dkim=pass header.i=itarozzi@xxxxxxxxx
- Delivered-to: battarsa@xxxxxxxxxxxx
- Delivered-to: riminilug.it_riminilug_general@xxxxxxxxxxxxxxxxxxxxxxxxx
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed; d=neutrino1.xteklabs.com; h= reply-to:mime-version:sender:date:message-id:subject:from:to :content-type:content-transfer-encoding; s=postfix; bh=pbkEj46tF LzEJORnArKWDHuD1E8=; b=BDB/cyxNwLBP3gQUmvHoSdHSlZq8OR3+/fbyJpQGR K6DOYRIHcIDecQcJ8T/i6frQvN5pfDklw7Eul3/7GtIv34y3+6WBNDLTfGG0BNeM rcKDkVl0ueJI7dnWI3BV1m0dzJqzSX6ofwmNcLqt2C8B33CwtWm/pX6EAKahtE5v xs=
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:date:x-google-sender-auth :message-id:subject:from:to:content-type:content-transfer-encoding; bh=2+KFq9c9Wc3RGZnrOf6NTRWIQBEx7eNMCGm3JeIV6j8=; b=Wp4mlFcws1nqT0E366XpaqH8x/zNeXODoNOQ5jqe5q8av0XIUAkk45U5L1i6RQ1oN7 vwgsqBNHBIn8TUxXPdJzVYOJJl8dJbRNqmldVarLMNXN3hMwg+brTwsy9FVMmMSP3sq9 lz/7Xg/qCCyj99fRVyDXjYhYM3A1VlXwagXms=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; b=v9muOBoCNV2yrp8UoW/Wc+qSviD4BXc51lhU/SpD0xUp0Q2NUcy5J9Le4UX3dHbWwZ kZQtMZtz/WBDTZ8AeIZTfc9fU3Vm2IEZapS4s8goNh0DK27pDH5dlGUCJHRi/XY33exE ulNbJyXn98Q3DUMjOqo1rI7bLyZhe755S8E5w=
- Reply-to: riminilug-general@xxxxxxxxxxxx
- Sender: itarozzi@xxxxxxxxx
Prendendo spunto da un passaggio effettuato da Christian durante la
serata sulla virtualizzazione per approfondire un aspetto:
per chi non era presente rissumo un attimo (spero di non commettere errori):
prendiamo il caso in cui un file immagine o un volume logico contenga
non una singola partizione ma un insieme di partizioni (come ad
esempio avviene installando una macchina virtuale)
Si supponga di dover accedere ai file system in esso contenuti. Il
classico mount come dispositivo di loopback (mount -o loop)
fallirebbe, in quanto il file (o il vol. logico LVM) contiene appunto
più di una partizione (e quindi più di un file system).
Se non ricordo male (e qui Christian o Antonio, che era
particolarmente attento, mi vengano in aiuto) è possibile ovviare al
problema associando un loopback device ad una delle partizioni
contenute nell'iimagine, utilizando il comando losetup con il
parametro offset, e poi eseguire il mopunt di tale loop device così
definito.
Per stabilire quale offset utilizzare si può usare fdisk -l
<file.img>, vedere a quale blocco inizia la partizione la partizione a
cui si vuole accedere e moltiplicare tale numero per la dimensione del
blocco (restituita sempre da fdisk).
Questo mi pare sia stato quello fatto martedì sera da Christian (ho
sbagliato qualcosa?)
Primo dubbio:
c'è differenza ad usare il comando losetup per definire un block
device o ad usare direttamente il comando mount -o loop passando ad
esso il parametro di offset?
Secondo dubbio:
tra i miei spaciughi con xen e immagini virtuali mi sono imbattutto
nel comando 'kpartx'. Se non ho capito male non è un comando legato a
xen ma utilizzabile indipendentemente (?).
Questo comando sembra semplificare la vita in quanto:
eseguo 'kpartx -va <file.img>' e questo mi crea le device maps per le
partizioni trovate in quell'immagine (si veda man kpartx);
a quel punto posso eseguire il mount (senza preoccuparmi dell'offset)
Per sempio:
-------------------------------------------------------
#fdisk -l vm03.img
Disk vm03.img: 8388 MB, 8388608000 bytes
255 heads, 63 sectors/track, 1019 cylinders, total 16384000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00059326
Device Boot Start End Blocks Id System
vm03.img1 * 2048 15611903 7804928 83 Linux
vm03.img2 15613950 16381951 384001 5 Extended
vm03.img5 15613952 16381951 384000 82 Linux swap / Solaris
-------------------------------------------------------
#kpartx -va vm03.img
add map loop0p1 (253:10): 0 15609856 linear /dev/loop0 2048
add map loop0p2 (253:11): 0 768002 linear /dev/loop0 15613950
add map loop0p5 : 0 768000 linear 253:11 2
-------------------------------------------------------
#ls /dev/mapper/
control loop0p2 system-backup system-iso system-swap loop0p1
loop0p5 system-home system-root
-------------------------------------------------------
#mount -o loop /dev/mapper/loop0p1 /mnt/disk
-------------------------------------------------------
alla fine: c'è differenza tra le due modalità (loop con offset vs kpartx)?
Ivan