3장. 블록 스토리지 백업 서비스 사용
블록 스토리지 백업 서비스를 사용하여 전체 또는 증분 백업을 수행하고 볼륨에 백업을 복원할 수 있습니다.
3.1. 전체 백업 링크 복사링크가 클립보드에 복사되었습니다!
3.1.1. 전체 볼륨 백업 생성 링크 복사링크가 클립보드에 복사되었습니다!
볼륨을 백업하려면 cinder backup-create 명령을 사용합니다. 기본적으로 이 명령은 볼륨의 전체 백업을 생성합니다. 볼륨에 기존 백업이 있는 경우 대신 증분 백업을 생성하도록 선택할 수 있습니다. 자세한 내용은 3.2.2절. “증분 백업 수행”의 내용을 참조하십시오.
RHOSP(Red Hat OpenStack Platform) 버전 16 이전에는 cinder backup-create 명령에서 첫 번째 전체 Ceph 볼륨 백업을 Ceph Storage 백엔드에 생성한 후 증분 백업을 생성했습니다. RHOSP 버전 16 이상에서는 --incremental 옵션을 사용하여 증분 볼륨 백업을 생성해야 합니다. cinder backup-create 명령에 --incremental 옵션을 사용하지 않는 경우 기본 설정에서 전체 백업을 생성합니다. 자세한 내용은 3.2.2절. “증분 백업 수행”의 내용을 참조하십시오.
액세스할 수 있는 볼륨의 백업을 생성할 수 있습니다. 즉, 관리 권한이 있는 사용자는 소유자에 관계없이 볼륨을 백업할 수 있습니다. 자세한 내용은 3.1.2절. “관리자로 볼륨 백업 생성”의 내용을 참조하십시오.
절차
백업할 볼륨의 ID 또는 표시 이름을 확인합니다.
cinder list
# cinder listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨을 백업합니다.
cinder backup-create _VOLUME_
# cinder backup-create _VOLUME_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 백업할 볼륨의
이름으로 교체합니다. 예를 들면 다음과 같습니다.ID또는 표시Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과 백업의
volume_id는 소스 볼륨의 ID와 동일합니다.볼륨 백업 생성이 완료되었는지 확인합니다.
cinder backup-list
# cinder backup-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
백업 항목의
Status(상태)를 사용할 수 있으면 볼륨 백업 생성이 완료됩니다.
3.1.2. 관리자로 볼륨 백업 생성 링크 복사링크가 클립보드에 복사되었습니다!
관리 권한이 있는 사용자는 Red Hat OpenStack Platform에서 관리하는 모든 볼륨을 백업할 수 있습니다. 관리자가 관리자가 관리자가 소유한 볼륨을 백업하면 기본적으로 볼륨 소유자로부터 백업이 숨겨집니다.
절차
관리자는 다음 명령을 사용하여 볼륨을 백업하고 특정 테넌트에서 백업을 사용할 수 있습니다.
cinder --os-auth-url <KEYSTONEURL> --os-tenant-name <TENANTNAME> --os-username <USERNAME> --os-password <PASSWD> backup-create <VOLUME>
# cinder --os-auth-url <KEYSTONEURL> --os-tenant-name <TENANTNAME> --os-username <USERNAME> --os-password <PASSWD> backup-create <VOLUME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 환경 요구 사항에 따라 다음 변수를 교체합니다.
- <TENANTNAME>은 백업을 사용 가능하게 만들 테넌트의 이름입니다.
- <USERNAME> 및 <PASSWD>는 <TENANTNAME>에 있는 사용자의 사용자 이름 및 암호 자격 증명입니다.
- <VOLUME>는 백업할 볼륨의 이름 또는 ID입니다.
-
<KEYSTONEURL>은 ID 서비스의 URL 엔드포인트이며, 일반적으로 http://IP:5000/v2입니다. 여기서 IP 는 ID 서비스 호스트의 IP 주소입니다. 이 작업을 수행할 때 결과 백업의 크기는 테넌트 admin의
할당량이아닌 할당량에 대해 계산됩니다.
3.1.3. 볼륨 백업의 메타데이터 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
블록 스토리지 데이터베이스에 심각한 손실이 발생한 경우에도 볼륨 백업을 복원할 수 있도록 볼륨 백업의 메타데이터를 내보내고 저장할 수 있습니다.
절차
다음 명령을 실행합니다.
cinder backup-export _BACKUPID_
# cinder backup-export _BACKUPID_Copy to Clipboard Copied! Toggle word wrap Toggle overflow <BACKUPID>를 볼륨 백업의 ID 또는 이름으로 바꿉니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
볼륨 백업 메타데이터는 backup_service 및 backup _url 값으로 구성됩니다.
3.1.4. 사용 중인 볼륨 백업 링크 복사링크가 클립보드에 복사되었습니다!
블록 스토리지 백엔드 스냅샷이 지원되는 경우 --force 옵션을 사용하여 사용 중인 볼륨의 백업을 생성할 수 있습니다.
--force 옵션을 사용하려면 Block Storage 백엔드 스냅샷을 지원해야 합니다. 사용 중인 백엔드에 대한 설명서를 확인하여 스냅샷 지원을 확인할 수 있습니다.
--force 옵션을 사용하면 백업을 수행하기 전에 드라이브를 정지하지 않음을 인식합니다. 이 방법을 사용하면 충돌 일관성이 발생하지만 애플리케이션 일관성이 유지되지는 않습니다. 즉, 백업에 백업을 수행할 때 실행 중인 애플리케이션을 인식할 수 없습니다. 그러나 데이터는 손상되지 않습니다.
절차
사용 중인 볼륨의 백업을 생성하려면 다음을 실행합니다.
cinder backup-create _VOLUME_ --incremental --force
# cinder backup-create _VOLUME_ --incremental --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.5. 스냅샷 백업 링크 복사링크가 클립보드에 복사되었습니다!
스냅샷과 연결된 볼륨 ID를 사용하여 스냅샷에서 전체 백업을 생성할 수 있습니다.
절차
cinder snapshot list를 사용하여 백업할 스냅샷의 스냅샷ID를 찾습니다.cinder snapshot-list --volume-id _VOLUME_ID_
# cinder snapshot-list --volume-id _VOLUME_ID_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스냅샷 이름이 지정된 경우 다음 예제를 사용하여
ID를 찾을 수 있습니다.cinder snapshot-show _SNAPSHOT_NAME_
# cinder snapshot-show _SNAPSHOT_NAME_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스냅샷의 백업을 생성합니다.
cinder backup-create _VOLUME_ --snapshot-id=_SNAPSHOT_ID_
# cinder backup-create _VOLUME_ --snapshot-id=_SNAPSHOT_ID_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고--snapshot-id옵션을 사용하면 NFS 볼륨의 스냅샷 기반 백업이 실패합니다. 이것은 확인된 문제입니다.
3.1.6. 에지 사이트에 백업 및 복원 링크 복사링크가 클립보드에 복사되었습니다!
에지 사이트 및 가용성 영역의 DCN(분산 계산 노드) 아키텍처에서 Block Storage 서비스(cinder) 볼륨을 백업하고 복원할 수 있습니다. cinder-backup 서비스는 AZ(중앙 가용 영역)에서 실행되며 백업은 중앙 AZ에 저장됩니다. 블록 스토리지 서비스는 DCN 사이트에 백업을 저장하지 않습니다.
사전 요구 사항
-
중앙 사이트는
/usr/share/openstack환경 파일을 사용하여 배포됩니다. 자세한 내용은 블록 스토리지 백업 서비스 배포를 참조하십시오.-tripleo-heat-templates/environments에 있는 cinder-backup.yaml - Block Storage 서비스(cinder) CLI를 사용할 수 있습니다.
-
모든 사이트는 일반적인
openstackcephx 클라이언트 이름을 사용해야 합니다. 자세한 내용은 외부 액세스를 위한 Ceph 키 생성을 참조하십시오.
절차
첫 번째 DCN 사이트에 볼륨 백업을 생성합니다.
cinder --os-volume-api-version 3.51 backup-create --name <volume_backup> --availability-zone <az_central> <edge_volume>
$ cinder --os-volume-api-version 3.51 backup-create --name <volume_backup> --availability-zone <az_central> <edge_volume>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<volume_backup>을 볼륨 백업의 이름으로 바꿉니다. -
<az_central>을cinder-backup서비스를 호스팅하는 중앙 가용성 영역의 이름으로 바꿉니다. <edge_volume>을 백업할 볼륨 이름으로 교체합니다.참고Ceph 인증 키에 문제가 있는 경우 키 링이 호스트에서 컨테이너로 복사되도록
cinder-backup컨테이너를 다시 시작해야 할 수 있습니다.
-
두 번째 DCN 사이트에서 백업을 새 볼륨으로 복원합니다.
cinder --os-volume-api-version 3.51 create --availability-zone <az_2> --name <new_volume> --backup-id <volume_backup> <volume_size>
$ cinder --os-volume-api-version 3.51 create --availability-zone <az_2> --name <new_volume> --backup-id <volume_backup> <volume_size>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<az_2>를 백업을 복원하려는 가용성 영역의 이름으로 바꿉니다. -
<new_volume>을 새 볼륨의 이름으로 바꿉니다. -
<volume_backup>을 이전 단계에서 생성한 볼륨 백업의 이름으로 바꿉니다. -
<volume_size>를 원래 볼륨의 크기보다 같거나 큰 값으로 바꿉니다.
-