manuallatest제품 매뉴얼 / 데이터 아카이브와 복원
데이터 아카이브와 복원
1. 데이터 아카이브 기능(ta_data_archive)
데이터 아카이브 기능은 일부 과거 데이터나 당분간 사용하지 않을 데이터를 저비용 스토리지로 이전하여 아카이브하는 기능입니다. 이를 통해 AE 클러스터의 디스크 리소스를 확보하고 사용 비용을 절감할 수 있습니다.
1.1 아카이브 명령
#시작
ta-tool data_archive start
#중지
ta-tool data_archive stop
#실패 시 재실행
ta-tool data_archive retry -jobid *******
1.2 아카이브 방식
1.2.1 S3 방식
1.2.1.1 환경 준비
- Amazon S3 서비스를 신청합니다
- 아카이브에 사용할 버킷(Bucket)을 생성합니다. 버킷의 리전은 AE 클러스터 서버와 같게 하는 것을 권장합니다
- 버킷에 접근할 수 있는 키를 생성합니다
1.2.1.2 명령 예시
[ta@ta1 ~]$ ta-tool data_archive start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 5487f6b**********f9c379aa9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > s3
------------------------------------------------------------
S3 AccesskeyID를 입력하세요> YOUR_ACCESS_KEY_ID
------------------------------------------------------------
S3 secretAccessKey를 입력하세요> YOUR_SECRET_ACCESS_KEY
------------------------------------------------------------
S3 리전 코드를 입력하세요> cn-****-1
------------------------------------------------------------
S3 버킷 이름을 입력하세요> ta************ive
------------------------------------------------------------
S3 파일 스토리지 클래스를 입력하세요(기본값: STANDARD)> S*****D
------------------------------------------------------------
프로젝트 아카이브 대상 디렉터리를 입력하세요> data*****_test
------------------------------------------------------------
1.2.1.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 S3를 선택합니다
- s3의 accesskeyid를 입력합니다
- secretAccessKey를 입력합니다(S3 IAM 서비스에서 관리)
- 버킷 리전 코드를 지정합니다
- 버킷 이름을 입력합니다
- 스토리지 클래스를 선택합니다(기본값은 표준 모드). 스토리지 클래스 중 GLACIER와 DEEP_ARCHIVE는 저비용 데이터 아카이브용으로 설계되었지만, 데이터를 복구할 때 해동 작업이 필요하여 번거롭습니다.
- 아카이브 대상 디렉터리(대상 버킷 아래에 이 디렉터리를 생성하고 아카이브 데이터를 이 디렉터리에 넣습니다)
1.2.2 HDFS 방식
1.2.2.1 환경 준비
- AE 클러스터와 네트워크로 연결된 HDFS 환경을 준비합니다
1.2.2.2 명령 예시
[ta@ta1 ~]$ ta-tool data_archive start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 5487************a9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > hdfs
------------------------------------------------------------
프로젝트 아카이브용 HFDS URL 주소를 입력하세요> hdfs-nm-url
------------------------------------------------------------
프로젝트 아카이브용 HFDS 사용자 이름을 입력하세요> hdfsUserName
------------------------------------------------------------
프로젝트 아카이브 대상 디렉터리를 입력하세요> hdfs******test
------------------------------------------------------------
1.2.2.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 hdfs를 선택합니다
- 쓰기 측의 hdfs 주소를 입력합니다. 기본 포트를 사용하는 경우 hostname만 입력하면 됩니다
- 쓰기 측 hdfs의 사용자 이름을 입력합니다
- 아카이브 대상 디렉터리를 입력합니다. 절대 경로를 사용하는 것을 권장합니다. 그렇지 않으면 /user/hdfs 사용자 디렉터리/대상 디렉터리/에 저장됩니다
1.2.3 rsync 방식
1.2.3.1 환경 준비
- rsync의 daemon 모드로 서버 측을 구축하고, 키 파일을 AE 클러스터에서 명령을 실행할 노드에 복사합니다
1.2.3.2 명령 예시
[ta@ta1 ~]$ ta-tool data_archive start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 548*****************9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > rsync
------------------------------------------------------------
대상 RSYNC 서버 IP 주소를 입력하세요> rsyncIp
------------------------------------------------------------
대상 RSYNC 서버 포트를 입력하세요> rsyncPort
------------------------------------------------------------
대상 RSYNC 서버 사용자 이름을 입력하세요> rsyncUser
------------------------------------------------------------
대상 RSYNC 서버 키 파일 위치를 입력하세요> passwordFilePath
------------------------------------------------------------
대상 RSYNC 서버 모듈 이름을 입력하세요> modelName
------------------------------------------------------------
sending incremental file list
/tmp/
/tmp/d41d8c*****ecf8427e.data
sent 99 bytes received 15 bytes 228.00 bytes/sec
total size is 11 speedup is 0.10 (DRY RUN)
프로젝트 아카이브 대상 디렉터리를 입력하세요> rsync******test_dir
1.2.3.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 rsync를 선택합니다
- rsync 서버 측 ip를 입력합니다
- rsync 서버 측 포트를 입력합니다
- rsync 사용자 이름을 입력합니다
- rsync 키 파일의 위치를 입력합니다. 키 파일은 특정 디렉터리에 두고, 파일 권한은 chmod 600으로 설정해야 합니다
- rsync의 모듈 이름을 입력합니다(이 단계에서는 앞서 입력한 정보로 rsync를 사용할 수 있는지 확인합니다)
- 아카이브 대상 디렉터리를 입력합니다
2. 데이터 복원 기능(ta_data_reload)
데이터 복원 기능은 이전에 아카이브한 데이터를 AE 클러스터로 가져와 다시 사용하는 기능으로, 주로 연도별 추세를 볼 때 사용합니다.
가져오기 전에 디스크 공간이 충분한지 확인하세요.
2.1 복원 명령
#시작
ta-tool data_reload start
#중지
ta-tool data_reload stop
#실패 시 재실행
ta-tool data_reload retry -jobid *******
2.2 복원 방식
2.2.1 S3 방식
2.2.1.1 환경 준비
- Amazon S3 서비스를 신청합니다
- 아카이브에 사용할 버킷(Bucket)을 생성합니다. 버킷의 리전은 AE 클러스터 서버와 같게 하는 것을 권장합니다
- 버킷에 접근할 수 있는 키를 생성합니다
2.2.1.2 명령 예시
[ta@ta1 log]$ ta-tool data_reload start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 5487f6************a9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > s3
------------------------------------------------------------
S3 AccesskeyID를 입력하세요> YOUR_ACCESS_KEY_ID
------------------------------------------------------------
S3 secretAccessKey를 입력하세요> YOUR_SECRET_ACCESS_KEY
------------------------------------------------------------
S3 리전 코드를 입력하세요> cn*****-1
------------------------------------------------------------
S3 버킷 이름을 입력하세요> ta*****ve
------------------------------------------------------------
프로젝트 아카이브 대상 디렉터리를 입력하세요> data*******t_1
------------------------------------------------------------
2.2.1.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 S3를 선택합니다
- s3의 accesskeyid를 입력합니다
- secretAccessKey를 입력합니다(S3 IAM 서비스에서 관리)
- 버킷 리전 코드를 지정합니다
- 버킷 이름을 입력합니다
- 스토리지 클래스를 선택합니다(기본값은 표준 모드). 스토리지 클래스가 GLACIER 또는 DEEP_ARCHIVE인 경우 미리 S3에서 데이터 해동 작업을 완료하세요. 그렇지 않으면 데이터를 가져올 수 없습니다
- 아카이브 대상 디렉터리(대상 버킷 아래에 이 디렉터리를 생성하고 아카이브 데이터를 이 디렉터리에 넣습니다)
주의: 파라미터를 입력할 때 아카이브 시의 버킷 이름 및 디렉터리 경로와 일치해야 합니다.
2.2.2 HDFS 방식
2.2.2.1 환경 준비
- AE 클러스터와 네트워크로 연결된 HDFS 환경을 준비합니다
2.2.2.2 명령 예시
[ta@ta1 log]$ ta-tool data_reload start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 5487*******************9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > hdfs
------------------------------------------------------------
프로젝트 아카이브용 HFDS URL 주소를 입력하세요> hdfs-nm-url
------------------------------------------------------------
프로젝트 아카이브 대상 디렉터리를 입력하세요> hdfs******test
------------------------------------------------------------
2.2.2.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 hdfs를 선택합니다
- 쓰기 측의 hdfs 주소를 입력합니다. 기본 포트를 사용하는 경우 hostname만 입력하면 됩니다
- 쓰기 측 hdfs의 사용자 이름을 입력합니다
- 아카이브 대상 디렉터리를 입력합니다
주의: 파라미터를 입력할 때 아카이브 시의 디렉터리 경로와 일치해야 합니다.
2.2.3 rsync 방식
2.2.3.1 환경 준비
- rsync의 daemon 모드로 서버 측을 구축하고, 키 파일을 AE 클러스터에서 명령을 실행할 노드에 복사합니다
2.2.3.2 명령 예시
[ta@ta1 log]$ ta-tool data_reload start
이번 작업의 JobId를 입력하세요. 입력하지 않으면 백엔드에서 임의로 생성합니다>
------------------------------------------------------------
아카이브할 프로젝트의 appid를 입력하세요> 54****************9bb
------------------------------------------------------------
프로젝트 아카이브 시작 시간을 입력하세요: YYYY-MM-DD > 2018-01-01
------------------------------------------------------------
프로젝트 아카이브 종료 시간을 입력하세요: YYYY-MM-DD > 2018-12-31
------------------------------------------------------------
프로젝트 아카이브 이벤트 타입을 입력하세요(비필수)>
------------------------------------------------------------
아카이브 스토리지 타입을 입력하세요: hdfs or rsync or s3 > rsync
------------------------------------------------------------
대상 RSYNC 서버 IP 주소를 입력하세요> rsyncIp
------------------------------------------------------------
대상 RSYNC 서버 포트를 입력하세요> rsyncPort
------------------------------------------------------------
대상 RSYNC 서버 사용자 이름을 입력하세요> rsyncUser
------------------------------------------------------------
대상 RSYNC 서버 키 파일 위치를 입력하세요> passwordFilePath
------------------------------------------------------------
대상 RSYNC 서버 모듈 이름을 입력하세요> modelName
------------------------------------------------------------
sending incremental file list
/tmp/
/tmp/d41d8cd98f00b204e9800998ecf8427e.data
sent 99 bytes received 15 bytes 20.73 bytes/sec
total size is 11 speedup is 0.10 (DRY RUN)
프로젝트 아카이브 대상 디렉터리를 입력하세요> rsync******test_dir
2.2.3.3 단계 설명
- jobid를 입력합니다. 직접 지정하거나 백엔드에서 생성할 수 있으며, 작업이 실패해 재실행할 때 jobid를 지정해야 합니다.
- 프로젝트 appid를 입력합니다
- 시작 날짜를 입력합니다(최근 1개월 범위 밖)
- 종료 날짜를 입력합니다(최근 1개월 범위 밖)
- 지정할 이벤트 타입을 입력합니다(선택 사항). 특정 이벤트 타입만 따로 아카이브할 때 사용합니다
- 아카이브 스토리지 타입으로 rsync를 선택합니다
- rsync 서버 측 ip를 입력합니다
- rsync 서버 측 포트를 입력합니다
- rsync 사용자 이름을 입력합니다
- rsync 키 파일의 위치를 입력합니다. 키 파일은 특정 디렉터리에 두고, 파일 권한은 chmod 600으로 설정해야 합니다
- rsync의 모듈 이름을 입력합니다(이 단계에서는 앞서 입력한 정보로 rsync를 사용할 수 있는지 확인합니다)
- 아카이브 대상 디렉터리를 입력합니다
주의: 파라미터를 입력할 때 아카이브 시의 디렉터리 경로와 일치해야 합니다.
이 문서가 도움이 되었나요?

