RedHat Ethernet Teaming (NIC Bonding)

Bonding, birden fazla network kartının tek bir network kartı gibi tanıtılması ve bağlantılardan birinin kopması durumunda erişimde kesinti olmaması durumudur. Farklı iki switch üzerinden gelen farklı iki ethernet bağlantısının tek bir ethernet altında toplanması işlemidir bonding. Switch ya da fiziksel ethernet kartlarından biri arızalandığında sunucu çalışmaya devam edecektir. Arayüzleri birleştirme işlemi sistemin ağ performansını arttırmak için yapılabileceği gibi, sistem üzerinde yedeklilik ve sürdürülebilirlik de sağlamaktadır. Bonding modülü Linux işletim sistemi çekirdeğindeki desteği ile beraber gelir. Bonding modülünün 6 farklı şekilde çalışma yapısı bulunur.

Mode=0

Round-Robin mantığı. Ethernet trafiği arayüzlere sırası ile gönderilir.Yük paylaşımı ve hata toleransı sağlar.

Mode=1

Active/Passive. Sadece bir arayüz aktif olur. Diğeri aktif arayüz çalışmazsa devreye girer. Hata toleransı sağlar.

Mode=2

(Kaynak MAC adresi XOR Hedef MAC adresi)%Arayüz sayısı

Her hedef için aynı arayüz seçilir. Yük paylaşımı ve hata toleransı sağlar.

Mode=3

Broadcast. Tüm paketleri tüm arayüzlerden gönderir. Hata toleransı sağlar.

Mode=4

IEEE 802.3ad Dynamic Link Aggregiation. Ethernet’lerin çalışması için sürücülerin ethtool desteği olmalı. Switch üzerinde de 802.3ad ayarları yapılmalı.

Mode=5

Bu mod’da toplam yük her arayüzden kendi yüküne göre paylaşılır. Her arayüzün yükü hızına oranla ölçülür. Gelen trafik aktif ilk arayüz tarafından alınır. Eğer aktif arayüz çalışmazsa diğer arayüz aynı MAC adresi ile çalışmayı devreye alır. Sürücülerin ethtool desteği olmalıdır.

Mode=6

Hem giden hem gelen trafik için yük paylaşımı olur. IPv4 üzerinden gerçekleşir.

Konu ile ilgili bu kadar bilgi verdikten sonra artık bonding uygulamasına başlayalım. Test ortamımda Red Hat 6.5 Santiago sürümüne sahip sunucu mevcut. Sunucuya bağlı farklı iki ethernet bağlantısı var. (Ethernet bağlantıları aynı VLAN’da olmak zorunda)

Ethernet Teaming (NIC Bonding) işlemlerine başlamadan önce Network Manager servisini durdurmalısınız. Bonding yapılandırması elle yapılandırılabildiği için yapılan ayarların sunucu başlatıldığında silinmemesi için servis durdurulmalıdır.

#service NetworkManager stop

komutunu kullanarak Network Manager servisini durdurabilirsiniz.

Sunucu yeniden başlatıldığında servisin başlamaması için

#chkconfig NetworkManager off

 komutunu kullanarak servisin açılmasını engelleyebilirsiniz.

#service NetworkManager status

komutunu kullanarak da mevcut servisin durumunu kontrol edebilirsiniz.

Sunucu üzerindeki ethernet kartlarını görmek için aşağıdaki komutu kullanabilirsiniz.

#ifconfig

1.jpg

Bonding işlemi için bond0 adı altında /etc/sysconfig/network-scripts altında bir dosya oluşturalım.

#cd /etc/sysconfig/network-scripts

#vi ifcfg-bond0 komutunu kullanarak bonding dosyasını oluşturalım.

DEVICE=bond0

IPADDR=192.168.1.30

NETMASK=255.255.255.0

NETWORK=192.168.1.0

BROADCAST=192.168.1.255

BONDING_OPTS=”miimon=100 mode=1″

BOOTPROTO=none

TYPE=Ethernet

ONBOOT=yes

IPV6INIT=no

Bonding tanımı yapıldıktan sonra sıra geldi ethernet kartlarının tanımlarını yapmaya.  Bonding tanımını oluşturan ethernet kartlarının tanımını aşağıdaki gibi ayarlıyoruz.

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:15:5D:7A:10:65

NM_CONTROLLED=yes

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

TYPE=Ethernet

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

HWADDR=00:15:5D:7A:10:66

NM_CONTROLLED=yes

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

TYPE=Ethernet

Bonding ve Ethernet kartları için gerekli tanımlamaları yaptıktan sonra ortamın hazırlanmasını tamamlamak adına network servisini restart edebilir ya da sunucuyu restart edebilirsiniz.

# service network restart

#shutdown –r now

Servisi restart ettikten sonra veya sunucuyu reboot ettikten sonra sunucu üzerindeki bonding tanımı aktif olacaktır.

#ifconfig komutunu kullanarak yapılan bonding tanımını ve ethernet ayarlarını kontrol edebilirsiniz.

2

Test amaçlı olarak sırasıyla #ifdown eth0 komutunu çalıştırıp bond0 IP’sine erişimi kontrol edelim. Daha sonra aynı işlemi #ifdown eth1 komutunu çalıştırıp sunucunun erişebilirliğini tekrar kontrol edelim. Bond0 sayesinde bağlantının kesilmediğini görebilirsiniz. Bonding işlemi ile ilgili herhangi bir uyarı ya da  hata mesajını incelemek için cat /var/log/messages dosyasını inceleyebilirsiniz.

Faydalı Olması Dileğiyle …

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s