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/:
- VxVM – My Command Reference (Update 10.01.05)
- VxVM – Creating Volume
- VxVM – Increasing Size of a Volume
- VXVM – Disable VXVM At Boot When Boot Disk Is Encapsulated
- VxVM – Maintaining Mirrored Volumes
- VxVM – Rectifying a Single Way Volume
- VXVM – Removing Encapsulated Bootdisk-OS from VM Control
- VxVM – Replacing Failed Bootdisk
VERITAS Storage Foundation and High Availability Solutions 4.1 for Solaris Documentation CD
Veritas Volume Manager Administrator’s Guide
Veritas Volume Manager Troubleshooting Guide
VX-CHEAT-SHEET: Volume manager & FS cheats
IPMP has the following features:
- It eliminates a single network adapter as a single point of failure in these cases, ( a. Network adapter failure b. Network link failure)
- It enables interfaces to fail over within approximately 10 seconds when using the default configuration.
- It can be configured by adjusting the parameters in the ”/etc/default/mpathd” file.
- It can be configured for use with both IPv4 and IPv6.
- 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
Well,
Sometimes I got an error after finishing on Solaris 10 box installation. After make some configuration then suddenly I can’t access my Solaris XDMCP remote session on my laptop.. Usually, I use XManager Enterprise to get Solaris GUI remote session XDMCP. here the step-by-step to troubleshoot if you got the same problem:
{Make sure that svc:/application/graphical-login/cde-login is enabled and online.
root@solaris10 # svcs cde-login
STATE STIME FMRI
online Mar_02 svc:/application/graphical-login/cde-login:default
root@solaris10 #netservices limited
restarting syslogd
restarting sendmail
dtlogin needs to be restarted. Restart now? [Y] y
restarting dtlogin
{Check dtlogin process:
root@solaris10 # ps -ef | grep dtlogin
root 29384 1 0 Mar 02 ? 0:00 /usr/dt/bin/dtlogin -daemon -udpPort 0 [should be TCP, not UDP]
{Modify the x11-server service:
—–>Show properties:
#svcprop svc:/application/x11/x11-server
——>Turn on tcp listen:
#svccfg -s svc:/application/x11/x11-server setprop options/tcp_listen=true
{Modify the dtlogin service:
—–>Show properties:
#svcprop svc:/application/graphical-login/cde-login:default
#svccfg -s svc:/application/graphical-login/cde-login setprop dtlogin/args=\”\”
—–>Then restart the X server:
#svcadm refresh svc:/application/graphical-login/cde-login:default;
#svcprop -p dtlogin svc:/application/graphical-login/cde-login:default
root@solaris10 #netservices open
restarting syslogd
restarting sendmail
root@solaris10# svcadm restart cde-login
root@solaris10# ps -ef |grep dtlogin
root 27722 1 0 15:08:37 ? 0:00 /usr/dt/bin/dtlogin -daemon
root 27724 26297 0 15:08:43 pts/3 0:00 grep dtlogin
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
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
Open Solaris 2008.05 In Action
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













