Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
topics:zfs-on-linux-mount-raw-pool-image [2017/03/25 18:10]
orzfly
topics:zfs-on-linux-mount-raw-pool-image [2017/03/26 05:20] (current)
orzfly
Line 1: Line 1:
 ====== Mount RAW Pool Image with ZFS on Linux ====== ====== Mount RAW Pool Image with ZFS on Linux ======
  
-Suppose you have backed up a ZFS pool with ''dd'' so you want to get some data from ''rpool.img'' now.+Suppose you have backed up a ZFS pool with ''dd'' so you want to get some data from ''rpool.img'' now. Look at [[disk-image-mount-partition]] for more ways to mount patitions.
  
 ===== Mounting ===== ===== Mounting =====
  
-<code shell-session>+  - Mount image as loop device<code>
 # losetup /dev/loop0 rpool.img # losetup /dev/loop0 rpool.img
- +</code> 
-# kpartx -av /dev/loop0 +  List partitions in loop<code>
-add map loop0p1 (252:0): 0 44019712 linear 7:0 2048 +
-add map loop0p9 (252:1): 0 16384 linear 7:0 44021760 +
 # kpartx -l /dev/loop0 # kpartx -l /dev/loop0
 loop0p1 : 0 44019712 /dev/loop0 2048 loop0p1 : 0 44019712 /dev/loop0 2048
 loop0p9 : 0 16384 /dev/loop0 44021760 loop0p9 : 0 16384 /dev/loop0 44021760
 +</code> 
 +  - Create device mappings of partitions<code> 
 +# kpartx -av /dev/loop0 
 +add map loop0p1 (252:0): 0 44019712 linear 7:0 2048 
 +add map loop0p9 (252:1): 0 16384 linear 7:0 44021760 
 +</code> 
 +  - Create mount point<code>
 # mkdir /mnt/misa # mkdir /mnt/misa
 +</code> 
 +  - Try import the ZFS pool, but it will definitely fail because 1) my ''rpool.img'' is readonly 2) ''rpool'' is already used on my system<code>
 # zpool import -R /mnt/misa -d /dev/mapper # zpool import -R /mnt/misa -d /dev/mapper
    pool: rpool    pool: rpool
Line 29: Line 33:
         rpool       ONLINE         rpool       ONLINE
           loop0     ONLINE           loop0     ONLINE
 +</code> 
 +  - With the id from previous result, we can import this pool with a new name ''misa''<code>
 # zpool import -o readonly=on -f -d /dev/mapper 3090542417815288870 misa -R /mnt/misa # zpool import -o readonly=on -f -d /dev/mapper 3090542417815288870 misa -R /mnt/misa
 +</code> 
 +  - Done<code>
 # zpool status # zpool status
   pool: misa   pool: misa
Line 71: Line 77:
  
 ===== Unmounting ===== ===== Unmounting =====
-<code shell-session>+  - Export the pool<code>
 # zpool export misa # zpool export misa
 +</code> 
 +  - Disconnect the device map files using kpartx<code>
 # kpartx -dv /dev/loop0 # kpartx -dv /dev/loop0
 del devmap : loop0p9 del devmap : loop0p9
 del devmap : loop0p1 del devmap : loop0p1
 +</code> 
 +  - Unload loop device<code>
 # losetup -d /dev/loop0 # losetup -d /dev/loop0
 </code> </code>
Line 84: Line 92:
   * https://groups.google.com/forum/#!topic/zfs-fuse/s2njFgkOfhg   * https://groups.google.com/forum/#!topic/zfs-fuse/s2njFgkOfhg
   * http://thegeekdiary.com/solaris-zfs-how-to-import-2-pools-that-have-the-same-names/   * http://thegeekdiary.com/solaris-zfs-how-to-import-2-pools-that-have-the-same-names/
 +  * https://nfolamp.wordpress.com/2010/08/16/mounting-raw-image-files-and-kpartx/
  
-{{tag>zfs zfs-on-linux disk-image kpartx}}+{{tag>zfs zfs-on-linux disk-image kpartx loop}}