[OmniOS-discuss] mountpoint on the parent pool

Dirk Willems dirk.willems at exitas.be
Sun Feb 12 15:08:11 UTC 2017


Hi Jim,


Thank you for your feedback and your thoughs, I make some test for 
clarifying my experience ...


*_On Solaris 11_*

root at soledg14:~# zpool create -O mountpoint=none -O compression=lz4 
Testpool c0t60060160F4D0320042F89EFA1FF1E611d0

root at soledg14:~# zpool list
Testpool            49.8G   122K  49.7G 0%  1.00x  ONLINE  -
rpool                278G  83.7G   194G  30%  1.00x  ONLINE  -

root at soledg14:~# zfs list
Testpool 143K  49.0G    31K  none
Testpool/TestZones                                31K  49.0G 31K  /TestZones

root at soledg14:~# zoneadm list -civ
  - TestZone         configured  /TestZones/TestZone solaris    excl

root at soledg14:~# zoneadm -z TestZone install
The following ZFS file system(s) have been created:
     Testpool/TestZones/TestZone
Progress being logged to 
/var/log/zones/zoneadm.20170212T140109Z.TestZone.install
        Image: Preparing at /TestZones/TestZone/root.

  Install Log: /system/volatile/install.16565/install_log
  AI Manifest: /tmp/manifest.xml.vvcbTb
   SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
     Zonename: TestZone
Installation: Starting ...

         Creating IPS image
Startup linked: 1/1 done
         Installing packages from:
             solaris
                 origin: http://oracle-oem-oc-mgmt-ops-proxy-edg:8002/IPS/
             cacao
                 origin: http://oracle-oem-oc-mgmt-ops-proxy-edg:8002/IPS/
             mp-re
                 origin: http://oracle-oem-oc-mgmt-ops-proxy-edg:8002/IPS/
             opscenter
                 origin: http://oracle-oem-oc-mgmt-ops-proxy-edg:8002/IPS/
DOWNLOAD                                PKGS         FILES    XFER 
(MB)   SPEED
Completed                            285/285   55878/55878 479.8/479.8  
5.9M/s

PHASE                                          ITEMS
Installing new actions                   73669/73669
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           4/4
Installation: Succeeded

         Note: Man pages can be obtained by installing pkg:/system/manual

  done.

         Done: Installation completed in 221.859 seconds.


   Next Steps: Boot the zone, then log into the zone console (zlogin -C)

               to complete the configuration process.

Log saved in non-global zone as 
/TestZones/TestZone/root/var/log/zones/zoneadm.20170212T140109Z.TestZone.install


root at soledg14:~# zfs list
Testpool 932M  48.1G    31K  none
Testpool/TestZones                                   931M 48.1G    32K  
/TestZones
Testpool/TestZones/TestZone                          931M 48.1G    32K  
/TestZones/TestZone
Testpool/TestZones/TestZone/rpool                    931M 48.1G    31K  
/rpool
Testpool/TestZones/TestZone/rpool/ROOT               931M 48.1G    31K  
legacy
Testpool/TestZones/TestZone/rpool/ROOT/solaris       931M  48.1G 847M  
/TestZones/TestZone/root
Testpool/TestZones/TestZone/rpool/ROOT/solaris/var  84.3M  48.1G 83.4M  
/TestZones/TestZone/root/var
Testpool/TestZones/TestZone/rpool/VARSHARE            31K 48.1G    31K  
/var/share
Testpool/TestZones/TestZone/rpool/export              62K 48.1G    31K  
/export
Testpool/TestZones/TestZone/rpool/export/home         31K 48.1G    31K  
/export/home


So on Solaris 11 it allow you to install a zone even if the parent 
mountpoint = none


*_Did also some test on OmniOS_*

root at OmniOS:/root# zfs list
NAME                                         USED  AVAIL  REFER MOUNTPOINT
DATA 435G   774G    23K  /LXZones
DATA/Backup                                  432G   774G   432G /Backup
DATA/LXMatterMost                            408M   774G   347M 
/LXZones/LXMatterMost
DATA/Zones2                                 2,13G   774G    23K /Zones2
DATA/Zones2/NGINX                            959M   774G    24K 
/Zones2/NGINX
DATA/Zones2/NGINX/ROOT                       959M   774G    23K legacy
DATA/Zones2/NGINX/ROOT/export                 71K   774G    23K /export
DATA/Zones2/NGINX/ROOT/export/home            48K   774G    23K /export/home
DATA/Zones2/NGINX/ROOT/export/home/witte      25K   774G    25K 
/export/home/witte
DATA/Zones2/NGINX/ROOT/zbe                   959M   774G   959M legacy
DATA/Zones2/Percona                         1,19G   774G    24K 
/Zones2/Percona
DATA/Zones2/Percona/ROOT                    1,19G   774G    23K legacy
DATA/Zones2/Percona/ROOT/export               71K   774G    23K /export
DATA/Zones2/Percona/ROOT/export/home          48K   774G    23K /export/home
DATA/Zones2/Percona/ROOT/export/home/witte    25K   774G    25K 
/export/home/witte
DATA/Zones2/Percona/ROOT/zbe                1,19G   774G  1,19G legacy


root at OmniOS:/root# zfs set mountpoint=none DATA
root at OmniOS:/root# zfs list
NAME                                         USED  AVAIL  REFER MOUNTPOINT
DATA 435G   774G    23K  none
DATA/Backup                                  432G   774G   432G /Backup
DATA/LXMatterMost                            408M   774G   347M none
DATA/Zones2                                 2,13G   774G    23K /Zones2
DATA/Zones2/NGINX                            959M   774G    24K 
/Zones2/NGINX
DATA/Zones2/NGINX/ROOT                       959M   774G    23K legacy
DATA/Zones2/NGINX/ROOT/export                 71K   774G    23K /export
DATA/Zones2/NGINX/ROOT/export/home            48K   774G    23K /export/home
DATA/Zones2/NGINX/ROOT/export/home/witte      25K   774G    25K 
/export/home/witte
DATA/Zones2/NGINX/ROOT/zbe                   959M   774G   959M legacy
DATA/Zones2/Percona                         1,19G   774G    24K 
/Zones2/Percona
DATA/Zones2/Percona/ROOT                    1,19G   774G    23K legacy
DATA/Zones2/Percona/ROOT/export               71K   774G    23K /export
DATA/Zones2/Percona/ROOT/export/home          48K   774G    23K /export/home
DATA/Zones2/Percona/ROOT/export/home/witte    25K   774G    25K 
/export/home/witte
DATA/Zones2/Percona/ROOT/zbe                1,19G   774G  1,19G legacy

root at OmniOS:/root# zonecfg -z Test
Test: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:Test> create
zonecfg:Test> set zonepath=/Zones2/Test
zonecfg:Test> info
zonecfg:Test> exit
root at OmniOS:/root# zonecfg -z Test info
zonename: Test
zonepath: /Zones2/Test
brand: ipkg
autoboot: false
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
hostid:
fs-allowed:
root at OmniOS:/root#

I'm not making here the filesytem DATA/Zones2/Test !!!!


root at OmniOS:/root# zfs list
NAME                                         USED  AVAIL  REFER MOUNTPOINT
DATA                                         435G   774G    23K none
DATA/Backup                                  432G   774G   432G /Backup
DATA/LXMatterMost                            408M   774G   347M none
DATA/Zones2                                 2,13G   774G    23K /Zones2
DATA/Zones2/NGINX                            959M   774G    24K 
/Zones2/NGINX
DATA/Zones2/NGINX/ROOT                       959M   774G    23K legacy
DATA/Zones2/NGINX/ROOT/export                 71K   774G    23K /export
DATA/Zones2/NGINX/ROOT/export/home            48K   774G    23K /export/home
DATA/Zones2/NGINX/ROOT/export/home/witte      25K   774G    25K 
/export/home/witte
DATA/Zones2/NGINX/ROOT/zbe                   959M   774G   959M legacy
DATA/Zones2/Percona                         1,19G   774G    24K 
/Zones2/Percona
DATA/Zones2/Percona/ROOT                    1,19G   774G    23K legacy
DATA/Zones2/Percona/ROOT/export               71K   774G    23K /export
DATA/Zones2/Percona/ROOT/export/home          48K   774G    23K /export/home
DATA/Zones2/Percona/ROOT/export/home/witte    25K   774G    25K 
/export/home/witte
DATA/Zones2/Percona/ROOT/zbe                1,19G   774G  1,19G legacy

root at OmniOS:/root# zoneadm list -civ
   ID NAME             STATUS     PATH BRAND    IP
    0 global           running    / ipkg     shared
    - DNS              installed  /Zones/DNS lipkg    excl
    - LXDebian8        installed  /Zones/LXDebian8 lx       excl
    - LXMatterMost     installed  /LXZones/LXMatterMost lx       excl
    - Percona          installed  /Zones2/Percona lipkg    excl
    - NGINX            installed  /Zones2/NGINX lipkg    excl
    - Test             configured /Zones2/Test ipkg     shared

root at OmniOS:/root# zoneadm -z Test install
WARNING: zone LXMatterMost is installed, but its zonepath 
/LXZones/LXMatterMost does not exist.
Sanity Check: Looking for 'entire' incorporation.
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
root at OmniOS:/root#

On this point I had to uninstall the LXMatterMost zone because I set the 
mountpoint=none on the DATA pool and the LXMatterMost zone depend on the 
mountpoint=/LXZones of the DATA pool.

Then I also created a filesystem DATA/Zones2/Test


root at OmniOS:/root# zfs create -o mountpoint=/Zones2/Test DATA/Zones2/Test
root at OmniOS:/root# zfs list
NAME                                         USED  AVAIL  REFER MOUNTPOINT
DATA 435G   774G    23K  none
DATA/Backup                                  432G   774G   432G /Backup
DATA/Zones2                                 2,13G   774G    23K /Zones2
DATA/Zones2/NGINX                            959M   774G    24K 
/Zones2/NGINX
DATA/Zones2/NGINX/ROOT                       959M   774G    23K legacy
DATA/Zones2/NGINX/ROOT/export                 71K   774G    23K /export
DATA/Zones2/NGINX/ROOT/export/home            48K   774G    23K /export/home
DATA/Zones2/NGINX/ROOT/export/home/witte      25K   774G    25K 
/export/home/witte
DATA/Zones2/NGINX/ROOT/zbe                   959M   774G   959M legacy
DATA/Zones2/Percona                         1,19G   774G    24K 
/Zones2/Percona
DATA/Zones2/Percona/ROOT                    1,19G   774G    23K legacy
DATA/Zones2/Percona/ROOT/export               71K   774G    23K /export
DATA/Zones2/Percona/ROOT/export/home          48K   774G    23K /export/home
DATA/Zones2/Percona/ROOT/export/home/witte    25K   774G    25K 
/export/home/witte
DATA/Zones2/Percona/ROOT/zbe                1,19G   774G  1,19G legacy
DATA/Zones2/Test 23K   774G    23K  /Zones2/Test


And now it is allowed to install the zone :)


root at OmniOS:/root# zoneadm -z Test install
/Zones2/Test must not be group readable.
/Zones2/Test must not be group executable.
/Zones2/Test must not be world readable.
/Zones2/Test must not be world executable.
/Zones2/Test: changing permissions to 0700.
Sanity Check: Looking for 'entire' incorporation.
        Image: Preparing at /Zones2/Test/root.

    Publisher: Using omnios (http://pkg.omniti.com/omnios/r151020/).
        Cache: Using /var/pkg/publisher.
   Installing: Packages (output follows)
Packages to install: 388
Mediators to change:   1
  Services to change:   5

DOWNLOAD                                PKGS         FILES    XFER 
(MB)   SPEED
Completed                            388/388   37406/37406 
332.0/332.0    0B/s

PHASE                                          ITEMS
Installing new actions                   61025/61025
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done

         Note: Man pages can be obtained by installing pkg:/system/manual
  Postinstall: Copying SMF seed repository ... done.
         Done: Installation completed in 93,895 seconds.

   Next Steps: Boot the zone, then log into the zone console (zlogin -C)
               to complete the configuration process

root at OmniOS:/root# zoneadm -z Test boot; zlogin -C Test
[Connected to zone 'Test' console]
Loading smf(5) service descriptions: 113/113
Hostname: Test

Test console login:

root at OmniOS:/root# zfs list
NAME                                         USED  AVAIL  REFER MOUNTPOINT
DATA 435G   774G    23K  none
DATA/Backup                                  433G   774G   433G /Backup
DATA/Zones2                                 2,66G   774G    24K /Zones2
DATA/Zones2/NGINX                            959M   774G    24K 
/Zones2/NGINX
DATA/Zones2/NGINX/ROOT                       959M   774G    23K legacy
DATA/Zones2/NGINX/ROOT/export                 71K   774G    23K /export
DATA/Zones2/NGINX/ROOT/export/home            48K   774G    23K /export/home
DATA/Zones2/NGINX/ROOT/export/home/witte      25K   774G    25K 
/export/home/witte
DATA/Zones2/NGINX/ROOT/zbe                   959M   774G   959M legacy
DATA/Zones2/Percona                         1,19G   774G    24K 
/Zones2/Percona
DATA/Zones2/Percona/ROOT                    1,19G   774G    23K legacy
DATA/Zones2/Percona/ROOT/export               71K   774G    23K /export
DATA/Zones2/Percona/ROOT/export/home          48K   774G    23K /export/home
DATA/Zones2/Percona/ROOT/export/home/witte    25K   774G    25K 
/export/home/witte
DATA/Zones2/Percona/ROOT/zbe                1,19G   774G  1,19G legacy
DATA/Zones2/Test 540M   774G    23K  /Zones2/Test
DATA/Zones2/Test/ROOT                        540M   774G    23K legacy
DATA/Zones2/Test/ROOT/zbe                    540M   774G   540M legacy

So that's why I ask the question :)

In my opinion we miss some logic in the zoneadm, we don't need to set a 
parent mountpoint like i proof with above example.

Maybe someone can have a look on the code it would be great to fix this, 
if I had the knowledge how to fix it it should be great, but I'm 
unfortunately not so smart and intelligent as you guy's  sorry :(

I wish ;)


Kind Regards,


Dirk


On 10-02-17 22:19, Jim Klimov wrote:
> 9 февраля 2017 г. 18:09:04 CET, Dirk Willems <dirk.willems at exitas.be> пишет:
>> Thanks Dan,
>>
>>
>> I just was wondering about it, because in Solaris it's allowed we do it
>>
>> all the time and it's become a automatic behavior for us, but if we
>> know
>> it we can arrange it like you do.
>>
>>
>> Thanks
>>
>>
>> On 09-02-17 17:41, Dan McDonald wrote:
>>>> On Feb 9, 2017, at 11:28 AM, Dirk Willems <dirk.willems at exitas.be>
>> wrote:
>>>> Hello OmniOS,
>>>>
>>>> Why isn't allowed to install a LX-Zone or Zone if the DATA pool
>> doesn't have a mountpoint on the parent ?
>>>>
>>>> below example doesn't allow you to install a Zone or LX-Zone
>>>>
>>>> root at OmniOS:/root# zfs list
>>>> NAME                           USED  AVAIL  REFER  MOUNTPOINT
>>>> DATA                           432G   777G    23K  none
>>>> DATA/Backup                    432G   777G   432G  /Backup
>>>> DATA/LXZones                    23K   777G    23K  /LXZones
>>>>
>>>>
>>>> below example does allow you to install a Zone or LX-Zone
>>>>
>>>> root at OmniOS:/root# zfs list
>>>> NAME                           USED  AVAIL  REFER  MOUNTPOINT
>>>> DATA                           433G   776G    23K  /LXZones
>>>> DATA/Backup                    432G   776G   432G  /Backup
>>>> DATA/LXMatterMost              229M   776G   228M
>> /LXZones/LXMatterMost
>>>>
>>>> It's kind ignoring because i like to make separated filesystems for
>> having a nice overview :)
>>> All zones (not just LX) need to be a subdirectory of a higher-level
>> ZFS filesystem.  This is so zoneadm(1M) can create the zone root.
>>> bloody(~)[0]% zfs list | grep zones | grep -v zbe
>>> data/zones                              3.90G   509G    23K  /zones
>>> data/zones/lipkg0                       3.14G   509G    24K
>> /zones/lipkg0
>>> data/zones/lipkg0/ROOT                  3.14G   509G    23K  legacy
>>> data/zones/lx0                           465M   509G   465M
>> /zones/lx0
>>> data/zones/lx1                           315M   509G   239M
>> /zones/lx1
>>> bloody(~)[0]%
>>>
>>> My bloody box has zones name per their brand, so you can see what I
>> mean.
>>> Dan
>>>
> Just in case, do you not mistake zone roots here with delegated datasets (e.g. for data or local progs, but with zfs structure managed from inside the zone)? This is indeed usable even from different pools in solaris 10 up to openindiana at least.
> --
> Typos courtesy of K-9 Mail on my Samsung Android

-- 

<http://www.exitas.be/>

	
	

**Dirk Willems* *
System Engineer

	

*+32 (0)3 443 12 38* <tel:003234431238>

	

*dirk.willems at exitas.be* <mailto:dirk.willems at exitas.be>

	

*Veldkant 31 - 2550 Kontich* <https://goo.gl/maps/2fuSkEZe3Lz>

	

*www.exitas.be* <http://www.exitas.be>

*Disclaimer* <http://www.exitas.be/legal/disclaimer/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: exitas_PMS.png
Type: image/png
Size: 8486 bytes
Desc: not available
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gsm.png
Type: image/png
Size: 524 bytes
Desc: not available
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Mail.png
Type: image/png
Size: 791 bytes
Desc: not available
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plaats.png
Type: image/png
Size: 803 bytes
Desc: not available
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: huis.png
Type: image/png
Size: 796 bytes
Desc: not available
URL: <https://omniosce.org/ml-archive/attachments/20170212/9b71c219/attachment-0009.png>


More information about the OmniOS-discuss mailing list