You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by Skale Franz <fr...@citycom-austria.com> on 2016/12/19 11:00:22 UTC
erroneous routes in SystemVM and wrong MTU in Storage VM ( CS
4.8.0.1)
Hi,
after reading and searching the archives (http://mail-archives.apache.org/mod_mbox/cloudstack-users) i found no answer to still existing problems regarding the systemVM (cp and ssvm) which are:
1.) wrong route to public ip of the CS Management server host (public IP)
2.) not setting the right MTU via the global option secstorage.vm.mtu.size (SSVM)
There's one thread metioning the MTU problem but i didn't any jira bug reports reagarding it !
Link: https://www.mail-archive.com/users@cloudstack.apache.org/msg20632.html
Ad 1.)
Checking the up2date git source (line 242 link below), the public interface, which always is "eth2" has been not taken in credit when it comes to the erroneous routing via eth1 (mgmt interface) instead of eth3 (public interface) !
Since the interface order is static why eth2 will not be taken in credit for public internet ? ( see /etc/init.d/cloud-early-config around line 448)
The function (addRouteToInternalIp) has to be (addRouteToPublic IP) since, imho, a route to the public ip of the management server will be added and not to the "internal" IP (what that will be ?!?). For me, the function must take eth2 in credit and also check that eth2 is the public network.
Setting of mgmt network:
management.network.cidr: 10.54.2.0/24 (not taken in credit imho)
Log:
2016-12-19 08:54:53,889 DEBUG [resource.consoleproxy.ConsoleProxyResource] (main:null) addRouteToInternalIp: localgw=10.54.2.252, eth1ip=10.54.2.169, eth1mask=255.255.255.0,destIp=xxx.29.149.206
But eth2 is in the same subnet, so there must be no hostroute via the management ip !!!
Interface:
eth2 Link encap:Ethernet HWaddr 06:0d:fe:00:00:08
inet addr:xxx.29.149.196 Bcast:xxx.29.149.207 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22290 errors:0 dropped:0 overruns:0 frame:0
TX packets:4472 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1836855 (1.7 MiB) TX bytes:466901 (455.9 KiB)
Interrupt:26
So my hotfix w/o altering the java code: (A cronjob check this every minute on both system vms:
#!/bin/bash
CLOUDSTACK_IP="xxx.29.149.206"
IP="/sbin/ip route del"
DEBUG=0
ROUTE_EXISTS=$(/sbin/ip route|/bin/grep $CLOUDSTACK_IP)
if [ $? -eq 0 ]; then
GW=$(echo $ROUTE_EXISTS|/bin/sed 's/.*via \(.*\) dev.*$/\1/g' 2>/dev/null)
EXT_IP=$(echo $ROUTE_EXISTS|/bin/sed 's/^\(.*\) via.*$/\1/g' 2>/dev/null)
if [ $DEBUG -eq 1 ]; then
echo ROUTE EXISTS $ROUTE_EXISTS
echo GW $GW
echo EXT_IP $EXT_IP
fi
if [[ ! $GW =~ ^$ && ! $EXT_IP =~ ^$ ]]; then
if [ $DEBUG -eq 1 ]; then
echo "Will delete erroneous host route"
fi
$IP $EXT_IP via $GW 2>/dev/null
fi
fi
2.) secstorage.vm.mtu.size not taken in credit in the ssvm !
My fix: (ssvm)
file: /etc/init.d/cloud-early-config (Line 1163)
BEFORE:
[ -n "$MTU" ] && ifconfig eth3 mtu $MTU && echo " mtu $MTU" >> /etc/network/interfaces
AFTER:
#[ -n "$MTU" ] && ifconfig eth3 mtu $MTU && echo " mtu $MTU" >> /etc/network/interfaces
ifconfig eth3 mtu 9000 && echo " mtu 9000" >> /etc/network/interfaces
Have these bugs been fixed in version 4.9.x ?
System: CS 4.8.0.1
XEN 6.5.SP1
Best regards
Franz