Unfortunately I cannot use the latest version of libguestfs therefore I am stuck with the 1.20 since the newest versions need augeas 1.0.0 where debian wheezy has only 0.7 in it’s repository. But I will try to compile the ocaml 4.01 and see what is the result. Keresztes Péter-Zoltán zozo@z0z0.tk I haven’t lost my mind, I know exactly where I left it. On 01 Jul 2014, at 18:19, Richard W.M. Jones <rjones@redhat.com> wrote:> On Tue, Jul 01, 2014 at 05:17:04PM +0300, Keresztes Péter-Zoltán wrote: >> Hello, >> >> I have an issue with virt-resize on the newest version of proxmox which is running on debian wheezy. >> when I run the virt-resize on a windows 2008 qemu image I got an error. Here is the last part of the debug message: >> >> Copying /dev/sda1 ... >> libguestfs: trace: copy_device_to_device "/dev/sda1" "/dev/sdb1" "size:32210026496" >> 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00 >> libguestfs: trace: copy_device_to_device = 0 >> libguestfs: trace: part_set_bootable "/dev/sdb" 1 true >> libguestfs: trace: part_set_bootable = 0 >> libguestfs: trace: part_set_mbr_id "/dev/sdb" 1 7 >> libguestfs: trace: part_set_mbr_id = 0 >> libguestfs: trace: shutdown >> libguestfs: trace: internal_autosync >> libguestfs: trace: internal_autosync = 0 >> libguestfs: trace: shutdown = 0 >> libguestfs: trace: close >> libguestfs: trace: add_drive "vm-2000-disk-1.qcow2.out" "readonly:false" >> libguestfs: trace: add_drive = 0 >> libguestfs: trace: launch >> libguestfs: trace: get_tmpdir >> libguestfs: trace: get_tmpdir = "/tmp" >> libguestfs: trace: get_cachedir >> libguestfs: trace: get_cachedir = "/var/tmp" >> 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00 >> libguestfs: trace: launch = 0 >> Expanding /dev/sda1 using the 'ntfsresize' method ... >> libguestfs: trace: ntfsresize "/dev/sda1" "force:false" >> libguestfs: trace: ntfsresize = -1 (error) >> Fatal error: exception Guestfs.Error("ntfsresize: /dev/sda1: ") > > The `ntfsresize' tool is broken somehow, or it is possible that the > underlying first partition on the disk is broken. Unfortunately the > error message got truncated somehow. > > To find out more, set the following environment variable before > running virt-resize: > > export LIBGUESTFS_DEBUG=1 > > This will display the complete output from ntfsresize, to stdout & > stderr, and should hopefully give you more information. > > Another thing you can try is: > > virt-rescue --ro -a vm-2000-disk-1.qcow2.out >> <fs> ntfsresize --check /dev/sda1 > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > virt-p2v converts physical machines to virtual machines. Boot with a > live CD or over the network (PXE) and turn machines into KVM guests. > http://libguestfs.org/virt-v2v
On Tue, Jul 01, 2014 at 07:01:43PM +0300, Keresztes Péter-Zoltán wrote:> Unfortunately I cannot use the latest version of libguestfs therefore I am stuck with the 1.20 since the newest versions need augeas 1.0.0 where debian wheezy has only 0.7 in it’s repository. But I will try to compile the ocaml 4.01 and see what is the result.You shouldn't need to compile or upgrade anything. The commands below will work with the 1.20 version.> > The `ntfsresize' tool is broken somehow, or it is possible that the > > underlying first partition on the disk is broken. Unfortunately the > > error message got truncated somehow. > > > > To find out more, set the following environment variable before > > running virt-resize: > > > > export LIBGUESTFS_DEBUG=1 > > > > This will display the complete output from ntfsresize, to stdout & > > stderr, and should hopefully give you more information. > > > > Another thing you can try is: > > > > virt-rescue --ro -a vm-2000-disk-1.qcow2.out > >> <fs> ntfsresize --check /dev/sda1Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
[Let's keep everything on the mailing list] On Tue, Jul 01, 2014 at 08:37:39PM +0300, Keresztes Péter-Zoltán wrote:> Hi, I have run the command with virt-rescue and after getting lots of error I get a prompt where I enter the ntfsresize —check /dev/sda1 and I get the following: > > I have no name!@(none):/# ntfsresize --check /dev/sda1 > ntfsresize v2012.1.15AR.5 (libntfs-3g) > I have no name!@(none):/#For comparison, here is the output using ntfs-3g-2014.2.15-1.fc20.x86_64: $ guestfish -N fs:ntfs exit $ virt-rescue --ro -a test1.img [...] ><rescue> ntfsresize --check /dev/sda1 ntfsresize v2014.2.15 (libntfs-3g) ><rescue> So that's basically the same as your output, and indicates that the ntfsresize command itself is working. Now you should try actually resizing the partition in virt-rescue. Since it is inside ``virt-rescue --ro'' it won't actually alter the disk image -- the ``--ro'' flag means that libguestfs puts a protective overlay between the commands in the rescue shell and the underlying disk image. Here is what happens for me: ><rescue> ntfsresize /dev/sda1 ntfsresize v2014.2.15 (libntfs-3g) Device name : /dev/sda1 NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 104727040 bytes (105 MB) Current device size: 104727040 bytes (105 MB) New volume size : 104727040 bytes (105 MB) Nothing to do: NTFS volume size is already OK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top
OK, that seam to work however it is not exactly the correct solution for me since I need to make it one command to be able to call it from an API I have no name!@(none):/# ntfsresize /dev/sda1 ntfsresize v2012.1.15AR.5 (libntfs-3g) ERROR: Volume is scheduled for check. Run chkdsk /f and please try again, or see option -f. I have no name!@(none):/# chkdsk /f bash: chkdsk: command not found I have no name!@(none):/# I have no name!@(none):/# ntfsresize -f /dev/sda1 ntfsresize v2012.1.15AR.5 (libntfs-3g) Device name : /dev/sda1 NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 21472604672 bytes (21473 MB) Current device size: 32210026496 bytes (32211 MB) New volume size : 32210022912 bytes (32211 MB) Checking filesystem consistency ... 100.00 percent completed Accounting clusters ... Space in use : 9815 MB (45.7%) Collecting resizing constraints ... WARNING: Every sanity check passed and only the dangerous operations left. Make sure that important data has been backed up! Power outage or computer crash may result major data loss! Are you sure you want to proceed (y/[n])? y Schedule chkdsk for NTFS consistency check at Windows boot time ... Resetting $LogFile ... (this might take a while) Updating $BadClust file ... Updating $Bitmap file ... Updating Boot record ... Syncing device ... Successfully resized NTFS on device '/dev/sda1'. Keresztes Péter-Zoltán zozo@z0z0.tk I haven’t lost my mind, I know exactly where I left it. On 01 Jul 2014, at 20:45, Richard W.M. Jones <rjones@redhat.com> wrote:> [Let's keep everything on the mailing list] > > On Tue, Jul 01, 2014 at 08:37:39PM +0300, Keresztes Péter-Zoltán wrote: >> Hi, I have run the command with virt-rescue and after getting lots of error I get a prompt where I enter the ntfsresize —check /dev/sda1 and I get the following: >> >> I have no name!@(none):/# ntfsresize --check /dev/sda1 >> ntfsresize v2012.1.15AR.5 (libntfs-3g) >> I have no name!@(none):/# > > For comparison, here is the output using ntfs-3g-2014.2.15-1.fc20.x86_64: > > $ guestfish -N fs:ntfs exit > $ virt-rescue --ro -a test1.img > [...] >> <rescue> ntfsresize --check /dev/sda1 > ntfsresize v2014.2.15 (libntfs-3g) >> <rescue> > > So that's basically the same as your output, and indicates that > the ntfsresize command itself is working. > > Now you should try actually resizing the partition in virt-rescue. > Since it is inside ``virt-rescue --ro'' it won't actually alter the > disk image -- the ``--ro'' flag means that libguestfs puts a > protective overlay between the commands in the rescue shell and the > underlying disk image. > > Here is what happens for me: > >> <rescue> ntfsresize /dev/sda1 > ntfsresize v2014.2.15 (libntfs-3g) > Device name : /dev/sda1 > NTFS volume version: 3.1 > Cluster size : 4096 bytes > Current volume size: 104727040 bytes (105 MB) > Current device size: 104727040 bytes (105 MB) > New volume size : 104727040 bytes (105 MB) > Nothing to do: NTFS volume size is already OK. > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > virt-top is 'top' for virtual machines. Tiny program with many > powerful monitoring features, net stats, disk stats, logging, etc. > http://people.redhat.com/~rjones/virt-top