시리얼 콘솔을 통해 응답하지 않는 가상 서버 인스턴스의 문제를 해결하기 위해 Linux SysRq 키를 어떻게 사용할 수 있나요?

Linux 가상 서버 인스턴스가 응답하지 않아 SSH나 직접 접속을 통해 접근할 수 없습니다.

Linux 가상 서버 인스턴스가 응답하지 않는 현상은 시스템 충돌, 교착 상태, 커널 관련 문제 등 다양한 원인으로 발생할 수 있습니다. 가상 서버가 응답하지 않을 경우, SSH나 직접 접속과 같은 일반적인 문제 해결 방법이 작동하지 않을 수 있습니다. 이러한 경우 시리얼 콘솔에 계속 접근할 수 있으므로, 관리자는 ‘ Linux ’ 시스템 요청( SysRq ) 키를 사용하여 서버와 상호작용할 수 있습니다.

시스템 오류, 커널 패닉 또는 응답하지 않는 프로세스로 인해 Linux 서버가 정상적인 절차를 통해 접속할 수 없게 될 수 있습니다. 이러한 문제는 소프트웨어 버그, 하드웨어 결함 또는 잘못 설정된 시스템 매개변수에서 비롯될 수 있습니다. SysRq 키는 Linux 커널에 대한 저수준 접근을 제공하며, 멈춰 있거나 응답하지 않는 상위 레벨 프로세스를 우회합니다. 이 메커니즘은 Linux 커널에 내장된 안전 장치로, 다른 입력 방법이 사용할 수 없는 상황에서도 사용자가 서버 재부팅이나 진단 정보 덤프와 같은 중요한 시스템 작업을 수행할 수 있도록 돕습니다.

직렬 콘솔에서 SysRq 키를 사용하여 문제를 진단하고 해결하려면 다음 단계를 수행하십시오

  1. 직렬 콘솔에 연결하여 가상 서버 인스턴스에 접속하십시오. 자세한 정보는 VNC 또는 직렬 콘솔을 사용하여 가상 서버 인스턴스에 액세스를 참조하십시오.

  2. SysRq 명령을 활성화합니다. SysRq 명령어가 이미 활성화되어 있다면 이 단계를 건너뛸 수 있습니다. SysRq 명령을 사용하려면 kernel.sysrq 매개변수를 설정하십시오.

    echo 1 > /proc/sys/kernel/sysrq
    
  3. 직렬 콘솔에서 SysRq 명령을 실행하십시오. 다음 예제는 커널 크래시 덤프(kdump)를 시작합니다.

    크래시 덤프를 생성하려면, ‘ Linux ’ 가상 서버 인스턴스에서 ‘ crashkernel ’가 구성되어 있는지 확인하십시오. 자세한 내용은 ‘커널 크래시 덤프 메커니즘 ’을 참조하십시오.

    1. Enter 키를 누르세요.

    2. ~ (틸드) 키를 누르세요.

      AZERTY 키보드의 경우: Alt Gr 키와 2 키를 동시에 눌러 ~ 키를 입력합니다.

    3. B (대문자 B 키)를 누르세요.

    4. c (소문자 c)를 누르면 커널 크래시 덤프(kdump)가 시작됩니다.

    SysRq 명령어를 사용할 때는 다음 사항에 유의하십시오:

    • 각 키를 하나씩 눌렀다가 놓으세요. 어떤 키도 길게 누르지 마십시오.
    • 5초 이내에 전체 순서를 완료해야 합니다. 그렇지 않으면 시리얼 콘솔에서 SysRq 명령이 감지되지 않습니다.
    • 이 문자열을 입력하면 시리얼 콘솔에 문자가 표시되지 않습니다. 시스템은 이를 중단 시퀀스 문자로 처리합니다. 시퀀스가 완료되거나, 시퀀스 시간 초과가 발생하거나, 유효하지 않은 문자가 감지되면 일반 콘솔 입력이 재개됩니다.
    • 시퀀스 실행 중 시간 초과(5초 이상 소요)가 발생하거나 유효하지 않은 중단 시퀀스 문자가 입력된 경우, 1단계부터 과정을 다시 시작하십시오.

    예:

    ENTER + ~ + B + c
    
  4. 진단 결과를 분석하십시오. 이전 SysRq 커널 크래시 덤프에는 분석할 수 있는 진단 데이터가 포함되어 있습니다. SysRq 의 관련 명령어를 실행하면, 문제 해결 및 시스템 제어권 회복에 필요한 유용한 진단 데이터를 수집할 수 있습니다.

SysRq 명령어 키 목록을 보려면 Enter 키를 누른 다음 ~Bh (틸드, 대문자 B, 소문자 h)를 입력하세요. 자세한 내용은 Linux 의 ‘Magic System Request Key Hacks - ‘command’ 키란 무엇인가? ’를 참조하세요