Network bonding adalah metode dengan menggabungkan interface baik fisik dan virtual agar menjadi satu interface logis untuk throughput atau redudansi yang lebih tinggi.
Ada beberapa mode yang biasa digunakan saat mengonfigurasi bonding seperti active-backup
, balance-tlb
, dan balance-alb
.
Pada sistem operasi CentOS tersedia mode bonding seperti berikut.
- balance-rr (Round Robin):
- Deskripsi: Menggabungkan multiple interfaces dengan cara membagi beban lalu lintas secara merata di antara mereka.
- Kelebihan: Sederhana dan meratakan penggunaan sumber daya.
- Kekurangan: Tidak mendukung toleransi kesalahan.
- active-backup:
- Deskripsi: Menggunakan satu interface utama dan beralih ke interface cadangan jika yang utama mengalami kegagalan.
- Kelebihan: Toleran terhadap kesalahan, tidak memerlukan konfigurasi khusus pada switch.
- Kekurangan: Hanya satu interface yang aktif pada satu waktu.
- balance-xor:
- Deskripsi: Melakukan XOR (exclusive OR) pada alamat sumber dan tujuan untuk menentukan interface mana yang harus digunakan.
- Kelebihan: Memberikan penggunaan bandwidth yang efisien.
- Kekurangan: Tidak mendukung toleransi kesalahan.
- broadcast:
- Deskripsi: Mengirimkan semua lalu lintas ke semua interface.
- Kelebihan: Sederhana dan dapat digunakan dalam situasi di mana switch tidak mendukung penggabungan (bonding).
- Kekurangan: Tidak efisien dan dapat menyebabkan overhead.
- 802.3ad (LACP):
- Deskripsi: Menggunakan protokol Link Aggregation Control Protocol (LACP) untuk membentuk agregasi link.
- Kelebihan: Efisien dan mendukung toleransi kesalahan.
- Kekurangan: Memerlukan dukungan LACP pada switch.
- balance-tlb (Transmit Load Balancing):
- Deskripsi: Menggabungkan multiple interfaces dan mendistribusikan beban lalu lintas keluar secara merata.
- Kelebihan: Tidak memerlukan konfigurasi khusus pada switch.
- Kekurangan: Tidak mendukung toleransi kesalahan pada lalu lintas masuk.
- balance-alb (Adaptive Load Balancing):
- Deskripsi: Mirip dengan balance-tlb, tetapi juga mendistribusikan beban lalu lintas masuk secara merata.
- Kelebihan: Meratakan penggunaan sumber daya secara dinamis.
- Kekurangan: Memerlukan konfigurasi pada switch untuk mendukung mode ini.
Prerequisites #
Sebelum memulai pastikan server atau VM yang akan digunakan sudah terdapat 2 atau lebih interface yang akan dikonfigurasi sebagai bonding.
# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 00:0c:29:bc:ed:c0 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:bc:ed:b6 brd ff:ff:ff:ff:ff:ff
altname enp2s0
altname ens32
Procedure #
Buat bond interface.
nmcli con add type bond mode active-backup ifname bond0 con-name bond0
Selanjutnya tambahkan interface ke bond0
nmcli con add type bond-slave master bond0 ifname eth0 con-name bond0-eth0
nmcli con add type bond-slave master bond0 ifname eth1 con-name bond0-eth1
Cek status koneksi.
# nmcli dev
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
eth0 ethernet connected bond0-eth0
eth1 ethernet connected bond0-eth1
Default konfigurasi untuk interface bond adalah DHCP, sehingga jika dari router tidak menyediakan DHCP server maka interface bond perlu dikonfigurasikan manual untuk pengalamatan IP.
nmcli con modify bond0 ipv4.method manual ipv4.addresses 192.168.1.128/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,1.1.1.1"
nmcli con up bond0
Kemudian untuk memastikan interface bond bekerja, cobalah untuk melepaskan kabel jaringan dari host.
Untuk mengecek status bond
cat /proc/net/bonding/bond0