After applying Fix Pack to my VIOS 2.1 server, I thought Id try out the new viosbr command.

$ ioslevel

2.1.2.10-FP-22

The man page for viosbr states that this command can be used to backup and restore the virtual I/O server configuration.

$ man viosbr

viosbr command

Purpose

Performs the operations for backing up the virtual and logical configuration, listing the configuration,

and restoring the configuration of the Virtual I/O Server.

The viosbr command can be run only by the padmin user.

..

First I attempted the -view and -list options and found that the default location for these backup files was in padmins home directory under cfgbackups.

$ viosbr -view -list

/home/padmin/cfgbackups/ not found

From the man page:

-list

This option displays backup files from either the default location /home/padmin/cfgbackups or a user

Specified location.

So I created this directory and ran a viosbr backup.

$ mkdir cfgbackups

$ viosbr -backup -file bvio83_vios_config_bkp

$ viosbr -view -list

bvio83_vios_config_bkp.tar.gz

A tar/gzipped file was created in the cfgbackups directory.

$ ls -ltr cfgbackups

total 8

-rw-r--r-- 1 root staff 2959 Dec 9 09:47 bvio83_vios_config_bkp.tar.gz

This file is in XML format.

$ r oem

oem_setup_env

# set -o vi

# pwd

/home/padmin

# cd cfgbackups

# ls -ltr | tail -1

-rw-r--r-- 1 root staff 2959 Dec 9 09:34 bvio83_vios_config_bkp.tar.gz

$ gzip -d bvio83_vios_config_bkp.tar.gz

$ ls -ltr | tail -1

-rw------- 1 root staff 24576 Dec 09 09:36 bvio83_vios_config_bkp.tar

$ tar -tvf bvio83_vios_config_bkp.tar

-rw-r--r-- 0 1 23021 Dec 09 09:34:07 2009 bvio83_vios_config_bkp

$ tar -xvf bvio83_vios_config_bkp.tar

x bvio83_vios_config_bkp, 23021 bytes, 45 media blocks.

$ vim bvio83_vios_config_bkp

<vios-backup>

<general>

<xml-version>1.0</xml-version>

<xml-ch-date>0</xml-ch-date>

<backUpDate>2009-12-09</backUpDate>

<backUpTime>09:34:03</backUpTime>

<backUpPrPID>389216</backUpPrPID>

<aix-level>6.1.4.0</aix-level>

<vios-level>2.1.2.10-FP-22</vios-level>

<code-list>

src/bos/usr/ccs/lib/libc/__threads_init.c

src/rspc/usr/lib/methods/virtualcfg/virtualcfg.c

src/rspc/usr/lib/methods/virtualcfg/backup.c

src/rspc/usr/lib/methods/virtualcfg/backup_restore_utils.c

src/rspc/usr/lib/methods/virtualcfg/hash_utils.c

src/rspc/usr/lib/methods/virtualcfg/xml_writer.c

src/rspc/usr/lib/methods/virtualcfg/xml_utils.c

src/rspc/usr/lib/methods/virtualcfg/view.c

src/rspc/usr/lib/methods/virtualcfg/saxParser_utils.c

src/rspc/usr/lib/methods/virtualcfg/restore.c

src/rspc/usr/lib/methods/virtualcfg/restore_utils.c

src/rspc/usr/lib/methods/cfg_vt_common/cfg_vtdev_common.c

</code-list>

</general>

<controller>

<name>lhea0</name>

<state>AVAILABLE</state>

<locCode>U78A5.001.WIH074C-P1</locCode>

<unique_type>adapter/chrp/IBM,lhea</unique_type>

<type>LHEA</type>

</controller>

<controller>

<name>ent0</name>

<state>AVAILABLE</state>

<locCode>U78A5.001.WIH074C-P1-T6</locCode>

<unique_type>adapter/IBM,lhea/ethernet</unique_type>

<type>LPHEA</type>

</controller>

<controller>

<name>ent1</name>

<state>AVAILABLE</state>

<locCode>U78A5.001.WIH074C-P1-T7</locCode>

<unique_type>adapter/IBM,lhea/ethernet</unique_type>

<type>LPHEA</type>

</controller>

....

The view flag allowed me to view the configuration information stored in the backup file.

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz

Controllers:

============

Name Phys Loc

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

iscsi0

sissas0 U78A5.001.WIH074C-P1-T5

pager0 U7998.61X.10071FA-V1-C7-L0-L0

vasi0 U7998.61X.10071FA-V1-C7

usbhc0 U78A5.001.WIH074C-P1

usbhc1 U78A5.001.WIH074C-P1

vbsd0 U7998.61X.10071FA-V1-C7-L0

usbhc2 U78A5.001.WIH074C-P1

sata0 U78A5.001.WIH074C-P1-T5

lhea0 U78A5.001.WIH074C-P1

ibmvmc0 U7998.61X.10071FA-V1-C2

ati0 U78A5.001.WIH074C-P1-C5-T1

fcs0 U78A5.001.WIH074C-P1-C6-T1

fcs1 U78A5.001.WIH074C-P1-C6-T2

vts0 U7998.61X.10071FA-V1-C10

fscsi0 U78A5.001.WIH074C-P1-C6-T1

ent0 U78A5.001.WIH074C-P1-T6

fscsi1 U78A5.001.WIH074C-P1-C6-T2

ent1 U78A5.001.WIH074C-P1-T7

ent2 U7998.61X.10071FA-V1-C3-T1

ent3 U7998.61X.10071FA-V1-C4-T1

ent4 U7998.61X.10071FA-V1-C5-T1

ent5 U7998.61X.10071FA-V1-C6-T1

sas0 U78A5.001.WIH074C-P1-T5

Physical Volumes:

=================

Name Phys Loc

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

hdisk0 U78A5.001.WIH074C-P1-D1

hdisk1 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000402D00000000

hdisk2 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000404B00000000

hdisk3 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001404B00000000

hdisk4 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001404C00000000

hdisk5 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000408000000000

hdisk6 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001408000000000

Optical Devices:

================

Name Phys Loc

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

cd0

Tape Devices:

=============

Name Phys Loc

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

Ethernet Interfaces:

====================

Name

----

en0

en1

en2

en3

en4

en5

en6

Storage Pools:

==============

SP Name PV Name

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

rootvg hdisk0

Shared Ethernet Adapters:

=========================

Name Physical Adapter Default Adapter Virtual Adapters

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

ent6 ent0 ent2 ent2

Virtual Server Adapters:

========================

SVSA Phys Loc VTD

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

vhost0 U7998.61X.10071FA-V1-C11 vtscsi2

vtscsi1

vtscsi0

The mapping flag provided me with VTD and SEA mappings (same as lsmap all and lsmap all net)

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz -mapping

SVSA Physloc Client Partition ID

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

vhost0 U7998.61X.10071FA-V1-C11 0x00000003

VTD vtscsi0

Status Available

LUN 0x8200000000000000

Backing Device hdisk1

Physloc U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000402D00000000

SVSA Physloc Client Partition ID

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

vhost0 U7998.61X.10071FA-V1-C11 0x00000003

VTD vtscsi1

Status Available

LUN 0x8400000000000000

Backing Device hdisk2

Physloc U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000404B00000000

SVSA Physloc Client Partition ID

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

vhost0 U7998.61X.10071FA-V1-C11 0x00000003

VTD vtscsi2

Status Available

LUN 0x8100000000000000

Backing Device hdisk5

Physloc U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000408000000000

SVEA Physloc

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

ent2 U7998.61X.10071FA-V1-C3-T1

VTD ent6

Status Available

Backing Device ent0

Physloc U78A5.001.WIH074C-P1-T6

The detail flag provided extended configuration information.

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz -detail

Controllers:

============

Name Phys Loc

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

iscsi0

Attribute Name Attribute Value

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

initiator_name iqn.bvio83.hostid.0a03496c

sissas0 U78A5.001.WIH074C-P1-T5

Attribute Name Attribute Value

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

bus_io_addr 0x80000000

intr_lsi 289

dual_init_cfg default

serial_number YL3000000001

pager0 U7998.61X.10071FA-V1-C7-L0-L0

vasi0 U7998.61X.10071FA-V1-C7

usbhc0 U78A5.001.WIH074C-P1

..etc..

The type flag allows you to select details for a particular type of device for example, just SEA configuration information.

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz -type sea

Shared Ethernet Adapters:

=========================

Name Physical Adapter Default Adapter Virtual Adapters

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

ent6 ent0 ent2 ent2

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz -type svsa

Virtual Server Adapters:

========================

SVSA Phys Loc VTD

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

vhost0 U7998.61X.10071FA-V1-C11 vtscsi2

vtscsi1

vtscsi0

Listing PV only information.

$ viosbr -view -file /tmp/bvio83_vios_config_bkp.tar.gz -type pv

Physical Volumes:

=================

Name Phys Loc

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

hdisk0 U78A5.001.WIH074C-P1-D1

hdisk1 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000402D00000000

hdisk2 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000404B00000000

hdisk3 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001404B00000000

hdisk4 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001404C00000000

hdisk5 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4000408000000000

hdisk6 U78A5.001.WIH074C-P1-C6-T1-W500507630608059A-L4001408000000000

The restore and validate flags validate the devices on the server against the devices in the backup file.

$ viosbr -restore -file bvio83_vios_config_bkp.tar.gz -validate

Dev name during BACKUP Is Valid? Is Deployable?

====================== ========= ==============

iscsi0 YES NO

sissas0 YES NO

pager0 YES NO

vasi0 YES NO

usbhc0 YES NO

usbhc1 YES NO

vbsd0 YES NO

usbhc2 YES NO

sata0 YES NO

lhea0 YES NO

ibmvmc0 YES NO

ati0 YES NO

fcs0 YES NO

fcs1 YES NO

vts0 YES NO

fscsi0 YES NO

ent0 YES NO

fscsi1 YES NO

ent1 YES NO

ent2 YES NO

ent3 YES NO

ent4 YES NO

ent5 YES NO

sas0 YES NO

hdisk0 YES NO

hdisk1 YES NO

hdisk2 YES NO

hdisk3 YES NO

hdisk4 YES NO

hdisk5 YES NO

hdisk6 YES NO

en6 YES NO

ent6 YES NO

rootvg YES NO

vhost0 YES YES

This tool looks like a great way to backup and restore your VIOS configuration.

Of course backupios will also do this but it will take an image of the entire system not just the virtual and logical mappings.

Maybewe could automate the configuration of a VIOS using this tool.