4 Replies Latest reply: Sep 13, 2012 7:33 PM by 961534 RSS

    ldmp2v prepare coredumps when converting a Solaris 10 system

    961534
      We have a physical Solaris 10 box that we want to convert to a LDOM guest on a Solaris 11 host.

      We are using version 1.3 of the SUNWldmp2v package to do the collection phase on the Solaris 10 host, and version 2.1
      on the control domain target.

      The collection phase completed without error.

      # ldmp2v collect -v -d /mnt/sol10p2v/sol10

      The following files were created:
      manifest ufsdump.0 ufsdump.1 ufsdump.2 ufsdump.3 ufsdump.4 ufsdump.5 ufsdump.6


      During the prepare phase on the target the executable ldmp2v_prepare coredumps:

      root@solvmcd:/rpool/sol10/sol10# ldmp2v prepare -v -b zvol -d /rpool/sol10/sol10 ldg_p2vsol10
      /usr/sbin/ldmp2v: line 635: 6210: Memory fault(coredump)

      Q: Is it possible to use different versions of the ldmp2v tool in the collection and the
      preparation/conversion phase.

      Q: Given that the ldmp2v package installed without problems on both the solaris 10 box
      and the solaris 11 control domain host. Are there any prerequisites that the installer
      doesn't check, but have to be met in order for the ldmp2v process to complete.

      Thank you for taking the time to read this post, any advice is gratefully accepted.


      -------------------------------------------------------------

      This is a stack trace for the coredump:
      root@solvmcd:~# /usr/proc/bin/pstack /system/volatile/core
      core '/system/volatile/core' of 6210: ldmp2v_prepare -v -b zvol -d /rpool/sol10/sol10 ldg_p2vsol10
      ff21c020 strcmp (ffbffae4, 342f0, 20aa8, 32878, 32f00, e) + 160
      00014ad8 setup_vdisks (ffbffb44, ffbffae4, 0, 32f00, 13e00, 1) + 398
      00019bb0 main (7, ffbffc0c, ffbffc2c, 0, 0, ffbffd19) + 988
      000131c8 _start   (0, 0, 0, 0, 0, 0) + 108



      This is the solaris 10 box:
      # uname -a
      SunOS sol10 5.10 Generic sun4u sparc SUNW,Ultra-60
      # cat /etc/release
      Solaris 10 3/05 s10_74L2a SPARC
      Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
      Use is subject to license terms.
      Assembled 22 January 2005

      # pkginfo -l SUNWldmp2v
      PKGINST: SUNWldmp2v
      NAME: Logical Domains P2V tool
      CATEGORY: application
      ARCH: sparc
      VERSION: 1.3,REV=2010.01.07.23.26
      BASEDIR: /
      VENDOR: Sun Microsystems, Inc.
      DESC: Logical Domains (LDoms) Physical to Virtual (P2V) migration tool
      PSTAMP: svlpen-on10-020100107232652
      INSTDATE: Sep 06 2012 16:15
      HOTLINE: Please contact your local service provider
      STATUS: completely installed
      FILES: 18 installed pathnames
      6 shared pathnames
      12 directories
      2 executables
      225 blocks used (approx)


      This is the solaris 11 target control domain:
      root@solvmcd:/tmp# uname -a; cat /etc/release
      SunOS solvmcd 5.11 11.0 sun4v sparc sun4v
      Oracle Solaris 11 11/11 SPARC
      Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
      Assembled 18 October 2011

      root@solvmcd:/tmp# pkginfo -l SUNWldmp2v
      PKGINST: SUNWldmp2v
      NAME: LDoms P2V tool
      CATEGORY: application
      ARCH: sparc.sun4v
      VERSION: 2.1.0.4,REV=2011.10.05.09.22.05
      BASEDIR: /
      VENDOR: Oracle Corporation
      DESC: Oracle VM Server for SPARC - Physical-to-Virtual (P2V) Migration Tool
      INSTDATE: Aug 03 2012 09:28
      HOTLINE: Please contact your local service provider
      STATUS: completely installed

      This is the contents of the /etc/ldmp2v.conf file:
      root@solvmcd:/rpool/sol10/sol10# cat /etc/ldmp2v.conf
      #
      # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
      #

      #
      # ldmp2v.conf - default parameters for the Oracle VM Server for SPARC P2V Tool
      #
      # The P2V tool converts an existing physical system to a virtual system that
      # runs in a logical domain on a SPARC chip multithreading (CMT) system.
      #

      # Virtual switch to use
      VSW="primary-vsw0"

      # Virtual disk service to use
      VDS="primary-vds0"

      # Virtual console concentrator to use
      VCC="primary-vcc0"

      # Location where vdisk backend devices are stored
      BACKEND_PREFIX="rpool"

      # Default backend type: "zvol" or "file".
      BACKEND_TYPE="zvol"

      # Create sparse backend devices: "yes" or "no"
      BACKEND_SPARSE="yes"

      # Timeout for Solaris boot in seconds
      BOOT_TIMEOUT=60
        • 1. Re: ldmp2v prepare coredumps when converting a Solaris 10 system
          menno
          Using different versions for the collect and prepare steps is not recommended and may or may not work (however I believe it is not the cause of your problem). BTW: there is no need to install the ldmp2v package on the source host, copying just the ldmp2v script from the package installed on the target host is sufficient.

          Can you post the generated manifest?
          • 2. Re: ldmp2v prepare coredumps when converting a Solaris 10 system
            961534
            This is the generated manifest:
            ----------------
            root@solvmcd:/rpool/sol10/sol10# cat manifest
            archive_method ufsdump
            cpu 2
            disk 0 /dev/dsk/c0t0d0 17682084
            disk 1 /dev/dsk/c1t1d0 35368272
            disk 2 /dev/dsk/c1t0d0 35368272
            disk 3 /dev/dsk/c1t2d0 143255138
            hostid 80f771cb
            ip 10.102.1.68
            memory 1280
            net 0 hme0 10.102.1.68 8:0:20:f7:71:cb
            nodename sol10
            os_release 5.10
            swap 0 /dev/dsk/c0t0d0s1 1052144
            ufs 0 / /dev/dsk/c0t0d0s0 10579674 2035960 1930164
            ufs 1 /export/home0 /dev/dsk/c1t1d0s4 34821788 8225066 7876850
            ufs 2 /home /dev/dsk/c0t0d0s7 5761718 938790 823556
            ufs 3 /opt /dev/dsk/c1t0d0s5 9111772 805688 714572
            ufs 4 /u02 /dev/dsk/c1t0d0s7 25714696 9717974 9460828
            ufs 5 /u03 /dev/dsk/c1t2d0s4 43031952 5725922 5295604
            ufs 6 /u04 /dev/dsk/c1t2d0s5 71610370 38095562 37379460
            vtoc 0 /dev/dsk/c0t0d0s0 0 2 00 1052163 10747863 11800025
            vtoc 0 /dev/dsk/c0t0d0s1 1 3 01 0 1052163 1052162
            vtoc 0 /dev/dsk/c0t0d0s2 2 5 00 0 17682084 17682083
            vtoc 0 /dev/dsk/c0t0d0s7 7 8 00 11800026 5882058 17682083
            vtoc 1 /dev/dsk/c1t1d0s2 2 5 01 0 35368272 35368271
            vtoc 1 /dev/dsk/c1t1d0s3 3 15 01 0 4712 4711
            vtoc 1 /dev/dsk/c1t1d0s4 4 14 01 4712 35363560 35368271
            vtoc 2 /dev/dsk/c1t0d0s2 2 5 00 0 35368272 35368271
            vtoc 2 /dev/dsk/c1t0d0s5 5 0 00 0 9254368 9254367
            vtoc 2 /dev/dsk/c1t0d0s7 7 8 00 9254368 26113904 35368271
            vtoc 3 /dev/dsk/c1t2d0s0 0 2 00 0 12584802 12584801
            vtoc 3 /dev/dsk/c1t2d0s1 1 3 01 12584802 4194934 16779735
            vtoc 3 /dev/dsk/c1t2d0s2 2 5 01 0 143255138 143255137
            vtoc 3 /dev/dsk/c1t2d0s3 3 8 00 16779736 9998764 26778499
            vtoc 3 /dev/dsk/c1t2d0s4 4 0 00 26778500 43720000 70498499
            vtoc 3 /dev/dsk/c1t2d0s5 5 0 00 70498500 72756638 143255137
            root@solvmcd:/rpool/sol10/sol10#
            --------------------------------------------------------
            • 3. Re: ldmp2v prepare coredumps when converting a Solaris 10 system
              menno
              The problem is actually caused by the mixing of versions. The partition tag for c1t1d0s4 (/export/home0) denotes that slice as the VxVM private region. Support for VxVM was added in 2.0 so the 2.1 ldmp2v ignores that slice since it is a VxVM internal slice that will not have a file system on it and hence it coredumps further on. There is also a slice marked as the VxVM public region (c1t1d0s3) so it seems this system at one time had VxVM on it.

              As a workaround you can change the vtoc entries for these two slices in the manifest so they are interpreted as normal slices by changing the '15' and '14' in the fifth field to '8':

              vtoc 0 /dev/dsk/c0t0d0s7 7 8 00 11800026 5882058 17682083
              vtoc 1 /dev/dsk/c1t1d0s2 2 5 01 0 35368272 35368271
              -vtoc 1 /dev/dsk/c1t1d0s3 3 15 01 0 4712 4711
              -vtoc 1 /dev/dsk/c1t1d0s4 4 14 01 4712 35363560 35368271
              +vtoc 1 /dev/dsk/c1t1d0s3 3 8 01 0 4712 4711
              +vtoc 1 /dev/dsk/c1t1d0s4 4 8 01 4712 35363560 35368271
              vtoc 2 /dev/dsk/c1t0d0s2 2 5 00 0 35368272 35368271
              vtoc 2 /dev/dsk/c1t0d0s5 5 0 00 0 9254368 9254367
              • 4. Re: ldmp2v prepare coredumps when converting a Solaris 10 system
                961534
                Thank you, editing the manifest fixed it:

                Just to be on the safe side I ran the 2.1 version of the ldm2pv script. The archive method changed to flash, but the partition tags didn't change. So I edited the 'manifest' in the way you suggested and executed the 'prepare' phase. It ran to completion.

                Yes, you're right, at some point in the murky past we experimented with Veritas volumemanagement. <speculation> When we reclaimed the slices, the old Veritas tags must've been left behind </speculation>

                Thanks again for your help.


                -------------------------------------------------------------------------
                root@solvmcd:/rpool/sol10/sol10# ldmp2v prepare -v -b zvol -d /rpool/sol10/sol10 ldg_p2vsol10
                NOTICE: the size of the / file system will be increased to 10240 MB
                Creating vdisks ...
                Resizing partitions ...
                Partition(s) on disk /dev/dsk/c0t0d0 were resized, adjusting disksize ...
                Creating vdisk ldg_p2vsol10-disk0 ...
                Creating volume ldg_p2vsol10-vol0@primary-vds0 (14125 MB)...
                Creating vdisk ldg_p2vsol10-disk1 ...
                Creating volume ldg_p2vsol10-vol1@primary-vds0 (17769 MB)...
                Creating vdisk ldg_p2vsol10-disk2 ...
                Creating volume ldg_p2vsol10-vol2@primary-vds0 (17769 MB)...
                Creating vdisk ldg_p2vsol10-disk3 ...
                Creating volume ldg_p2vsol10-vol3@primary-vds0 (70448 MB)...
                Creating VTOC on /dev/rdsk/c8d0s2 (disk0) ...
                Creating VTOC on /dev/rdsk/c8d1s2 (disk1) ...
                Creating VTOC on /dev/rdsk/c8d2s2 (disk2) ...
                Creating VTOC on /dev/rdsk/c8d3s2 (disk3) ...
                Creating file systems ...
                Creating UFS file system on /dev/rdsk/c8d0s0 ...
                Creating UFS file system on /dev/rdsk/c8d1s4 ...
                Creating UFS file system on /dev/rdsk/c8d0s7 ...
                Creating UFS file system on /dev/rdsk/c8d2s5 ...
                Creating UFS file system on /dev/rdsk/c8d2s7 ...
                Creating UFS file system on /dev/rdsk/c8d3s4 ...
                Creating UFS file system on /dev/rdsk/c8d3s5 ...
                Populating file systems ...
                Extracting Flash archive /rpool/sol10/sol10/sol10.flar to /var/run/ldmp2v/ldg_p2vsol10 ...
                124624838 blocks
                Modifying guest OS image ...
                Modifying /etc/vfstab ...
                Modifying network interfaces ...
                Modifying /devices ...
                Modifying /dev ...
                Creating disk device links ...
                Cleaning /var/fm/fmd ...
                Modifying platform specific services ...
                Modifying /etc/path_to_inst ...
                Unmounting file systems ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/u04 ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/u03 ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/u02 ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/opt ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/home ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10/export/home0 ...
                Unmounting /var/run/ldmp2v/ldg_p2vsol10 ...
                Creating domain ...
                Attaching vdisks to domain ldg_p2vsol10 ...
                Attaching volume ldg_p2vsol10-vol0@primary-vds0 as vdisk disk0 ...
                Attaching volume ldg_p2vsol10-vol1@primary-vds0 as vdisk disk1 ...
                Attaching volume ldg_p2vsol10-vol2@primary-vds0 as vdisk disk2 ...
                Attaching volume ldg_p2vsol10-vol3@primary-vds0 as vdisk disk3 ...
                Setting boot-device to disk0:a



                ---------
                archive_method flash
                cpu 2
                disk 0 /dev/dsk/c0t0d0 17682084
                disk 1 /dev/dsk/c1t1d0 35368272
                disk 2 /dev/dsk/c1t0d0 35368272
                disk 3 /dev/dsk/c1t2d0 143255138
                hostid 80f771cb
                ip 10.102.1.68
                memory 1280
                net 0 hme0 10.102.1.68 8:0:20:f7:71:cb
                nodename sol10
                os_release 5.10
                swap 0 /dev/dsk/c0t0d0s1 1052144
                ufs 0 / /dev/dsk/c0t0d0s0 10579674 2036432 1930636
                ufs 1 /export/home0 /dev/dsk/c1t1d0s4 34821788 8963816 8615600
                ufs 2 /home /dev/dsk/c0t0d0s7 5761718 938790 823556
                ufs 3 /opt /dev/dsk/c1t0d0s5 9111772 805688 714572
                ufs 4 /u02 /dev/dsk/c1t0d0s7 25714696 9717974 9460828
                ufs 5 /u03 /dev/dsk/c1t2d0s4 43031952 5725922 5295604
                ufs 6 /u04 /dev/dsk/c1t2d0s5 71610370 38095562 37379460
                vtoc 0 /dev/dsk/c0t0d0s0 0 2 00 1052163 10747863 11800025
                vtoc 0 /dev/dsk/c0t0d0s1 1 3 01 0 1052163 1052162
                vtoc 0 /dev/dsk/c0t0d0s2 2 5 00 0 17682084 17682083
                vtoc 0 /dev/dsk/c0t0d0s7 7 8 00 11800026 5882058 17682083
                vtoc 1 /dev/dsk/c1t1d0s2 2 5 01 0 35368272 35368271
                vtoc 1 /dev/dsk/c1t1d0s3 3 15 01 0 4712 4711
                vtoc 1 /dev/dsk/c1t1d0s4 4 14 01 4712 35363560 35368271
                vtoc 2 /dev/dsk/c1t0d0s2 2 5 00 0 35368272 35368271
                vtoc 2 /dev/dsk/c1t0d0s5 5 0 00 0 9254368 9254367
                vtoc 2 /dev/dsk/c1t0d0s7 7 8 00 9254368 26113904 35368271
                vtoc 3 /dev/dsk/c1t2d0s0 0 2 00 0 12584802 12584801
                vtoc 3 /dev/dsk/c1t2d0s1 1 3 01 12584802 4194934 16779735
                vtoc 3 /dev/dsk/c1t2d0s2 2 5 01 0 143255138 143255137
                vtoc 3 /dev/dsk/c1t2d0s3 3 8 00 16779736 9998764 26778499
                vtoc 3 /dev/dsk/c1t2d0s4 4 0 00 26778500 43720000 70498499
                vtoc 3 /dev/dsk/c1t2d0s5 5 0 00 70498500 72756638 143255137
                --------------------