#!/bin/bash
to="name@gmail.com"
log=/var/log/autoreroute.log
datadir=/tmp/ardd
aa="ya.ru google.com cas.dtln.ru"
host=`hostname`
if [ "$host" == "router1" ]; then
nhost=0
ia=( 11.11.11.1 22.22.22.1 )
gwa=( 11.11.11.2 22.22.22.2 )
else
if [ "$host" == "router2" ]; then
nhost=1
ia=( 11.11.12.1 22.22.23.1 )
gwa=( 11.11.12.2 22.22.23.2 )
else
exit
fi
fi
mkdir -p $datadir
cd $datadir || exit
rm *_*_*.log
ns=60
n=60
s=100
while true
do
n=$[$n+1]
if [ $n -ge $ns ] ; then
n=0
fi
for a in $aa
do
for i in ${ia[*]}
do
ping -c 6 -i 6 -n -I $i $a > ${n}_${a}_${i}.log &
done
done
for a in $aa
do
for i in ${ia[*]}
do
wait
done
done
for t in ${!ia[*]}
do
i=${ia[$t]}
v[$t]=`cat *_${i}.log | grep -F " bytes from " | wc -l`
done
so=$s
dif=$[${v[0]}-${v[1]}]
lim1=15
lim2=15
if [ $s -eq 1 ]; then
lim1=2
fi
if [ $s -eq 2 ]; then
lim2=2
fi
if [ $dif -gt -$lim1 -a $dif -lt $lim2 ] ; then
s=0
else
if [ ${v[0]} -lt ${v[1]} ] ; then
s=1
else
s=2
fi
fi
if [ $so -ne $s ] ; then
dt=`date --rfc-3339=seconds`
ip route flush table 100
ip route flush table 150
ip route flush cache
if [ $s -eq 0 ] ; then
ip route add default table 150 nexthop via ${gwa[0]} weight 3 nexthop via ${gwa[1]} weight 1
dt="$dt Both chanel up ${v[0]} ${v[1]}"
dnsi=1
else
if [ $s -eq 1 ] ; then
ip route add default via ${gwa[1]} table 100
conntrack -D -n ${ia[0]} > /dev/null 2>&1
dt="$dt Provider 2 down ${v[0]} ${v[1]}"
dnsi=0
else
ip route add default via ${gwa[0]} table 100
conntrack -D -n ${ia[1]} > /dev/null 2>&1
dt="$dt Provider 1 down ${v[0]} ${v[1]}"
dnsi=1
fi
fi
echo "$dt" >> $log
ip route flush cache
conntrack -D -s 10.0.1.6 > /dev/null 2>&1
conntrack -D -g 10.0.1.6 > /dev/null 2>&1
tst=5
while [ $tst -gt 0 ]; do
sleep 5
ssh dnseditor@ns.ourdomen.ru sudo /root/ed-dns.sh $nhost $dnsi >> $log && tst=1
tst=$[$tst-1]
done
tst=5
while [ $tst -gt 0 ]; do
sleep 5
( echo "To: $to" ; echo Subject: auto-reroute on $host ; echo ; echo "$dt" ) | sendmail -t >> $log 2>&1 && tst=1
tst=$[$tst-1]
done
fi
done
Естественно, кроме него надо прописать двух провайдеров в той части где описываются интерфейсы.
Плюс требуются таблицы правил. Плюс требуется настройка iptables в части nat и mangle, но это статические настройки. Они не меняются в процессе переключения провайдера.
Хм. У меня расклад похожий с каналами но я поступил по другому. Переключает таки автомат, на основе пингования инетовских серверов. Постоянно пингуется гугль, яндекс, и провайдер почты, с невысокой частотой. Проверяется сколько пакетов вернулось за последние полчаса.
Если оба канала примерно равны — то трафик идет по обоим, но на более слабый канал идет только 20% трафика. Если на одном из них потерь за последние полчаса примерно на 1% больше, то этот канал исключается. Плюс правится dns на внешнем серваке, чтобы люди до нас добирались по другому ip. Плюс почту шлёт, что переключился.
Иногда, когда на обоих каналах проблемы, то автомат может чудить, ибо у него лаг в полчаса. Но в остальном надежность инета стала радикально выше, чем на одном канале. И никаких BGP и AS просто не надо. Такую схему можно хоть для домашнего инета развернуть. Правда роутер — полноценный писюк на линухе — убунте.
Дык внезапные протупления и на меньших чунках бывают.
Или получается так, что на меньших чунках вероятность протупления одного из дисков далеко не 100%, а сильно меньше?
Но даже тут не должно быть снижения производительности.
Просто моя идея была в том, чтобы протупления дисков друг на друга накладывались. Чтобы диски тупили параллельно.
Сейчас у тебя один тупит — а другие уже отработали. И быстрые ждут тормоза. Если чунк большой — то каждому диску достается большой кусок, и он с высокой вероятностью будет и тупить, и быстро работать, просто на разных местах. Один в начале тормознет, второй в конце, третий в середине, но к финишу все приедут примерно вместе.
Возможные замедления в такой схеме могут быть с нескольких сторон:
1. на мелких операциях, которые раньше раскладывались на несколько дисков, а сейчас упираются в производительность меньшего количества.
2. буфера в системе/приложении которые пишут инфу на диск, не большие, и при большом чунке их тупо не хватает, чтобы нагрузить все диски параллельно, и из восьми работает например 4, а следующие четыре начнут писать только после того, как эти закончат свою работу, когда система отдаст приложению ответ — с этими данными я закончила, давай следующие.
Первое — это принципиальное понижение производительности, и тут ничего нельзя сделать. А второе — потенциально излечимо.
Или я какой-то другой механизм снижения производительности пропустил?
Хм, дык они и раньше удаляли приложения с устройств.
Jasmine IM был раньше в поставлен через Google play, а потом они его забанили и удалили. По наезду от ICQ.
Пришлось переустанавливать через файл. Книжную читалку Moon reader, кажется, банили со стиранием. По наезду от Litres.
В чём разница то?
Хм. А почему эта скорость падает? Чем то это должно объяснятся? Или она падает на мелких операциях? И на столько сильно, что приращение на последовательных уже становится не так важным?
Ну про интел — это понятно. Хотя, может кто-то сумеет из чипсета сделать съёмную плату и тогда будет 6*n. Но пока 6 — это предел, и он очень печальный. Я пока до 10 догоняю через ASMedia 1061 (1062). Но там всего 2 порта. Про Marvel у меня вообще печальный опыт: avryabov.livejournal.com/5056.html
А в планах собрать хранилище на 15 HDD, но тут похоже ничего лучше LSI нету. И это меня огорчает…
Хм, простите, а увеличение chunk не дает увеличения скорости? Какой он у вас сейчас кстати?
Ведь если куски данных которые пишет каждый диск будут достаточно большими, чтобы зацепить несколько областей, то на каждом диске будет усреднение. И вы тогда получите не сложение минимумов, а сложение «средних».
И ещё. Вы не любите LSI. А что вам нравится больше? Какой HBA на много портов выбрать-то?
Про сигейт — Г — подтверждаю.
Чуть больше 2 лет назад закупил для 2 бакаперов 22 диска ST3000DM001 ( это 3Tb ). Сейчас из них живо 10.
Основная масса развалилась ещё во время гарантийного срока. но 3 последних — в течении месяца после окончания гарантии.
Но это сильно зависит от партии. Диски этой-же модели купленные чуть раньше, в других серверах работают примерно как и остальные.
Настроить сам почтовый сервер — это не трудно.
А вот настроить нормальный анти спам — это мега сложная задача.
Хотя нет, это не задача, а война.
Потому парой хороших админов вы не обойдетесь.
Вот у убегают люди на публичные сервера, пусть гугловые и яндексовые админы сражаются на этой войне.
Вовсе не факт, что сингулярность неизбежна. Есть до фига способов её предотвратить: типа ядерной войны или падения астероида.
Плюс есть не хилая вероятность, что она неосуществима по каким-либо физическим ограничениям: типа есть естественный предел сложности и быстродействия мозга/компьютера, к которому человеческий мозг уже подошел.
Так что особо торопится радоваться пока не стоит.
Первый был в двух частях: просто Crysis и Crysis Warhead. Там в обоих было при перезарядке непустого магазина на 1 патрон больше + не было передергивания затвора — перезарядка быстрее. В Crysis 2 что-то из этого убрали. кажется обе эти фичи. Точно не помню. Вообще, очень слабая игра вышла, особенно по сравнению с первой частью.
В итоге, нужен стандарт передачи данных
Он может и нужен, но его нет и будет не скоро. А воевать иногда нужно прямо сейчас.
А все описанные вами проблемы могут быть перекрыты выгодой от взаимной передачей координат друг-другу и управлением дроном.
На войне иногда приходится использовать оружие с явными недостатками. Если достоинства перевешивают.
Естественно, кроме него надо прописать двух провайдеров в той части где описываются интерфейсы.
Плюс требуются таблицы правил. Плюс требуется настройка iptables в части nat и mangle, но это статические настройки. Они не меняются в процессе переключения провайдера.
Если оба канала примерно равны — то трафик идет по обоим, но на более слабый канал идет только 20% трафика. Если на одном из них потерь за последние полчаса примерно на 1% больше, то этот канал исключается. Плюс правится dns на внешнем серваке, чтобы люди до нас добирались по другому ip. Плюс почту шлёт, что переключился.
Иногда, когда на обоих каналах проблемы, то автомат может чудить, ибо у него лаг в полчаса. Но в остальном надежность инета стала радикально выше, чем на одном канале. И никаких BGP и AS просто не надо. Такую схему можно хоть для домашнего инета развернуть. Правда роутер — полноценный писюк на линухе — убунте.
Или получается так, что на меньших чунках вероятность протупления одного из дисков далеко не 100%, а сильно меньше?
Но даже тут не должно быть снижения производительности.
Просто моя идея была в том, чтобы протупления дисков друг на друга накладывались. Чтобы диски тупили параллельно.
Сейчас у тебя один тупит — а другие уже отработали. И быстрые ждут тормоза. Если чунк большой — то каждому диску достается большой кусок, и он с высокой вероятностью будет и тупить, и быстро работать, просто на разных местах. Один в начале тормознет, второй в конце, третий в середине, но к финишу все приедут примерно вместе.
Возможные замедления в такой схеме могут быть с нескольких сторон:
1. на мелких операциях, которые раньше раскладывались на несколько дисков, а сейчас упираются в производительность меньшего количества.
2. буфера в системе/приложении которые пишут инфу на диск, не большие, и при большом чунке их тупо не хватает, чтобы нагрузить все диски параллельно, и из восьми работает например 4, а следующие четыре начнут писать только после того, как эти закончат свою работу, когда система отдаст приложению ответ — с этими данными я закончила, давай следующие.
Первое — это принципиальное понижение производительности, и тут ничего нельзя сделать. А второе — потенциально излечимо.
Или я какой-то другой механизм снижения производительности пропустил?
Jasmine IM был раньше в поставлен через Google play, а потом они его забанили и удалили. По наезду от ICQ.
Пришлось переустанавливать через файл. Книжную читалку Moon reader, кажется, банили со стиранием. По наезду от Litres.
В чём разница то?
Ну про интел — это понятно. Хотя, может кто-то сумеет из чипсета сделать съёмную плату и тогда будет 6*n. Но пока 6 — это предел, и он очень печальный. Я пока до 10 догоняю через ASMedia 1061 (1062). Но там всего 2 порта. Про Marvel у меня вообще печальный опыт: avryabov.livejournal.com/5056.html
А в планах собрать хранилище на 15 HDD, но тут похоже ничего лучше LSI нету. И это меня огорчает…
Ведь если куски данных которые пишет каждый диск будут достаточно большими, чтобы зацепить несколько областей, то на каждом диске будет усреднение. И вы тогда получите не сложение минимумов, а сложение «средних».
И ещё. Вы не любите LSI. А что вам нравится больше? Какой HBA на много портов выбрать-то?
Чуть больше 2 лет назад закупил для 2 бакаперов 22 диска ST3000DM001 ( это 3Tb ). Сейчас из них живо 10.
Основная масса развалилась ещё во время гарантийного срока. но 3 последних — в течении месяца после окончания гарантии.
Но это сильно зависит от партии. Диски этой-же модели купленные чуть раньше, в других серверах работают примерно как и остальные.
А вот настроить нормальный анти спам — это мега сложная задача.
Хотя нет, это не задача, а война.
Потому парой хороших админов вы не обойдетесь.
Вот у убегают люди на публичные сервера, пусть гугловые и яндексовые админы сражаются на этой войне.
В каком городе географически? Или таки во всех?
Плюс есть не хилая вероятность, что она неосуществима по каким-либо физическим ограничениям: типа есть естественный предел сложности и быстродействия мозга/компьютера, к которому человеческий мозг уже подошел.
Так что особо торопится радоваться пока не стоит.
Он может и нужен, но его нет и будет не скоро. А воевать иногда нужно прямо сейчас.
А все описанные вами проблемы могут быть перекрыты выгодой от взаимной передачей координат друг-другу и управлением дроном.
На войне иногда приходится использовать оружие с явными недостатками. Если достоинства перевешивают.