2.4. 고급 볼륨 구성


다음 절차에서는 고급 볼륨 관리 절차를 수행하는 방법을 설명합니다.

2.4.1. 볼륨 백업 및 복원

볼륨 백업은 볼륨 콘텐츠의 영구 사본입니다. 볼륨 백업은 일반적으로 오브젝트 저장소로 생성되며 기본적으로 Object Storage 서비스를 통해 관리됩니다. 그러나 백업에 대해 다른 리포지토리를 설정할 수 있습니다. OpenStack은 백업의 대체 백엔드로 Red Hat Ceph 및 NFS를 지원합니다.

볼륨 백업을 생성할 때 백업의 모든 메타데이터는 블록 스토리지 서비스의 데이터베이스에 저장됩니다. cinder 유틸리티는 백업에서 볼륨을 복원할 때 이 메타데이터를 사용합니다. 따라서 치명적인 데이터베이스 손실에서 복구할 때 백업에서 볼륨을 복원하기 전에 Block Storage 서비스의 데이터베이스를 먼저 복원해야 합니다. 또한 블록 스토리지 서비스 데이터베이스가 그대로 모든 원본 볼륨 백업 메타데이터로 복원되고 있다고 가정합니다.

치명적인 데이터베이스 손실 후에도 유지되도록 볼륨 백업 서브 세트만 구성하려면 백업의 메타데이터를 내보낼 수도 있습니다. 그런 다음 나중에 블록 스토리지 데이터베이스로 메타데이터를 다시 가져오고 볼륨 백업을 정상적으로 복원할 수 있습니다.

참고

볼륨 백업은 스냅샷과 다릅니다. 백업은 볼륨에 포함된 데이터를 보존하는 반면 스냅샷은 특정 시점에서 볼륨 상태를 유지합니다. 또한 기존 스냅샷이 있는 경우 볼륨을 삭제할 수 없습니다. 볼륨 백업은 데이터 손실을 방지하는 데 사용되지만 스냅샷은 쉽게 복제하는 데 사용됩니다.

이러한 이유로 스냅샷 백엔드는 복제 중 대기 시간을 최소화하기 위해 일반적으로 볼륨 백엔드와 함께 배치됩니다. 반면 백업 리포지토리는 일반적으로 일반적인 엔터프라이즈 배포에서 다른 위치(예: 다른 노드, 물리적 스토리지 또는 지리적 위치)에 있습니다. 이는 볼륨 백엔드에 발생할 수 있는 손상으로부터 백업 리포지토리를 보호하기 위한 것입니다.

볼륨 스냅샷에 대한 자세한 내용은 2.3.8절. “볼륨 스냅샷 생성, 사용 또는 삭제” 을 참조하십시오.

2.4.1.1. 전체 볼륨 백업 생성

볼륨을 백업하려면 cinder backup-create 명령을 사용합니다. 기본적으로 이 명령은 볼륨의 전체 백업을 생성합니다. 볼륨에 기존 백업이 있는 경우 대신 증분 백업을 생성하도록 선택할 수 있습니다(자세한 내용은 2.4.1.2절. “증분 볼륨 백업 생성” 참조).

액세스할 수 있는 볼륨 백업을 생성할 수 있습니다. 즉, 관리자 권한이 있는 사용자는 소유자와 관계없이 모든 볼륨을 백업할 수 있습니다. 자세한 내용은 2.4.1.1.1절. “관리자로 볼륨 백업 생성”의 내용을 참조하십시오.

  1. 백업할 볼륨의 ID 또는 표시 이름을 확인합니다.

    # cinder list
    Copy to Clipboard Toggle word wrap
  2. 볼륨을 백업합니다.

    # cinder backup-create VOLUME
    Copy to Clipboard Toggle word wrap

    VOLUME 을 백업하려는 볼륨의 ID 또는 Display Name 으로 바꿉니다. 예를 들면 다음과 같습니다.

      +-----------+--------------------------------------+
      |  Property |                Value                 |
      +-----------+--------------------------------------+
      |     id    | e9d15fc7-eeae-4ca4-aa72-d52536dc551d |
      |    name   |                 None                 |
      | volume_id | 5f75430a-abff-4cc7-b74e-f808234fa6c5 |
      +-----------+--------------------------------------+
    Copy to Clipboard Toggle word wrap
    참고

    결과 백업의 volume_id 는 소스 볼륨의 ID 와 동일합니다.

  3. 볼륨 백업 생성이 완료되었는지 확인합니다.

    # cinder backup-list
    Copy to Clipboard Toggle word wrap

    백업 항목의 Status사용할 수 있으면 볼륨 백업 생성이 완료됩니다.

이 시점에서 볼륨 백업의 메타데이터를 내보내고 저장할 수도 있습니다. 이를 통해 Block Storage 데이터베이스에 심각한 손실이 발생하더라도 볼륨 백업을 복원할 수 있습니다. 이렇게 하려면 다음을 실행합니다.

# cinder --os-volume-api-version 2 backup-export BACKUPID
Copy to Clipboard Toggle word wrap

여기서 CryostatID 는 볼륨 백업의 ID 또는 이름입니다. 예를 들면 다음과 같습니다.

+----------------+------------------------------------------+
|    Property    |                Value                     |
+----------------+------------------------------------------+
| backup_service |     cinder.backup.drivers.swift          |
|   backup_url   | eyJzdGF0dXMiOiAiYXZhaWxhYmxlIiwgIm9iam...|
|                | ...4NS02ZmY4MzBhZWYwNWUiLCAic2l6ZSI6IDF9 |
+----------------+------------------------------------------+
Copy to Clipboard Toggle word wrap

볼륨 백업 메타데이터는 backup_servicebackup_url 값으로 구성됩니다.

2.4.1.1.1. 관리자로 볼륨 백업 생성

관리 권한(예: 기본 관리자 계정)이 있는 사용자는 OpenStack에서 관리하는 모든 볼륨을 백업할 수 있습니다. 관리자가 관리자가 아닌 사용자가 소유한 볼륨을 백업하면 기본적으로 볼륨 소유자에서 백업이 숨겨집니다.

관리자는 여전히 볼륨을 백업 하고 특정 테넌트에서 백업을 사용할 수 있도록 할 수 있습니다. 이렇게 하려면 다음을 실행합니다.

# cinder --os-auth-url KEYSTONEURL --os-tenant-name TENANTNAME --os-username USERNAME --os-password PASSWD backup-create VOLUME
Copy to Clipboard Toggle word wrap

다음과 같습니다.

  • TENANTNAME 은 백업을 사용할 수 있도록 테넌트의 이름입니다.
  • USERNAMEPASSWDTENANTNAME 내에 있는 사용자의 사용자 이름/암호 자격 증명입니다.
  • VOLUME 은 백업하려는 볼륨의 이름 또는 ID입니다.
  • KEYSTONEURL 은 ID 서비스의 URL 끝점입니다(일반적으로 http://IP:5000/v2, 여기서 IP 는 ID 서비스 호스트의 IP 주소입니다).

이 작업을 수행할 때 결과 백업의 크기는 관리자 테넌트 대신 TENANTNAME 의 할당량에 따라 계산됩니다.

2.4.1.2. 증분 볼륨 백업 생성

기본적으로 cinder backup-create 명령은 볼륨의 전체 백업을 만듭니다. 그러나 볼륨에 기존 백업이 있는 경우 증분 백업을 생성하도록 선택할 수 있습니다.

증분 백업은 마지막 백업 이후의 볼륨 변경(전체 또는 증분)을 캡처합니다. 시간이 지남에 따라 볼륨의 크기가 증가함에 따라 볼륨의 크기가 많이 증가함에 따라 볼륨의 전체 백업을 수행해도 리소스가 많이 소요될 수 있습니다. 이와 관련하여 증분 백업을 사용하면 리소스 사용량을 최소화하면서 볼륨에 대한 정기적인 변경 사항을 캡처할 수 있습니다.

증분 볼륨 백업을 만들려면 --incremental 옵션을 사용합니다. 에서와 같이 :

# cinder backup-create VOLUME --incremental
Copy to Clipboard Toggle word wrap

VOLUME 을 백업하려는 볼륨의 ID 또는 Display Name 으로 바꿉니다. 증분 백업은 NFS 및 오브젝트 스토리지 백업 리포지토리에서 완전하게 지원됩니다.

참고

이미 증분 백업이 있는 경우 전체 백업을 삭제할 수 없습니다. 또한 전체 백업에 증분 백업이 여러 개 있는 경우 최신 백업만 삭제할 수 있습니다.In addition, if a full backup has multiple incremental backups, you can only delete the latest one.

주의

Red Hat Ceph Storage를 Block Storage(cinder) 볼륨 및 백업 모두에 대한 백엔드로 사용하는 경우 증분 백업을 수행하면 경고 없이 전체 백업이 수행됩니다. 알려진 문제입니다 (BZ#1463061).

2.4.1.3. 블록 스토리지 데이터베이스 손실 후 볼륨 복원

일반적으로 블록 스토리지 데이터베이스를 손실하면 볼륨 백업을 복원할 수 없습니다. 이는 Block Storage 데이터베이스에 볼륨 백업 서비스(openstack-cinder-backup)에 필요한 메타데이터가 포함되어 있기 때문입니다. 이 메타데이터는 볼륨 백업을 생성한 후 내보낼 수 있는 backup_servicebackup_url 값으로 구성됩니다( 2.4.1.1절. “전체 볼륨 백업 생성”에 표시됨).

이 메타데이터를 내보내고 저장한 경우 새 블록 스토리지 데이터베이스로 가져올 수 있습니다( 볼륨 백업을 복원할 수 있음).

  1. 관리 권한이 있는 사용자로 다음을 실행합니다.

    # cinder --os-volume-api-version 2 backup-import backup_service backup_url
    Copy to Clipboard Toggle word wrap

    여기서 backup_servicebackup_url 은 내보낸 메타데이터에서 가져온 것입니다. 예를 들어 2.4.1.1절. “전체 볼륨 백업 생성” 의 내보낸 메타데이터를 사용합니다.

    # cinder --os-volume-api-version 2 backup-import cinder.backup.drivers.swift eyJzdGF0dXMi...c2l6ZSI6IDF9
    +----------+--------------------------------------+
    | Property |                Value                 |
    +----------+--------------------------------------+
    |    id    | 77951e2f-4aff-4365-8c64-f833802eaa43 |
    |   name   |                 None                 |
    +----------+--------------------------------------+
    Copy to Clipboard Toggle word wrap
  2. 메타데이터를 블록 스토리지 서비스 데이터베이스로 가져온 후 볼륨을 정상적으로 복원할 수 있습니다( 2.4.1.4절. “백업에서 볼륨 복원”참조).

2.4.1.4. 백업에서 볼륨 복원

  1. 사용하려는 볼륨 백업의 ID 를 찾습니다.

    # cinder backup-list
    Copy to Clipboard Toggle word wrap

    볼륨 ID 는 복원하려는 볼륨의 ID와 일치해야 합니다.

  2. 볼륨 백업을 복원합니다.

    # cinder backup-restore BACKUP_ID
    Copy to Clipboard Toggle word wrap

    여기서 Cryostat_ ID는 사용하려는 볼륨 백업의 ID입니다.

  3. 더 이상 백업이 필요하지 않은 경우 삭제합니다.

    # cinder backup-delete BACKUP_ID
    Copy to Clipboard Toggle word wrap

2.4.2. 볼륨 마이그레이션

블록 스토리지 서비스를 사용하면 호스트 또는 백엔드 간에 볼륨을 마이그레이션할 수 있습니다. 현재 사용 중인 볼륨(인스턴스에 연결)을 마이그레이션할 수 있지만 스냅샷이 있는 볼륨은 마이그레이션할 수 없습니다.

호스트 간에 볼륨을 마이그레이션하는 경우 두 호스트 모두 동일한 백엔드에 있어야 합니다. 이렇게 하려면 다음을 수행합니다.

  1. 대시보드에서 Admin > Volumes 를 선택합니다.
  2. 마이그레이션할 볼륨의 Actions 열에서 Migrate Volume 을 선택합니다.
  3. 볼륨 마이그레이션 대화 상자의 대상 호스트 드롭다운 목록에서 대상 호스트 를 선택합니다.

    참고

    호스트 마이그레이션에 대한 드라이버 최적화를 바이패스하려면 Force Host Copy 확인란을 선택합니다.

  4. 마이그레이션을 클릭하여 마이그레이션을 시작합니다.

2.4.2.1. 백엔드 간 마이그레이션

반면 백엔드 간에 볼륨을 마이그레이션하는 경우 볼륨 재연결이 필요합니다. 즉, 새 백엔드로 마이그레이션하려면 다음을 수행합니다.

  1. 새 백엔드를 별도의 대상 볼륨 유형에서 Extra Spec 로 지정해야 합니다.
  2. 대상 볼륨 유형에 정의된 기타 모든 추가 사양은 볼륨의 원래 볼륨 유형과 호환되어야 합니다.

자세한 내용은 ] 및 xref:section-specify-backend[ 를 참조하십시오.

백엔드를 Extra Spec로 정의할 때 volume_backend_nameKey 로 사용합니다. 해당 값은 블록 스토리지 구성 파일(/etc/cinder/cinder.conf)에 정의된 대로 백엔드의 이름이 됩니다. 이 파일에서 각 백엔드는 자체 섹션에 정의되어 있으며 해당 이름은 volume_backend_name 매개 변수에 설정됩니다.

대상 볼륨 유형에 백엔드가 정의되면 다시 타이핑 을 통해 볼륨을 해당 백엔드로 마이그레이션할 수 있습니다. 여기에는 대상 볼륨 유형을 볼륨에 다시 적용하여 새 백엔드 설정을 적용해야 합니다. 자세한 내용은 2.3.10절. “볼륨 유형 변경 (Volume Retyping)” 을 참조하십시오.

이렇게 하려면 다음을 수행합니다.

  1. 대시보드에서 Project > Compute > Volumes를 선택합니다.
  2. 마이그레이션할 볼륨의 Actions 열에서 Change Volume Type 을 선택합니다.
  3. 볼륨 유형 변경 대화 상자에서 유형 드롭다운 목록에서 새 백엔드를 정의하는 대상 볼륨 유형을 선택합니다.
  4. 마이그레이션 정책 드롭다운 목록에서 온 디맨드 를 선택합니다.
  5. 볼륨 유형 변경을 클릭하여 마이그레이션을 시작합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat