IP Multipathing
Hi everybody..
Recently I have setup a Sol10 in a old netra box with a Quad NIC, actually i'm triying to setup a IPMP..
I used the same path I have used in other machine whith Solaris 9
ifconfig qfe0 plumb
ifconfig qfe1 plumb
ifconfig qfe0 group test-ha
ifconfig qfe1 group test-ha
Change the hosts file
10.100.1.1 test-san # hme0 Testing
10.100.20.20 test loghost
10.100.20.201 test-qfe0
10.100.20.202 test-qfe1
After that I created the hostname.* files
hostname.hme0 --> test-san
hostname.qfe0 --> test-qfe0 netmask 255.255.255.0 group test-ha deprecated -failover up \
addif test netmask 255.255.255.0 failover up
hostname.qfe1 --> test-qfe1 netmask 255.255.255.0 group prod-ha deprecated -failover standby up
When I reboot the machine and make an ifconfig -a
appears this
hme0: inet 10.100.1.1
qfe0: inet 10.100.20.201 groupname test-ha
qfe1: inet 10.100.20.202 groupname test-ha
qfe1:1: inet 10.100.1.1
when the qfe1:1 must be 10.100.20.20
Pleas any help will be welcome..
Well, changig the name by the IP it works...
Similar Messages
-
How to Configure Software iSCSI including Multipath
Oracle Linux 6.6 3.8.13-44.1.1.el6uek.x86_64
Installed with a production network interface card and two 10G network connections for iSCSI traffic only. Both iSCSI cards are on the same vLAN with different IP addresses on a range.
Connecting to a DELL Compellent SAN with 1TB of storage presented to the machine.
Connections can be successfully made via iSCSI and the target can be logged into however in the disk utility window on the server the storage shows as a single 1.1TB multipath drive as dm-0 along with 4 separate connections between sdc and sdf.
The output from multipath -ll is as follows.
I'm guessing that something in the underlying configuration is incorrect and would appreciate any assistance that can be provided.Hi
I've got 2 10G SFP+ cables attached to the switch each with their own IP address.
eth0 Link encap:Ethernet HWaddr 2C:44:FD:87:60:AC
inet addr:10.160.10.26 Bcast:10.160.10.255 Mask:255.255.255.0
inet6 addr: fe80::2e44:fdff:fe87:60ac/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35315 errors:0 dropped:0 overruns:0 frame:0
TX packets:698 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3204261 (3.0 MiB) TX bytes:102647 (100.2 KiB)
Interrupt:32
eth1 Link encap:Ethernet HWaddr 2C:44:FD:87:60:AD
inet6 addr: fe80::2e44:fdff:fe87:60ad/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34534 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3129510 (2.9 MiB) TX bytes:270 (270.0 b)
Interrupt:36
eth2 Link encap:Ethernet HWaddr 2C:44:FD:87:60:AE
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:32
eth3 Link encap:Ethernet HWaddr 2C:44:FD:87:60:AF
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:36
eth4 Link encap:Ethernet HWaddr 38:EA:A7:34:09:60
inet addr:10.160.12.46 Bcast:10.160.13.255 Mask:255.255.254.0
inet6 addr: fe80::3aea:a7ff:fe34:960/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:30412 errors:0 dropped:0 overruns:0 frame:0
TX packets:36352 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8802884 (8.3 MiB) TX bytes:3280896 (3.1 MiB)
eth5 Link encap:Ethernet HWaddr 38:EA:A7:34:09:61
inet addr:10.160.12.47 Bcast:10.160.13.255 Mask:255.255.254.0
inet6 addr: fe80::3aea:a7ff:fe34:961/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8229 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2150770 (2.0 MiB) TX bytes:704 (704.0 b)
eth0-3 are the production network. eth4 and 5 are the iSCSI network. -
How to Install Multipath Raw Device for Voting/OCR IN RHEL5 U1
Dear all,
Setup
Two Node RAC Cluster with IBM disk Array DS4700
OS- RHEL 5 Update1 (2.6.18-53.el5)
Oracle- 10.2.0.1
Failover Driver- RDAC Driver (Linux MPP Driver Version: 09.02.C5.16)
I am trying to follow Metalink Note-564580.1
But when i am configuring Multipathing and Verify Multipath Devices.
I am not getting any output when i am issuing the following command
#multipath -ll
I checked the service mulipath
[root@db1 dev]# service multipathd status
multipathd (pid 3845) is running...
[root@db1 dev]#
Please let me know, if you have solution.
Rgds
Sumit
Bangalore,India[root@wmcdb2 ~]# service multipathd restart
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
[root@wmcdb2 ~]#
==========================================================
==========================================================
[root@wmcdb2 ~]# fdisk -l
Disk /dev/sda: 146.5 GB, 146578341888 bytes
255 heads, 63 sectors/track, 17820 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 131 1052226 83 Linux
/dev/sda2 132 7143 56323890 83 Linux
/dev/sda3 7144 8187 8385930 82 Linux swap / Solaris
/dev/sda4 8188 17820 77377072+ 5 Extended
/dev/sda5 8188 17820 77377041 83 Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
67 heads, 62 sectors/track, 1009 cylinders
Units = cylinders of 4154 * 512 = 2126848 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1009 2095662 83 Linux
Disk /dev/sdc: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 1011 1048376+ 83 Linux
Disk /dev/sdd: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 108.0 GB, 108005425152 bytes
255 heads, 63 sectors/track, 13130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sdf: 48.3 GB, 48318382080 bytes
64 heads, 32 sectors/track, 46080 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdf doesn't contain a valid partition table
Disk /dev/sdg: 24.5 GB, 24551358464 bytes
64 heads, 32 sectors/track, 23414 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdg doesn't contain a valid partition table
===============================================
===============================================
[root@wmcdb2 ~]# multipath -ll
mpath2 (3600a0b80002ab33400000893489f7c76) dm-2 IBM,VirtualDisk
[size=100G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:3 sdd 8:48 [active][ready]
mpath1 (3600a0b8000501e1600000897489f7f52) dm-1 IBM,VirtualDisk
[size=1.0G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:2 sdc 8:32 [active][ready]
mpath0 (3600a0b80002ab33400000890489f7c34) dm-0 IBM,VirtualDisk
[size=2.0G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:1 sdb 8:16 [active][ready]
mpath5 (3600a0b8000501e160000089b489f7fd2) dm-5 IBM,VirtualDisk
[size=23G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:6 sdg 8:96 [active][ready]
mpath4 (3600a0b80002ab33400000895489f7cb9) dm-4 IBM,VirtualDisk
[size=45G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:5 sdf 8:80 [active][ready]
mpath3 (3600a0b8000501e1600000899489f7f7f) dm-3 IBM,VirtualDisk
[size=101G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 5:0:0:4 sde 8:64 [active][ready]
[root@wmcdb2 ~]#
=====================================================
=====================================================
[root@wmcdb2 ~]# cat /proc/partitions
major minor #blocks name
8 0 143142912 sda
8 1 1052226 sda1
8 2 56323890 sda2
8 3 8385930 sda3
8 4 1 sda4
8 5 77377041 sda5
8 16 2097152 sdb
8 17 2095662 sdb1
8 32 1048576 sdc
8 33 1048376 sdc1
8 48 104857600 sdd
8 64 105474048 sde
8 80 47185920 sdf
8 96 23975936 sdg
=============================================
============================================
[root@wmcdb2 ~]# cat /etc/multipath.conf
defaults {
user_friendly_names yes
defaults {
udev_dir /dev
polling_interval 10
selector "round-robin 0"
path_grouping_policy failover
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout /bin/true
path_checker readsector0
rr_min_io 100
rr_weight priorities
failback immediate
# no_path_retry fail
user_friendly_name yes
devnode_blacklist {
&n sp; devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
d vnode "^hd[a-z]"
devnode "^sda"
nbsp; devnode "^cciss!c[0-9]d[0-9]*"
multipaths {
nbsp; multipath {
& bsp; wwid 3600a0b80002ab33400000890489f7c34
alias ocr1
multipath {
wwid 3600a0b8000501e1600000897489f7f52
alias voting1
[root@wmcdb2 ~]#
=================================================== -
[SOLVED] multipath-tools build fails because file is not a directory
Hi all,
I'm trying to build the multipath-tools-git AUR package (I'm playing around with virtualization, and need the kpartx tool). I tried building, and got this output:
(NOTE: /home/gregory/AUR PACKAGES is symlinked to /mnt/STORAGE/AUR PACKAGES, which shows up in this build. I tried building without using the symlink, and it didn't change anything.)
[gregory@whitcomb multipath-tools-git]$ makepkg -s
==> Making package: multipath-tools-git 1295.81895af-1 (Sat Sep 7 16:50:52 EDT 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating multipath-tools-git git repo...
Fetching origin
==> Validating source files with md5sums...
multipath-tools-git ... Skipped
==> Extracting sources...
-> Creating working copy of git repo...
Cloning into 'multipath-tools-git'...
done.
==> Starting pkgver()...
==> Starting prepare()...
==> Removing existing pkg/ directory...
==> Starting build()...
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o memory.o memory.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o parser.o parser.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o vector.o vector.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o devmapper.o devmapper.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o callout.o callout.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o hwtable.o hwtable.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o blacklist.o blacklist.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o util.o util.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o dmparser.o dmparser.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o config.o config.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o structs.o structs.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o discovery.o discovery.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o propsel.o propsel.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o dict.o dict.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o pgpolicies.o pgpolicies.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o debug.o debug.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o regex.o regex.c
regex.c: In function ‘re_match_2’:
regex.c:3297:17: warning: variable ‘sdummy’ set but not used [-Wunused-but-set-variable]
const char *sdummy;
^
regex.c:3296:20: warning: variable ‘pdummy’ set but not used [-Wunused-but-set-variable]
unsigned char *pdummy;
^
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o defaults.o defaults.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o uevent.o uevent.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o switchgroup.o switchgroup.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o uxsock.o uxsock.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o print.o print.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o alias.o alias.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o log_pthread.o log_pthread.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o log.o log.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o configure.o configure.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o structs_vec.o structs_vec.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o sysfs.o sysfs.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o prio.o prio.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o checkers.o checkers.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o lock.o lock.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o waiter.o waiter.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o file.o file.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o wwids.o wwids.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -c -o prioritizers/alua_rtpg.o prioritizers/alua_rtpg.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -Wl,-soname=libmultipath.so.0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -DLIBDM_API_FLUSH -D_GNU_SOURCE -DLIBDM_API_COOKIE -o libmultipath.so.0 memory.o parser.o vector.o devmapper.o callout.o hwtable.o blacklist.o util.o dmparser.o config.o structs.o discovery.o propsel.o dict.o pgpolicies.o debug.o regex.o defaults.o uevent.o switchgroup.o uxsock.o print.o alias.o log_pthread.o log.o configure.o structs_vec.o sysfs.o prio.o checkers.o lock.o waiter.o file.o wwids.o prioritizers/alua_rtpg.o -lpthread -ldl -ldevmapper -ludev
ln -sf libmultipath.so.0 libmultipath.so
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/prioritizers'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o random.o random.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriorandom.so random.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o const.o const.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioconst.so const.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hp_sw.o hp_sw.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriohp_sw.so hp_sw.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o emc.o emc.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioemc.so emc.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o rdac.o rdac.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriordac.so rdac.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o alua.o alua.c
alua.c: In function ‘get_alua_info’:
alua.c:58:6: warning: variable ‘aas’ set but not used [-Wunused-but-set-variable]
int aas;
^
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioalua.so alua.o alua_rtpg.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o ontap.o ontap.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioontap.so ontap.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o datacore.o datacore.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriodatacore.so datacore.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hds.o hds.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libpriohds.so hds.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o weightedpath.o weightedpath.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioweightedpath.so weightedpath.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o iet.o iet.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libprioiet.so iet.o
rm random.o weightedpath.o ontap.o hp_sw.o hds.o rdac.o const.o datacore.o emc.o iet.o
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/prioritizers'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/checkers'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o libsg.o libsg.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o cciss_tur.o cciss_tur.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckcciss_tur.so libsg.o cciss_tur.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o readsector0.o readsector0.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckreadsector0.so libsg.o readsector0.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o tur.o tur.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libchecktur.so libsg.o tur.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o directio.o directio.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckdirectio.so libsg.o directio.o -laio
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o emc_clariion.o emc_clariion.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckemc_clariion.so libsg.o emc_clariion.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o hp_sw.o hp_sw.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckhp_sw.so libsg.o hp_sw.o
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I.. -c -o rdac.o rdac.c
cc -Wl,-O1,--sort-common,--as-needed,-z,relro -shared -o libcheckrdac.so libsg.o rdac.o
rm tur.o hp_sw.o rdac.o readsector0.o cciss_tur.o emc_clariion.o
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath/checkers'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmpathpersist'
cc -Wall -fPIC -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist *.c
cc -shared -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -Wl,-soname=libmpathpersist.so.0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -o libmpathpersist.so.0 mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
ln -s libmpathpersist.so.0 libmpathpersist.so
/usr/bin/gzip -9 -c mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
/usr/bin/gzip -9 -c mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmpathpersist'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipath'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -c -o main.o main.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath main.o -o multipath -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -ludev
/usr/bin/gzip -9 -c multipath.8 > multipath.8.gz
/usr/bin/gzip -9 -c multipath.conf.5 > multipath.conf.5.gz
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipath'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipathd'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o main.o main.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o pidfile.o pidfile.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o uxlsnr.o uxlsnr.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o uxclnt.o uxclnt.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o cli.o cli.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o cli_handlers.o cli_handlers.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist main.o pidfile.o uxlsnr.o uxclnt.o cli.o cli_handlers.o -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -lreadline -ludev -ldl -L../libmultipath -lmultipath -L../libmpathpersist -lmpathpersist -o multipathd
/usr/bin/gzip -9 -c multipathd.8 > multipathd.8.gz
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/multipathd'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/mpathpersist'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist -c -o main.o main.c
cc -g main.o -o mpathpersist -Wl,-O1,--sort-common,--as-needed,-z,relro -lpthread -ldevmapper -L../libmpathpersist -lmpathpersist -L../libmultipath -lmultipath -ludev -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I../libmultipath -I../libmpathpersist
/usr/bin/gzip -9 -c mpathpersist.8 > mpathpersist.8.gz
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/mpathpersist'
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/kpartx'
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o bsd.o bsd.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o dos.o dos.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o kpartx.o kpartx.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o solaris.o solaris.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o unixware.o unixware.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o dasd.o dasd.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o sun.o sun.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o gpt.o gpt.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o mac.o mac.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o ps3.o ps3.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o crc32.o crc32.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o lopart.o lopart.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o xstrncpy.o xstrncpy.c
cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wunused -Wstrict-prototypes -fPIC -DLIB_STRING=\"usr/lib64\" -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE -c -o devmapper.o devmapper.c
cc bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o -o kpartx -ldevmapper
/usr/bin/gzip -9 -c kpartx.8 > kpartx.8.gz
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/kpartx'
==> Entering fakeroot environment...
==> Starting package()...
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
install -d /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib
install -m 755 libmultipath.so.0 /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0
install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0’ is not a directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
make: *** [recurse_install] Error 2
==> ERROR: A failure occurred in package().
Aborting...
[gregory@whitcomb multipath-tools-git]$
I noticed there was a typo from the line:
install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git//usr/lib/libmultipath.so.0’ is not a directory
with the duplicated slash, so I edited the package() section of the PKGBUILD to remove the duplicated slash
make LIB="/usr/lib" DESTDIR="${pkgdir}" install
to
make LIB="usr/lib" DESTDIR="${pkgdir}" install
However, rebuilding the package caused the same error to occur (only relevant part shown)
==> Starting package()...
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
install -d /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib
install -m 755 libmultipath.so.0 /home/gregory/AUR packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib/libmultipath.so.0
install: target ‘packages/multipath-tools-git/pkg/multipath-tools-git/usr/lib/libmultipath.so.0’ is not a directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools-git/src/multipath-tools-git/libmultipath'
make: *** [recurse_install] Error 2
==> ERROR: A failure occurred in package().
Aborting...
So that couldn't have been the problem. There doesn't seem to be any indication on the AUR page that someone else ran into this problem. I also checked the upstream site as well as the mailing lists, and didn't see anything resembling my problem.
Just to make sure that I hadn't downloaded some bad build from git, I also tried installing the multipath-tools package from the AUR, since that should have at least worked for the packager. However, I got the exact same (albeit sooner cause it didn't have to download git sources):
==> Starting package()...
make[1]: Entering directory `/mnt/STORAGE/AUR packages/multipath-tools/src/libmultipath'
install -d /mnt/STORAGE/AUR packages/multipath-tools/pkg/multipath-tools/usr/lib
install -m 755 libmultipath.so.0 /mnt/STORAGE/AUR packages/multipath-tools/pkg/multipath-tools/usr/lib/libmultipath.so.0
install: target ‘packages/multipath-tools/pkg/multipath-tools/usr/lib/libmultipath.so.0’ is not a directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/mnt/STORAGE/AUR packages/multipath-tools/src/libmultipath'
make: *** [recurse_install] Error 2
==> ERROR: A failure occurred in package().
Aborting...
I'm guessing there's probably some configuration issue with my machine causing this problem, but I have no idea where it would come from. If anybody else has any other ideas on how to proceed, I'd be really appreciative. And if any more information is needed, let me know! Thanks!
Last edited by cactaur (2013-09-08 05:23:36)Of course, soon after I post this, I stumble upon the solution. It turns out that having a path with a space in it can cause certain packages to bug out while building. I changed the "AUR Packages" folder to "AUR-packages", and then it built successfully. Guess that's something to look out for.
-
Question about SMC agent port binding on a system with IP multipathing
Hi All, I hope this is the correct forum
I have recently upgraded a server to from Solaris 8 to Solaris 9 and SMC version 3 to version 3.5 update1 and have been able to configure the agent to bind to the loopback interface.
Originally on the Solaris 8 system with IP multipathing and SMC version 3 we had the following configuration in the domain-config.x file, and when agent was started it would bind to the localhost:
agent = {
snmpPort = "20161"
lsof output:
esd 804 root 10u IPv4 0x30002e233d0 0t0 UDP *:20161 (Idle)
Now since the upgrade of the server and installation of SMC we are seeing that the agent now binds to all the IP address configured on the server, I have tried setting the �agentServer� to localhost or 127.0.0.1 but SMC agent will not start. Also have tried changing/removing the logicalAddressMode setting but with no luck agent still binds to all IP address.
lsof output:
esd 267 root 10u IPv4 0x300073afcb8 0t0 UDP hostname-eri0:20161 (Idle)
esd 267 root 11u IPv4 0x30003d30968 0t0 UDP hostname:20161 (Idle)
esd 267 root 12u IPv4 0x300073364a8 0t0 UDP hostname-eri1:20161 (Idle)
agent = {
agentServer = "hostname"
logicalAddressMode = "ip"
snmpPort = "20161"
I have tried finding documentation on the domain-config.x file but have only found references to existing examples not a document covering all the possible varibles and what they mean.
Thanks for any assistanceI got an idea:
In the Subscriber Profile, in the "messages" section. You can try and add:
- where it says "x" use the actual extension of the the subscriber mailbox + the MWI code. 5555*72
Just to see if it turns it on..... maybe?? Otherwise I don't know if Unity is going to be able to distinguish what is a Cisco phone and what is an Avaya phone. The UTIM is the piece that is supposed to seperate the two systems. But what you are doing is joining them together via the CCM. Which you have working, but MWI is going to be tricky.
This is where the PBXlink would come in handy. You would install this onto the Unity box. Then change your Avaya subscriber from CCM integration to the PBXlink integration. Calls can still come in from CCM, but MWI signals will go out the PBXlink.
If you notice in the Subscriber profile, you can assign subscribers to different Integrations. This plays a huge part in MWI. I think what you are trying is a great stab at it... but I think you may be chasing your tail on this one with the MWI.
On the CallManager side, what happens when you dial an Avaya phone? Do you have a route or translation pattern setup? Because if there was a way to translate this example:
ext 4455 gets a new voicemail
Unity dials 4455 to CCM with MWI on code xxxx
CCM would translate and route this pattern as 4455 *72 to the Avaya switch. Avaya switch should turn on the light.
So basically, CCM is pushing the 4455 through the CAS T1, then add *72 to it as a translation from 4455 xxxx (xxxx being your callmanager MWI on code)
It's a stab in the dark... but that's the only, if it would work I can think off without the PBXlink.
good luck! -
Oracle vm server 2.1.2 multipath problem
hello
I had following error in my multipath configuration device-mapper: ioctl: error adding target to table i use hp eva 5000 Qlogic fc and hp blade
multipath -d lists all table but multipath -v2 -ll generates this error any ideas??
thxeven i am seeing the same issue on DELL EQLOGIC,
this error i am getting it whenever i start multipath
devices {
device {
vendor "EQLOGIC"
product "100E-00"
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
my multipath -d o/p shows different uuid of disk and multipath -ll o/p shows diff uuid of disk - is this ok?
/var/log/messages shows
device-mapper: table: 253:0: multipath: error getting device
device-mapper: ioctl: error adding target to table
also could see soft lockup.
BUG: soft lockup detected on CPU#2!
[<c0442d69>] softlockup_tick+0x96/0xa4
[<c04095b0>] timer_interrupt+0x528/0x588
[<c046535e>] do_drain+0x2d/0x42
[<c0442fb7>] handle_IRQ_event+0x43/0x80
[<c0443087>] __do_IRQ+0x93/0xe8
[<c0406da1>] do_IRQ+0x93/0xae
[<c05324a6>] evtchn_do_upcall+0x85/0xde
[<c04056e5>] hypervisor_callback+0x3d/0x45
[<c0536020>] privcmd_ioctl+0x84/0x38c
[<c045803c>] get_user_pages+0x37d/0x3ef
[<c045811d>] make_pages_present+0x6f/0x84
[<c0535f9c>] privcmd_ioctl+0x0/0x38c
[<c0477864>] do_ioctl+0x1c/0x5d
[<c0477aef>] vfs_ioctl+0x24a/0x25c
[<c0477b49>] sys_ioctl+0x48/0x5f
[<c04054ff>] syscall_call+0x7/0xb -
How to enable multipathing on Solaris 10
I have a Sun SPARC T2000 connected to a 2540 array.
Originally I only installed a single channel FC HBA and connected it to tray 1 of the array. Today I've installed another FC HBA and connected it to the 2nd tray of the array. When I run format on my Solaris 10 data host I can see that there are now 2 entries for the same LUN.
I've enabled multipathing by running the following command
# stmsboot -D fp -e
<reboot>
After the reboot I still see two entries for the same LUN when I run format
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@780/pci@0/pci@9/scsi@0/sd@0,0
1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@780/pci@0/pci@9/scsi@0/sd@1,0
2. c2t0d31 <SUN-UniversalXport-0670 cyl 8 alt 2 hd 64 sec 64>
/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/ssd@w202400a0b85a1793,1f
3. c3t2d31 <SUN-UniversalXport-0670 cyl 8 alt 2 hd 64 sec 64>
/pci@7c0/pci@0/pci@9/SUNW,qlc@0/fp@0,0/ssd@w202500a0b85a1793,1f
Specify disk (enter its number): ^D
I was under the impression that I should only see one entry after enabling multipathing.
Am I wrong?Further to my original posting.
I've now created a few volumes and when I run format I'm presented with the following:
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@780/pci@0/pci@9/scsi@0/sd@0,0
1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@780/pci@0/pci@9/scsi@0/sd@1,0
2. c2t0d31 <SUN-UniversalXport-0670 cyl 8 alt 2 hd 64 sec 64>
/pci@7c0/pci@0/pci@1/pci@0,2/SUNW,qlc@1/fp@0,0/ssd@w202400a0b85a1793,1f
3. c3t2d31 <SUN-UniversalXport-0670 cyl 8 alt 2 hd 64 sec 64>
/pci@7c0/pci@0/pci@9/SUNW,qlc@0/fp@0,0/ssd@w202500a0b85a1793,1f
4. c4t600A0B80005A0C870000027C4905FD67d0 <SUN-LCSM100_F-0670 cyl 2558 alt 2 hd 64 sec 64>
/scsi_vhci/ssd@g600a0b80005a0c870000027c4905fd67
5. c4t600A0B80005A0C870000027D4905FED3d0 <SUN-LCSM100_F-0670 cyl 51198 alt 2 hd 64 sec 64>
/scsi_vhci/ssd@g600a0b80005a0c870000027d4905fed3
6. c4t600A0B80005A0C870000027E4905FFCBd0 <SUN-LCSM100_F-0670 cyl 51198 alt 2 hd 64 sec 64>
/scsi_vhci/ssd@g600a0b80005a0c870000027e4905ffcb
7. c4t600A0B80005A1793000002A14905FF3Cd0 <SUN-LCSM100_F-0670 cyl 33278 alt 2 hd 256 sec 64>
/scsi_vhci/ssd@g600a0b80005a1793000002a14905ff3c
8. c4t600A0B80005A1793000002A34905FFEEd0 <SUN-LCSM100_F-0670 cyl 51198 alt 2 hd 64 sec 64>
/scsi_vhci/ssd@g600a0b80005a1793000002a34905ffee
9. c4t600A0B80005A17930000029E4905FCDAd0 <SUN-LCSM100_F-0670 cyl 43518 alt 2 hd 256 sec 64>
/scsi_vhci/ssd@g600a0b80005a17930000029e4905fcda
I assume the c4's are my multipath volumes, but how on earth and I going to create slices and mount them with this sort of disk alias? -
Recommendations for Multipathing software in Sun Cluster 3.2 + Solaris 10
Hi all, I'm in the process of building a 2-node cluster with the following specs:
2 x X4600
Solaris 10 x86
Sun Cluster 3.2
Shared storage provided by a EMC CX380 SAN
My question is this: what multipathing software should I use? The in-built Solaris 10 multipathing software or EMC's powerpath?
Thanks in advance,
StewartHi,
according to http://www.sun.com/software/cluster/osp/emc_clarion_interop.xml you can use both.
So at the end it all boils down to
- cost: Solaris multipathing is free, as it is bundled
- support: Sun can offer better support for the Sun software
You can try to browse this forum to see what others have experienced with Powerpath. From a pure "use as much integrated software as possible" I would go with the Solaris drivers.
Hartmut -
Grid Infrastructure Version : 11.2.0.2
Platform : Solaris 10, Oracle Enterprise Linux 6
With reference to shared storage, I always read about MultiPathing. I know that the LUN names should appear as same across all nodes for RAC in Linux.
But 2 years back I succesfully configured RAC in Solaris 10. I left that shop and I don't have access a solaris RAC now.
If I remember correctly the LUN names appeared differently across the nodes
ie. A Particular LUN
will be seen from Node1 as:
/dev/rdsk/c3t400A0B800047D3M3210s3
The same LUN seen from Node2
/dev/rdsk/c1t400A0B800038A4CA0050s3
Although the LUN name is different, the slice number , ie the last charcter in LUN name will be same ( 3 in the above example )
Now, I am thinking , didn't this confuse the ASM Instance ? ie. For one LUN the v$asm_disk will have two entries like
v$asm_disk.path = /dev/rdsk/c3t400A0B800047D3M3210s3
v$asm_disk.path = /dev/rdsk/c1t400A0B800038A4CA0050s3Now, I am thinking , didn't this confuse the ASM Instance ? ie. For one LUN the v$asm_disk will have two entries likemake soft link with same name and use this soft link in ASM.
-
Configure iSCSI multipath in OVM 3.1.1 with storage plug-in not possible ?
I have a configuration with 4 iSCSI paths to storage system. All is working fine if the discover and login
process was performed manual. Multipath is working well with 4 paths.
# iscsiadm -m session
tcp: [13] 192.168.10.1:3260,25 iqn.2000-09.com.fujitsu:storage-system.eternus-dx400:CM0CA3P0
tcp: [14] 192.168.20.1:3260,26 iqn.2000-09.com.fujitsu:storage-system.eternus-dx400:CM0CA3P1
tcp: [15] 192.168.10.2:3260,27 iqn.2000-09.com.fujitsu:storage-system.eternus-dx400:CM1CA3P0
tcp: [16] 192.168.20.2:3260,28 iqn.2000-09.com.fujitsu:storage-system.eternus-dx400:CM1CA3P1
# multipath -ll
3600000e00d10000000100000000c0000 dm-2 FUJITSU,ETERNUS_DX400
size=30G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=50 status=enabled
| |- 25:0:0:1 sdg 8:96 active ready running
| `- 26:0:0:1 sdi 8:128 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
|- 27:0:0:1 sdk 8:160 active ready running
`- 28:0:0:1 sdm 8:192 active ready running
I want to configure iSCSI multipath in OVM manager using specific storage plug-in.
I proceed “Discover SAN Server” with following parameter:
Name: Storage-Name
Storage Type: iSCSI Storage Server
Storage Plug-in: Fujitsu ETERNUS
Admin Host: IP-Addr. of storage system
Admin Username: user name to access storage system
Admin Password: password
Access Host (IP) Address: 192.168.10.1
After this configuration I see my storage system and assigned physical volumes to an access group.
Now the volumes are available on the OVM storage server, >>>> but I lost the multipath functionality <<<<<.
# multipath -ll
3600000e00d1000000010000000120000 dm-1 FUJITSU,ETERNUS_DX400
size=30G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=50 status=active
`- 33:0:0:1 sdd 8:48 active ready running
The reason for this behavior is that only one Access Host (IP) Address can be specified.
With this IP address a session was established … but only 1 session and not 4 !!
How can I specify the remaining 3 paths to have proper multipath functionality?
I know that Citrix XenServer accepts more Access Host (IP) Addresses,
e.g. 192.168.10.1,192.168.10.2,192.168.20.1,192.168.20.2
Thanks for help.@user12273962
Yes, you are right. The storage plug-in is for management of the storage within OVM.
This is working well, but I'm still missing the multipath fuctionality. This storage plug-in is not responisble
for establish the multipath, but OVM should take care of this.
@budachst
Yes, OVM did only open one session and loggin only to one target, because only one Access Host (IP) Address: 192.168.10.1
can be specified.
# iscsiadm -m session
tcp: [21] 192.168.10.1:3260,25 iqn.2000-09.com.fujitsu:storage-system.eternus-dx400:CM0CA3P0
In my point of view it is not possible to configure the remaining targets, so this is a design problem.
Any new inputs and informations are welcome. -
OVM 3.1.1 iSCSI multipathing
I am setting up an OVM 3.1.1 environment at a customer site who is presenting iSCSI LUNs from an EMC Filer. I have a few questions:
* what is the proper way to discover a set of iSCSI LUNs when the storage unit has 4 unique IP addresses on 2 different VLAN's? If I discover all 4 paths, they present in the GUI as 4 separate SAN servers. The LUNs seem to show up scattered across all 4 SAN servers. By my simple logic, my thinking is that if I were to lose access to one of those SAN servers, that the LUNs that happen to be presented via that SAN server would disappear and not be accessible. I know this isn't the case however because multipath -ll on the OVM server shows me that there are 4 distinct paths to each LUN that I'm expecting to see- and I've verified that multipath is working by downing one of the two NICs that are allocated to iSCSI and I can see that two paths of four are failed, but I can still access the disk just fine. Is this just me not setting things up the right way in the GUI, or is the GUI implemented poorly here and needs to be redesigned so it's clear to both myself AND the customer?
* has anyone used the storage connect plugins for either iSCSI or Fiber Channel storage with OVM? What does it actually do for you and is it easy or easier than unmanaged storage to implement? Is it worth the hassle?Here are the notes I had written down:
== change iSCSI default timeout in /etc/iscsi/iscsid.conf for any future connections ==
* change node.session.timeo.replacement_timeout from 120 to 5
#node.session.timeo.replacement_timeout = 120
node.session.timeo.replacement_timeout = 5
== identify iSCSI lun's ==
# iscsiadm -m session
tcp: [1] xx.xx.xx.xx:3260,4 iqn.1992-04.com.emc:cx.apm00115000338.b9
tcp: [2] xx.xx.xx.xx:3260,3 iqn.1992-04.com.emc:cx.apm00115000338.b8
tcp: [3] xx.xx.xx.xx:3260,1 iqn.1992-04.com.emc:cx.apm00115000338.a8
tcp: [4] xx.xx.xx.xx:3260,2 iqn.1992-04.com.emc:cx.apm00115000338.a9
== confirm current active timeout value before the change ==
cat /sys/class/iscsi_session/session*/recovery_tmo
120
120
120
120
== manually change timeout on each iSCSI lun for current active connections ==
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm00115000338.b9 -p xx.xx.xx.xx:3260 -o update -n node.session.timeo.replacement_timeout -v 5
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm00115000338.b8 -p xx.xx.xx.xx:3260 -o update -n node.session.timeo.replacement_timeout -v 5
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm00115000338.a8 -p xx.xx.xx.xx:3260 -o update -n node.session.timeo.replacement_timeout -v 5
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm00115000338.a9 -p xx.xx.xx.xx:3260 -o update -n node.session.timeo.replacement_timeout -v 5
== restart iscsi to make changes take effect ==
service iscsi stop
service iscsi start
NOTE: service iscsi restart and /etc/init.d/iscsi restart doesn't seem to work. Only by stopping, then implicitly starting the iscsi service does it seem to work consistently.
== restart multipathd ==
# service multipathd restart
Stopping multipathd daemon: [ OK ]
Starting multipathd daemon: [ OK ]
== Verify new timeout value on active sessions ==
cat /sys/class/iscsi_session/session*/recovery_tmo
5
5
5
5 -
Oracle VM Server for SPARC - network multipathing architecture question
This is a general architecture question about how to best setup network multipathing
I am reading the "Oracle VM Server for SPARC 2.2 Administration Guide" but I can't find what I am looking for.
From reading the document is appears it is possible to:
(a) Configure IPMP in the Service Domain (pg. 155)
- This protects against link level failure but won't protect against the failure of an entire Service LDOM?
(b) Configure IPMP in the Guest Domain (pg. 154)
- This will protect against Service LDOM failure but moves the complexity to the Guest Domain
- This means the there are two (2) VNICs in the guest though?
In AIX, "Shared Ethernet Adapter (SEA) Failover" it presents a single NIC to the guest but can tolerate failure of a single VIOS (~Service LDOM) as well as link level failure in each VIO Server.
https://www.ibm.com/developerworks/mydeveloperworks/blogs/aixpert/entry/shared_ethernet_adapter_sea_failover_with_load_balancing198?lang=en
Is there not a way to do something similar in Oracle VM Server for SPARC that provides the following:
(1) Two (2) Service Domains
(2) Network Redundancy within the Service Domain
(3) Service Domain Redundancy
(4) Simplify the Guest Domain (ie single virtual NIC) with no IPMP in the Guest
Virtual Disk Multipathing appears to work as one would expect (at least according the the documentation, pg. 120). I don't need to setup mpxio in the guest. So I'm not sure why I would need to setup IPMP in the guest.
Edited by: 905243 on Aug 23, 2012 1:27 PMHi,
there's link-based and probe-based IPMP. We use link-based IPMP (in the primary domain and in the guest LDOMs).
For the guest LDOMs you have to set the phys-state linkprop on the vnets if you want to use link-based IPMP:
ldm set-vnet linkprop=phys-state vnetX ldom-name
If you want to use IPMP with vsw interfaces in the primary domain, you have to set the phys-state linkprop in the vswitch:
ldm set-vswitch linkprop=phys-state net-dev=<phys_iface_e.g._igb0> <vswitch-name>
Bye,
Alexander. -
Issue with multipath load-sharing of VPNv4 routes
Hi Sir,
Below is output of "show ip bgp vpnv4 all 10.1.36.0/24" on a PE router in an MPLS VPN environment:
KP1#sh ip bgp vpnv4 all 10.1.36.0/24
BGP routing table entry for 65001:202:10.1.36.0/24, version 1732
Paths: (2 available, best #1, no table)
Not advertised to any peer
Local
172.18.254.56 (metric 31) from 172.18.254.54 (172.18.254.54)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:65001:1200
Originator: 172.18.254.56, Cluster list: 172.18.254.54
Local
172.18.254.56 (metric 31) from 172.18.255.254 (172.18.255.254)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:65001:1200
Originator: 172.18.254.56, Cluster list: 172.18.255.254
BGP routing table entry for 65001:203:10.1.36.0/24, version 2439
Paths: (2 available, best #2, no table)
Not advertised to any peer
Local
172.18.255.4 (metric 21) from 172.18.255.254 (172.18.255.254)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:65001:1200
Originator: 172.18.255.4, Cluster list: 172.18.255.254
Local
172.18.255.4 (metric 21) from 172.18.254.54 (172.18.254.54)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:65001:1200
Originator: 172.18.255.4, Cluster list: 172.18.254.54
BGP routing table entry for 65001:204:10.1.36.0/24, version 2441
Paths: (2 available, best #2, table V1:TEST)
Multipath: iBGP
Not advertised to any peer
Local, imported path from 65001:202:10.1.36.0/24
172.18.254.56 (metric 31) from 172.18.254.54 (172.18.254.54)
Origin incomplete, metric 0, localpref 100, valid, internal
Extended Community: RT:65001:1200
Originator: 172.18.254.56, Cluster list: 172.18.254.54
Local, imported path from 65001:203:10.1.36.0/24
172.18.255.4 (metric 21) from 172.18.254.54 (172.18.254.54)
Origin incomplete, metric 0, localpref 100, valid, internal, best
Extended Community: RT:65001:1200
Originator: 172.18.255.4, Cluster list: 172.18.254.54
KP1#
There are two RRs on the network: RR1 (172.18.254.54) and RR2 (172.18.255.254). All PE routers peer with these two RRs.
The VPNv4 prefix 10.1.36.0/24 is advertised by two PE routers; the first is 172.18.254.56 (hostname: SK1) using RD 65001:202, another is 172.18.255.4 (hostname: SK2) using RD 65001:203. This is an Intranet VPN with RT value of 65001:1200.
I understand why KP1 selects the path via SK2 as the best because it matches the BGP best-path selection criteria: "Prefer the path with the lowest IGP metric to the BGP next hop".
I want to load-balance traffic destined to 10.1.36.0/24 across SK1 and SK2. Thus, I modified the config on KP1 as follows:
router bgp 65001
address-family ipv4 vrf V1:TEST
maximum-paths ibgp 2
But still only one best path is selected and installed into the VRF routing tables, as follows:
KP1#sh ip route vrf V1:TEST
Routing Table: V1:TEST
10.0.0.0/24 is subnetted, 6 subnets
B 10.1.36.0 [200/0] via 172.18.255.4, 20:53:01
KP1#sh ip bgp vpnv4 vrf V1:TEST
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10081:204 (default for vrf V1:TEST)
* i10.1.36.0/24 172.18.254.56 0 100 0 ?
*>i 172.18.255.4 0 100 0 ?
KP1 only installs the two paths when I configured the following:
router bgp 65001
address-family ipv4 vrf V1:TEST
maximum-paths ibgp unequal-cost 2 (I can't exactly remember the command. It should be this one.)
Please advise if this is the correct way to install both routes.
Thank you.
B.Rgds,
Lim TSHi,
"maximum-path ... unequal-cost" means install two pathes EVEN IF paths have unequal IGP metric. If the metric is identical then the BGP path selection is identical to not configuring "unequal-cost".
This option is used to skip the normal BGP path selection step "closest IGP neighbor" when it comes to decide what to insert into the IP routing table.
So typically you would use "unequal-cost" as for the VPN customer your core network is not interesting (not even visible). So routing decisions based on your core network metrics are (often) not in the customers interest. The customer is usually interested in loading the redundant access lines. This would potentially not be possible because of the SP BGP selection mechanism.
Hope this helps!
Regards, Martin -
MP-BGP and MPLS multipath load sharing
Hi,
I am trying to PoC MPLS multi path load sharing by using per-PE-per-VRF RDs in the network.
I have a simple lab setup with AS65000 which consists of SITE1 PE1&PE2 routers (10.250.0.101 and 10.250.0.102), route reflector RR in the middle (10.250.0.55) and SITE2 PE1&PE2 routers (10.250.0.201 and 10.250.0.202). PE routers only do iBGP peering with centralized route reflector and passing route to 10.1.1.0/24 prefix (learned from single CE router) with 100:1 and 100:2 RDs for specific VRF.
Route reflector gets routes with multiple RDs, makes copies of these routes in order to make local comparison to RD 55:55 configured, uses these routes and install multiple paths into its routing table (all PE routers and RR have "maximum-paths eibgp 4" configured):
RR#sh ip bgp vpnv4 all
BGP table version is 7, local router ID is 10.250.0.55
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 55:55 (default for vrf VRF-A) VRF Router ID 10.250.0.55
* i10.1.1.0/24 10.250.0.102 0 100 0 65001 i
*>i 10.250.0.101 0 100 0 65001 i
Route Distinguisher: 100:1
*>i10.1.1.0/24 10.250.0.101 0 100 0 65001 i
Route Distinguisher: 100:2
*>i10.1.1.0/24 10.250.0.102 0 100 0 65001 i
RR#sh ip route vrf VRF-A
<output omitted>
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
B 10.1.1.0/24 [200/0] via 10.250.0.102, 00:45:52
[200/0] via 10.250.0.101, 00:46:22
BUT, for some reason RR doest reflects routes with multiple RDs down to SITE2 PE1&PE2 - its own clients:
RR#sh ip bgp vpnv4 all neighbors 10.250.0.201 advertised-routes
Total number of prefixes 0
RR#sh ip bgp vpnv4 all neighbors 10.250.0.202 advertised-routes
Total number of prefixes 0
Here comes RR BGP configuration:
router bgp 65000
no synchronization
bgp router-id 10.250.0.55
bgp cluster-id 1.1.1.1
bgp log-neighbor-changes
neighbor 10.250.0.101 remote-as 65000
neighbor 10.250.0.101 update-source Loopback0
neighbor 10.250.0.101 route-reflector-client
neighbor 10.250.0.101 soft-reconfiguration inbound
neighbor 10.250.0.102 remote-as 65000
neighbor 10.250.0.102 update-source Loopback0
neighbor 10.250.0.102 route-reflector-client
neighbor 10.250.0.102 soft-reconfiguration inbound
neighbor 10.250.0.201 remote-as 65000
neighbor 10.250.0.201 update-source Loopback0
neighbor 10.250.0.201 route-reflector-client
neighbor 10.250.0.201 soft-reconfiguration inbound
neighbor 10.250.0.202 remote-as 65000
neighbor 10.250.0.202 update-source Loopback0
neighbor 10.250.0.202 route-reflector-client
neighbor 10.250.0.202 soft-reconfiguration inbound
no auto-summary
address-family vpnv4
neighbor 10.250.0.101 activate
neighbor 10.250.0.101 send-community both
neighbor 10.250.0.102 activate
neighbor 10.250.0.102 send-community both
neighbor 10.250.0.201 activate
neighbor 10.250.0.201 send-community both
neighbor 10.250.0.202 activate
neighbor 10.250.0.202 send-community both
exit-address-family
address-family ipv4 vrf VRF-A
maximum-paths eibgp 4
no synchronization
bgp router-id 10.250.0.55
network 10.255.1.1 mask 255.255.255.255
exit-address-family
SITE1 PE1 configuration:
router bgp 65000
no synchronization
bgp router-id 10.250.0.101
bgp log-neighbor-changes
neighbor 10.250.0.55 remote-as 65000
neighbor 10.250.0.55 update-source Loopback0
neighbor 10.250.0.55 soft-reconfiguration inbound
no auto-summary
address-family vpnv4
neighbor 10.250.0.55 activate
neighbor 10.250.0.55 send-community both
exit-address-family
address-family ipv4 vrf VRF-A
neighbor 10.1.101.2 remote-as 65001
neighbor 10.1.101.2 activate
neighbor 10.1.101.2 soft-reconfiguration inbound
maximum-paths eibgp 4
no synchronization
bgp router-id 10.250.0.101
exit-address-family
SITE1 PE2 configuration is similar to SITE1 PE1. They both do eBGP peering with dualhomed CE router in AS65001 which announces 10.1.1.0/24 prefix into VRF-A table.
My question is: clearly, the issue is that RR doesn't reflect any routes to its clients (SITE2 PE1&PE2) for 10.1.1.0/24 prefix with 100:1 and 100:2 RDs that dont match it's locally configured RD 55:55 for VRF-A, although they are present in its BGP/RIB tables and used for multipathing. Is this an expected behavior or some feature limitation for specific platform or IOS version? Currently, in this test lab setup I run IOS 12.4(24)T8 on all the devices.
Please, let me know if any further details are needed to get an idea of why this well known and widely used feature is not working correctly in my case. Thanks a lot!
Regards,
SergeyHi Ashish,
I tried to remove VRF and address family configurations completely from RR.
router bgp 65000
no synchronization
bgp router-id 10.250.0.55
bgp cluster-id 1.1.1.1
bgp log-neighbor-changes
neighbor 10.250.0.101 remote-as 65000
neighbor 10.250.0.101 update-source Loopback0
neighbor 10.250.0.101 route-reflector-client
neighbor 10.250.0.101 soft-reconfiguration inbound
neighbor 10.250.0.102 remote-as 65000
neighbor 10.250.0.102 update-source Loopback0
neighbor 10.250.0.102 route-reflector-client
neighbor 10.250.0.102 soft-reconfiguration inbound
neighbor 10.250.0.201 remote-as 65000
neighbor 10.250.0.201 update-source Loopback0
neighbor 10.250.0.201 route-reflector-client
neighbor 10.250.0.201 soft-reconfiguration inbound
neighbor 10.250.0.202 remote-as 65000
neighbor 10.250.0.202 update-source Loopback0
neighbor 10.250.0.202 route-reflector-client
neighbor 10.250.0.202 soft-reconfiguration inbound
no auto-summary
address-family vpnv4
neighbor 10.250.0.101 activate
neighbor 10.250.0.101 send-community both
neighbor 10.250.0.102 activate
neighbor 10.250.0.102 send-community both
neighbor 10.250.0.201 activate
neighbor 10.250.0.201 send-community both
neighbor 10.250.0.202 activate
neighbor 10.250.0.202 send-community both
exit-address-family
After this, RR doesn't accept any routes at all from S1PE1&S1PE2 routers, thus not reflecting any routes down to its clients S2PE1&S2PE2 as well:
S1PE1#sh ip bgp vpnv4 all
BGP table version is 6, local router ID is 10.250.0.101
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:1 (default for vrf VRF-A) VRF Router ID 10.250.0.101
*> 10.1.1.0/24 10.1.101.2 0 0 65001 i
S1PE1#sh ip bgp vpnv4 all neighbors 10.250.0.55 advertised-routes
BGP table version is 6, local router ID is 10.250.0.101
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:1 (default for vrf VRF-A) VRF Router ID 10.250.0.101
*> 10.1.1.0/24 10.1.101.2 0 0 65001 i
Total number of prefixes 1
S1PE2#sh ip bgp vpnv4 all
BGP table version is 6, local router ID is 10.250.0.102
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:2 (default for vrf VRF-A) VRF Router ID 10.250.0.102
*> 10.1.1.0/24 10.1.201.2 0 0 65001 i
S1PE2#sh ip bgp vpnv4 all neighbors 10.250.0.55 advertised-routes
BGP table version is 6, local router ID is 10.250.0.102
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 100:2 (default for vrf VRF-A) VRF Router ID 10.250.0.102
*> 10.1.1.0/24 10.1.201.2 0 0 65001 i
Total number of prefixes 1
RR#sh ip bgp vpnv4 all
RR#sh ip bgp vpnv4 all neighbors 10.250.0.101 routes
Total number of prefixes 0
RR#sh ip bgp vpnv4 all neighbors 10.250.0.102 routes
Total number of prefixes 0
Any feedback is appreciated. Thanks.
Regards,
Sergey -
Trouble with multipath device names in an OVM resource pool...
Hello everyone...
I'm trying to add a server to an older pool (2.2.1) and I'm getting a little confused about this multipathing business....
The master has 3 storage repos...like this...
[ ] 96b72edc-147f-45e3-8e8a-672344e5a474 => /dev/mapper/mpath4p1
[ ] 1af0a0f2-463d-4e67-b854-47d68f95eb15 => /dev/mapper/mpath6p1
[ * ] f481b38b-f582-4693-9768-1eb8f47f0e6c => /dev/mapper/mpath3p1
If I do a multipath -ll they show up like this:
mpath6 (360060e8006fee3000000fee300000052) dm-3
mpath4 (360060e800543f000000043f0000001ae) dm-2
mpath3 (360060e800543f000000043f0000001bb) dm-1
On my new server...I tried to set the bindings so they'd be the same, and it shows up like this:
mpath6 (360060e8006fee3000000fee300000052) dm-3
mpath4 (360060e800543f000000043f0000001ae) dm-1
mpath3 (360060e800543f000000043f0000001bb) dm-2
The dm-x is different between the two servers...
Does this have to be the same for it to work properly or can I add the storage to my new server and add it to the pool?
I want to make sure because I really don't want to cause any kind of storage issues.
Any help or guidance would be greatly appreciated.
Thanks!
ArminSame counts for the applet.class resource on the Html page.At this point you have to deal with browser differences and the fact there is no <applet> tag in strict xhtml. There's a good series of increasingly complex examples on this page: [http://ww2.cs.fsu.edu/~steele/XHTML/appletObject.html]
-
OS X Server IP Multipathing for NIC failover
I am looking for pointers as to how to set up IP multipathing on an Xserve. I am looking for the equivalent to basic Solaris IPMP (I don't need probing, just link failure detection would do). Is LAGG from BSD available in the OS X kernel? That might do it if there is nothing in OS X directly. I would prefer an OS X direct solution only because while I will set this box up I might not be the one trouble shooting it going forward, and as such I will have better luck passing on an OS X solution rather than a BSD / Darwin solution.
Link aggregation is supported with Mac OS X Server. ([Details|http://images.apple.com/server/macosx/docs/AdvancedServer_Adminv10.6.pdf])
And at its simplest (and depending on your requirements), generic IP routing and DNS-based failover can also provide something similar, if your TTL timers are set (fairly) short.
Maybe you are looking for
-
Creating Threads : New thread doesn't run( )
Hello ! Can anyone please check the error in this code. It does not start the new thread. God bless you. NADEEM. // Create a second thread class NewThread implements Runnable { Thread t ; NewThread() { try { t = new Thread(this.t , "New Thre
-
Migration from SQL Server to Oracle. 1) Fail to parse when using function (COALESCE, ISNULL, CONVERT etc.) and "< <value>", "> <value>" or "<> <values>" in a WHERE-clause, example: WHERE COALESCE(Nr,0) > 0 or WHERE ISNULL(Nr,0) <> 0 2) Fail to parse
-
How to pack a standalone Java application
Hi, all. I have a stand alone Java application which includs some classes and some properties files. Meanwhile, I'm using some libraries(in jar files) from 3rd party as library extension. When I developed my application in the IDE, I can run it from
-
Concurrent behavior of DB adapter on SOA 10g Cluster
Hi all, We have currently setup SOA 10g(10.1.3.5.2) cluster.According to Oracle documentation other than File/FTP adapters all other adapters behave concurrently i.e; we can have these adapters in active-active topology in the cluster. Now we have a
-
when I browse the jsp file,it is downlaod,it is very strange,what is the potential problem?