Ikatan antarmuka jaringan disebut dengan banyak nama:Port Trunking, Channel Bonding, Link Aggregation, NIC teaming, dan lain-lain. Ini menggabungkan atau menggabungkan beberapa koneksi jaringan menjadi antarmuka ikatan saluran tunggal. Hal ini memungkinkan dua atau lebih antarmuka jaringan untuk bertindak sebagai satu, untuk meningkatkan throughput dan menyediakan redundansi atau failover.
Kernel Linux dilengkapi dengan driver ikatan untuk menggabungkan beberapa antarmuka jaringan fisik ke dalam satu antarmuka logis (misalnya, menggabungkan eth0 dan eth1 ke dalam bond0). Untuk setiap antarmuka terikat, Anda dapat menentukan mode dan opsi pemantauan tautan. Ada tujuh opsi mode yang berbeda, masing-masing menyediakan penyeimbangan beban dan karakteristik toleransi kesalahan tertentu seperti yang ditunjukkan pada tabel di bawah.
Mode ikatan
Tergantung pada kebutuhan Anda, Anda dapat mengatur mode bonding ke salah satu dari 7 mode di bawah ini.
Mode | Kebijakan | Cara kerjanya | Toleransi Kesalahan | Penimbangan beban |
---|---|---|---|---|
0 | Robin Bulat | paket dikirim/diterima secara berurutan melalui setiap antarmuka satu per satu. | Tidak | Ya |
1 | Cadangan Aktif | satu NIC aktif saat NIC lain tertidur. Jika NIC aktif turun, NIC lain menjadi aktif. hanya didukung di lingkungan x86. | Ya | Tidak |
2 | XOR [eksklusif ATAU] | Dalam mode ini, alamat MAC dari NIC slave dicocokkan dengan MAC permintaan yang masuk dan setelah koneksi ini dibuat, NIC yang sama digunakan untuk mengirim/menerima MAC tujuan. | Ya | Ya |
3 | Siaran | Semua transmisi dikirim ke semua slave | Ya | Tidak |
4 | Agregasi Tautan Dinamis | NIC gabungan bertindak sebagai satu NIC yang menghasilkan throughput yang lebih tinggi, tetapi juga menyediakan failover jika NIC gagal. Agregasi Tautan Dinamis memerlukan sakelar yang mendukung IEEE 802.3ad. | Ya | Ya |
5 | Transmit Load Balancing (TLB) | Lalu lintas keluar didistribusikan tergantung pada beban saat ini pada setiap antarmuka budak. Lalu lintas masuk diterima oleh budak saat ini. Jika budak penerima gagal, budak lain mengambil alih alamat MAC dari budak yang gagal. | Ya | Ya |
6 | Penyeimbangan Beban Adaptif (ALB) | Tidak seperti Dynamic Link Aggregation, Adaptive Load Balancing tidak memerlukan konfigurasi sakelar tertentu. Penyeimbangan Beban Adaptif hanya didukung di lingkungan x86. Paket penerima diseimbangkan beban melalui negosiasi ARP. | Ya | Ya |
Pemantauan Tautan Pengikatan Jaringan
Driver bonding mendukung dua metode untuk memantau status tautan slave:
- Ini adalah opsi pemantauan tautan default dan direkomendasikan.
- Ini memantau status operator antarmuka jaringan lokal.
- Anda dapat menentukan frekuensi pemantauan dan penundaan.
- Waktu tunda memungkinkan Anda memperhitungkan inisialisasi sakelar.
- Ini mengirimkan kueri ARP ke sistem peer di jaringan dan menggunakan respons sebagai indikasi bahwa tautan sudah aktif.
- Anda dapat menentukan frekuensi pemantauan dan alamat target.
Ikatan Jaringan:Konfigurasi
Membuat File Antarmuka Pengikat
Anda dapat membuat file antarmuka ikatan secara manual di /etc/sysconfig/network-scripts direktori. Anda pertama-tama membuat antarmuka ikatan dan kemudian Anda menambahkan antarmuka jaringan fisik ke ikatan. Antarmuka jaringan fisik ini disebut “budak “.
Untuk contoh di posting ini, budak untuk antarmuka bond0 adalah ens33 dan ens37. Sebelum memulai, pastikan modul bonding dimuat dengan benar. Untuk memverifikasi itu, gunakan perintah yang ditunjukkan di bawah ini :
# lsmod |grep bonding bonding 122351 0
Jika modul tidak dimuat, muat menggunakan perintah modprobe.
# modprobe bonding
1. Berikut ini adalah contoh file antarmuka bonding:
# cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPTS="miimon=1 updelay=0 downdelay=0 mode=active-backup" TYPE=Bond BONDING_MASTER=yes BOOTPROTO=none IPADDR=192.168.2.12 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=bond0 UUID=bbe539aa-5042-4d28-a0e6-2a4d4f5dd744 ONBOOT=yes
2. Contoh berikut mendefinisikan ens33 antarmuka jaringan fisik sebagai budak untuk bond0:
# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet NAME=ens33 UUID=817e285b-60f0-42d8-b259-4b62e21d823d DEVICE=ens33 ONBOOT=yes MASTER=bond0 SLAVE=yes
3. Contoh berikut mendefinisikan ens37 antarmuka jaringan fisik sebagai budak untuk bond0:
# cat /etc/sysconfig/network-scripts/ifcfg-ens37 TYPE=Ethernet NAME=ens37 UUID=f0c23472-1aec-4e84-8f1b-be8a2ecbeade DEVICE=ens37 ONBOOT=yes MASTER=bond0 SLAVE=yes
4. Mulai ulang layanan jaringan
Mulai ulang layanan jaringan untuk mengaktifkan antarmuka ikatan.
# systemctl restart network
Jika Anda tidak ingin memulai ulang layanan jaringan, Anda dapat menghubungkan antarmuka ikatan satu per satu :
# ifup bond0
Verifikasi konfigurasi ikatan jaringan
1. Periksa antarmuka baru di output perintah 'ip addr show' :
# ip addr show 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff 4: ens37: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff 5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe54:f720/64 scope link valid_lft forever preferred_lft forever
2. Verifikasi juga status antarmuka ikatan saat ini dan antarmuka mana yang saat ini aktif, menggunakan perintah di bawah ini:
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: ens33 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ens33 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:54:f7:20 Slave queue ID: 0 Slave Interface: ens37 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:54:f7:34 Slave queue ID: 0
Dari output perintah di atas, kita dapat melihat bahwa ens33 adalah budak yang saat ini aktif dalam ikatan.
Menguji toleransi kesalahan konfigurasi ikatan
1. Karena ini adalah konfigurasi ikatan cadangan aktif, ketika satu antarmuka turun, antarmuka lain dalam ikatan menjadi budak aktif. Untuk memverifikasi fungsi ini, kami akan menurunkan antarmuka saat ini ens33.
# ifdown ens33
2. Jika Anda memeriksa kembali status antarmuka bond, Anda akan menemukan bahwa slave aktif baru adalah antarmuka ens37.
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: ens37 MII Status: up MII Polling Interval (ms): 1 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: ens37 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:0c:29:54:f7:34 Slave queue ID: 0
Antarmuka bond juga akan aktif dan berjalan:
# ip add show bond0 5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe54:f720/64 scope link valid_lft forever preferred_lft foreverCentOS / RHEL 7 :Cara membuat Interface Bonding menggunakan nmcli