summaryrefslogblamecommitdiffstats
path: root/dev_tools/snippets.sh
blob: f99cc361761683a47fbe4d52b4fb1b4ee645e61f (plain) (tree)



















































                                                                    
su nobody -s /bin/bash
yaourt -S multipath-tools
exit

# close running connection
./dnbd3-client -d /dev/dnbd0 -c

# 1. connect to dnbd3 server
cd dnbd3/build
insmod dnbd3.ko
./dnbd3-client -h gateway -i archLinux.qcow2 -d /dev/dnbd0

# 2. make available partition in qemu container
modprobe nbd
qemu-nbd --connect=/dev/nbd0 /dev/dnbd0 --read-only

# 2. make available partition in qemu container (writable)
# qemu-nbd --connect=/dev/nbd0 /dev/dnbd0 --snapshot
# todo where is the cow device?
# todo why does --partition not work?
# todo use qemu-img instead?

# 3. mount container partition
modprobe dm_multipath
kpartx -av /dev/nbd0 # or use fdisk -l and mount offset
mount /dev/mapper/nbd0p2 /mnt/

# 5. cleanup
umount /mnt/
kpartx -d /dev/nbd0
qemu-nbd --disconnect /dev/nbd0


# mount container partition directly
# yaourt -S libguestfs
guestmount -a /dev/dnbd0 -m /dev/sda2 --ro /mnt -v


# make read-only partition writable
mknod -m 660 /dev/ram0 b 1 1
chown root.disk /dev/ram0
DEV=/dev/mapper/nbd0p2
SIZE=`blockdev --getsz $DEV`
dmsetup create sandbox --table "0 $SIZE snapshot $DEV /dev/ram0 N 1"
mount /dev/mapper/sandbox /mnt
umount /mnt
dmsetup remove sandbox


modprobe loop
dd if=/dev/zero of=persistent_storage.img bs=1k count=1000
losetup /dev/loop0 persistent_storage.img