On Fri, Nov 06, 2015 at 04:16:21PM +0300, Maxim Perevedentsev wrote: > Hello everyone! > > I have to implement the functionality of mounting all VM disks/partitions. > > E.g. if a VM has 2 disks of 2 partitions each (I get it from > virt-filesystems), I want to get the following structure on host > node after mount: > mnt/ > ------hdd0/ > -------------volume1/ > -------------volume2/ > ------hdd1/ > -------------volume1/ > -------------volume2/ > > I'd like to use guestmount due to syntax simplicity, but I found out > that it's impossible to call e.g. > guestmount -a disk.qcow2 -m /dev/sda1:/hdd0/volume1 -m > /dev/sda2:/hdd0/volume2 mnt/ > > So I came to only two possible options: > 1) > mkdir -p mnt/hdd0/volume1 > guestmount -a disk.qcow2 -m /dev/sda1 mnt/hdd0/volume1 > .... > (Is it safe to use the same disk from multiple guestmounts?) > > 2) > guestfish -a disk.qcow2 " > run : > mkmountpoint /hdd0 : > mkmountpoint /hdd0/volume1 : > ... : > mount /dev/sda1 /hdd0/volume1 : > ... : > mount-local mnt/ : > mount-local-run" > > kill -TERM `pidof guestfish` > guestunmount mnt/ > > > Is any of these options safe enough/preferred? Or, maybe, other options? > I'd like to avoid guestfs API, threading and so on, and confine > myself to command-line.
The mount-local APIs don't require threads, although they can use them. A Perl script should be fairly simple, and is a lot easier to automate that guestfish and much more flexible than guestmount. Have a look at the attached file. In case it's not clear, you have to do 'guestunmount <MOUNTPOINT>' to exit the main program. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
fs-mount.pl
Description: Perl program
_______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
