Archive
Mirroring VxVM root disk group
Mirroring the root disk group of an HP-UX server is a very straightforward process that can be performed by simply use the vxrootmir command an use the new mirror’s disk as the argument. This handy utility will create and configure the boot and the VxVM structures and will mirror the volumes.
An example will explain better the whole process. Launch the mirroring operation.
root@robin:~# /etc/vx/bin/vxrootmir -v -b disk22 VxVM vxrootmir INFO V-5-2-2501 11:38: Gathering information on the current VxVM root configuration VxVM vxrootmir INFO V-5-2-2441 11:38: Checking specified disk(s) for usability VxVM vxrootmir INFO V-5-2-2566 11:38: Preparing disk disk22_p2 as a VxVM root disk VxVM vxrootmir INFO V-5-2-3766 11:38: Disk disk22_p2 is now EFI partitioned disk disk22_p2 VxVM vxrootmir INFO V-5-2-2410 11:38: Adding disk disk22_p2 to rootdg as DM rootdisk02 VxVM vxrootmir INFO V-5-2-1646 11:38: Mirroring all volumes on root disk VxVM vxrootmir INFO V-5-2-1648 11:38: Mirroring volume standvol VxVM vxrootmir INFO V-5-2-1648 11:39: Mirroring volume swapvol VxVM vxrootmir INFO V-5-2-1648 11:40: Mirroring volume rootvol VxVM vxrootmir INFO V-5-2-1648 11:40: Mirroring volume homevol VxVM vxrootmir INFO V-5-2-1648 11:40: Mirroring volume optvol VxVM vxrootmir INFO V-5-2-1648 11:43: Mirroring volume tmpvol VxVM vxrootmir INFO V-5-2-1648 11:43: Mirroring volume usrvol VxVM vxrootmir INFO V-5-2-1648 11:44: Mirroring volume varvol VxVM vxrootmir INFO V-5-2-1648 11:45: Mirroring volume crashvol VxVM vxrootmir INFO V-5-2-2462 11:46: Current setboot values: VxVM vxrootmir INFO V-5-2-2569 11:46: Primary: 0/0/0/0.0x8.0x0 /dev/rdisk/disk20 VxVM vxrootmir INFO V-5-2-2416 11:46: Alternate: 0/0/0/0.0x0.0x0 /dev/rdisk/disk4 VxVM vxrootmir INFO V-5-2-2551 11:46: Making mirror disk disk22 (/dev/rdisk/disk22) the alternate boot disk Alternate boot path set to 0/0/0/0.0x9.0x0 (/dev/rdisk/disk22) VxVM vxrootmir INFO V-5-2-1616 11:46: Disk disk22 is now a mirrored root disk root@robin:~#
After the mirror operation is finished verify the contents of the rootdg.
root@robin:~# vxprint -htg rootdg DG NAME NCONFIG NLOG MINORS GROUP-ID ST NAME STATE DM_CNT SPARE_CNT APPVOL_CNT DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK CO NAME CACHEVOL KSTATE STATE VT NAME RVG KSTATE STATE NVOLUME V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE SC NAME PLEX CACHE DISKOFFS LENGTH [COL/]OFF DEVICE MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO EX NAME ASSOC VC PERMS MODE STATE SR NAME KSTATE dg rootdg default default 4466000 1276076559.38.robin dm rootdisk01 disk20_p2 auto 1024 40035232 - dm rootdisk02 disk22_p2 auto 1024 40035232 - v crashvol - ENABLED ACTIVE 4194304 SELECT - fsgen pl crashvol-01 crashvol ENABLED ACTIVE 4194304 CONCAT - RW sd rootdisk01-09 crashvol-01 rootdisk01 28778496 4194304 0 c0t8d0s2 ENA pl crashvol-02 crashvol ENABLED ACTIVE 4194304 CONCAT - RW sd rootdisk02-09 crashvol-02 rootdisk02 28778496 4194304 0 c0t9d0s2 ENA v homevol - ENABLED ACTIVE 155648 SELECT - fsgen pl homevol-01 homevol ENABLED ACTIVE 155648 CONCAT - RW sd rootdisk01-04 homevol-01 rootdisk01 7077888 155648 0 c0t8d0s2 ENA pl homevol-02 homevol ENABLED ACTIVE 155648 CONCAT - RW sd rootdisk02-04 homevol-02 rootdisk02 7077888 155648 0 c0t9d0s2 ENA v optvol - ENABLED ACTIVE 9560064 SELECT - fsgen pl optvol-01 optvol ENABLED ACTIVE 9560064 CONCAT - RW sd rootdisk01-05 optvol-01 rootdisk01 7233536 9560064 0 c0t8d0s2 ENA pl optvol-02 optvol ENABLED ACTIVE 9560064 CONCAT - RW sd rootdisk02-05 optvol-02 rootdisk02 7233536 9560064 0 c0t9d0s2 ENA v rootvol - ENABLED ACTIVE 1048576 SELECT - root pl rootvol-01 rootvol ENABLED ACTIVE 1048576 CONCAT - RW sd rootdisk01-03 rootvol-01 rootdisk01 6029312 1048576 0 c0t8d0s2 ENA pl rootvol-02 rootvol ENABLED ACTIVE 1048576 CONCAT - RW sd rootdisk02-03 rootvol-02 rootdisk02 6029312 1048576 0 c0t9d0s2 ENA v standvol - ENABLED ACTIVE 1835008 SELECT - fsgen pl standvol-01 standvol ENABLED ACTIVE 1835008 CONCAT - RW sd rootdisk01-01 standvol-01 rootdisk01 0 1835008 0 c0t8d0s2 ENA pl standvol-02 standvol ENABLED ACTIVE 1835008 CONCAT - RW sd rootdisk02-01 standvol-02 rootdisk02 0 1835008 0 c0t9d0s2 ENA v swapvol - ENABLED ACTIVE 4194304 SELECT - swap pl swapvol-01 swapvol ENABLED ACTIVE 4194304 CONCAT - RW sd rootdisk01-02 swapvol-01 rootdisk01 1835008 4194304 0 c0t8d0s2 ENA pl swapvol-02 swapvol ENABLED ACTIVE 4194304 CONCAT - RW sd rootdisk02-02 swapvol-02 rootdisk02 1835008 4194304 0 c0t9d0s2 ENA v tmpvol - ENABLED ACTIVE 524288 SELECT - fsgen pl tmpvol-01 tmpvol ENABLED ACTIVE 524288 CONCAT - RW sd rootdisk01-06 tmpvol-01 rootdisk01 16793600 524288 0 c0t8d0s2 ENA pl tmpvol-02 tmpvol ENABLED ACTIVE 524288 CONCAT - RW sd rootdisk02-06 tmpvol-02 rootdisk02 16793600 524288 0 c0t9d0s2 ENA v usrvol - ENABLED ACTIVE 6217728 SELECT - fsgen pl usrvol-01 usrvol ENABLED ACTIVE 6217728 CONCAT - RW sd rootdisk01-07 usrvol-01 rootdisk01 17317888 6217728 0 c0t8d0s2 ENA pl usrvol-02 usrvol ENABLED ACTIVE 6217728 CONCAT - RW sd rootdisk02-07 usrvol-02 rootdisk02 17317888 6217728 0 c0t9d0s2 ENA v varvol - ENABLED ACTIVE 5242880 SELECT - fsgen pl varvol-01 varvol ENABLED ACTIVE 5242880 CONCAT - RW sd rootdisk01-08 varvol-01 rootdisk01 23535616 5242880 0 c0t8d0s2 ENA pl varvol-02 varvol ENABLED ACTIVE 5242880 CONCAT - RW sd rootdisk02-08 varvol-02 rootdisk02 23535616 5242880 0 c0t9d0s2 ENA root@robin:~#
Then check the contents of the EFI partition and the LABEL file of the mirror disk.
root@robin:~# efi_ls -d /dev/rdisk/disk22_p1 /efi/hpux FileName Last Modified Size . 6/ 9/2010 0 .. 6/ 9/2010 0 hpux.efi 6/ 9/2010 698356 nbp.efi 6/ 9/2010 31232 AUTO 6/ 9/2010 12 total space 523218944 bytes, free space 520163328 bytes root@robin:~# vxvmboot -v /dev/rdisk/disk22_p2 LIF Label File @ (1k) block # 834 on VxVM Disk /dev/rdsk/c0t9d0s2: Label Entry: 0, Boot Volume start: 3168; length: 1792 MB Label Entry: 1, Root Volume start: 6032480; length: 1024 MB Label Entry: 2, Swap Volume start: 1838176; length: 4096 MB Label Entry: 3, Dump Volume start: 1838176; length: 4096 MB root@robin:~#
Verify that the new disk has been set as the alternate boot device.
root@robin:~# setboot -v Primary bootpath : 0/0/0/0.0x8.0x0 (/dev/rdisk/disk20) HA Alternate bootpath : Alternate bootpath : 0/0/0/0.0x9.0x0 (/dev/rdisk/disk22) Autoboot is ON (enabled) setboot: error accessing firmware - Function is not available The firmware of your system does not support querying or changing the SpeedyBoot settings. root@robin:~#
Finally reboot the server and from the EFI boot manager force the boot from the mirrored disk.
Juanma.
OpenVMS 8.4 is here and it comes full of new features
This week HP has released OpenVMS 8.4 for Alpha and Integrity servers.
This new version of this robust and reliable operating system introduces a bunch of great new features. Some of the more important for me are:
- Support for the new Integrity i2 Blades.
- IP Cluster Interconnect for Alpha and Integrity platforms.
- Integration with the VSE suite.
- iCAP support on Integrity cell-based servers.
- Full Operative System provisioning capabilities up to eight servers.
- System Management Homepage.
- Enhanced management capabilities with more WBEM based providers on Blade systems.
But above all one has come to my attention:
- OpenVMS supported as HPVM guest.
Yes, finally, OpenVMS has reach the stable and supported state as HPVM guest and you know what, it comes with full AVIO support both for storage and networking. This feature expands even more the virtualization portfolio in the Intanium platform and open a new era for the OpenVMS users.
I don’t know how you feel about this but I’m really excited :-)
Juanma.
OpenBSD network interface trunking
Network interface trunking is the OpenBSD equivalent of HP-UX Auto-Port Aggregation feature. It allows to combine two or more physical interfaces into a virtual one that will send the outgoing traffic through the physical ports with an algorithm that depends on the trunking protocol configured.
The trunk driver has been available since OpenBSD 3.8, then it only supported the roundrobin protocol, and in the current version, OpenBSD 4.7, it supports the following protocols:
- Broadcast: Sends frames to all ports of teh trunk and equally receives frames from any port.
- Roundrobin: Distributes outgoing traffic through all active ports and accepts incoming traffic from any active port.
- Failover: Sends and receives traffic only through the master port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices.
- Loadbalance: The Loadbalance protocol balances the outgoing traffic across the active ports based on hashed protocol header information and accepts incoming traffic from any active port. The hash includes the Ethernet source and destination address, and, if available, the VLAN tag, and the IP source and destination address.
- LACP: Used to provide redundancy and increase link speed, it uses the IEEE 802.3ad Link Aggregation Control Protocol (LACP) and the Marketer Protocol. It requires a LACP capable switch.
- None: This protocol disables any traffic without disabling the trunk interface itself.
Lets create a failover trunk interface as an example. First we are going to activate the physical interfaces and add them to the trunk0 interface.
[obsd47]/# ifconfig em1 up
[obsd47]/# ifconfig em2 up
[obsd47]/# ifconfig trunk0 trunkport em1
[obsd47]/# ifconfig trunk0 trunkport em2
[obsd47]/# ifconfig trunk0
trunk0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:0c:29:24:b7:c6
priority: 0
trunk: trunkproto roundrobin
trunkport em2 active
trunkport em1 master,active
groups: trunk
media: Ethernet autoselect
status: active
[obsd47]/#
Secondly configure the trunking protocol and the IP address of the interface.
[obsd47]/# ifconfig trunk0 trunkproto failover 192.168.126.5 netmask 255.255.255.0 up [obsd47]/# ifconfig lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33200 priority: 0 groups: lo inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:24:b7:bc priority: 0 media: Ethernet autoselect (1000baseT full-duplex,master) status: active inet 192.168.126.4 netmask 0xffffff00 broadcast 192.168.126.255 inet6 fe80::20c:29ff:fe24:b7bc%em0 prefixlen 64 scopeid 0x1 em1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:24:b7:c6 priority: 0 trunk: trunkdev trunk0 media: Ethernet autoselect (1000baseT full-duplex,master) status: active inet6 fe80::20c:29ff:fe24:b7c6%em1 prefixlen 64 scopeid 0x2 em2: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:24:b7:c6 priority: 0 trunk: trunkdev trunk0 media: Ethernet autoselect (1000baseT full-duplex,master) status: active inet6 fe80::20c:29ff:fe24:b7d0%em2 prefixlen 64 scopeid 0x3 enc0: flags=0<> mtu 1536 priority: 0 trunk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:0c:29:24:b7:c6 priority: 0 trunk: trunkproto failover trunkport em2 trunkport em1 master,active groups: trunk media: Ethernet autoselect status: active inet 192.168.126.5 netmask 0xffffff00 broadcast 192.168.126.255 inet6 fe80::20c:29ff:fe24:b7c6%trunk0 prefixlen 64 scopeid 0x6 pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33200 priority: 0 groups: pflog [obsd47]/#
At this point we have a configured trunk interface in failover, but of course we want to make these changes persistent through a reboot of the server. We need to create a configuration file for each of the physical interfaces and another one for the trunk interface.
[obsd47]/# echo "up" >hostname.em1 [obsd47]/# echo "up" >hostname.em2 [obsd47]/# echo "trunkproto failover trunkport em1 trunkport em2 192.168.126.5 netmask 255.255.255.0" > hostname.trunk0 [obsd47]/# [obsd47]/# cat hostname.trunk0 trunkproto failover trunkport em1 trunkport em2 192.168.126.5 netmask 255.255.255.0 [obsd47]/#
Now reboot and check that everything went well and the trunk0 interface is up and running. Of course the same procedure can be used to create a trunk interface for any of the supported protocols.
Juanma.

