Link aggregation or IEEE 802.1AX-2008, is a computer networking term which describes using multiple network cables/ports in parallel to increase the link speed beyond the limits of any one single cable or port, and to increase the redundancy for higher availability.

Most implementations now conform to what used to be clause 43 of IEEE 802.3-2005 Ethernet standard, usually still referred to by its working group name of “IEEE 802.3ad”. The Link Aggregation definition has since been moved to a standalone IEEE 802.1AX standard. (wikipedia.org)

Here’s the sample of setup aggregation link between :

e1000g0 and e1000g1
e1000g2 and e1000g3

Make sure your eeprom’s local-mac-address? variable is set to true (you don’t need this for x86):

# eeprom local-mac-address?
local-mac-address=false

# eeprom local-mac-address? = true

# eeprom local-mac-address?
local-mac-address?=true

1. Unplumb the interfaces to be aggregated:
# ifconfig e1000g0 down unplumb
# ifconfig e1000g1 down unplumb
# ifconfig e1000g2 down unplumb
# ifconfig e1000g3 down unplumb

2. Create a link-aggregation group with key 1 and 2:

{format= dladm create-aggr -d <interface> <key>

interface Represents the device name of the interface to become part of the aggregation.
key Is the number that identifies the aggregation. The lowest key number is 1. Zeroes are not allowed as keys.

{passive mode by default:
# dladm create-aggr -d e1000g0 -d e1000g1 1
# dladm create-aggr -d e1000g2 -d e1000g3 2

{active mode:
# dladm create-aggr -l active -d e1000g0 -d e1000g1 1
# dladm create-aggr -l active -d e1000g2 -d e1000g3 2

*please note that, if you configure LACP passive mode on your switch, you have to configure active mode on your server. if both in passive mode, they do not exchange LACP packets. check your configuration with “dladm show-aggr -L” command.

# dladm show-link aggr1
# dladm show-link aggr2

3. Plumb up the interface aggrkey, add ip address:

# ifconfig aggr1 plumb
# ifconfig aggr2 plumb

# ifconfig aggr1 192.168.1.1 netmask 255.255.255.0 up
# ifconfig aggr2 192.168.1.2 netmask 255.255.255.0 up

4. Show link aggregation status:

# dladm show-aggr        >>check the status
# dladm show-aggr -s    >>to display statistics
# dladm show-aggr -L    >>to display LACP specific information

5. Make the IP configuration of the link aggregation persist across reboots

create “/etc/hostname.aggrkey” file
# vi /etc/hostname.aggr1
192.168.1.1
# vi /etc/hostname.aggr2
192.168.1.2

# dladm modify-aggr -t -l passive 1  {change aggr1 to passive mode; temporary only]
# dladm modify-aggr -t -l active 1 {change aggr1 to active mode; temporary only]

for further reference:

http://docs.sun.com/source/820-3084-10/link_aggregation.html

What is Veritas Volume Manager?

Here’s an excerpt from Wikipedia and Sun.Com:

The Veritas Volume Manager, VVM or VxVM is a proprietary logical volume manager from Veritas (now part of Symantec). It is available for Windows, AIX, Solaris, Linux, and HP-UX. A modified version is bundled with HP-UX as its built-in volume manager. It offers volume management and Multipath I/O functionalities (Wikipedia).

VERITAS Volume Manager software is an advanced, system-level disk and storage array solution that alleviates downtime during system maintenance by enabling easy, online disk administration and configuration. The product also helps ensure data integrity and high availability by offering fast failure recovery and fault tolerant features. VERITAS Volume Manager software provides easy-to-use, online storage management for enterprise computing and emerging Storage Area Network (SAN) environments. Through the support of RAID redundancy techniques, VERITAS Volume Manager software helps protect against disk and hardware failures, while providing the flexibility to extend the capabilities of existing hardware. By providing a logical volume management layer, VERITAS Volume Manager overcomes the physical restriction imposed by hardware disk devices (Sun.COM).

Here are the knowledge base and manual guide:

http://web.singnet.com.sg/~pallavi/:

Basic VxVM Commands

VERITAS Storage Foundation and High Availability Solutions 4.1 for Solaris Documentation CD

Veritas Volume Manager Administrator’s Guide

Veritas Volume Manager Troubleshooting Guide

Veritas Cheat Sheet

VX-CHEAT-SHEET: Volume manager & FS cheats

IPMP has the following features:

  1. It eliminates a single network adapter as a single point of failure in these cases, ( a. Network adapter failure b. Network link failure)
  2. It enables interfaces to fail over within approximately 10 seconds when using the default configuration.
  3. It can be configured by adjusting the parameters in the ”/etc/default/mpathd” file.
  4. It can be configured for use with both IPv4 and IPv6.
  5. It enables interfaces to be configured as standby interfaces.

{IPMP failure detection:
Probe­-based failure detection
-detects network error by sending ICMP ECHO_REQUEST messages
Link based failure detection
-detects network error by checking the IFF_RUNING

How to Configure IPMP on Solaris

Continue Reading »

bash-3.00# metadb

flags first blk block count

a m p luo 16 8192 /dev/dsk/c0d0s7

a p luo 8208 8192 /dev/dsk/c0d0s7

a p luo 16400 8192 /dev/dsk/c0d0s7

a p luo 16 8192 /dev/dsk/c0d1s7

a p luo 8208 8192 /dev/dsk/c0d1s7

a p luo 16400 8192 /dev/dsk/c0d1s7

Continue Reading »

From Wikipedia, Solaris Volume Manager (SVM; formerly known as Online: DiskSuite, and later Solstice DiskSuite) is a software package for creating, modifying and controlling RAID-0 (concatenation and stripe) volumes, RAID-1 (mirror) volumes, RAID 0+1 volumes, RAID 1+0 volumes, RAID-5 volumes, and soft partitions.

Version 1.0 of Online: DiskSuite was released as an add-on product for SunOS in late 1991;  the product has undergone significant enhancements over the years. SVM has been included as a standard part of the Solaris Operating System since Solaris 8 was released in February 2000.

SVM is similar in functionality to later software volume managers such as FreeBSD vinum, allowing metadevices (virtual disks) to be concatenated, striped or mirrored together from physical ones. It also supports soft partitioning, dynamic hot spares, and growing metadevices. The mirrors support dirty region logging (DRL, called resync regions in DiskSuite) and logging support for RAID-5.

The ZFS file system, added in the Solaris 10 6/06 release, has its own integrated volume management capabilities, but SVM continues to be included with Solaris for use with other file systems.

Example disk mirroring using SVM:

DISK:
c0t0d0
c0t1d0

# prtvtoc /dev/rdsk/c0t0d0s2 |fmthard -s – /dev/rdsk/c0t1d0s2

{If you got an error:

fmthard: Partition 2 specifies the full disk and is not equal full size of disk

Then you will first need to do a format on your second disk so it has a Solaris label.

bash-3.00# format
Searching for disks…done

select your 2nd disk

format> p
WARNING – This disk may be in use by an application that has
modified the fdisk table. Ensure that this disk is
not currently in use before proceeding to use fdisk.
format> fdisk
No fdisk table exists. The default partition for the disk is:

a 100% “SOLARIS System” partition

Type “y” to accept the default partition,  otherwise type “n” to edit the
partition table.
y
format> label
Ready to label disk, continue? yes

{run metadb command to create replicas of the metadevice  state  database:

#metadb -a -f -c 3 c0t0d0s7 c0t1d0s7

{then run metainit to configure metadevice each slices:

# metainit -f d11 1 1 c0t0d0s0
# metainit d12 1 1 c0t1d0s0
# metainit d10 -m d11
# metaroot d10

# metainit -f d21 1 1 c0t0d0s1
# metainit d22 1 1 c0t1d0s1
# metainit d20 -m d21

{edit /etc/vfstab:
/dev/md/dsk/d20 -       -       swap    -       no      -
/dev/md/dsk/d10 /dev/md/rdsk/d10        /       ufs     1       no      logging

#reboot (for x86)

#init 0 (for Sparc) then from OK Prompt:
{0} ok setenv boot-device disk0 disk1
{0} ok boot

{After your Solaris booted up, then:

# metattach d10 d12
# metattach d20 d22

{check the Synchronizing process:
#metastat | grep %

{to continuously monitoring the metastat result, run this command:

#while true; do metastat | grep %; sleep 20; done;

Last step, run installgrub to MBR on second disk, Otherwise you wouldn’t be able to boot from your second disk once your first disk has failed.

{For x86 machines set the active partition for the disks:
bash-3.00# fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c?t?d?p?

{If making root partition raid then make second disk bootable:
===> For x86 machines
bash-3.00# /sbin/installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c?t?d?s?

===>And for Sparc machines
bash-3.00# installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c?t?d?s?

——

bash-3.00# installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0
Updating master boot sector destroys existing boot managers (if any).
continue (y/n)?y
stage1 written to partition 0 sector 0 (abs 16065)
stage2 written to partition 0, 265 sectors starting at 50 (abs 16115)
stage1 written to master boot sector
bash-3.00#

Reference:
Solaris Volume Manager Administration Guide

ADDING NEW DISK:
-first show all attached targets

# cfgadm -al

root@solaris10 # cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 CD-ROM       connected    configured   unknown
c1                             scsi-bus     connected    configured   unknown
c1::dsk/c1t0d0                 disk         connected    configured   unknown
c1::sg/c0t0l0                  unknown      connected    configured   unknown
c1::sg/c0t1l0                  unknown      connected    configured   unknown
c2                             scsi-bus     connected    configured   unknown
c2::rmt/0                      tape         connected    configured   unknown
c2::sg/c0t5l0                  unknown      connected    configured   unknown
c3                             fc           connected    unconfigured unknown
c4                             fc           connected    unconfigured unknown
usb0/1                         unknown      empty        unconfigured ok
usb0/2                         unknown      empty        unconfigured ok
usb0/3                         unknown      empty        unconfigured ok
usb1/1.1                       unknown      empty        unconfigured ok
usb1/1.2                       unknown      empty        unconfigured ok
usb1/1.3                       unknown      empty        unconfigured ok

Existing disk is c1t0d0, now attach new disk, then check with “cfgadm -al” command:

root@solaris10 # cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
c0::dsk/c0t0d0                 CD-ROM       connected    configured   unknown
c1                             scsi-bus     connected    configured   unknown
c1::dsk/c1t0d0                 disk         connected    configured   unknown
c1::dsk/c1t1d0                 disk         connected    unconfigured   unknown
c1::sg/c0t0l0                  unknown      connected    configured   unknown
c1::sg/c0t1l0                  unknown      connected    configured   unknown
c2                             scsi-bus     connected    configured   unknown
c2::rmt/0                      tape         connected    configured   unknown
c2::sg/c0t5l0                  unknown      connected    configured   unknown
c3                             fc           connected    unconfigured unknown
c4                             fc           connected    unconfigured unknown
usb0/1                         unknown      empty        unconfigured ok
usb0/2                         unknown      empty        unconfigured ok
usb0/3                         unknown      empty        unconfigured ok

My new disk is C1t1d0 and the status is “unconfigured”.

Now, run “cfgadm -c configure”

# cfgadm -c configure c1::dsk/c1t1d0

{run cfgadm -al to check the status again:

# cfgadm -al

{run “format”, then you will see the new disk..
Howto add an SATA disk to Solaris 10
# devfsadm -vC
# format

bash-3.00# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
 0. c0d0 <DEFAULT cyl 1981 alt 2 hd 255 sec 63>
 /pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0
 1. c0d1 <DEFAULT cyl 1020 alt 2 hd 128 sec 32>
 /pci@0,0/pci-ide@1,1/ide@0/cmdk@1,0
Specify disk (enter its number): 1

format> fdisk
format> label
format> verify
format> par
partition> p

Current partition table (original):
Total disk cylinders available: 1020 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
 0 unassigned    wm       0               0         (0/0/0)          0
 1 unassigned    wm       0               0         (0/0/0)          0
 2     backup    wu       0 - 1019        1.99GB    (1020/0/0) 4177920
 3 unassigned    wm       0               0         (0/0/0)          0
 4 unassigned    wm       0               0         (0/0/0)          0
 5 unassigned    wm       0               0         (0/0/0)          0
 6 unassigned    wm       0               0         (0/0/0)          0
 7 unassigned    wm       0               0         (0/0/0)          0
 8       boot    wu       0 -    0        2.00MB    (1/0/0)       4096
 9 alternates    wm       1 -    2        4.00MB    (2/0/0)       8192

partition> 0
Part      Tag    Flag     Cylinders        Size            Blocks
0 unassigned    wm       0               0         (0/0/0)          0

Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 1gb

format> save
Saving new disk and partition definitions
Enter file name["./format.dat"]:
format> q

{enter the mount points in /etc/vfstab:

bash-3.00# vi /etc/vfstab
"/etc/vfstab" 14 lines, 570 characters
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0d0s1 -       -       swap    -       no      -
/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0        /       ufs     1       no      -
/devices        -       /devices        devfs   -       no      -
sharefs -       /etc/dfs/sharetab       sharefs -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -
/export/install/media/sol_10_509_x86/boot - /tftpboot/I86PC.Solaris_10-1 lofs - yes ro
/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0        /export/backup    ufs     1       no      -

~

{newfs the new partitions:
#newfs /dev/rdsk/c0d1s0

{mount the new partitions:
#mount /dev/dsk/c0d1s0 /export/backup
# df -h /export/backup

CONFIGURE TAPE:
cfgadm -c configure c3
cfgadm -o show_FCP_dev -al
cfgadm -o show_SCSI_LUN -al

cfgadm -o unusable_FCP_dev -c unconfigure c3::500104f0008aa432
cfgadm -c unconfigure c3::500104f0008aa531
cfgadm -alo show_FCP_dev

luxadm -e port            >>To show link status of card
luxadm -e forcelip
luxadm -e forcelip /dev/cfg/c3
luxadm -e dump_map /dev/cfg/c3
devfsadm -C

# luxadm probe
# prtconf -vp | grep wwn
# prtconf -vp | more
# luxadm -e port
# luxadm fcode_download -p    >>show all vendor HBA’s
# luxadm qlgc            >>show Sun/Qlogic HBA’s


cfgadm -c unconfigure
cfgadm -al -o show_FCP_dev
devfsadm -C

CHECK FROM VERITAS:
/usr/openv/volmgr/bin/scan
/usr/openv/volmgr/bin/sgscan
/usr/openv/volmgr/bin/tpautoconf -report_disc

CONFIGURE STORAGE:
# luxadm probe
# luxadm display controller_number
# luxadm display enclosure_name
# luxadm display logical_path
# luxadm display enclosure_name, disk_location
# luxadm fcode_download -p

To bind an IP address to a Network Interface Card

#ifconfig –a   >> to check the configuration
#ifconfig qfe0 plumb   >> to enable the first Network Interface Card
#ifconfig qfe0 <ip address> netmask <subnet> up  >>to bind IP address, subnet, and enable the configuration

Create a file on /etc directory – hostname.qfe0 with hostname entry
Add entry on /etc/netmasks if IP address is on different subnet
Add entry on /etc/inet/hosts file with IP address and hostname

Continue Reading »

Open Solaris 2008.05 In Action

Open Solaris

open_solaris

Download Sun xVM VirtualBox and OpenSolaris 2008.05

NETWORK CONFIGURATION:

NWAM(Network Auto-Magic) was enabled by default, so to configure the network connection, edit the “/etc/nwam/llp file”.

exp.

e1000g0 dhcp

change to:

e1000g0 static 192.168.0.2/24

add default gateway:

#route -p add default 192.168.0.1

edit /etc/resolv.conf
nameserver 192.168.0.1

to move NWAM to the manual mode from automagic mode.
# svcadm disable svc:/network/physical:nwam
# svcadm enable svc:/network/physical:default

« Previous PageNext Page »