Hyper-V 2016에서 Gen1 VM으로 실행되는 두 개의 OpenBSD 시스템이 있습니다. VM은 두 개의 Hyper-V 호스트에 분산되어 있습니다. CARP 의사 인터페이스와 연결된 NIC에는 MAC 주소 스푸핑이 활성화되어 있습니다. CARP 의사 인터페이스에는 Hyper-V의 정적 MAC 주소가 있습니다. CARP 인터페이스에 대해 ping을 수행할 수는 없지만 CARP 의사 인터페이스를 지원하는 네트워크 카드의 IP에 대해 ping을 수행할 수 있습니다. 또한 CARP 인터페이스에는 MASTER/BACKUP이 올바르게 할당되어 있으며 tcpdump -ni hnv1
사용 중(물리적 인터페이스) OpenBSD 상자에서 들어오는 CARP 트래픽을 볼 수 있습니다.
내 /etc/sysctl.conf
파일은 다음과 같습니다
net.inet.carp.allow=1
net.inet.carp.preempt=1
net.inet.ip.forwarding=1
동일한 Hyper-V 호스트로 이동해도 아무 변화가 없습니다. OpenBSD 상자에서는 Pf가 비활성화되어 있습니다.
HAProxy는 여러 웹 서버에 대한 TCP 프록시 역할을 합니다. 오프로드 등을 원하지 않거나 필요하지 않으므로 HTTPS 프록시로 실행하지 않으면 tcp/443을 통해 RDS 상자의 부하가 분산됩니다. FQDN의 IP를 CARP가 아닌 인터페이스로 지정하면 HAProxy가 작동합니다.
여기서 또 무엇을 볼 수 있나요? CARP에 대한 도움을 받기 위해 연락할 수 있는 다른 그룹이 있습니까? 대부분의 CARP 정보는 pfSense 상자 구성을 중심으로 이루어집니다.
스위칭 인프라는 간단합니다. 두 Hyper-V 상자 모두 Ubnt ES-250W-PoE에 연결되어 있으며 Ubnt ERLite를 라우터로 사용합니다.
ERL(10.10.20.1/24 태그 없음, VLAN ID 1: 172.16.5.0/23, VLAN ID 4: 192.168.80.1/24) -> ES-250W(10.10.20.2, LACP 바인딩이 포함된 Hyper-V 상자 태그 없음, VLAN ID 1과 4). Hyper-V 및 LACP 스위치는 IP를 할당하지 않고 트래픽을 전달합니다. OpenBSD 상자는 hnv0
태그가 지정되지 않은 VLAN에 있으며 10.10.20.0/24 서브넷에 공간이 할당되어 있습니다. hnv1
의사 인터페이스에서 사용됩니다 carp0
. hvn1
NIC는 해당 OpenBSD VM에 대해 192.168.80.2/24 및 192.168.80.3/24를 사용합니다. carp0
할당된 주소는 192.168.80.21/24입니다.
NIC에는 게이트웨이 주소가 할당 hnv1
되지 않았습니다 . carp0
웹 서버는 VLAN ID 1이 할당된 서브넷에 있습니다.
네트워크 어디에서나 192.168.80.2 및 .3에 ping을 보낼 수 있습니다. OpenBSD 상자 자체를 제외한 어느 곳에서나 192.168.80.21에 ping을 보낼 수 없습니다.
답변1
CentOS 6.1 배포판에는 분명히 버그가 있는 것으로 나타났습니다. 2017년 7월 13일부터 -current로 업그레이드했고 CARP는 다른 변경 사항 없이 즉시 작동하기 시작했습니다.