In this post I'll be only talking about diffrent types of filesystem operations associated to zones.
Before we start I would like reiterate - Zones are cool and dynamic !!!
So let's start with -
Adding UFS filesystem to Non-Global Zone
____________________________________
global # zonecfg -z zone1
zonecfg:zone1> add fs
zonecfg:zone1:fs> set dir=/u01
zonecfg:zone1:fs> set special=/dev/md/dsk/d100
zonecfg:zone1:fs> set raw=/dev/md/rdsk/d100
zonecfg:zone1:fs> set type=ufs
zonecfg:zone1:fs> add options [nodevices,logging]
zonecfg:zone1:fs> end
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit
Adding ZFS filesystem/dataset/Volume to Non-Global Zone
__________________________________________________
Points to ponder before associating ZFS datasets with zones -
- Can add a ZFS file system or a clone to a non-global zone with or without delegating administrative control.
- Can add a ZFS volume as a device to non-global zones.
- Cannot associate ZFS snapshots with zones
- A ZFS file system that is added to a non-global zone must have its mountpoint property set to legacy. If the filesystem is created in the global zone and added to the local zone via zonecfg, it may be assigned to more than one zone unless the mountpoint is set to legacy.
global # zonecfg -z zone1
zonecfg:zone1> add fs
zonecfg:zone1:fs> set type=zfs
zonecfg:zone1:fs> set special=dpool/oradata-u01
zonecfg:zone1:fs> set dir=/u01
zonecfg:zone1:fs> end
zonecfg:zone1> verify
zonecfg:zone1> commit
Adding ZFS filesystem via lofs filesystem
__________________________________________
In a order to use lofs, actual zfs filesystem should be mounted in global zone.
global # zonecfg -z zone1
zonecfg:zone1> add fs
zonecfg:zone1:fs> set special=dpool/oradata-u01
zonecfg:zone1:fs> set dir=/u01
zonecfg:zone1:fs> set type=lofs
zonecfg:zone1:fs> end
zonecfg:zone1> verify
zonecfg:zone1> commit
global # mkdir -p /zoneroot/zone1/root/u01
global # mount -F lofs /rpool/oradata-u01 /zoneroot/zone1/root/u01
global # zlogin zone1 df -h /u01
Filesystem size used avail capacity Mounted on
/oradata-u01 3G 21K 3G 1% /u01
global # mount -F lofs /rpool/oradata-u01 /zoneroot/zone1/root/u01
global # zlogin zone1 df -h /u01
Filesystem size used avail capacity Mounted on
/oradata-u01 3G 21K 3G 1% /u01
Delegating Datasets to a Non-Global Zone
_________________________________________
global # zonecfg -z zone1
zonecfg:zone1> add dataset
zonecfg:zone1:dataset> set name=dpool/oradata-u01
zonecfg:zone1:dataset> set alias=oradata-pool
zonecfg:zone1:dataset> end
Within the zone1 zone, this file system is not accessible as dpool/oradata-u01, but as a virtual pool named oradata-pool. The zone administrator is able to set properties on the dataset, as well as create children. It allows the zone administrator to take snapshots, create clones, and otherwise control the entire namespace below the added dataset.
Adding ZFS Volumes to a Non-Global Zone
________________________________________
global # zonecfg -z zone1
zonecfg:zone1> add device
zonecfg:zone1:device> set match=/dev/zvol/dsk/dpool/oradata/u01
zonecfg:zone1:device> end
Adding VxVM filesystem to Non-Global Zone
___________________________________________
global # zonecfg -z zone1
zonecfg:zone11> add fs
zonecfg:zone1:fs> set type=vxfs
zonecfg:zone1:fs> set special=/dev/vx/dsk/oradg/u01
zonecfg:zone1:fs> set raw=/dev/vx/rdsk/oradg/u01
zonecfg:zone1:fs> set dir=/u01
zonecfg:zone1:fs> end
zonecfg:zone1> commit
zonecfg:zone1> verify
zonecfg:zone1> exit
Create & Add UFS filesystem on VxVM volume
___________________________________________
global # vxassist -g zone1_dg make home-ora1-zone1 1g
global # mkfs -F ufs /dev/vx/rdsk/zone1_dg/home-ora1-zone1 2097152
NOTE: 2097152 is sector size.
global # mount -F ufs /dev/vx/dsk/zone1_dg/home-ora1-zone1 /zones/zone1/root/home/oradata/ora1
=========================================================================
Adding the filesystem to Non-Global Zone
____________________________________
global # zonecfg -z zone1
zonecfg:zone1> add fs
zonecfg:zone1:fs> set type=ufs
zonecfg:zone1:fs> set special=/dev/vx/dsk/zone1_dg/home-ora1-zone1
zonecfg:zone1:fs> set raw=/dev/vx/rdsk/zone1_dg/home-ora1-zone1
zonecfg:zone1:fs> set dir=/zones/zone1/root/home/oradata/ora1
zonecfg:zone1:fs> end
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit
global # zlogin zone1 df -k | ora1
/home/oradata/ora1 986095 1041 886445 1% /home/oradata/ora1
Adding raw device to Non-Global Zone
______________________________________
global # zonecfg -z zone1
zonecfg:zone1> add device
zonecfg:zone1:device> set match=/dev/rdsk/c3t60050768018A8023B8000000000000F0d0s0
zonecfg:zone1:device> end
zonecfg:zone1>exit
Ideally we need to reboot non-global zone in order to see added raw device however there is a hack available to do it dynamically. See - Dynamically-adding-raw-device-to-Non-global-zone
Well, this is it. Hope this helps to our community friends for their day to day work!
BTW, In India it's a festive season, Diwali celebration time!!!!
So all my friends - Wish you & you’re your family a very happy, prosperous & safe Diwali.
Enjoy !!!!
Dynamically-adding-raw-device-to-Non-global-zone is not available...
ReplyDeleteI think this article makes a lot of assumptions. Could you please explain the directories you are using for arguments to set special, set raw, set dir? I don't have a /u01, /dev/md/dsk/d100, etc on my server.
ReplyDeleteVfumilctiv-ro Napoleon Breen https://marketplace.visualstudio.com/items?itemName=artaporshi.Ohm-Studio-gratuita-2022
ReplyDeletebipocuti
0alactishi Megan Schmidt click
ReplyDeleteclick here
click here
click
keigiheatlong
OdemelYse_su1993 Penny Brooks program
ReplyDeleteprograms
install
odadntegmye
Wconsrusviozu1978 Joseph Deniro Click
ReplyDeleteThere
apcetabvi