Linux에서 원격 하드 드라이브 백업을 만드는 방법

하드 드라이브는 수명이 유한하며, 시간이 지나면 고장나서 교체가 필요합니다. 일반적으로 PC나 서버의 하드 드라이브를 교체하는 과정은 전원을 끄고, 드라이브를 분리한 다음, 데이터를 복제하거나 백업을 다른 시스템에 복원하는 것과 같이 간단합니다. 하지만 원격 PC나 서버를 다루는 경우에는 물리적으로 접근할 수 없기 때문에 이 과정이 복잡해집니다. 다행히도 원격 하드 드라이브 백업을 생성하고 고장난 드라이브의 데이터를 보호하는 방법이 있습니다.

이 글에서는 Linux PC에서 원격 하드 드라이브 백업을 신속하게 만들 수 있는 두 가지 실용적인 방법을 소개합니다.

첫 번째 방법은 Rsync라는 도구를 이용하는 것이고, 두 번째 방법은 SSH를 통한 DD 명령어를 사용하는 것입니다.

원격 하드 드라이브 백업 – Rsync 활용

Rsync 프로토콜은 LAN과 인터넷 환경에서 매우 빠른 속도를 제공하므로 원격 하드 드라이브 백업에 매우 유용합니다. 특히, 별도의 프로그램을 설치할 필요가 없어 설정 과정이 간편합니다. 또한, 명령줄 환경에 익숙하지 않은 사용자를 위해 Rsync는 그래픽 인터페이스 도구도 제공합니다.

Rsync는 하드 드라이브의 완벽한 미러 이미지를 생성하지는 않지만, 하드 드라이브 내의 중요한 모든 데이터를 백업하는 데 적합합니다. 이 도구는 파일 권한과 같은 정보도 유지합니다. 반대로 손상된 파일까지 복사해야 하는 상황에서는 일반적인 Tar Gzip 백업 아카이브 형식이 더 적합할 수 있습니다.

설치 과정

Rsync를 사용하기 전에 원격 컴퓨터와 로컬 컴퓨터 모두에 Rsync 도구가 설치되어 있는지 확인해야 합니다.

Ubuntu

sudo apt install rsync

Debian

sudo apt-get install rsync

Arch Linux

sudo pacman -S rsync

Fedora

sudo dnf install rsync

openSUSE

sudo zypper install rsync

기타 Linux 배포판

대부분의 Linux 배포판에서 Rsync 도구를 쉽게 찾을 수 있습니다. 심지어 이미 시스템에 설치되어 있을 수도 있습니다. 설치하려면 패키지 관리자를 열고 “rsync”를 검색하여 설치하십시오.

먼저 원격 컴퓨터의 IP 주소를 확인해야 합니다. 아직 모른다면 Ping 명령어를 사용할 수 있습니다.

참고: 시스템 전체 파일을 백업하려면 SSH를 통해 루트 권한으로 접속해야 합니다.

LAN 환경에서

원격 시스템이 인터넷에 접속 가능하지만 LAN을 통해 직접 연결되어 있다면, 호스트 이름을 Ping하여 IP 주소를 확인할 수 있습니다.

LAN 환경에서는 IP 주소만 필요할 수 있습니다. 호스트 이름을 사용할 수 없는 경우에만 다음 방법을 사용하십시오. 예를 들어:

ping ubuntu-server -c1

결과: PING ubuntu-server (192.168.1.126) 56(84) bytes of data.

이제 LAN에서 Ubuntu 서버의 IP 주소가 192.168.1.126임을 알 수 있습니다.

인터넷 환경에서

LAN 환경과 마찬가지로 Ping 명령어를 사용하여 IP 주소를 확인합니다. 예시:

ping google.com -c1

결과: PING google.com (172.217.11.142) 56(84) bytes of data.

정확한 IP 주소를 확인했으면 터미널을 열고, 백업 데이터를 저장할 로컬 컴퓨터에서 다음 명령어를 실행합니다.

rsync -avP --numeric-ids --exclude="/dev" --exclude="/proc" --exclude="/sys" [email protected]:/remote/file/location /local/backup/destination/

인터넷 또는 LAN을 통해 전체 하드 드라이브를 동기화하는 데는 여러 요인에 따라 상당한 시간이 소요될 수 있습니다. 두 컴퓨터를 켜두고 전송이 완료될 때까지 기다리십시오.

원격 하드 드라이브 백업 – SSH를 통한 DD 사용

인터넷을 통해 서버나 원격 Linux PC의 하드 드라이브 이미지를 빠르게 만들어야 할 때, DD 명령어가 간단한 해결책이 될 수 있습니다. 이 명령어는 명령줄 파이프를 사용하여 한 시스템에서 다른 시스템으로 데이터를 전송합니다. 로컬 컴퓨터에서 드라이브 이미지를 원격 호스트로 보내거나, 반대로 원격 호스트에서 로컬 컴퓨터로 가져올 수도 있습니다.

이 방법을 사용하려면 원격 PC가 포트 22(또는 설정된 사용자 지정 포트)에서 SSH 연결을 허용해야 합니다. 또한, 두 PC 모두에서 SSH 서비스가 실행 중인지 확인해야 합니다. SSH 연결 설정 방법을 모르는 경우 관련 문서를 참고하십시오.

참고: 이 예시에서 하드 드라이브는 /dev/sda이고, 파티션은 /dev/sda1입니다. 사용자의 시스템에서는 다를 수 있습니다. 원격 컴퓨터에서 `lsblk` 명령어를 사용하여 드라이브 문자 이름을 확인하십시오.

전체 하드 드라이브 백업 (원격에서 로컬로)

ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=image.gz

특정 파티션 백업 (원격에서 로컬로)

ssh [email protected] "dd if=/dev/sda1 | gzip -1 -" | dd of=image.gz

전체 하드 드라이브 백업 (로컬에서 원격으로)

dd if=/dev/sda | gzip -1 - | ssh [email protected] dd of=image.gz

특정 파티션 백업 (로컬에서 원격으로)

dd if=/dev/sda1 | gzip -1 - | ssh [email protected] dd of=image.gz

DD 도구가 이미지 백업 생성을 완료하면 해당 백업을 복원할 수 있습니다. Linux에서 복원하는 방법은 여러 가지가 있지만, 여기서는 Gnome 디스크 유틸리티를 사용하여 간편하게 복원하는 방법을 소개합니다. 새 하드 드라이브에 백업을 복원하려면 앱 왼쪽에서 장치를 선택하고, 오른쪽 상단의 메뉴를 클릭하여 “디스크 이미지 복원” 버튼을 누릅니다.

참고: 디스크 이미지 백업을 복원하는 데는 시간이 다소 걸릴 수 있습니다. 인내심을 가지고 기다려주십시오.

디스크 이미지를 찾을 것인지 묻는 창이 나타납니다. “모든 파일”을 선택한 후 “image.gz”를 선택하여 복원을 시작합니다.

Gnome 디스크 유틸리티를 사용하면 DD 백업 파티션 이미지도 같은 방식으로 복원할 수 있습니다. 왼쪽에서 하드 드라이브를 선택하고, 톱니바퀴 아이콘을 클릭한 다음 “파티션 이미지 복원” 버튼을 선택합니다.