다른 운영 체제를 시작하여 다른 시스템과 병렬로 실행

다른 운영 체제를 시작하여 다른 시스템과 병렬로 실행

따라서 직장에는 모든 시스템과 동일한 자체 하드웨어에서 실행되는 시스템이 있습니다. 하드웨어 중 하나에 오류가 발생하면 실행 중인 시스템 중 하나가 오류가 발생한 시스템을 대신하여 시작하여 두 시스템 모두의 작업을 완료합니다. 모두 Linux 및 Intel CPU를 기반으로 합니다.

하나의 운영 체제가 다른 운영 체제를 시작하고 함께 실행하도록 만드는 방법은 무엇입니까? 단순히 프로그램을 실행하는 것이 아니라 전체 프로그램을 실행합니다.

Windows에서 다른 OS가 병렬 컴퓨팅을 위해 CPU의 하나의 코어를 사용하도록 만드는 방법과 같은 이야기를 들었습니다. 그런데 어떻게 한 시스템이 다른 시스템을 즉시 장악할 수 있는지 궁금합니다. 이건 정말 멋진데, 불행하게도 내 동료들도 이 작업이 어떻게 수행되는지 이해하지 못합니다.

답변1

하나의 운영 체제가 다른 운영 체제를 시작하고 함께 실행하도록 만드는 방법은 무엇입니까? 단순히 프로그램을 실행하는 것이 아니라 전체 프로그램을 실행합니다.

당신이 묘사하는 것은가상 기기. 지난 15년 동안 X86 프로세서는 성능 저하가 거의 없이 이러한 가상화된 시스템을 실행하도록 크게 최적화되었으므로 어떤 데이터 센터에서든 관리하는 컴퓨터는 기본적으로 운영 체제를 부팅하지만 실제로는 하드웨어가 아니라 가상 머신일 뿐입니다. .

따라서 이것은 매우 성숙한 기술입니다!

가상화 기능은 Linux 커널의 일부이며(kvm이 무엇인지 확인하세요) 실제 실행 중인 가상 머신에 대해 이 작업을 수행하는 프런트 엔드가 많이 있습니다. 철학적 차이와 필요하거나 필요하지 않을 수 있는 솔루션의 크기가 있습니다. 수동으로 선언된 Qemu에서 실행되는 KVM 지원 VM부터 libvirt/virsh/virtmmager를 사용하여 이러한 VM을 실행하는 보다 프로그래밍 가능한 방법, 일반적인 기본 Linux가 있는 시스템에 대해서는 생각하지 않지만 모든 작업은 항상 VM에서 수행되며(Xen의 작동 방식과 비슷함) 여러 VM을 실행하는 것 외에는 아무것도 하지 않는 서버로 가득 찬 랙을 관리합니다. 런타임 시 시스템 간에 이동할 수 있습니다(일반적으로 proxmox 및 VMware의 ESXI와 같은 것을 찾을 수 있습니다).

실제로 모든 것에 맞는 단일 크기는 없으며 필요에 따라 다릅니다.

하드웨어 중 하나에 오류가 발생하면 실행 중인 시스템 중 하나가 대신합니다.

이것단순한그 중 일부는 바로 사용할 수 있는 예비로 여러 머신에서 가상 머신을 실행하는 것입니다. 더 어려운 부분과 애플리케이션 측면에서 이러한 기계가 실제로 수행하는 작업에 따라 달라지는 부분은 소위 말하는 것이 무엇인지 알아내는 것입니다.장애 조치이런 일이 일어날 것입니다.

정적 파일 http 서버와 같은 경우 이는 역방향 프록시의 항목을 자동으로 변경하거나 실패한 시스템의 IP 주소를 백업 시스템에 할당하는 것만큼 간단할 수 있습니다.

트랜잭션이 데이터베이스의 데이터를 변경할 수 있는 보다 복잡한 경우에는 문제가 발생할 경우에 대비하기 위해 활성 서버에서 수행한 모든 데이터베이스 변경 사항을 지속적으로 복제해야 할 수도 있습니다.

서버에 대한 중복 스토리지 클러스터 액세스와 같은 다른 작업의 경우 실제로는 실제 전용 하드웨어(예: 서로 다른 두 시스템에서 동시에 액세스할 수 있는 하드 드라이브 컨트롤러)가 필요할 수 있습니다. 이는 대체로 예외입니다.

일반적으로 말하면 오류가 발생할 때 이를 알 수 있으려면 이를 알 수 있는 메커니즘이 필요합니다. 이는 애플리케이션 공간마다 다릅니다.

따라서 직장에서 무슨 일이 일어나고 있는지 확인하세요. 시스템이 어떻게 작동하는지 정확히 알고 싶다면 시스템을 설정한 IT 직원에게 문의하세요.

관련 정보