Rename network interfaces to eth1g*, eth10g*

master
Vitaliy Filippov 2020-03-16 17:13:07 +03:00
parent 95a0041517
commit c281e32f62
4 changed files with 65 additions and 16 deletions

View File

@ -18,11 +18,11 @@
- Убрать quiet из опций GRUB
+ На все ноды поставить qemu 4.x из sid (там virtio-blk discard=unmap умеет)
- Везде прописать все ноды в /etc/hosts
- Переименовать сеть в eth1gX + eth10gX (X=1,2), иначе имена сетевых интерфейсов едут при перестановке NVMe-шек
+ Переименовать сеть в eth1gX + eth10gX (X=1,2), иначе имена сетевых интерфейсов едут при перестановке NVMe-шек
- Везде убрать DHCP
- Удалять network-manager
- Добавить passwordless ssh от рута между всеми серверами (чисто для удобства, oneadmin и так есть)
- Настроить live миграцию при reschedule: https://github.com/OpenNebula/one/blob/612300b191224b172fa4511845f2a17faa5f547c/src/scheduler/etc/sched.conf#L99
+ Настроить live миграцию при reschedule: https://github.com/OpenNebula/one/blob/612300b191224b172fa4511845f2a17faa5f547c/src/scheduler/etc/sched.conf#L99
- Добавить аналог inventory (перечень хостов с их переменными)
- Шаблонизировать mon_initial_members в ceph.conf (?)
- Мониторинг и алерты - пока Prometheus+Grafana настроены вручную на 172.31.1.13 ("подоконник")

View File

@ -11,17 +11,60 @@ if [ -z "$play_host" -o -z "$node_name" -o -z "$int_ip" ]; then
exit 1
fi
### Find 1G and 10G network interfaces (10G is used for keepalived and galera)
### Rename 1G interfaces to eth1g[1,2,3...], 10G to eth10g[1,2,3...]
ssh root@$play_host '
set -e -x
i10g=1
i1g=1
changed=
>tmp$$
for i in /sys/class/net/eth1g* /sys/class/net/eth10g* `ls -d /sys/class/net/* | grep -vP "eth10?g"`; do
if [ -e "$i/device" ]; then
mac=`cat $i/address`
oldname=${i##/sys/class/net/}
newname=eth10g
if ethtool $oldname | grep -q 10000; then
newname=eth10g$i10g
i10g=$((i10g+1))
else
newname=eth1g$i1g
i1g=$((i1g+1))
fi
if [ "$newname" != "$oldname" ]; then
changed=1
ip link set $oldname down
ip link set dev $oldname name $newname
ip link set $newname up
if [ -e /run/network/ifstate.$oldname ]; then
rm -f /run/network/ifstate.$oldname
echo $newname > /run/network/ifstate.$newname
fi
fi
cat >>tmp$$ <<EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$mac", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="$newname"
EOF
fi
done
if [ "$changed" = "1" ]; then
cp tmp$$ /etc/udev/rules.d/70-persistent-net.rules
udevadm control --reload-rules
update-initramfs -u -k all
fi
rm -f tmp$$'
### Find connected 1G and 10G network interfaces (10G is used for keepalived and galera)
eth10g=
eth1g=
export $(ssh root@$play_host '
for i in /sys/class/net/*; do
ip link set ${i##/sys/class/net/} up
if [ x`cat $i/carrier 2>/dev/null` == "x1" ]; then
if [ x`cat $i/speed 2>/dev/null` == "x10000" ]; then
echo eth10g=${i##/sys/class/net/}
elif [ x`cat $i/speed 2>/dev/null` == "x1000" ]; then
echo eth1g=${i##/sys/class/net/}
if [ x`cat $i/carrier 2>/dev/null` = "x1" ]; then
if [ x`cat $i/speed 2>/dev/null` = "x10000" -a "$eth10g" = "" ]; then
eth10g=${i##/sys/class/net/}
echo eth10g=$eth10g
elif [ x`cat $i/speed 2>/dev/null` = "x1000" -a "$eth1g" = "" ]; then
eth1g=${i##/sys/class/net/}
echo eth1g=$eth1g
fi
fi
done')

View File

@ -116,6 +116,8 @@ set -e -x
perl -i -pe 's!^DB\s*=.*!DB = [ backend = "mysql", server = "localhost", port = 0, user = "oneadmin", passwd = "$opennebula_db_password", db_name = "opennebula" ]!' /etc/one/oned.conf
perl -i -pe 's!^LIVE_RESCHEDS\s*=.*!LIVE_RESCHEDS = 1!' /etc/one/sched.conf
while ! echo SELECT 1 | mysql; do
echo Waiting for MySQL...
done

20
run.sh
View File

@ -2,16 +2,20 @@
set -e -x
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./general.sh
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./opennebula.sh
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./ceph.sh
exit
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./general.sh
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./opennebula.sh
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./ceph.sh
exit
play_host=172.31.1.17 node_name=ripper6 int_ip=192.168.5.16 ./general.sh
play_host=172.31.1.17 node_name=ripper6 int_ip=192.168.5.16 ./opennebula.sh
play_host=172.31.1.17 node_name=ripper6 int_ip=192.168.5.16 ./ceph.sh
exit
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./general.sh
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./opennebula.sh
play_host=172.31.1.9 node_name=ripper4 int_ip=192.168.5.14 ./ceph.sh
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./general.sh
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./opennebula.sh
play_host=172.31.1.16 node_name=ripper5 int_ip=192.168.5.15 ./ceph.sh