Показаны сообщения с ярлыком сетка. Показать все сообщения
Показаны сообщения с ярлыком сетка. Показать все сообщения

четверг, 14 февраля 2013 г.

centos link teaming (bonding)

Запишу себе на будущее, чтобы не забыть.
Чтобы объединить порты линки в линуксе в один, надо сделать следующее:


Загрузить нужный модуль и настроить его. Для этого в файл /etc/modprobe.d/bonding.conf вписать
alias bond0 bonding
options bond0 miimon=100 mode=4 lacp_rate=1
Тут используется mode=4 (который обычный 802.3ad), а так их много разных режимов.
Далее надо настроить сетевухи и специальный интерфейс, который будет их объединять.
В сетевухах пишем:

ifcfg-eth0:

DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
USERCTL=no
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
MASTER=bond0
SLAVE=yes

ifcfg-eth1:

DEVICE=eth1
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
USERCTL=no
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
MASTER=bond0
SLAVE=yes

Ключевые тут последние две строки, третья с конца (ethtool_opts) обеспечивает работу интерфейса на гигабите, а не на 100Мб, как он по умолчанию, гад такой, поднимается.

Ну и итоговый интерфейс bond0

ifcfg-bond0:

DEVICE=bond0
BOOTPROTO=dhcp
NM_CONTROLLED=no
ONBOOT=yes
USERCTL=no
Собственно тут ничего такого, просто интерфейс, который перечислен в качестве мастера физическим сетевухам и у меня тут он получает адрес автоматом.

На стороне свитча (в частности тут на циске) создаем port-channel интерфейс и аттачим к нему пару портов, куда приходят эти сетевухи.
Типа как-то так:
interface Port-channel1
 description Teamed link to centos
 switchport mode trunk
!
interface GigabitEthernet1/0/5
 description link1
 switchport mode trunk
 channel-group 1 mode active
!
interface GigabitEthernet1/0/6
 description link2
 switchport mode trunk
 channel-group 1 mode active
!
Ну вроде как и все. Просто, но тем не менее, чтобы не искать, если вдруг понадобится :)


понедельник, 30 августа 2010 г.

починил дома сервак :)

Оказывается, забыл удалить конфигурацию mdadm и он при загрузке создавал снова массив. И из-за этого потом винты не монтировались по отдельности и система не желала грузиться.

сломал дома сервак

Решил наконец-то дома разломать полуторатерабайтное софтовое зеркало. А то оно периодически рассинхронизируется и потом синхронизация идет пару дней, притормаживая систему (незначительно, но все-таки). Решил заменить такое зеркало простым бэкапом на разные винты (что уже собственно давно есть - существенная инфа бэкапится на отдельный винт). И будет еще куча места под торренты :)
Удалённо все сделал, изменил конфиги и все такое и ребутнул сервак. А обратно он не вернулся :( Теперь вот гадаю, что же не так. И вечером придется домой монитор тащить, а то у меня там нету монитора даже.

понедельник, 23 августа 2010 г.

dynamic dns

Недавно прочитал статью http://habrahabr.ru/blogs/linux/101380/ и в очередной раз загорелся сделать у себя на домашнем серваке динамическое обновление имени в ДНС в своём домене. А то до сих пор использовал dyndns для этого. Как оказалось, настроить всё довольно просто.
Сначала генерим ключик для общения клиента с ДНС сервером
/usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n HOST h.olegk.ru
Потом полученный ключ прописываем в настройках ДНС-сервера

key "h.olegk.ru" {
        algorithm       hmac-md5;
        secret          "....";
};
zone "olegk.ru" IN {
        type master;
        file "dynupdated/olegk.ru";
        allow-update { key h.olegk.ru; };
};
И на клиенте (на домашнем сервере) прописываем простейший скрипт, который тупо запускается через некоторые интервалы времени и перезаписывает A-запись домашнего сервака в домене (я поставил каждые 2 минуты - нагрузка пока позволяет :)).
#!/bin/sh
IFACE="eth2"
TTL=60
SERVER=ns1.olegk.ru
HOSTNAME=h.olegk.ru
ZONE=olegk.ru
KEYFILE=/etc/namedb/Kh.olegk.ru.+157+63926.private

new_ip_address=`/sbin/ifconfig $IFACE | grep "inet addr:" | awk '{print $2}' | awk -F ":" '{print $2}'`
new_ip_address=${new_ip_address/ /}

nsupdate -v -k $KEYFILE << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $new_ip_address
send
EOF
До кучи настроил потом еще и запись dhcp-сервером всех узлов домашней сетки в отдельную DNS-зону, чтобы можно было не запоминать внутренний IP какого-нибудь домашнего второстепенного сервака (например того же ноута с убунтой, который заливает мне фотки в пикасу или мониторит квартиру камерой). Для этого потребовалось всего лишь добавить в настройки dhcp-сервера
ddns-update-style interim;
ignore client-updates;
update-static-leases true;

key "h.olegk.ru" {
        algorithm       hmac-md5;
        secret          "...";
}

zone net.olegk.ru. {
        primary ns1.olegk.ru;
        key h.olegk.ru;
}
Вот так всё просто. Красота!


P.S.: как в блоггер вставлять куски кода, чтобы было красиво???

среда, 11 августа 2010 г.

уведомления на мыло об окончании закачки торрента

Решил тут настроить отправку серваком уведомлений об окончании закачки торрента на email. А то у меня rtorrent на двух серверах берёт .torrent-файлы из указанной ему папки, качает их и результат втихую складывает в нужную папку. А мне остаётся только смотреть иногда в неё на предмет завершения закачки.
Но иногда становится лень смотреть и хочется, чтобы торрен сам сказал о завершении. И вот наконец-то решил это настроить.
Настраивается ну очень просто.
Кладу куда-нибудь небольшой скрипт:

#!/bin/sh
echo "$(date): $1 - Download completed."|mail -s "[torrent on m78proxy] - $1 completed." mail@example.org
exit 0
И в .rtorrent.rc дописываем следующее
system.method.set_key = event.download.finished,notify_me,"execute=/path/to/rtorrent_mail.sh,$d.get_name="
И все, радуемся.

четверг, 15 июля 2010 г.

странные глюки

Только что вернулся из Океана. Боролся там с непонятным глюком.

Есть комп. Чипсет NVidia, проц AMD. Перенесли в другой кабинет - перестала работать сетка. То не может получить адрес, то вообще сетевой кабель не подключен. В старом кабинете все работает. В новом на этой розетке другие компы работают на ура. А именно этот комп не хочет.
Воткнули другую сетевуху (в дополнение к встроенной). Не работает.
Загрузился с live cd - сначала с виндового (alkid), потом с ubuntu live cd. Не работает.
Переткнул сетевуху в другой pci-слот. Не работает.
Переключил в винде сетевуху принудительно в режим 10MB FullDuplex - заработало. Причем на внешней сетевухе стал получать адрес и пропускать один пинг, а потом снова не работать, а на встроенной все заработало совсем.

Странно как-то все это. Пока подозреваю какую-то несовместимость железа. Хочу попробовать с другим свитчем его подружить, посмотрим, что получится.