Tuesday 30 May 2017

AIX WPAR tips and tricks

AIX WPAR tips and tricks


Here’s some handy tips and tricks for managing WPARs in your AIX environment.

  1. How to share a global file system with a WPAR.

- In the Global.

root@750lpar11]/ # uname -W
0

- Global File System that you want to share with the WPAR (750wpar2).

[root@750lpar11]/ # df -g /cg
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/cglv          1.98      0.30   85%       64     1% /cg

[root@750lpar11]/ # lswpar
Name      State  Type  Hostname  Directory        RootVG WPAR
--------------------------------------------------------------
750wpar1  A      S     750wpar1  /wpars/750wpar1  yes
750wpar2  A      S     750wpar2  /wpars/750wpar2  yes

- Create "namefs" file system from the Global. /cg file system will be mounted under /stuff in the WPAR.

[root@750lpar11]/ # crfs -v namefs -A yes -d /cg -m /wpars/750wpar2/stuff -u 750wpar2

[root@750lpar11]/ # lsfs /wpars/750wpar2/stuff
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/cg             --         /wpars/750wpar2/stuff  namefs --      --         no   no

root@750lpar11]/ # grep -p /wpars/750wpar2/stuff /etc/filesystems
/wpars/750wpar2/stuff:
        dev             = /cg
        vfs             = namefs
        mount           = true
        type            = 750wpar2
        account         = false

- Mount the file system, in the Global.

[root@750lpar11]/ # mount /wpars/750wpar2/stuff

root@750lpar11]/ # mount | grep stuff
         /cg              /wpars/750wpar2/stuff namefs Jun 23 10:27 rw

- In the WPAR.

[root@750wpar2]/stuff # uname -W
8
[root@750wpar2]/stuff # df -g /stuff
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
Global             1.98      0.30   85%       64     1% /stuff

  1. Don't remove the ipv6 address from the global LPAR or else you may not be able to start your WPARs.

[root@gibopvc1]/ # chdev -l lo0 -a netaddr6=''
lo0 changed

[root@gibopvc1]/ # stopwpar -Fv p8wpar1
Stopping workload partition 'p8wpar1'.
Stopping workload partition subsystem 'cor_p8wpar1'.
0513-044 The cor_p8wpar1 Subsystem was requested to stop.
Shutting down all workload partition processes.
WPAR='p8wpar1' CID=1
sysV mq ID=2097153 key=0x4107001c uid=0 gid=9
sysV sem ID=5242893 key=0x62023457 uid=0 gid=0
Unmounting all workload partition file systems.
Umounting '/wpars/p8wpar1/etc/objrepos/wboot'.
Umounting '/wpars/p8wpar1/opt'.
Umounting '/wpars/p8wpar1/usr'.
Umounting '/wpars/p8wpar1'.
Return Status = SUCCESS.
[root@gibopvc1]/ #

[root@gibopvc1]/ # startwpar -v p8wpar1
Starting workload partition 'p8wpar1'.
Mounting all workload partition file systems.
Mounting '/wpars/p8wpar1'.
Mounting '/wpars/p8wpar1/etc/objrepos/wboot'.
Mounting '/wpars/p8wpar1/opt'.
Mounting '/wpars/p8wpar1/usr'.
Loading workload partition.
startwpar: 0960-231 ATTENTION: '/usr/lib/wpars/loadwpar' failed with return code 13.
startwpar: 0960-244 Error loading workload partition.
Unmounting all workload partition file systems.
Umounting '/wpars/p8wpar1/usr'.
Umounting '/wpars/p8wpar1/opt'.
Umounting '/wpars/p8wpar1/etc/objrepos/wboot'.
Umounting '/wpars/p8wpar1'.
Return Status = FAILURE.
[root@gibopvc1]/ #

[root@gibopvc1]/ # chdev -l lo0 -a netaddr6='::1'
lo0 changed
[root@gibopvc1]/ #
[root@gibopvc1]/ #
[root@gibopvc1]/ # startwpar -v p8wpar1
Starting workload partition 'p8wpar1'.
Mounting all workload partition file systems.
Mounting '/wpars/p8wpar1'.
Mounting '/wpars/p8wpar1/etc/objrepos/wboot'.
Mounting '/wpars/p8wpar1/opt'.
Mounting '/wpars/p8wpar1/usr'.
Loading workload partition.
en1 net default: gateway 10.1.1.10
Exporting workload partition devices.
Exporting workload partition kernel extensions.
Starting workload partition subsystem 'cor_p8wpar1'.
0513-059 The cor_p8wpar1 Subsystem has been started. Subsystem PID is 9896106.
Verifying workload partition startup.
Return Status = SUCCESS.
[root@gibopvc1]/ #

  1. Follow this procedure if you are unable to clogin to a WPAR because root logins are not allowed.

[root@750lpar11]/ GLOBAL # uname -W
0

[root@750lpar11]/ GLOBAL # clogin 750wpar1
Remote logins are not allowed for this account.

[root@750lpar11]/ GLOBAL # chroot /wpars/750wpar1 /usr/bin/ksh
750lpar11 : / # chuser rlogin=true root
750lpar11 : / # exit

[root@750lpar11]/ GLOBAL # clogin 750wpar1
750wpar1 : / # oslevel -s
5300-12-09-1341
750wpar1 : / # uname -W
4

  1. How back up your WPAR to a NIM master.

Backing up WPAR to NIM master over NFS mounted file system.
--------------------------------------------------------------------------------------

[root@750lpar11]/ GLOBAL # mount nimmast:/export/images/wpars /mnt
[root@750lpar11]/ GLOBAL # savewpar -if /mnt/750wpar1-savewpar-image
Creating information file (/image.data) for 750wpar1-savewpar-image.
Creating list of files to back up
Backing up 92766 files......................
92766 of 92766 files backed up (100%)
0512-038 savewpar: Backup Completed Successfully.

############################################################################

Backing up WPAR with NIM.
--------------------------------------
On the NIM master, check the Global LPAR is already configured as a NIM client.

# nim -o showlog 750lpar11
BEGIN:Thu Jan 30 17:25:47 2014:013017254714
Command line is:
/usr/sbin/installp -acNgXY -e /var/adm/ras/nim.installp -f \
/tmp/.workdir.12583118.12255434_1/.genlib.installp.list.12255434-d \
/tmp/_nim_dir_11862198/mnt0
+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
...etc...
Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
openssh.man.en_US           6.0.0.6100      USR         APPLY       SUCCESS

END:Thu Jan 30 17:25:51 2014:013017255114

# lsnim -l 750lpar11
750lpar11:
   class          = machines
   type           = standalone
   connect        = nimsh
   platform       = chrp
   netboot_kernel = 64
   if1            = 10_1_50 750lpar11 FAFAC00EF002
   cable_type1    = N/A
   Cstate         = ready for a NIM operation
   prev_state     = not running
   Mstate         = currently running
   cpuid          = 00F603CD4C00
   Cstate_result  = success

Check that the WPAR hostname/IP can be resolved from the NIM master.

# host 750wpar2
750wpar2 is 10.1.50.44

# host 10.1.50.44
750wpar2 is 10.1.50.44

Define the WPAR in the NIM database. Where 750lpar11 is the Global partition NIM client name and 750wpar2 is the WPAR name.

# nim -o define -t wpar -a mgmt_profile1="750lpar11 750wpar2" -a if1="find_net 750wpar2 0" 750wpar2

Verify that the NIM master can now query the status of the WPAR.

# nim -o lswpar 750wpar2
Name      State  Type  Hostname  Directory        RootVG WPAR
--------------------------------------------------------------
750wpar2  A      S     750wpar2  /wpars/750wpar2  yes

# lsnim -l 750lpar11
750lpar11:
   class          = machines
   type           = standalone
   connect        = nimsh
   platform       = chrp
   netboot_kernel = 64
   if1            = 10_1_50 750lpar11 FAFAC00EF002
   cable_type1    = N/A
   Cstate         = ready for a NIM operation
   prev_state     = not running
   Mstate         = currently running
   cpuid          = 00F603CD4C00
   Cstate_result  = success
   manages        = 750wpar2

# lsnim -l 750wpar2
750wpar2:
   class         = machines
   type          = wpar
   connect       = shell
   platform      = chrp
   if1           = 10_1_50 750wpar2 0
   mgmt_profile1 = 750lpar11 750wpar2
   Cstate        = ready for a NIM operation
   prev_state    = managed system defined but not yet created
   Mstate        = currently running

Backup the WPAR from the NIM master.

# nim -o define -t savewpar -a server=master -a location=/export/mksysb/cg/750wpar2-savewpar-image -a source=750wpar2 -a mk_image=yes 750wpar2-savewpar-image

Creating list of files to back up.
.
Backing up 64560 files..........

64560 of 64560 files (100%)
0512-038 savewpar: Backup Completed Successfully.
  

  1. Moving a Rootvg Versioned Workload Partition (VWPAR) to Another Disk

"I tested in the lab, for a versioned wpar you can use it more like a regular LPAR - extend a disk into rootvg, mirror on it, unmirror from the old one, reduce out and rmdev.  No bosboot or bootlist needed.  There is no bootset in a versioned wpar for some reason.”

Example -  5.3 versioned wpar, rootvg with rootvg on hdisk11 from global env.

global environment:
 
add a new disk (hdisk10) to the vwpar:

# chwpar -D devname=hdisk10 rootvg=yes 53rvg

chwpar: 0960-721 The workload partition's rootvg must be extended with the new disk(s). Please run extendvg inside the workload partition prior to stopping or rebooting it.


In the versioned wpar:

# clogin 53rvg
# cfgmgr
# extendvg rootvg hdisk1
# mirrorvg rootvg hdisk1
# unmirrorvg rootvg hdisk0
# reducevg rootvg hdisk0
# rmdev -dl hdisk0
# exit (go back to global env)


Now in the global deallocate the old rootvg disk.

# chwpar -K -D devname=hdisk11 53rvg

Now you can shut down and start the wpar, it will boot from the other disk.

# stopwpar 53rvg
# startwpar 53rvg


Apparently bootset commands don't work with a versioned rootvg wpar:

# lswpar -Br 53rvg
Name   Device Name      Virtual Device  RootVG  Bootset
--------------------------------------------------------

# chwpar -B devname=hdisk10 rootvg=yes 53rvg

chwpar: 0960-808 Cannot add bootsets to versioned workload partitions.
 

6.Moving a Rootvg Workload Partition (WPAR) to Another Disk

Technote (FAQ)

Question
I have a rootvg WPAR that is on one disk, is there a method to move it to a new disk?

Answer
There may be an occasion where you have created a rootvg WPAR on a specific disk and you want to move the entire WPAR to another disk. One example might be that the original disk is from an older storage enclosure, and you wish to move the WPAR to newly purchased storage, connected to the system.

You can do this by means of an alternate bootset. Similar to how using the alt_disk_copy command in a global LPAR will create a copy of rootvg on another disk, an alternate bootset is a copy of a WPAR's rootvg on another disk.

The example in this technote will use a rootvg wpar that is on a single disk (hdisk11), and has private /opt and /usr filesystems (AKA a "detached" WPAR). This was initially created using these options:

# mkwpar -D devname=hdisk11 rootvg=yes -l -n rootvgwpar
# startwpar rootvgwpar 


1. List the bootsets for the rootvg WPAR (-Br) we are interested in:

# lswpar -Br rootvgwpar
Name     Device Name    Virtual Device  RootVG  Bootset
-------------------------------------------------------------
rootvgwpar  hdisk11      hdisk0      yes   0 


So we can see that hdisk11 is being used for the rootvg in the WPAR, as internal hdisk0.

2a. Now we allocate a new unused disk to the WPAR, and set a bootset on it in the same action:

# chwpar -B devname=hdisk9 rootvgwpar
Creating a bootset for WPAR rootvgwpar. Please wait... 


After this is finished we can see that a new bootset has been created on hdisk9:

# lswpar -Br rootvgwpar
Name     Device Name    Virtual Device  RootVG  Bootset
-------------------------------------------------------------
rootvgwpar  hdisk9      hdisk1      no   
1
rootvgwpar  hdisk11      hdisk0      yes   0 

2b. If we log in to the WPAR we'll see a rootvg and an alternate rootvg:

# clogin rootvgwpar

# lspv
hdisk0     c7a96733e1ebfc      rootvg      active
hdisk1     c7a9673433f0a7      altvg.1 


3. From the global environment again, we can set the bootlist for the WPAR to boot from the bootset on the new disk:

# chwpar -b bootlist=1 rootvgwpar
check that it was set properly:

# lswpar -b rootvgwpar
Name     Bootlist
---------------------
rootvgwpar
ف

4. Reboot the wpar on the new bootset.

# rebootwpar rootvgwpar

Stopping workload partition rootvgwpar.
Stopping workload partition subsystem cor_rootvgwpar.
0513-044 The cor_rootvgwpar Subsystem was requested to stop.
stopwpar: 0960-261 Waiting up to 600 seconds for workload partition to halt.
Shutting down all workload partition processes.
Unmounting all workload partition file systems.

Starting workload partition rootvgwpar.
Mounting all workload partition file systems.
Loading workload partition.
Exporting workload partition devices.
Exporting workload partition kernel extensions.
Starting workload partition subsystem cor_rootvgwpar.
0513-059 The cor_rootvgwpar Subsystem has been started. Subsystem PID is 8323226.
Verifying workload partition startup.


If we look at the bootsets we'll see that the 2nd disk now has rootvg officially on it:

# lswpar -Br rootvgwpar
Name     Device Name    Virtual Device  RootVG  Bootset
-------------------------------------------------------------
rootvgwpar  hdisk9      hdisk0      yes  
1
rootvgwpar  hdisk11      hdisk1      no   ـ

That bootset also believes hdisk9 is "hdisk0" for it, and the other disk is hdisk1. Notice the bootset ID has not changed, bootset 0 is still on (global) disk hdisk11 and bootset 1 on (global) disk hdisk9.

If we log into the WPAR we can see this:

# lspv
hdisk0     c7a9673433f0a7      rootvg      active
hdisk1     c7a96733e1ebfc      altvg.0 


The volume group "altvg.0" is our original rootvg.

5. At this point if everything is looking good, we can remove the original bootset from the global environment:

# chwpar -K -B bootset=0 rootvgwpar

# lswpar -Br rootvgwpar
Name     Device Name    Virtual Device  RootVG  Bootset
-------------------------------------------------------------
rootvgwpar  hdisk9      hdisk0      yes   1


# lswpar -D rootvgwpar | grep disk
rootvgwpar  disk   hdisk9      yes   EXPORTED
rootvgwpar  disk   hdisk11      no    EXPORTED


6. Now we can remove the original rootvg disk:

# chwpar -K -D devname=hdisk11 rootvgwpar 

7. Remember to run cfgmgr to put the disk in an Available state again so it can be used by another WPAR or volume group:

# lsdev -xc disk -l hdisk11
hdisk11 Defined 00-01-02 MPIO IBM 2076 FC Disk

# cfgmgr

# lsdev -xc disk -l hdisk11
hdisk11 Available 00-01-02 MPIO IBM 2076 FC Disk


No comments:

Post a Comment