Re: [zones-discuss] zone v2v: Solaris 10 - Solaris 11 Express
This looks like a bug to me. In /usr/lib/brand/shared/common.ksh, install_dir() is responsible for the cd find | cpio that you see logged above. 722 list=$(cd $source_dir ls -d * | egrep -v $filt) 723 flist=$(for i in $list 724 do 725 printf %s $i 726 done) 727 findopts=-xdev ( -type d -o -type f -o -type l ) -print 728 729 vlog cd \$source_dir\ find $flist $findopts | 730 vlog cpio $cpioopts \$ZONEROOT\ 731 732 # Ignore errors from cpio since we expect some errors depending on 733 # how the archive was made. 734 ( cd $source_dir find $flist $findopts | \ 735 cpio $cpioopts $ZONEROOT ) 736 The list ($list) generated on line 722 will not include dot files. It should probably look like: list=$(cd $source_dir ls -A | egrep -v $filt) Notice that ls -d * changed to ls -A. I've opened: 7099779 zoneadm attach -d loses dot files in root directory Thanks for the bug report, I've also validated your fix works. -Alex ___ zones-discuss mailing list zones-discuss@opensolaris.org
Re: [zones-discuss] zone v2v: Solaris 10 - Solaris 11 Express
On 10/12/11 09:38 AM, Maidak Alexander J wrote: I took a native zone from Solaris 10 and attempted to v2v migrate it to a Solaris 10 branded zone on Solaris 11 Express 151.0.1.8. I just detached the zone from Solaris 10 and did a zfs send|zfs recv for the zonepath dataset (/s10zone/zonepath) to Solaris 11. I issued: zonecfg -z s10zone create -a /s10zone/zonepath To copy over the zonecfg and then changed the brand from native to solaris10. I then moved the orginal Solaris 10 zonepath to /s10zone/s10zonepath, then I attached the zone with the -d option as follows: root@solaris11:/# zoneadm -z s10zone attach -d /s10zone/s10zonepath/root/ Log File: /var/tmp/s10zone.attach_log.swaW8f Attaching... Attach complete. Log File: /s10zone/zonepath/root/var/log/s10zone.attach2955.log root@solaris11:/# cat /s10zone/zonepath/root/var/log/s10zone.attach2955.log [Tuesday, October 11, 2011 01:39:46 PM CDT] Log File: /var/tmp/s10zone.attach_log.swaW8f [Tuesday, October 11, 2011 01:39:46 PM CDT] Attaching... [Tuesday, October 11, 2011 01:39:46 PM CDT] Sanity Check: Passed. Looks like a Solaris 10 image. [Tuesday, October 11, 2011 01:39:46 PM CDT ] directory [Tuesday, October 11, 2011 01:39:46 PM CDT] [Tuesday, October 11, 2011 01:39:46 PM CDT] cd /s10zone/s10zonepath/root/ find bin etc export home home1 infrtool kernel lib mnt net none opt platform sbin system usr var -xdev ( -type d -o -type f -o -type l ) -print | [Tuesday, October 11, 2011 01:39:46 PM CDT] cpio -pdm /s10zone/zonepath/root cpio: Cannot chown() /s10zone/zonepath/root/etc/globalname, errno 30, Read-only file system cpio: Unable to reset modification time for globalname, errno 30, Read-only file system cpio: Cannot chmod() /s10zone/zonepath/root/etc/globalname, errno 30, Read-only file system 11156672 blocks 3 error(s) [Tuesday, October 11, 2011 01:45:17 PM CDT] Sanity Check: Passed. Looks like a Solaris 10 image. [Tuesday, October 11, 2011 01:45:17 PM CDT] [Tuesday, October 11, 2011 01:45:18 PM CDT] Attach complete. Looked like everything went fine, great... Then I noticed that this cpio + find method did not migrate the . files/directories from the old zone root into the newly created zone root (example: .ssh). Is this a bug, or were my methods defective? Advice on this would be helpful. Have you tried the method documented here? http://download.oracle.com/docs/cd/E19963-01/html/821-1460/gjroc.html I have been using this without any problems for a while to migrate Solaris 10 zones. -- Ian. ___ zones-discuss mailing list zones-discuss@opensolaris.org
Re: [zones-discuss] zone v2v: Solaris 10 - Solaris 11 Express
On Tue 11 Oct 2011 at 03:38PM, Maidak Alexander J wrote: I took a native zone from Solaris 10 and attempted to v2v migrate it to a Solaris 10 branded zone on Solaris 11 Express 151.0.1.8. I just detached the zone from Solaris 10 and did a zfs send|zfs recv for the zonepath dataset (/s10zone/zonepath) to Solaris 11. I issued: zonecfg -z s10zone create -a /s10zone/zonepath To copy over the zonecfg and then changed the brand from native to solaris10. I then moved the orginal Solaris 10 zonepath to /s10zone/s10zonepath, then I attached the zone with the -d option as follows: root@solaris11:/# zoneadm -z s10zone attach -d /s10zone/s10zonepath/root/ Log File: /var/tmp/s10zone.attach_log.swaW8f Attaching... Attach complete. Log File: /s10zone/zonepath/root/var/log/s10zone.attach2955.log root@solaris11:/# cat /s10zone/zonepath/root/var/log/s10zone.attach2955.log [Tuesday, October 11, 2011 01:39:46 PM CDT] Log File: /var/tmp/s10zone.attach_log.swaW8f [Tuesday, October 11, 2011 01:39:46 PM CDT] Attaching... [Tuesday, October 11, 2011 01:39:46 PM CDT] Sanity Check: Passed. Looks like a Solaris 10 image. [Tuesday, October 11, 2011 01:39:46 PM CDT ] directory [Tuesday, October 11, 2011 01:39:46 PM CDT] [Tuesday, October 11, 2011 01:39:46 PM CDT] cd /s10zone/s10zonepath/root/ find bin etc export home home1 infrtool kernel lib mnt net none opt platform sbin system usr var -xdev ( -type d -o -type f -o -type l ) -print | [Tuesday, October 11, 2011 01:39:46 PM CDT] cpio -pdm /s10zone/zonepath/root cpio: Cannot chown() /s10zone/zonepath/root/etc/globalname, errno 30, Read-only file system cpio: Unable to reset modification time for globalname, errno 30, Read-only file system cpio: Cannot chmod() /s10zone/zonepath/root/etc/globalname, errno 30, Read-only file system 11156672 blocks 3 error(s) [Tuesday, October 11, 2011 01:45:17 PM CDT] Sanity Check: Passed. Looks like a Solaris 10 image. [Tuesday, October 11, 2011 01:45:17 PM CDT] [Tuesday, October 11, 2011 01:45:18 PM CDT] Attach complete. Looked like everything went fine, great... Then I noticed that this cpio + find method did not migrate the . files/directories from the old zone root into the newly created zone root (example: .ssh). Is this a bug, or were my methods defective? Advice on this would be helpful. This looks like a bug to me. In /usr/lib/brand/shared/common.ksh, install_dir() is responsible for the cd find | cpio that you see logged above. 722 list=$(cd $source_dir ls -d * | egrep -v $filt) 723 flist=$(for i in $list 724 do 725 printf %s $i 726 done) 727 findopts=-xdev ( -type d -o -type f -o -type l ) -print 728 729 vlog cd \$source_dir\ find $flist $findopts | 730 vlog cpio $cpioopts \$ZONEROOT\ 731 732 # Ignore errors from cpio since we expect some errors depending on 733 # how the archive was made. 734 ( cd $source_dir find $flist $findopts | \ 735 cpio $cpioopts $ZONEROOT ) 736 The list ($list) generated on line 722 will not include dot files. It should probably look like: list=$(cd $source_dir ls -A | egrep -v $filt) Notice that ls -d * changed to ls -A. I've opened: 7099779 zoneadm attach -d loses dot files in root directory -- Mike Gerdts Solaris Core OS / Zones ___ zones-discuss mailing list zones-discuss@opensolaris.org