GNU/Linux >> Belajar Linux >  >> Cent OS

CentOS / RHEL 7 :Cara membuat Network Bonding (NIC teaming) menggunakan nmcli

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


Cent OS
  1. CentOS / RHEL 7 :Cara mengonfigurasi Network Bonding atau NIC teaming

  2. Cara Mengonfigurasi Teaming Jaringan di CentOS/RHEL 7

  3. Red Hat / CentOS :Cara membuat antarmuka / ikatan NIC

  1. Cara Menetapkan Beberapa Alamat IP ke Antarmuka Jaringan Tunggal di CentOS 8

  2. CentOS / RHEL 7 :Cara mengubah nama Antarmuka Jaringan

  3. CentOS / RHEL 5:Cara mengonfigurasi ikatan Antarmuka (tim NIC)

  1. CentOS / RHEL 4 :Cara mengonfigurasi ikatan antarmuka (tim NIC)

  2. Cara Mengonfigurasi Teaming Antarmuka Jaringan di CentOS/RHEL 7 dan 8

  3. Cara Membuat Antarmuka Jembatan Menggunakan nmcli di CentOS/RHEL 7 dan 8