Apa itu ikatan Antarmuka
Bonding (atau channel bonding) adalah teknologi yang diaktifkan oleh kernel Linux dan Red Hat Enterprise Linux, yang memungkinkan administrator untuk menggabungkan dua atau lebih antarmuka jaringan untuk membentuk satu antarmuka "berikat" logis untuk redundansi atau peningkatan throughput. Perilaku antarmuka terikat tergantung pada mode; secara umum, mode menyediakan layanan hot standby atau load balancing. Selain itu, mereka dapat menyediakan pemantauan integritas tautan.
Mengapa menggunakan ikatan Antarmuka?
Dua alasan penting untuk membuat ikatan antarmuka adalah :
1. Untuk memberikan peningkatan bandwidth
2. Untuk memberikan redundansi dalam menghadapi kegagalan perangkat keras
Salah satu prasyarat untuk mengonfigurasi bonding adalah memiliki sakelar jaringan yang mendukung EtherChannel (yang berlaku untuk hampir semua sakelar).
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. | Ya | 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 |
Membuat Ikatan Jaringan menggunakan nmcli
1. Membuat antarmuka Ikatan
1. Gunakan perintah koneksi nmcli tanpa argumen untuk melihat koneksi jaringan yang ada. Anda dapat mempersingkat “koneksi ” argumen ke “con “. Contoh:
# nmcli connection NAME UUID TYPE DEVICE ens33 59b61d18-90ed-4c3c-97e0-6c9e0528f25f 802-3-ethernet ens33 ens37 c09f18e1-793b-4d60-9107-98762cf593a7 802-3-ethernet ens37
2. Sertakan “tambahkan jenis ikatan ”, dan informasi tambahan apa pun untuk membuat koneksi ikatan jaringan. Contoh berikut membuat antarmuka terikat bernama bond0, mendefinisikan antarmuka sebagai bond0, mengatur mode ke “active-backup “, dan memberikan alamat IP ke antarmuka terikat.
# nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ip4 192.168.219.150/24 Connection 'bond0' (1a75eef0-f2c9-417d-81a0-fabab4a1531c) successfully added.
Perintah nmcli con menunjukkan koneksi bond baru.
# nmcli connection NAME UUID TYPE DEVICE bond0 1a75eef0-f2c9-417d-81a0-fabab4a1531c bond bond0 ens33 59b61d18-90ed-4c3c-97e0-6c9e0528f25f 802-3-ethernet ens33 ens37 c09f18e1-793b-4d60-9107-98762cf593a7 802-3-ethernet ens37
3. Perintah 'nmcli con add type bond' membuat file konfigurasi antarmuka di /etc/sysconfig/network-scripts direktori. Misalnya:
# cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPTS=mode=active-backup TYPE=Bond BONDING_MASTER=yes BOOTPROTO=none IPADDR=192.168.219.150 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=bond0 UUID=1a75eef0-f2c9-417d-81a0-fabab4a1531c ONBOOT=yes
4. Perintah ip addr menunjukkan antarmuka bond0 baru:
# ip addr show bond0 5: bond0: [BROADCAST,MULTICAST,MASTER,UP] mtu 1500 qdisc noqueue state DOWN qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.219.150/24 brd 192.168.219.255 scope global bond0 valid_lft forever preferred_lft forever
2. Membuat Antarmuka Budak
1. Untuk setiap antarmuka yang ingin Anda ikat, gunakan 'nmcli con add type bond-slave ' memerintah. Contoh berikut menambahkan ens33 antarmuka sebagai budak obligasi. Perintah tidak menyertakan argumen con-name sehingga nama dibuat secara otomatis. Anda dapat mengatur nama untuk antarmuka slave dengan argumen con-name.
# nmcli con add type bond-slave ifname ens33 master bond0 Connection 'bond-slave-ens33' (79c40960-6b2c-47ba-a417-988332affed1) successfully added.
2. Contoh berikut menambahkan ens37 antarmuka sebagai “bond-slave “.
# nmcli con add type bond-slave ifname ens37 master bond0 Connection 'bond-slave-ens37' (46222a52-f2ae-4732-bf06-ef760aea0d7b) successfully added.
3. Perintah nmcli con menunjukkan koneksi baru.
# nmcli connection NAME UUID TYPE DEVICE bond0 1a75eef0-f2c9-417d-81a0-fabab4a1531c bond bond0 ens33 59b61d18-90ed-4c3c-97e0-6c9e0528f25f 802-3-ethernet ens33 ens37 c09f18e1-793b-4d60-9107-98762cf593a7 802-3-ethernet ens37 bond-slave-ens33 79c40960-6b2c-47ba-a417-988332affed1 802-3-ethernet -- bond-slave-ens37 46222a52-f2ae-4732-bf06-ef760aea0d7b 802-3-ethernet --
4. Perintah nmcli con add type bond-slave membuat file konfigurasi antarmuka di /etc/sysconfig/network-scripts direktori. Misalnya:
# cat /etc/sysconfig/network-scripts/ifcfg-bond-slave-ens33 TYPE=Ethernet NAME=bond-slave-ens33 UUID=79c40960-6b2c-47ba-a417-988332affed1 DEVICE=ens33 ONBOOT=yes MASTER=bond0 SLAVE=yes
# cat /etc/sysconfig/network-scripts/ifcfg-bond-slave-ens37 TYPE=Ethernet NAME=bond-slave-ens37 UUID=46222a52-f2ae-4732-bf06-ef760aea0d7b DEVICE=ens37 ONBOOT=yes MASTER=bond0 SLAVE=yes
5. Perintah ip addr menyertakan “SLAVE ” untuk antarmuka ens33 dan ens37 dan juga termasuk “master bond0 “.
3. Mengaktifkan Obligasi
1. Anda dapat menggunakan perintah nmcli untuk membuka koneksi. Munculkan budak terlebih dahulu, lalu buka antarmuka ikatan. Perintah berikut menampilkan budak:
# nmcli connection up bond-slave-ens33 # nmcli connection up bond-slave-ens37
2. Perintah berikut menampilkan antarmuka bond0:
# nmcli con up bond0
3. Perintah ip addr, atau perintah ip link, sekarang menunjukkan antarmuka slave dan bond yang UP.
# ip link 2: ens33: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff 3: ens37: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff 4: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
Melihat Informasi Ikatan Jaringan
1. Setiap antarmuka jaringan berisi direktori di direktori /sys/class/net. Misalnya:
# ls /sys/class/net bond0 bonding_masters ens33 ens36 ens37 lo
2. Dalam contoh ini, ikatan jaringan bernama 'bond0' ada. Direktori dengan nama yang sama ada yang berisi informasi konfigurasi untuk ikatan itu. Misalnya:
# ls /sys/class/net/bond0 addr_assign_type bonding carrier_changes dormant gro_flush_timeout iflink lower_ens37 operstate queues subsystem uevent address broadcast dev_id duplex ifalias link_mode mtu phys_port_id speed tx_queue_len addr_len carrier dev_port flags ifindex lower_ens33 netdev_group power statistics type
3. Di dalam direktori ini terdapat direktori bonding yang berisi informasi untuk antarmuka bond0. Misalnya:
# ls /sys/class/net/bond0/bonding active_slave ad_aggregator ad_select arp_interval fail_over_mac mii_status num_unsol_na queue_id updelay ad_actor_key ad_num_ports ad_user_port_key arp_ip_target lacp_rate min_links packets_per_slave resend_igmp use_carrier ad_actor_sys_prio ad_partner_key all_slaves_active arp_validate lp_interval mode primary slaves xmit_hash_policy ad_actor_system ad_partner_mac arp_all_targets downdelay miimon num_grat_arp primary_reselect tlb_dynamic_lb
4. Ada juga direktori yang berisi informasi untuk masing-masing budak. Misalnya:
# ls /sys/class/net/bond0/lower_ens33 addr_assign_type bonding_slave carrier_changes dev_port flags ifindex master operstate queues subsystem uevent address broadcast device dormant gro_flush_timeout iflink mtu phys_port_id speed tx_queue_len upper_bond0 addr_len carrier dev_id duplex ifalias link_mode netdev_group power statistics type
5. Berikut adalah beberapa contoh melihat file di direktori /sys/class/net.
# cat /sys/class/net/bonding_masters bond0
# cat /sys/class/net/bond0/operstate up
# cat /sys/class/net/bond0/address 00:0c:29:54:f7:20
# cat /sys/class/net/bond0/bonding/active_slave ens33
# cat /sys/class/net/bond0/bonding/mode active-backup 1
# cat /sys/class/net/bond0/bonding/slaves ens33 ens37
6. Berikut adalah contoh melihat file /proc/net/bonding/bond0.
# 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): 100 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
Cara menonaktifkan IPv4 atau IPv6 pada antarmuka terikat
Langkah-langkah ini hanya diperlukan jika bond1 tidak akan menggunakan alamat ipv4 atau ipv6
# nmcli connection modify bond1 ipv4.method disabled
dan/atau
# nmcli connection modify bond1 ipv6.method ignore