따라서 기본적으로 웹 애플리케이션을 모든 PHP 앞뒤로 호스팅해야 하며 HA가 포함된 MySQL 데이터베이스도 호스팅해야 합니다.
서로 다른 데이터 센터에 2개의 서버가 있습니다.
그리고 저는 Proxmox를 2개의 VM과 함께 사용해야 하는지 생각하고 있습니다. 하나는 웹 애플리케이션용이고 다른 하나는 데이터베이스용입니다.
아니면 데비안을 설치하고 모든 것을 하나로 모아서 끝내면 될까요?
웹 서버용 HA는 다른 서버에 있는 HaProxy 인스턴스에 의해 처리됩니다. 데이터베이스 HA는 HA의 ProxySQL에 의해 처리되지만(따라서 기본적으로 Mysql 서버와 ProxySQL은 동일한 서버에 있음) 내 애플리케이션은 어떤 ProxySQL에 연결해야 하는지 알아야 합니다.
Proxmox를 사용하면 Keepalived를 사용하여 이 작업을 수행하는 것이 매우 간단합니다. 모든 것이 내부 IP를 사용하고 괜찮기 때문입니다.
하지만 데비안을 사용하면 공용 IP가 되고 제가 사용하는 호스팅(OVH)에는 이를 허용하는 플로팅 IP라는 기능이 있지만 전환하는 데 약 5분 정도 걸리므로 사이트를 연결하는 데 5분 정도 걸립니다. 다운되었습니다.
proxmox를 사용하면 서버를 가동하여 업그레이드를 수행한 다음 아무것도 손상시키지 않고 전환하는 등의 작업을 수행할 수 있다는 다른 장점도 있습니다. 데비안을 직접 사용한다는 것은 서버를 다시 포맷하는 등의 작업을 의미합니다.
물론 Proxmox를 사용하면 성능이 약간 저하되지만 이는 무시할 만한 수준이라고 생각합니다.
두 솔루션 모두 장단점이 있으며 어느 방향으로 가야할지 잘 모르겠습니다.
그렇다면 가상화인가, 아니면 베어메탈인가?
서버는 다음과 같습니다:
CPU: Xeon-E 2288G - 8c/16t
Memory: 32GB
Disks: 2× 960GB SSD NVMe - RAID 1
이견있는 사람? 감사해요!
답변1
여기서 Proxmox를 사용하는 이유는 keepalived를 사용할 수 있기 때문인 것 같습니다(정확히 무엇을 위한 것인지는 모르겠지만). 그것은 엄청난 과잉인 것 같습니다.
당신이 암시한 이 맥락에서 타당할 수 있는 다른 이유가 있습니다.
OVH 유동 IP도 언급했습니다.
이것이 XY 문제입니다.
귀하의 주요 관심사는 가상 IP를 통해 서비스 중 하나 이상을 사용할 수 있는지 확인하는 것입니다.
가상 IP는 현명한 라우팅 구성 없이는 데이터 센터 전체에서 작동하지 않습니다. 복잡성은 나쁘다.
HA 메커니즘으로서의 가상 IP는 형편없습니다. 귀하는 귀하의 시스템에 의존하여 수행하고 있습니다.무엇깨진 상태일 때. 분할 뇌에는 합병증이 있습니다. 테스트/모니터링이 어렵습니다. 항상 서비스가 중단됩니다.
가상 IP가 필요하지 않습니다. 데이터베이스에 연결해야 하는 각 노드에서 ProxySQL(또는 haproxy 또는 유사)을 사용 가능/구성하고 데이터베이스 서비스용 HA가 있는 모든 데이터베이스 노드에 대해 알고 있는 경우입니다. HTTP 서비스의 경우 HA의 핵심 부분은 여러 호스트에 걸친 라운드 로빈 DNS 주소입니다. 주의 rrDNS와 HTTP에 대한 잘못된 정보가 여전히 웹 간 떠돌고 있습니다. 로드 밸런서가 할 수 없는 사례를 다루고 로드 밸런서가 수행하는 대부분의 사용 사례를 처리합니다.
이와 같은 상황에서 가상화를 사용하는 데 드는 가장 큰 비용은 DBMS 디스크 I/O입니다. mysql 성능이 전체 서비스 성능에 큰 영향을 미치고 예산이 이를 허용하는 경우 전용 디스크 컨트롤러 및 스토리지를 DBMS VM에 전달하여 이 문제를 제거할 수 있습니다.