CARP(Common Address Redundancy Protocol)를 사용하는 두 개의 BSD 서버는 LAGG(링크 집계)를 사용하여 인터페이스에서 실행되도록 구성됩니다. 두 서버 모두 CARP MASTER이고 하나를 STANDBY로 다운그레이드할 수는 없는 것 같습니다. 두 번째 서버를 수동으로 강제로 대기 상태로 만들 수 있지만 몇 초 내에 기본 서버로 되돌아갑니다. 나는 "tcpdump"를 사용했고 두 서버 모두에서 두 서버 모두에 도착하는 많은 수의 CARP Keepalive를 보았습니다.
누구든지 이것을 작동하게 만들었습니까? 어떤 팁이 있나요?
이것은 stackoverflow의 교차 게시물입니다. 아마도 이 질문에 대한 더 나은 사이트일 것입니다.
서버 1(메인 서버여야 함)
$ ifconfig lagg0
lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=e507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM, \
TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
ether 00:25:90:e9:d5:74
inet 111.222.333.83 netmask 0xfffffff0 broadcast 104.225.9.95
inet 111.222.333.84 netmask 0xffffffff broadcast 104.225.9.84 vhid 1
inet 111.222.333.85 netmask 0xffffffff broadcast 104.225.9.85 vhid 3
inet 101.24.0.83 netmask 0xffffffff broadcast 10.242.0.83
inet6 fe80::225:90ff:fee9:d574%lagg0 prefixlen 64 scopeid 0x4
inet6 2607:fc50:3000:4::83 prefixlen 64
inet6 2607:fc50:3000:4::84 prefixlen 64 vhid 2
inet6 2607:fc50:3000:4::85 prefixlen 64 vhid 4
laggproto lacp lagghash l2,l3,l4
laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
groups: lagg
carp: MASTER vhid 1 advbase 1 advskew 100
carp: MASTER vhid 3 advbase 1 advskew 0
carp: MASTER vhid 2 advbase 1 advskew 100
carp: MASTER vhid 4 advbase 1 advskew 0
media: Ethernet autoselect
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
$ sysctl -a | egrep 'lagg|carp'
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240
net.inet.carp.demotion: 0
net.inet.carp.log: 1
net.inet.carp.preempt: 1
net.inet.carp.dscp: 56
net.inet.carp.allow: 1
net.link.lagg.lacp.default_strict_mode: 1
net.link.lagg.lacp.debug: 0
net.link.lagg.default_flowid_shift: 16
net.link.lagg.default_use_flowid: 0
net.link.lagg.failover_rx_all: 0
서버 2(백업이어야 함)
lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4, \
TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
ether 78:45:c4:fa:d2:99
inet 111.222.333.82 netmask 0xfffffff0 broadcast 104.225.9.95
inet 111.222.333.84 netmask 0xffffffff broadcast 104.225.9.84 vhid 1
inet 111.222.333.85 netmask 0xffffffff broadcast 104.225.9.85 vhid 3
inet 101.24.0.82 netmask 0xffffffff broadcast 10.242.0.82
inet6 fe80::7a45:c4ff:fefa:d299%lagg0 prefixlen 64 scopeid 0x4
inet6 2607:fc50:3000:4::82 prefixlen 64
inet6 2607:fc50:3000:4::84 prefixlen 64 vhid 2
inet6 2607:fc50:3000:4::85 prefixlen 64 vhid 4
laggproto lacp lagghash l2,l3,l4
laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
groups: lagg
carp: MASTER vhid 1 advbase 1 advskew 200
carp: MASTER vhid 3 advbase 1 advskew 200
carp: MASTER vhid 2 advbase 1 advskew 100
carp: MASTER vhid 4 advbase 1 advskew 0
media: Ethernet autoselect
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
sysctl -a | egrep 'lagg|carp'
<6>[26809290] carp: 3@lagg0: MASTER -> BACKUP (user requested via ifconfig)
<6>[26809290] lagg0: deletion failed: 3
<6>[26809294] carp: 3@lagg0: BACKUP -> MASTER (master timed out)
<6>[26809296] carp: 1@lagg0: MASTER -> BACKUP (user requested via ifconfig)
<6>[26809296] lagg0: deletion failed: 3
<6>[26809300] carp: 1@lagg0: BACKUP -> MASTER (master timed out)
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240
net.inet.carp.demotion: 0
net.inet.carp.log: 1
net.inet.carp.preempt: 1
net.inet.carp.dscp: 56
net.inet.carp.allow: 1
net.link.lagg.lacp.default_strict_mode: 1
net.link.lagg.lacp.debug: 0
net.link.lagg.default_flowid_shift: 16
net.link.lagg.default_use_flowid: 0
net.link.lagg.failover_rx_all: 0
답변1
방화벽 규칙을 확인해주세요. CARP 프로토콜은 이 네트워크(이러한 호스트 간)에서 활성화되어야 합니다.