좋은 아침입니다. 이쪽은 인프라의 미야시타입니다.
최근에는 클라우드 환경에서 이미지를 만들고 있는데, 때로는 온프레미스 환경에서도 작업합니다
저도 완전한 백업을 시도해보겠습니다.
목차
1. 소개
정기적인 OS 백업 프로젝트는 아니었지만, 업데이트 전에 백업을 확보해야 했기에 여러 백업 도구를 고려하고 있었습니다. 상업용 검증을 몇 차례 진행했지만, 이번에는 "Mondo Rescue"라는 오픈 소스 백업 도구를 사용하고 싶습니다.
오픈 소스를 사용하는 가장 큰 이유는 비용과 납품 시간입니다. 계획된 프로젝트라면 가장 먼저 고려해야 할 것은 상업용 백업 도구입니다.
"Mondo Rescue"를 선택한 가장 큰 매력은 NFS 마운트 목적지에 파일을 저장할 수 있고 거기서 복원할 수 있다는 점입니다. 미디어에서 복원하기가 쉽게(사실 쉽게) 보였다는 점도 좋았습니다.
2. 환경
위치: 물리 서버 (후지쯔 제조) 운영체제: 레드햇 엔터프라이즈 리눅스 서버 6.4 릴리스
3. 몬도레스큐 설치
먼저 mondorescue 저장소를 추가하세요.
[쉘] vi /etc/yum.repos.d/mondorescue.repo [mondorescue] name=rhel 6 x86_64 - mondorescue 바닐라 패키지 baseurl=ftp://ftp.mondorescue.org//rhel/6/x86\_64 #baseurl=ftp://213.30.161.23//rhel/6/x86\_64 enabled=0 gpgcheck=1 gpgkey=ftp://ftp.mondorescue.org//rhel/6/x86\_64/mondorescue.pubkey #gpgkey=ftp://213.30.161.23//rhel/6/x86\_64/mondorescue.pubkey [/shell]
준비가 되었으니, mondorescue 저장소를 사용해 mondo rescuue 자체를 설치하세요.
[shell] # yum install mondo --enablerepo=mondorescue =================================================================================================================================== 패키지 아치 버전 저장소 크기 =================================================================================================================================== 설치: mondo x86_64 3.0.4-1.rhel6 mondorescue 1.3 M 의존성 설치 : afio x86_64 2.5-1.rhel6 mondorescue 81 k 버퍼 x86_64 1.19-4.rhel6 mondorescue 24 k 민디 x86_64 2.1.7-1.rhel6 몬도레스큐브 331 k 민디-busybox x86_64 1.18.5-3.rhel6 몬도레스큐브 306 k syslinux x86_64 4.02-4.el6 몬도레스큐브 855 K
트랜잭션 요약 =================================================================================================================================== 6개의 패키지 설치 [/shell]
몬도 외에도 필요한 RPM도 설치됩니다.
백업만 하면 된다면 괜찮아요.
이번에는 유지보수 시간 동안 백업을 확보해야 한다는 무모한 요구사항 때문에,
처리 시간을 단축하기 위해 고속 압축 도구 "LZO"도 설치했습니다.
[shell] # rpm -ivh lzo-2.06-1.el6.rfx.x86_64.rpm # rpm -ivh lzop-1.02-0.9.rc1.el6.x86_64.rpm [/shell] 이제 당신의 환경이 준비되었습니다.
4. 전체 서버 백업
결국 출력되어 NFS 서버에 저장됩니다.
당분간은 로컬 디스크로 출력할 예정입니다. (속도 강조)
[shell] # /usr/sbin/mondoarchive -Oi -L -s 4700m -d /backup -E /backup -S /tmp -T /tmp -p 'hostname'_'date +%Y%m%d' [/shell]
각 옵션은 다음과 같습니다
-오... 백업 수행해
-나... ISO 이미지로 출력
-L... bzip2가 아니라 lzo로 압축하세요
-s... 최대 ISO 크기 (DVD용 4700m)
-d... ISO 출력 목적지
-E... 백업에서 제외된 경로
*여러 경로를 제외하고 싶다면, "-E '/backup|/backup2'" 같은 것을 작성하세요. -S... 임시 디렉터리 경로
-T... TMP 디렉터리 경로
-p... ISO 파일 이름
/backup 영역은 원래 아무것도 없는 영역이었기 때문에, 백업 대상이 아닌 것으로 데이터를 출력하기로 했습니다. 이 작업을 실행하면 다음 메시지가 출력되고 백업이 진행됩니다.
[shell] 초기화 중... 백업 실행 세부 사항은 /var/log/mondoarchive.log 참조. Linux 배포판의 상태 확인 완료. BusyBox의 소스는 http://www.busybox.net 백업할 파일 카탈로그 만들기---evalcall---1--- 작업 목록 만들기에서 확인할 수 있습니다 ---evalcall---2--- 작업 목록 만들기: [**..................] 6% 완료; 0:15 남음 ---evalcall---E--- ---evalcall---1--- / 카탈로그 작성 ---evalcall---2--- 작업 목록 만들기: [***.................] 15% 완료; 0:11 남음 ---evalcall---E---생략) ---evalcall---1--- mkisofs 실행 중 ISO #1 ---evalcall---2--- 작업: [******.... ] 90% 완료; 0:00 남음 ---evalcall---E--- mkisofs에 ISO (ISO #1) 요청 ... OK 완료. 완료. 백업 및/또는 검증이 완료되었습니다. 모든 것이 정상인 것 같습니다. /var/cache/mindi/mondorescue.iso, 부팅/유틸리티 CD를 원하시면 데이터 아카이브 OK. Mondoarchive도 정상 실행되었습니다. 백업 실행 세부 사항은 /var/log/mondoarchive.log 참조. 실행 실행 종료; result=0 출력 로그 [/shell]를 보려면 'less /var/log/mondoarchive.log'를 입력하세요.
조금 기다리면 지정하신 경로로 ISO 파일이 생성됩니다.
참고로, bzip2와 lzo의 처리 결과 비교에 관해서는,
시간은 약 4분의 1로 줄었습니다. 하지만 파일 크기는 약 1.5배 커졌습니다.
lzo가 4.7GB에 들어갈 수 있다면, 확실히 lzo를 선택하는 게 더 낫습니다.
다음에는 복원에 대해 이야기하겠습니다.