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 enp8s0f0
でset 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 |