13 Şubat 2013 Çarşamba

Solaris Ve Centos da Bond (Team)

Merhaba Arkadaşlar,

Kullanmış olduğumuz sunucuların Nic yedekliğini sağlamak için Windowsda kullandığımız Team yapısının Solaris Ve Linux daki karşılığı olan Bond un yapılışını anlatacağız.

Neden Bond?

Sunucularda SW, Kablo, Nic yedekliği sağlamak için 2 interfacesi birleştirilmesi olabileceği gibi interfacesin hızını artırmak icinde kullanılabilir.

(Active-Passive) Bond Mantığı:


Aynı özellikteki 2 interfacesin biri master diğeri slave olarak ayarlandığını düşünün.Ortada da sanal bond isimli interface IP verilir. IP ile master interfaceden haberleşilirken master interface down olursa slave interface IP yi üzerine alır ve 1 sn kesinti ile haberleşmeye devam edilir.Master interface geri ayağa kalktığında tekrar IP master interface üzerine geçerek 1 sn kesinti ile haberleşme devam edilir.

Solaris de Bond yapılışı:

1. Ip mizi dnse (host) kaydediyoruz
/etc/hosts       #Dosyasına IP lerimizi ve isimlerimizi yazıyoruz

IP1   172.24.82.90
IP2   172.24.73.45

2. Bond yapılacak interfaceleri hazırlıyoruz.
/etc/hostname.e1000g0    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond0 up
IP1
/etc/hostname.e1000g1    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond0 up

 Diğer Ip için 2 bond ayarını yapalım.
/etc/hostname.e1000g2    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond1 up
IP2
/etc/hostname.e1000g3    #Dosyasına aşağıdaki parametreleri yazıyoruz.
group bond1 up


Yukarıdaki ayarda gördüğümüz gibi bond0 için e1000g0 ve bond1 içinde e1000g2 master interface durumundadır.







svcadm restart network/physical

Yukarıdaki komutu verdiğimde bazen oluyor bazen olmuyor. Ama en salıklısı restart

shutdown -y -i6 -g0
 
Aşağıdaki komutları kullanmıyoruz.
svcadm disable network
svcadm enable network



Centos da bond yapılışı:

(Active-Passive) Mode:1

1. Sanal Bond interfacesimiz oluşturalım

vim /etc/sysconfig/network-scripts/ifcfg-bond0
# Front-Channel Network - Bond
DEVICE="bond0"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
BONDING_OPTS="mode=1 miimon=100 use_carrier=1 updelay=120000 downdelay=0 primary=eth0"
IPADDR="10.20.0.1"
NETMASK="255.255.0.0"

vim /etc/sysconfig/network-scripts/ifcfg-bond1
# Storage and local Network - Bond
DEVICE="bond1"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
BONDING_OPTS="mode=1 miimon=100 use_carrier=1 updelay=120000 downdelay=0 primary=eth2"
IPADDR="10.10.0.1"
NETMASK="255.255.0.0"

2. Fiziki interfacelerimizi bond a  bağlıyalım
 vim /etc/sysconfig/network-scripts/ifcfg-eth0
# front-Channel Network - Link 1
HWADDR="00:E0:81:C7:EC:49"
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond0"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth1
# front-Channel Network - Link 2
HWADDR="00:E0:81:C7:EC:48"
DEVICE="eth1"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond0"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth2
# Storage and local Network - Link 1
HWADDR="00:E0:81:C7:EC:47"
DEVICE="eth2"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond1"
SLAVE="yes"

vim /etc/sysconfig/network-scripts/ifcfg-eth3
# Storage and local Network - Link 2
HWADDR="00:1B:21:9D:59:FC"
DEVICE="eth3"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="none"
MASTER="bond1"
SLAVE="yes"

/etc/init.d/network restart


(balance-alb)-  (Active-Active)

mode=0 (Balance-rr) – This mode provides load balancing and fault tolerance.
mode=1 (active-backup) – This mode provides fault tolerance.
mode=2 (balance-xor) – This mode provides load balancing and fault tolerance.
mode=3 (broadcast) – This mode provides fault tolerance.
mode=4 (802.3ad) – This mode provides load balancing and fault tolerance.
mode=5 (balance-tlb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.
mode=6 (balance-alb) – Prerequisite: Ethtool support in the base drivers for retrieving the speed of each slave.


1.Sanal Bond interfacesimiz oluşturalım

vi /etc/sysconfig/network-scripts/ifcfg-bond0

01DEVICE=bond0
02USERCTL=no
03BOOTPROTO=none
04ONBOOT=yes
05IPADDR=10.0.0.10
06NETMASK=255.255.0.0
07NETWORK=10.0.0.0
08BONDING_OPTS="miimon=100 mode=balance-alb"
09TYPE=Unknown
10IPV6INIT=no

2. Fiziki interfacelerimizi bond a  bağlıyalım

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

1DEVICE=eth0
2BOOTPROTO=none
3ONBOOT=yes
4MASTER=bond0
5SLAVE=yes
6USERCTL=no

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

1DEVICE=eth1
2BOOTPROTO=none
3ONBOOT=yes
4MASTER=bond0
5SLAVE=yes
6USERCTL=no


3. Bond u ayarlarına bakalım.

vi /etc/modprobe.conf
vi /etc/modprobe.d/bonding.conf #centos 6da degismis
alias bond0 bonding
#options bond0 mode=balance-alb miimon=100 # Bond conf dosyasında girdik gerek yok.

4.Network servisimizi baştan başlatalım.

servive network restart


5. Bond umuzun durmunu kontrol edelim...


cat /proc/net/bonding/bond0  


Hiç yorum yok:

Yorum Gönder