본문으로 건너뛰기

복구 모드 (Rescue)

이용 안내

서버 장애 시 운영체제(OS)를 거치지 않고 복구 환경으로 부팅하여 디스크에 직접 접근할 수 있는 서비스입니다.
해당 모드에서는 VNC Viewer를 통해 원격으로 시스템 점검 및 복구 작업이 가능합니다.

복구 모드는 운영체제(OS) 수준의 장애로 정상 부팅이 불가능하거나, 원격 접속이 불가능한 경우, 별도의 복구용 환경으로 서버를 부팅하여 점검·복구 작업을 진행할 수 있는 비상 복구 환경입니다.
일반적인 하드 재부팅으로 해결되지 않는 커널 오류, 파일 시스템 손상, 설정 오류 상황에서 VM 데이터를 보호하고 시스템을 정상화하기 위한 방법으로 활용됩니다.

복구 모드 이용 시 서버는 일시적으로 서비스가 중단되며, 작업 내용에 따라 기존 데이터가 변경되거나 손상될 수 있으므로 반드시 필요한 경우에만 신중히 진행해 주시기 바랍니다.

이 메뉴얼에서는 운영 체제에 따라 복구 모드를 통해 진행 할 수 있는 기본적인 작업들에 대해 설명합니다.


작동 원리

복구 모드를 실행하면 다음과 같은 단계로 복구 환경을 구성합니다.

  1. 임시 부팅 이미지 할당 : 기존의 운영체제 대신 별도의 복구 전용 이미지(SystemRescue)를 사용하여 VM을 부팅합니다.
  2. 원본 디스크 연결 : VM이 복구 이미지로 부팅된 후, 기존에 사용하던 원본 디스크를 보조 디스크로 자동 연결 합니다.
  3. 데이터 접근 : 사용자는 복구 환경 내에서 보조 디스크로 연결된 원본 데이터를 마운트(Mount)하여 수정하거나 백업할 수 있습니다.
  4. 원상 복구 : 복구 작업 완료 후 복구 모드 OFF 하면, 임시 부팅 이미지는 제거되고 VM은 다시 원본 디스크를 사용하여 정상 부팅을 시도합니다.
복구 전용 이미지

SystemRescue는 GNU/Linux 기반의 전문적인 **시스템 장애 복구 전용 라이브 운영체제(Live OS)**입니다.

일반적인 운영체제처럼 하드디스크에 설치하여 사용하는 것이 아니라, VM의 메모리(RAM) 상에서 독립적으로 구동됩니다. 이를 통해 기존 운영체제가 손상되어 부팅이 불가능한 긴급 상황에서도 시스템 내부 파일에 안전하게 접근하여 복구 작업을 수행할 수 있도록 설계된 시스템 응급 구조 키트입니다.


복구 모드 진입

복구 모드 정상 진입시 아래와 같은 화면이 나타납니다.

복구 모드 정상 진입 성공

복구모드 실패

저사양 인스턴스는 “메모리 부족”으로 인해 사용이 제한될수 있으니 인스턴스 사양을 일시적으로 변경(Resize)후 시도해 주시기 바랍니다.

복구 모드 실패


복구 모드 실행 (Rescue)

  1. 복구가 필요한 서버를 클릭 후 복구 모드를 클릭합니다.

복구 모드 콘솔1

  1. 팝업창 이용안내와 주의사항을 읽어본 후 복구모드 ON, 동의 부분 체크 후 확인 버튼 클릭합니다.

  2. 상태가 RESCUE로 변경된 것을 확인합니다.

복구 모드 콘솔3


복구 모드 해제 (Unrescue)

  1. 복구 모드 해제가 필요한 서버를 클릭 후 복구 모드를 클릭합니다.

복구 모드 해제 콘솔1

  1. 이용안내와 주의사항을 읽어본 후 복구모드 OFF, 동의 부분 체크 후 확인 버튼 클릭합니다.

  2. 상태가 운영중로 변경된 것을 확인합니다.

복구 모드 해제 콘솔3


주요 활용 사례

복구 모드는 강력한 도구 이지만, 하드웨어 구성을 일시적으로 변경하므로 실행 전 아래 사항을 반드시 숙지해야 합니다.

⚠️ 사용전 필수 확인 및 주의사항

  1. 서비스 일시 중단 : 복구 모드 진입 시 서비스 운영은 중지됩니다.
  2. 데이터 안전성 : 복구 작업 중 기존 데이터는 원칙적으로 유지되나, 시스템 장애 상황에 따라 데이터 손상 및 유실 위험이 있습니다.
  3. 사전 백업 권장 : 작업 전 가능한 경우 반드시 이미지 생성 및 스냅샷을 통해 백업 후 이용하시기 바랍니다.
  4. 리소스 요구 사양 : 복구 이미지(SystemRecue)의 원활한 구동을 위해 VM의 메모리 사양은 최소 2GB RAM 이상을 권장합니다.
  5. 임시환경 : 복구 모드에서 수행한 OS 설정(패키지 설치, 환경 설정등)은 복구 모드 OFF 이후 저장되지 않고 사라집니다. 모든 수정 작업은 마운트된 원본 디스크 내부에서 이루어져야 합니다.
  6. 네트워크 설정 : 복구 이미지로 부팅 시 네트워크가 자동으로 잡히지 않습니다. 외부 전송이 필요한 경우 수동으로 IP 설정을 확인해야 합니다.

1. 패스워드 초기화

운영체제 내부의 관리자 계정 정보를 유실하여 원격 접속이 불가능할 경우, 복구 모드 환경에서 로컬 파일 시스템에 직접 접근하여 인증 정보를 재설정할 수 있습니다.

Step 1. 복구 모드
Boot SystemRescue using default options 상태에서 Enter를 입력합니다.

복구 모드 콘솔1

Step 2. 디스크 마운트
복구 모드 부팅 후, 보조 디스크로 연결된 원본 루트 파티션을 마운트합니다.

[root@sysrescue ~]# mount /dev/vdb1 /mnt
[root@sysrescue ~]# mount --bind /dev /mnt/dev
[root@sysrescue ~]# mount --bind /proc /mnt/proc
[root@sysrescue ~]# mount --bind /sys /mnt/sys

Step 3. 환경 진입
원본 디스크 환경으로 실행 루트를 변경합니다.

[root@sysrescue ~]# chroot /mnt

Step 4. 패스워드 재설정

[root@sysrescue ~]# passwd root
New password:
Retype new password:
passwd: password updated successfully

Step 5. SSH 키 복구(선택사항)
특정 계정의 SSH 접속이 안 된다면 .ssh/authorized_keys 파일을 열어 공개키를 직접 추가하거나 수정할 수 있습니다.


2. 파일 시스템 체크

운영체제가 비정상적으로 종료되었거나, 디스크 I/O 에러로 인해 Read-Only 상태로 전환된 경우등 정상 부팅되지 않을 경우 파일 시스템 점검이 필요합니다.

복구 모드(SystemRescue)로 부팅한 뒤 운영체제가 설치된 디스크의 파티션을 확인하고, 대상 파티션에 대해 점검 명령어를 실행하여 오류를 진단합니다.

반드시 해당 파티션이 마운트되지 않은 상태에서 수행해야 합니다.

주의사항
  • 구조적 복구 과정에서 일부 데이터가 유실될 수 있으므로 실행 전 백업 필수 권장드립니다.

- 표준 점검 (ext4등 )
서버에 따라 장치의 파티션이 다를 수 있습니다

[root@sysrescue ~]# lsblk -f
[root@sysrescue ~]# e2fsck -vycf /dev/vdb1

- xfs일 경우 서버에 따라 장치의 파티션이 다를 수 있습니다

[root@sysrescue ~]# lsblk -f
[root@sysrescue ~]# xfs_repair -L /dev/vdb1

3. 메모리 체크

복구 모드 환경은 운영체제가 점유하는 자원을 최소화한 상태이기 때문에, 물리적인 메모리(RAM)의 불량 여부를 진단하기에 적당합니다.
운영 중인 서버에서 원인 모를 커널 패닉이나 세그먼테이션 오류(Segmentation Fault)가 반복된다면, 복구 모드에서 다음과 같은 방법으로 진단할 수 있습니다.

- Memtest86+ 활용
SystemRescue 에는 하드웨어 진단 도구인 Memtest86+가 포함되어 있습니다.
이 도구는 OS를 거치지 않고 하드웨어 레벨에서 메모리의 모든 셀을 테스트합니다.
점검은 운영체제와 별도로 실행되므로 보다 정확한 검사가 가능하며, 테스트 시간은 메모리 용량에 따라 수십 분에서 수 시간까지 소요될 수 있습니다.

검사 중 Errors 항목이 1건 이상 발생할 경우 물리적인 메모리 불량 또는 슬롯 접촉 불량 가능성이 있으므로 추가 점검이 필요합니다. 온라인 기술지원을 통해 내용을 접수해 주시면 조치해 드리겠습니다.

  1. Run Memtest86+ 를 선택합니다.

메모리체크1

  1. Enter를 입력하면 시작됩니다.

메모리체크2

  1. ESC로 메모리 테스트를 종료할수 있습니다.

메모리체크3


4. 데이터 추출

데이터 추출은 서버가 정상 부팅되지 않거나 내부 서비스 점검이 어려운 상황에서, 복구 모드(SystemRescue)로 접속하여 필요한 파일을 외부 서버로 안전하게 복사하는 작업입니다.

운영체제에 직접 접속하지 못하더라도 디스크가 정상 인식되는 상태라면 주요 데이터, 설정 파일, 로그 파일 등을 별도로 백업할 수 있습니다.

SystemRescue 환경에서는 scp(Secure Copy) 명령어를 이용하여 네트워크를 통해 다른 Linux 서버로 파일을 전송할 수 있습니다. scp는 SSH 기반으로 동작하므로 전송 과정이 암호화되며, 원격 서버의 계정 정보와 접속 가능한 네트워크 환경이 필요합니다.

파일 1개만 전송할 수도 있으며, 디렉터리 전체를 복사하려면 -r 옵션을 사용합니다. 최초 접속 시 원격 서버의 SSH 지문(Fingerprint) 확인 메시지가 표시될 수 있으며, 확인 후 비밀번호를 입력하면 전송이 시작됩니다.

아래 절차는 복구 모드에서 scp 명령어를 사용하여 데이터를 외부 서버로 추출하는 방법의 예시입니다.

# 옮길 파일을 확인합니다.
root@rescue-ubu24:/home/iwinv# pwd
/home/iwinv

root@rescue-ubu24:/home/iwinv# ls -al
total 16
drwxr-xr-x 2 root root 4096 Apr 27 09:49 .
drwxr-xr-x 4 root root 4096 Apr 27 09:48 ..
-rw-r--r-- 1 root root 21 Apr 24 16:55 file1.txt
-rw-r--r-- 1 root root 10 Apr 24 16:56 file2.txt


# scp를 통해 원하는 서버의 특정 경로로 파일을 보냅니다.
# scp [옮길파일의경로] root@[원격 서버 ip]:[옮기고자 하는 경로]
root@rescue-ubu24:/home/iwinv# scp /home/iwinv/file1.txt root@xx.xxx.xxx.xxx:/home/test/

The authenticity of host 'xx.xxx.xxx.xxx (xx.xxx.xxx.xxx)' can't be established.
ED25519 key fingerprint is SHA256:ssoJIjnSS0m17yQEf/iPAuAcyaav7Vfxxjsg8ssdtHs.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'xx.xxx.xxx.xxx' (ED25519) to the list of known hosts.

root@xx.xxx.xxx.xxx's password:
file1.txt 100% 21 7.6KB/s 00:00

root@rescue-ubu24:/home/iwinv#

# 받은 서버에서 정상적으로 파일이 넘어왔는지 확인합니다.
root@iwinv-server:/home/test# pwd
/home/test

root@iwinv-server:/home/test# ll
total 12
drwxr-xr-x 2 root root 4096 Apr 27 09:59 ./
drwxr-xr-x 4 root root 4096 Apr 27 09:55 ../
-rw-r--r-- 1 root root 21 Apr 27 09:59 file1.txt