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

CentOS / RHEL 7 :Cara mengonfigurasi Network Bonding atau NIC teaming

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:

  • Pemantau MII (Antarmuka Independen Media)
    • 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.
  • Pemantau ARP
    • 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 forever
    CentOS / RHEL 7 :Cara membuat Interface Bonding menggunakan nmcli


    Cent OS
    1. CentOS / RHEL 7 :Cara mengubah nama Antarmuka Jaringan

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

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

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

    2. Cara mengonfigurasi antarmuka dalam "Mode Promiscuous" di CentOS/RHEL

    3. Cara Mengonfigurasi Teaming Jaringan di CentOS/RHEL 7

    1. Cara Mengonfigurasi Antarmuka dalam mode promiscuous di CentOS/RHEL 7 (terus-menerus)

    2. Cara Mengonfigurasi 802.1q VLAN Pada NIC Pada CentOS/RHEL 7 dan 8

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