CentOS7에서 nmcli를 사용하여 본딩 설정을 할 수 있습니다.

이전

  • 네트워크 워크의 페이스 북이 2 つ ある
  • 양방향으로도 스위치 연결이되어있는
  • 片方 だけ IP 주소가 설정되어있어 유효하게 된 것

↓ こ ん な 환경

$ nmcli c
NAME      UUID                                  TYPE            DEVICE
enp8s0f0  86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  enp8s0f0
enp8s0f1  5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    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: enp8s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether a8:0c:0d:xx:xx:xxe brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.100/24 brd 192.168.0.255 scope global enp8s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::aa0c:dff:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
3: enp8s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether a8:0c:0d:xx:xx:xx brd ff:ff:ff:ff:ff:ff

본딩을 추가하는

$ sudo nmcli connection add type bond autoconnect no con-name jamesbond ifname jamesbond mode active-backup
Connection 'jamesbond' (3f972a86-feaf-4fd3-89c0-0b781d76aa18) successfully added.
$ nmcli c
NAME       UUID                                  TYPE            DEVICE
enp8s0f0   86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  enp8s0f0
jamesbond  3f972a86-feaf-4fd3-89c0-0b781d76aa18  bond            --
enp8s0f1   5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --

노예를 추가하는 것

한마디로 사용하지 않는 인터페이스를 노예로 추가

$ sudo nmcli connection add type bond-slave autoconnect no ifname enp8s0f1 master jamesbond
Connection 'bond-slave-enp8s0f1' (30170a37-4157-44be-99dd-9e99442839ff) successfully added.
$ nmcli c
NAME                 UUID                                  TYPE            DEVICE
jamesbond            3f972a86-feaf-4fd3-89c0-0b781d76aa18  bond            --   
enp8s0f0             86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  enp8s0f0
bond-slave-enp8s0f1  30170a37-4157-44be-99dd-9e99442839ff  802-3-ethernet  --   
enp8s0f1             5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --

연결. *을 확인하고 jamesbond의 노예 같은 것 그것이가 우리에게 있습니다

$ nmcli -f connection c s bond-slave-enp8s0f1
connection.id:                          bond-slave-enp8s0f1
connection.uuid:                        30170a37-4157-44be-99dd-9e99442839ff
connection.interface-name:              enp8s0f1
connection.type:                        802-3-ethernet
connection.autoconnect:                 no
connection.timestamp:                   0
connection.read-only:                   no
connection.permissions:
connection.zone:                        --
connection.master:                      jamesbond
connection.slave-type:                  bond
connection.secondaries:
connection.gateway-ping-timeout:        0

자동 연결이 유효 할 때 DHCP 서버가 사용하는 것과이 시점에서 IP 주소가 진동 된 경우가 있습니다.

본딩 휄로우에 IP 주소 등을 설정하는 것

설정 전

$ nmcli -f ipv4 c s jamesbond
ipv4.method:                            auto
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:
ipv4.routes:
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes

설정

$ sudo nmcli c e jamesbond
nmcli> set ipv4.method manual
nmcli> set ipv4.dns 192.168.0.5,192.168.0.6
nmcli> set ipv4.dns-search example.com
nmcli> set ipv4.addresses 192.168.0.100/24 192.168.0.1
nmcli> p ipv4
['ipv4' setting values]
ipv4.method:                            manual
ipv4.dns:                               192.168.0.5, 192.168.0.6
ipv4.dns-search:                        example.com
ipv4.addresses:                         { ip = 192.168.0.100/24, gw = 192.168.0.1 }
ipv4.routes:
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
nmcli> verify
Verify connection: OK
nmcli> save
Connection 'jamesbond' (3f972a86-feaf-4fd3-89c0-0b781d76aa18) successfully updated.
nmcli> quit

재시작에서 자동 연결을 조정할 것

sudo sed -i -e 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-bond-slave-enp8s0f1
sudo sed -i -e 's/ONBOOT=no/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-jamesbond
sudo nmcli c m enp8s0f0 connection.autoconnect no

재시작

$ sudo service network restart; sudo nmcli c up bond-slave-enp8s0f1

1 행으로 입력하지 않아도 노예가 올라갔습니다. 그런데 네트워크 액세스가 눈에 띄지 않게 낫습니다.도, OS에서 다시 부팅 할 때까지 할 수 있습니다. 에 걸레가 없다는 것.

심지어 한쪽의 페이스 북도 본딩에 추가

$ sudo nmcli connection add type bond-slave ifname enp8s0f0 master jamesbond

이번은 autoconnect의 지정은 없습니다 (기본값 yes)로 ok

$ nmcli c
NAME                 UUID                                  TYPE            DEVICE
jamesbond            0f731c67-075e-447a-8ddb-c7a4b9dd0d81  bond            jamesbond
bond-slave-enp8s0f1  9bb37dd8-24ed-4335-9e5e-b3a1da8fa51c  802-3-ethernet  enp8s0f1
enp8s0f1             5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --   
bond-slave-enp8s0f0  bdb5239b-a868-40e2-8ff7-81be4313efac  802-3-ethernet  enp8s0f0
enp8s0f0             86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  --
$ cat /proc/net/bonding/jamesbond
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: enp8s0f1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp8s0f1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: a8:0c:0d:xx:xx:xx
Slave queue ID: 0

Slave Interface: enp8s0f0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: a8:0c:0d:xx:xx:xx
Slave queue ID: 0

つ な で は, 노예를 갈아 입히다

$ sudo ifenslave -c jamesbond enp8s0f0
$ grep 'Active Slave:' /proc/net/bonding/jamesbond
Currently Active Slave: enp8s0f0
$ sudo ifenslave -c jamesbond enp8s0f1
$ grep 'Active Slave:' /proc/net/bonding/jamesbond
Currently Active Slave: enp8s0f1

bonding을 해제하는

enp8s0f1이 (가) Active Slave에서 enp8s0f0을 (를) 설정하지 않도록 설정

$ nmcli c
NAME                 UUID                                  TYPE            DEVICE
jamesbond            0f731c67-075e-447a-8ddb-c7a4b9dd0d81  bond            jamesbond
bond-slave-enp8s0f1  9bb37dd8-24ed-4335-9e5e-b3a1da8fa51c  802-3-ethernet  enp8s0f1
enp8s0f1             5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --   
bond-slave-enp8s0f0  bdb5239b-a868-40e2-8ff7-81be4313efac  802-3-ethernet  enp8s0f0
enp8s0f0             86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  --
$ sudo nmcli c del bond-slave-enp8s0f0
$ nmcli c
NAME                 UUID                                  TYPE            DEVICE
jamesbond            0f731c67-075e-447a-8ddb-c7a4b9dd0d81  bond            jamesbond
bond-slave-enp8s0f1  9bb37dd8-24ed-4335-9e5e-b3a1da8fa51c  802-3-ethernet  enp8s0f1
enp8s0f1             5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --   
enp8s0f0             86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  --

bond-slave-enp8s0f0가 사라 졌으므로 enp8s0f0를 다시 설정하지만, 앞의 것이 남아있는 것이 자동 연결을하는 것뿐입니다.

$ nmcli -f connection,ipv4 c s enp8s0f0
connection.id:                          enp8s0f0
connection.uuid:                        86b340dd-08f8-4067-95da-64e5d065c9e2
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 no
connection.timestamp:                   1407189160
connection.read-only:                   no
connection.permissions:
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.secondaries:
connection.gateway-ping-timeout:        0
ipv4.method:                            manual
ipv4.dns:                               192.168.0.5, 192.168.0.6
ipv4.dns-search:                        example.com
ipv4.addresses:                         { ip = 192.168.0.100/24, gw = 192.168.0.1 }
ipv4.routes:
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes

nmcli connection edit enp8s0f0set connection.autoconnect yesし てsave과연, す ぐ に に し ちゃ う から modify コ マン ド を 使 い と.

bonding 인터 페이스가 자동으로 작동하지 않는 것처럼, enp8s0f0이 작동하는 것처럼

$ sudo nmcli c m jamesbond connection.autoconnect no
$ sudo nmcli c m bond-slave-enp8s0f1 connection.autoconnect no
$ sudo nmcli c m enp8s0f0 connection.autoconnect yes

네트워크 서비스 재시작

$ sudo service network restart

본딩을 掃除

$ sudo nmcli c del bond-slave-enp8s0f1
$ sudo nmcli c del jamesbond
$ nmcli c
NAME      UUID                                  TYPE            DEVICE
enp8s0f1  5ddd53ce-04fc-4def-8c28-142c5c1e3f4a  802-3-ethernet  --
enp8s0f0  86b340dd-08f8-4067-95da-64e5d065c9e2  802-3-ethernet  enp8s0f0

'IBM PowerLinux > REDHAT' 카테고리의 다른 글

Hot add, remove, rescan of SCSI devices on Linux  (0) 2018.07.09
Redhat Nouveau 내장그래픽카드 nvidia 드라이버 설치 삭제  (0) 2018.07.03
gnome login screen id  (0) 2016.08.11
Linux semaphore  (0) 2016.07.11
NETWORK Bonding  (0) 2016.06.29

+ Recent posts