Bii o ṣe Ṣẹda Ẹgbẹ NIC tabi Iṣowo ni CentOS 8/RHEL 8


Ẹgbẹ NIC jẹ ikopọ tabi sisopọ ti awọn ọna asopọ nẹtiwọọki meji tabi diẹ sii sinu ọna asopọ ọgbọn ọkan lati pese apọju ati wiwa to ga. Ifilelẹ ọgbọn ọgbọn/ọna asopọ ni a mọ ni wiwo ẹgbẹ kan. Ni iṣẹlẹ ti ọna asopọ ti ara ti nṣiṣe lọwọ lọ silẹ, ọkan ninu awọn afẹyinti tabi awọn ọna asopọ ti a pamọ tapa laifọwọyi ati idaniloju asopọ ailopin si olupin naa.

Ṣaaju ki a to yi awọn apa ọwọ wa, o ṣe pataki lati mọ ararẹ pẹlu awọn ipari wọnyi:

  • Teamd - Eyi ni daemon ẹgbẹ ẹlẹgbẹ ti o nlo ile-ikawe libteam lati ṣe ibasọrọ pẹlu awọn ẹrọ ẹgbẹ nipasẹ ekuro Linux.
  • Teamdctl– Eyi jẹ iwulo ti o fun laaye awọn olumulo lati ṣakoso apeere ti ẹgbẹ. O le ṣayẹwo ki o yi ipo ibudo pada, bii yipada laarin afẹyinti ati awọn ipinlẹ ti n ṣiṣẹ.
  • Runner - Iwọnyi jẹ awọn sipo ti koodu ti a kọ sinu JSON ati pe wọn lo fun imuse ọpọlọpọ awọn imọran ẹgbẹ NIC. Awọn apẹẹrẹ ti awọn ipo olusare pẹlu Round robbin, iwọntunwọnsi fifuye, igbohunsafefe, ati afẹyinti ti nṣiṣe lọwọ.

Fun itọsọna yii, a yoo tunto ẹgbẹ NIC ni lilo ipo-afẹyinti ti nṣiṣe lọwọ. Eyi ni ibiti ọna asopọ kan wa ti n ṣiṣẹ lakoko ti o ku ni imurasilẹ ati ni ipamọ bi awọn ọna asopọ afẹyinti nitori ọna asopọ ti nṣiṣe lọwọ lọ silẹ.

Lori oju-iwe yii

  • Fi Daemon ẹgbẹ sii ni CentOS
  • Tunto Tunto Ẹgbẹ NIC ni CentOS
  • Idanwo Apọju Apapọ Nẹtiwọọki
  • Npaarẹ Ọlọpọọmídíà Ẹgbẹ Nẹtiwọọki

Laisi pupọ siwaju si, jẹ ki a bẹrẹ.

Teamd ni daemon ti o ni ẹri fun ṣiṣẹda ẹgbẹ nẹtiwọọki kan ti yoo ṣe bi wiwo ọgbọn lakoko asiko asiko. Nipa aiyipada, o wa ni fifi sori ẹrọ pẹlu CentOS/RHEL 8. Ṣugbọn ti, fun idi eyikeyi, ko fi sii, ṣe aṣẹ dnf atẹle lati fi sii.

$ sudo dnf install teamd

Lọgan ti a fi sii rii daju pe a ti fi egbe sii nipasẹ ṣiṣe pipaṣẹ rpm:

$ rpm -qi teamd

Lati tunto ẹgbẹ NIC a yoo lo ọpa nmcli ti o ni ọwọ ti o le ṣee lo fun iṣakoso iṣẹ NẹtiwọManager. Ninu eto mi, Mo ni awọn kaadi NIC 2 ti Emi yoo sopọ tabi darapọ lati ṣẹda wiwo ẹgbẹ ẹgbẹ ọgbọn kan: enp0s3 ati enp0s8 . Eyi le jẹ iyatọ ninu ọran rẹ.

Lati jẹrisi awọn atọkun nẹtiwọọki ti nṣiṣe lọwọ ṣiṣe:

$ nmcli device status

Ijade naa jẹrisi aye ti awọn isopọ nẹtiwọọki ti nṣiṣe lọwọ 2. Lati ko alaye diẹ sii nipa awọn atọkun bi UUID, ṣiṣe aṣẹ naa:

$ nmcli connection show

Lati ṣẹda ọna asopọ ẹgbẹ nẹtiwọọki kan tabi wiwo, eyi ti yoo jẹ ọna ọna ọgbọn wa, a yoo paarẹ awọn atọkun nẹtiwọọki ti o wa. Lẹhinna a yoo ṣẹda awọn atọkun ẹrú nipa lilo awọn atọkun ti o paarẹ ati lẹhinna ṣepọ wọn pẹlu ọna asopọ ẹgbẹ.

Lilo awọn oniwun UUID wọn ṣiṣẹ awọn ofin ni isalẹ lati pa awọn ọna asopọ naa:

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Ni akoko yii nigbati o ba ṣayẹwo awọn atọkun naa, iwọ yoo ṣe akiyesi pe wọn ti ge asopọ ati pe ko pese asopọ si olupin naa. Ni ipilẹṣẹ, olupin rẹ yoo ya sọtọ lati iyoku nẹtiwọọki.

$ nmcli device status

Nigbamii ti, a yoo ṣẹda wiwo ẹgbẹ kan ti a pe ni team0 ni ipo olusare ti nṣiṣe lọwọ-afẹyinti. Gẹgẹbi a ti sọ tẹlẹ, ipo olusare afẹyinti ti nṣiṣe lọwọ nlo wiwo ti nṣiṣe lọwọ kan ati ṣetọju awọn miiran fun apọju ti ọna asopọ ti nṣiṣe lọwọ ba lọ silẹ.

$ nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Lati wo awọn eroja ti a sọ si wiwo team0 ṣiṣe aṣẹ naa:

$ nmcli connection show team0

Pipe! Ni aaye yii, a nikan ni wiwo kan si oke, eyiti o jẹ wiwo team0 bi a ti han.

$ nmcli connection show

Nigbamii, tunto adiresi IP fun team0 wiwo bi o ti han nipa lilo aṣẹ nmcli. Rii daju lati fi IP si gẹgẹ bi ero-iṣẹ netiwọki & ero adirẹsi IP nẹtiwọọki rẹ.

$ nmcli con mod team0 ipv4.addresses 192.168.2.100/24
$ nmcli con mod team0 ipv4.gateway 192.168.2.1
$ nmcli con mod team0 ipv4.dns 8.8.8.8
$ nmcli con mod team0 ipv4.method manual
$ nmcli con mod team0 connection.autoconnect yes

Lẹhinna, ṣẹda awọn ọna asopọ ẹrú ki o ṣepọ awọn ẹrú si ọna asopọ ẹgbẹ:

$ nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
$ nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Ṣayẹwo ipo awọn ọna asopọ lẹẹkansi, ati pe iwọ yoo ṣe akiyesi pe awọn ọna asopọ ẹrú n ṣiṣẹ lọwọlọwọ.

$ nmcli connection show

Nigbamii, mu ma ṣiṣẹ ki o mu ọna asopọ ẹgbẹ ṣiṣẹ. Eyi n mu asopọ pọ laarin awọn ọna asopọ ẹrú ati ọna asopọ ẹgbẹ.

$ nmcli connection down team0 && nmcli connection up team0

Nigbamii, rii daju ipo asopọ asopọ ẹgbẹ bi o ti han.

$ ip addr show dev team0

A le rii pe ọna asopọ naa wa pẹlu adirẹsi IP ti o tọ ti a tunto tẹlẹ.

Lati gba awọn alaye ni afikun nipa ọna asopọ ẹgbẹ, ṣiṣe aṣẹ naa:

$ sudo teamdctl team0 state

Lati iṣẹjade, a le rii pe awọn ọna asopọ mejeeji ( enp0s3 ati enp0s8 ) wa ni oke ati pe ọna asopọ ti nṣiṣe lọwọ jẹ enp0s8 .

Lati ṣe idanwo ipo iṣiṣẹ-afẹyinti ẹgbẹ wa, a yoo ge asopọ ọna asopọ lọwọlọwọ - enp0s3 - ati ṣayẹwo boya ọna asopọ miiran ti bẹrẹ.

$ nmcli device disconnect enp0s3
$ sudo teamdctl team0 state

Nigbati o ba ṣayẹwo ipo ti wiwo ẹgbẹ, iwọ yoo rii pe ọna asopọ enp0s8 ti bẹrẹ ati sisẹ awọn isopọ si olupin naa. Eyi jẹrisi pe iṣeto wa n ṣiṣẹ!

Ti o ba fẹ paarẹ wiwo/ọna asopọ ẹgbẹ ki o pada si awọn eto nẹtiwọọki aiyipada, kọkọ mu ọna asopọ ẹgbẹ silẹ:

$ nmcli connection down team0

Nigbamii, pa awọn ẹrú naa kuro.

$ nmcli connection delete team0-slave0 team0-slave1

Lakotan, paarẹ wiwo ẹgbẹ.

$ nmcli connection delete team0

Ni aaye yii, gbogbo awọn atọkun naa wa ni isalẹ ati pe olupin rẹ ko le de ọdọ. Lati mu awọn atọkun nẹtiwọọki rẹ ṣiṣẹ ati lati tun ri asopọpọ, ṣiṣe awọn aṣẹ naa:

$ sudo ifconfig enp0s3 up
$ sudo ifconfig enp0s8 up
$ sudo systemctl restart NetworkManager

Ẹgbẹ NIC nfunni ojutu ti o dara julọ fun apọju nẹtiwọọki. Pẹlu awọn atọkun nẹtiwọọki 2 tabi diẹ sii, o le tunto wiwo ẹgbẹ kan ni eyikeyi ipo asare lati rii daju wiwa to ga julọ ni iṣẹlẹ ti ọna asopọ ọkan kan sọkalẹ lairotẹlẹ. A nireti pe o rii itọsọna yii wulo. Lu wa si oke ki o jẹ ki a mọ bi iriri rẹ ṣe jẹ.