2015년 7월 20일 월요일

리눅스에서 파일 백업을 위한 사소한 팁 몇가지

리눅스 서버에서 RAID와 NAS를 이용하여 대용량 작업공간 및 백업을 겸하고 있으나 언제 어떤 일이 생길지 모르는 것이 현실이라서 별도의 HDD를 구입하여 2차 백업을 하기로 결정하였다. 지난 주에 웨스턴디지털의 6 TB짜리 기업용 HDD를 몇 개 구입하였다. 랙 마운트 서버가 있으니 HDD를 꽂고 빼기가 훨씬 수월하다. 대신 안정성을 위해서 핫 스와핑을 하지는 않을 생각이다.

대용량 HDD가 등장하면서 리눅스에서 '섹터 정렬(정확한 번역인지는 잘 모르겠다)'과 관련하여 최적의 파티션을 하는 방법을 찾아보았다. 전체를 하나의 파티션으로 잡기로 하였다.

# parted -a optimal /dev/sda
(parted) mklabel gpt
(parted) mkpart primary 0% 100%
(parted) quit

GUI로 된 디스크 파티션 도구가 있지만 왠지 생소하다. 그리고 리눅스 서버와 떨어진 곳에서 작업을 하려면 command line interface가 더 친숙함은 당연하다.

이제 mkfs.ext4 명령을 실행해서 파일 시스템을 만들고 적절한 곳에 마운트를 하면 된다.

다음으로는 파일을 가져오는 방법에 대한 것이다. 백업할 파일이 새로 장착한 HDD가 붙어있는 동일한 시스템에 존재한다면(nfs로 연결된 것을 포함) cp나 rsync를 하면 된다. 백업이라는 의미에 충실하도록 파일 및 디렉토리의 권한이나 최종 수정일을 그대로 보존하려면 매뉴얼을 보면서 적절한 옵션을 찾아서 적용하면 되겠다.

원본 파일이 네트워크 상의 다른 컴퓨터에 있다면? scp나 sftp, rsync 등 쓸 수 있는 것이 많이 있다. 원격 컴퓨터에 접속하는 계정이 다르거나, 어느 한 쪽에서 관리자 권한을 필요로 하는 경우 약간의 공부가 필요하다. 이 포스팅에서는 그러한 사례까지 상세하게 다루지는 않겠다. 요즘은 사용법이 매우 간단하면서도 다재다능한 ftp client인 lftp를 즐겨 사용하고 있다.

6 TB 하드 디스크를 /backup에 마운트한 다음, 다른 컴퓨터에 있는 파일을 하위 디렉토리 포함하여 가져오려 한다. 백업용 컴퓨터에서는 관리자 권한을 유지하는 것으로 가정한다. 그렇지 않으면 backup 디렉토리 자체 혹은 그 하위에 일반 사용자가 사용 가능한 위치를 만들어야 하기 때문이다. lftp의 mirror처럼 기분 좋은 명령어가 또 있을까?

# lftp -p 3030 sftp://user@111.222.333.444
Password:
lftp user@111.222.333.444:~> cd /data/project
lftp user@111.222.333.444:/data/project> mirror .


댓글 없음: