2.3. 기본 볼륨 사용 및 구성

다음 절차에서는 기본 최종 사용자 볼륨 관리를 수행하는 방법을 설명합니다. 이러한 절차에는 관리 권한이 필요하지 않습니다.

중요

블록 스토리지 서비스(cinder) 및 파이버 채널(FC) 백엔드를 사용하는 배포에 모든 컨트롤러 노드 및 컴퓨팅 노드에 HBA(호스트 버스 어댑터)를 설치해야 합니다.

2.3.1. 볼륨 만들기

중요

프로젝트에 대해 생성할 수 있는 기본 최대 볼륨 수는 10입니다.

절차

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. Create Volume (볼륨 만들기)을 클릭하고 다음 필드를 편집합니다.

    필드설명

    볼륨 이름

    볼륨 이름입니다.

    설명

    선택 사항이며 볼륨에 대한 간단한 설명입니다.

    유형

    선택적 볼륨 유형( 2.2.2절. “볼륨 유형을 사용하여 그룹 볼륨 설정”참조).

    블록 스토리지 백엔드가 여러 개인 경우 이를 사용하여 특정 백엔드를 선택할 수 있습니다. 2.3.2절. “볼륨 생성을 위한 백엔드 지정”을 참조하십시오.

    크기(GB)

    볼륨 크기(GB). 암호화되지 않은 이미지에서 암호화된 볼륨을 생성하려면 볼륨 크기가 이미지 크기보다 1GB 이상 크므로 암호화 데이터가 볼륨 데이터를 잘리지 않도록 해야 합니다.

    가용 영역

    가용 영역(논리적 서버 그룹)은 호스트 집계와 함께 OpenStack 내에서 리소스를 분리하는 일반적인 방법입니다. 가용성 영역은 설치 중에 정의됩니다. 가용성 영역 및 호스트 집계에 대한 자세한 내용은 호스트 집계 생성 및 관리를 참조하십시오.

  3. 볼륨 소스 지정 :

    소스설명

    소스, 빈 볼륨 없음

    볼륨이 비어 있으며 파일 시스템 또는 파티션 테이블이 포함되지 않습니다.

    스냅샷

    기존 스냅샷을 볼륨 소스로 사용합니다. 이 옵션을 선택하면 새로운 Use snapshot as a source list(소스로 사용 스냅샷 사용) 목록이 열립니다. 목록에서 스냅샷을 선택할 수 있습니다. 암호화된 볼륨의 스냅샷에서 새 볼륨을 생성하려면 새 볼륨이 이전 볼륨보다 1GB 이상인지 확인해야 합니다. 볼륨 스냅샷에 대한 자세한 내용은 2.3.10절. “볼륨 스냅샷 생성, 사용 또는 삭제” 을 참조하십시오.

    Image

    기존 이미지를 볼륨 소스로 사용합니다. 이 옵션을 선택하면 새로운 Use snapshot as a source list 가 열립니다. 목록에서 이미지를 선택할 수 있습니다.

    볼륨

    기존 볼륨을 볼륨 소스로 사용합니다. 이 옵션을 선택하면 새 Use snapshot as a source list 가 열립니다. 목록에서 볼륨을 선택할 수 있습니다.

  4. Create Volume (볼륨 만들기)을 클릭합니다. 볼륨을 만들고 나면 이름이 Volumes(볼륨) 테이블에 표시됩니다.

나중에 볼륨 유형을 변경할 수도 있습니다. 자세한 내용은 2.3.16절. “볼륨 다시 입력”의 내용을 참조하십시오.

2.3.2. 볼륨 생성을 위한 백엔드 지정

여러 블록 스토리지(cinder) 백엔드를 구성할 때마다 각 백엔드에 대한 볼륨 유형도 생성해야 합니다. 그런 다음 유형을 사용하여 생성된 볼륨에 사용할 백엔드를 지정할 수 있습니다. 볼륨 유형에 대한 자세한 내용은 2.2.2절. “볼륨 유형을 사용하여 그룹 볼륨 설정” 을 참조하십시오.

볼륨을 생성할 때 백엔드를 지정하려면 유형 목록에서 해당 볼륨 유형을 선택합니다( 2.3.1절. “볼륨 만들기”참조).

볼륨을 생성하는 동안 백엔드를 지정하지 않으면 블록 스토리지 서비스에서 자동으로 하나를 선택합니다. 기본적으로 서비스는 가장 사용 가능한 여유 공간으로 백엔드를 선택합니다. 대신 사용 가능한 모든 백엔드 중에서 임의로 선택하도록 블록 스토리지 서비스를 구성할 수도 있습니다. 자세한 내용은 2.2.7절. “볼륨이 여러 백엔드에 할당되는 방법 설정”의 내용을 참조하십시오.

2.3.3. 볼륨 이름 또는 설명 편집

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. 볼륨의 Edit Volume (볼륨 편집) 단추를 선택합니다.
  3. 필요에 따라 볼륨 이름 또는 설명을 편집합니다.
  4. Edit Volume (볼륨 편집)을 클릭하여 변경 사항을 저장합니다.
참고

암호화된 볼륨을 만들려면 먼저 볼륨 암호화를 위해 특별히 구성된 볼륨 유형이 있어야 합니다. 또한 동일한 정적 키를 사용하도록 Compute 및 Block Storage 서비스를 둘 다 구성해야 합니다. 볼륨 암호화 요구 사항을 설정하는 방법에 대한 자세한 내용은 2.2.6절. “볼륨 암호화 구성” 을 참조하십시오.

2.3.4. 볼륨 크기 조정(확장)

참고

사용 중인 볼륨의 크기를 조정할 수 있지만 드라이버에 따라 달라집니다. RBD가 지원됩니다. 사용 중인 다중 연결 볼륨을 확장할 수 없습니다. 이 기능에 대한 자세한 내용은 Red Hat 지원팀에 문의하십시오.

  1. 볼륨을 나열하여 확장할 볼륨의 ID를 검색합니다.

    $ cinder list
  2. 볼륨의 크기를 조정하려면 다음 명령을 실행하여 올바른 API 마이크로버전을 지정한 다음 볼륨 ID와 새 크기(이전 크기보다 큰 값)를 매개 변수로 전달합니다.

    $ OS_VOLUME_API_VERSION=<API microversion>
    $ cinder extend <volume ID> <size>

    <API_microversion>, <volume_ID> 및 <size>를 적절한 값으로 바꿉니다. 예를 들면 다음과 같습니다.

    $ OS_VOLUME_API_VERSION=3.42
    $ cinder extend 573e024d-5235-49ce-8332-be1576d323f8 10

2.3.5. 볼륨 삭제

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. Volumes(볼륨) 테이블에서 삭제할 볼륨을 선택합니다.
  3. Delete Volumes(볼륨 삭제)를 클릭합니다.
참고

기존 스냅샷이 있는 경우에는 볼륨을 삭제할 수 없습니다. 스냅샷을 삭제하는 방법에 대한 자세한 내용은 2.3.10절. “볼륨 스냅샷 생성, 사용 또는 삭제” 을 참조하십시오.

2.3.6. 인스턴스에 볼륨 연결 및 분리

인스턴스는 영구 스토리지에 볼륨을 사용할 수 있습니다. 볼륨은 한 번에 하나의 인스턴스에만 연결할 수 있습니다. 자세한 내용은 인스턴스 생성 및 관리 가이드의 인스턴스에 볼륨 연결을 참조하십시오.

2.3.6.1. 인스턴스에 볼륨 연결

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. Edit Attachments (첨부 편집) 작업을 선택합니다. 볼륨이 인스턴스에 연결되지 않은 경우 Attach to Instance(인스턴스에 연결) 드롭다운 목록이 표시됩니다.
  3. Attach To Instance(인스턴스에 연결 ) 목록에서 볼륨을 연결할 인스턴스를 선택합니다.
  4. Attach Volume (볼륨 연결)을 클릭합니다.

2.3.6.2. 인스턴스에서 볼륨 분리

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. 볼륨의 Manage Attachments(첨부 파일 관리) 작업을 선택합니다. 볼륨이 인스턴스에 연결되어 있으면 Attachments (연결) 테이블에 인스턴스 이름이 표시됩니다.
  3. 이에서 Detach Volume (볼륨 분리)을 클릭하고 다음 대화 상자 화면을 클릭합니다.

2.3.7. 여러 인스턴스에 볼륨 연결

볼륨 다중 연결은 블록 스토리지 볼륨에 대한 읽기/쓰기 액세스를 동시에 여러 인스턴스에 제공합니다. Ceph RBD 드라이버가 지원됩니다.

주의

다중 연결 또는 클러스터 인식 파일 시스템을 사용하여 여러 인스턴스의 쓰기 작업을 관리해야 합니다. 이렇게 하지 않으면 데이터가 손상됩니다.

다중 연결 볼륨의 제한

  • Block Storage(cinder) 백엔드에서 다중 연결 볼륨을 지원해야 합니다. 지원되는 백엔드에 대한 자세한 내용은 Red Hat 지원팀에 문의하십시오.
  • Block Storage(cinder) 드라이버가 다중 연결 볼륨을 지원해야 합니다. Red Hat 지원팀에 문의하여 벤더 플러그인에 다중 연결이 지원되는지 확인하십시오. 벤더 플러그인의 인증에 대한 자세한 내용은 다음 위치를 참조하십시오.

  • 읽기 전용 다중 연결 볼륨은 지원되지 않습니다.
  • 다중 연결 볼륨의 실시간 마이그레이션은 사용할 수 없습니다.
  • 다중 연결 볼륨의 암호화는 지원되지 않습니다.
  • 다중 연결 볼륨은 Bare Metal Provisioning 서비스(ironic) virt 드라이버에서 지원되지 않습니다. 다중 연결 볼륨은 libvirt virt 드라이버에서만 지원됩니다.
  • 다중 연결 유형에서 다중 연결 유형으로 연결된 볼륨을 다시 입력할 수 없으며 다중 연결 유형에 다중 연결 유형을 다시 입력할 수 없습니다.
  • 연결된 볼륨 마이그레이션 중에 여러 읽기 쓰기 연결이 있는 다중 연결 볼륨은 소스 또는 대상 볼륨으로 사용할 수 없습니다.
  • 보류된 오프로드 인스턴스에 다중 연결 볼륨을 연결할 수 없습니다.

2.3.7.1. 다중 연결 볼륨 유형 생성

볼륨을 여러 인스턴스에 연결하려면 볼륨 추가 사양에서 multiattach 플래그를 <is> True 로 설정합니다. 다중 연결 볼륨 유형을 만들면 볼륨이 플래그를 상속하고 다중 연결 볼륨이 됩니다.

참고

기본적으로 새 볼륨 유형을 생성하는 것은 관리자 전용 작업입니다.

절차

  1. 다음 명령을 실행하여 다중 연결 볼륨 유형을 만듭니다.

    $ cinder type-create multiattach
    $ cinder type-key multiattach set multiattach="<is> True"
    참고

    이 절차에서는 다중 연결을 지원하는 모든 백엔드에 볼륨을 생성합니다. 따라서 다중 연결을 지원하는 백엔드가 두 개 있는 경우 스케줄러는 생성 시 사용 가능한 공간을 기반으로 사용할 백엔드를 결정합니다.

  2. 다음 명령을 실행하여 백엔드를 지정합니다.

    $ cinder type-key multiattach set volume_backend_name=<backend_name>

2.3.7.2. 볼륨 다시 입력

다중 연결을 수행할 수 있도록 볼륨을 다시 입력하거나 다중 연결 가능 볼륨을 다시 입력하여 여러 인스턴스에 연결할 수 없도록 할 수 있습니다. 그러나 사용 중이 아닌 경우에만 볼륨을 다시 입력할 수 있으며 상태가 사용 가능 입니다.

다중 연결 볼륨을 연결할 때 캐싱을 비활성화하는 경우와 같이 일부 하이퍼바이저는 특별한 고려 사항이 필요합니다. 현재 전체 시간을 연결하면서 연결된 볼륨을 안전하게 업데이트할 수 없습니다. 여러 인스턴스에 연결된 볼륨을 다시 입력하려고 하면 다시 입력하지 못합니다.

2.3.7.3. 다중 연결 볼륨 생성

다중 연결 볼륨 유형을 만든 후 다중 연결 볼륨을 만듭니다.

절차

  1. 다음 명령을 실행하여 다중 연결 볼륨을 만듭니다.

    $ cinder create <volume_size> --name <volume_name> --volume-type multiattach
  2. 다음 명령을 실행하여 볼륨이 다중 연결 가능인지 확인합니다. 볼륨이 다중 연결 가능하면 multiattach 필드는 True 와 같습니다.

    $ cinder show <vol_id> | grep multiattach
    
    | multiattach | True |

이제 볼륨을 여러 인스턴스에 연결할 수 있습니다. 볼륨을 인스턴스에 연결하는 방법에 대한 자세한 내용은 인스턴스에 볼륨 연결을 참조하십시오.

2.3.7.4. 지원되는 백엔드

블록 스토리지 백엔드에서 다중 연결을 지원해야 합니다. 지원되는 백엔드에 대한 자세한 내용은 Red Hat 지원팀에 문의하십시오.

2.3.8. 읽기 전용 볼륨

볼륨은 실수로 데이터를 덮어쓰거나 삭제하지 않도록 읽기 전용으로 표시할 수 있습니다. 이렇게 하려면 다음 명령을 사용하여 볼륨을 읽기 전용으로 설정합니다.

# cinder readonly-mode-update <VOLUME-ID> true

읽기 전용 볼륨을 다시 읽기-쓰기로 설정하려면 다음을 실행합니다.

# cinder readonly-mode-update <VOLUME-ID> false

2.3.9. 볼륨 소유자 변경

볼륨 소유자를 변경하려면 볼륨 전송을 수행해야 합니다. 볼륨 소유자가 볼륨 전송이 시작되고 새 소유자가 전송을 수락한 후 소유권 변경이 완료됩니다.

2.3.9.1. 명령줄에서 볼륨 전송

  1. 볼륨의 현재 소유자로 로그인합니다.
  2. 사용 가능한 볼륨을 나열합니다.

    # cinder list
  3. 볼륨 전송을 시작합니다.

    # cinder transfer-create VOLUME

    Where VOLUME 은 전송할 볼륨의 이름 또는 ID 입니다. 예를 들면 다음과 같습니다.

      +------------+--------------------------------------+
      |  Property  |                Value                 |
      +------------+--------------------------------------+
      |  auth_key  |           f03bf51ce7ead189           |
      | created_at |      2014-12-08T03:46:31.884066      |
      |     id     | 3f5dc551-c675-4205-a13a-d30f88527490 |
      |    name    |                 None                 |
      | volume_id  | bcf7d015-4843-464c-880d-7376851ca728 |
      +------------+--------------------------------------+

    cinder transfer-create 명령은 볼륨의 소유권을 지우고 전송을 위한 idauth_key 를 만듭니다. 이러한 값을 에 부여하고 에서 다른 사용자를 사용하여 전송을 수락하고 볼륨의 새 소유자가 될 수 있습니다.

  4. 이제 새 사용자가 볼륨의 소유권을 요청할 수 있습니다. 이를 위해 사용자는 먼저 명령줄에서 로그인하여 다음을 실행해야 합니다.

    # cinder transfer-accept TRANSFERID TRANSFERKEY

    여기서 TRANSFERIDTRANSFERKEYcinder transfer-create 명령에서 반환한 idauth_key 값입니다. 예를 들면 다음과 같습니다.

    # cinder transfer-accept 3f5dc551-c675-4205-a13a-d30f88527490 f03bf51ce7ead189
참고

다음을 사용하여 사용 가능한 모든 볼륨 전송을 볼 수 있습니다.

# cinder transfer-list

2.3.9.2. 대시보드를 사용하여 볼륨 전송

대시보드에서 볼륨 전송 만들기

  1. 대시보드에서 볼륨 소유자로 Projects > Volumes (볼륨)를 선택합니다.
  2. 전송할 볼륨의 Actions(작업) 열에서 Create Transfer(전송 만들기 )를 선택합니다.
  3. Create Transfer(전송 만들기) 대화 상자에서 전송 의 이름을 입력하고 Create Volume Transfer(볼륨 전송 만들기 )를 클릭합니다.

    볼륨 전송이 생성되고 Volume Transfer(볼륨 전송) 화면에서 수신자 프로젝트로 전송할 수 있는 전송 ID권한 키를 캡처할 수 있습니다.

    Download transfer credentials (전송 자격 증명 다운로드) 버튼을 클릭하여 전송 이름, 전송ID권한 키가 포함된 .txt 파일을 다운로드합니다.

    참고

    권한 키는 Volume Transfer (볼륨 전송) 화면에서만 사용할 수 있습니다. 권한 키가 없는 경우 전송을 취소하고 다른 전송을 만들어 새 권한 키를 생성해야 합니다.

  4. Volume Transfer(볼륨 전송) 화면을 닫고 볼륨 목록으로 돌아갑니다.

    recipient 프로젝트에서 전송을 수락할 때까지 볼륨 상태가 awaiting-transfer 로 변경됩니다.

대시보드에서 볼륨 전송 수락

  1. 대시보드에서 수신자 프로젝트 소유자로 Projects > Volumes(프로젝트 > 볼륨) 를 선택합니다.
  2. Accept Transfer(전송 수락)를 클릭합니다.
  3. Accept Volume Transfer (볼륨 전송 수락) 대화 상자에서 볼륨 소유자로부터 받은 전송 ID권한 키를 입력하고 Accept Volume Transfer(볼륨 전송 수락 )를 클릭합니다.

    이제 볼륨이 active 프로젝트의 볼륨 목록에 표시됩니다.

2.3.10. 볼륨 스냅샷 생성, 사용 또는 삭제

볼륨 스냅샷을 생성하여 특정 시점에서 볼륨 상태를 유지할 수 있습니다. 그런 다음 스냅샷을 사용하여 새 볼륨을 복제할 수 있습니다.

참고

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

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

볼륨 백업에 대한 자세한 내용은 블록 스토리지 백업 가이드를 참조하십시오.

볼륨 스냅샷을 생성하려면 다음을 수행합니다.

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. 대상 볼륨의 Create Snapshot(스냅샷 만들기) 작업을 선택합니다.
  3. 스냅샷의 스냅샷 이름을 입력하고 Create a Volume Snapshot (볼륨 스냅샷 만들기)을 클릭합니다. Volume Snapshots(볼륨 스냅숏 ) 탭에는 모든 스냅샷이 표시됩니다.

스냅샷이 Volume Snapshots (볼륨 스냅샷) 테이블에 표시되면 스냅샷에서 새 볼륨을 복제할 수 있습니다. 스냅샷의 Create Volume(볼륨 만들기 ) 작업을 선택합니다. 볼륨 생성에 대한 자세한 내용은 2.3.1절. “볼륨 만들기” 을 참조하십시오.

중요

암호화된 볼륨의 스냅샷에서 새 볼륨을 생성하려면 새 볼륨이 이전 볼륨보다 1GB 이상인지 확인합니다.

스냅샷을 삭제하려면 Delete Volume Snapshot(볼륨 스냅샷 삭제) 작업을 선택합니다.

OpenStack 배포에서 Red Hat Ceph 백엔드를 사용하는 경우 스냅샷 보안 및 문제 해결에 대한 자세한 내용은 2.3.10.1절. “Red Hat Ceph Storage 백엔드에서 보호 및 보호되지 않은 스냅샷” 을 참조하십시오.

참고

스냅샷에서 생성된 블록 스토리지 서비스(cinder)의 RADOS 블록 장치(RBD) 볼륨의 경우 CinderRbdFlattenVolumeFromSnapshot heat 매개변수를 사용하여 스냅샷에 대한 종속성을 병합하고 제거할 수 있습니다. CinderRbdFlattenVolumeFromSnapshottrue로 설정하면 블록 스토리지 서비스가 RBD 볼륨을 병합하고 스냅샷에 대한 종속성을 제거하고 모든 향후 스냅샷을 병합합니다. 기본값은 false이며 cinder RBD 드라이버의 기본값이기도 합니다.

스냅샷을 병합하면 상위 항목과의 잠재적 블록 공유가 제거되고 백엔드에 스냅샷 크기가 더 커지고 스냅샷 생성 시간이 늘어납니다.

2.3.10.1. Red Hat Ceph Storage 백엔드에서 보호 및 보호되지 않은 스냅샷

Red Hat Ceph Storage를 OpenStack 배포의 백엔드로 사용하는 경우 백엔드에서 스냅샷을 protected 로 설정할 수 있습니다. OpenStack을 통해 보호된 스냅샷을 삭제하려는 시도는 (에서와 같이 대시보드 또는 cinder snapshot-delete 명령을 통해) 실패합니다.

이 경우 Red Hat Ceph 백엔드에서 스냅샷을 보호 해제 로 설정합니다. 나중에 OpenStack을 통해 스냅샷을 정상적으로 삭제할 수 있습니다.

자세한 내용은 Red Hat Ceph Storage Block Device Guide 의 다음 링크를 참조하십시오.

2.3.11. 스냅샷을 사용하여 볼륨의 마지막 상태로 복원합니다.

볼륨의 최신 스냅샷을 복구할 수 있습니다. 즉, 볼륨 데이터의 즉각적 되돌리기를 최신 스냅샷으로 되돌릴 수 있습니다.

경고
볼륨의 최신 스냅샷을 복구하는 기능은 지원되지만 드라이버에 따라 다릅니다. 이 기능의 올바른 구현은 드라이버가 지원됩니다. 이 기능에 대한 자세한 내용은 드라이버 벤더에 문의하십시오.

제한

  • 다중 연결 볼륨에 back-to-snapshot 기능을 사용하는 데 제한이 있을 수 있습니다. 이 기능을 사용하기 전에 이러한 제한 사항이 적용되는지 확인합니다.
  • 스냅샷을 생성한 후에는 크기를 조정(확장)하는 볼륨은 되돌릴 수 없습니다.
  • 연결된 볼륨 또는 사용 중인 볼륨에서 back-to-snapshot 기능을 사용할 수 없습니다.

사전 요구 사항

  • Block Storage(cinder) API 마이크로버전 3.40 이상.
  • 볼륨에 대해 하나 이상의 스냅샷을 생성해야 합니다.

절차

  1. stack 사용자로 언더클라우드에 로그인합니다.
  2. overcloudrc 파일을 소싱합니다.

    [stack@undercloud ~] $ source overcloudrc
  3. 볼륨을 분리합니다.

    $ nova volume-detach <instance_id> <vol_id>

    <instance_id> 및 <vol_id>를 인스턴스 ID 및 되돌리려는 볼륨으로 바꿉니다.

  4. 되돌릴 스냅샷의 ID 또는 이름을 찾습니다. 최신 스냅샷만 되돌릴 수 있습니다.

    $ cinder snapshot-list
  5. 스냅샷을 되돌립니다.

    $ cinder --os-volume-api-version=3.40 revert-to-snapshot  <snapshot_id or snapshot_name>

    <snapshot_id 또는 snapshot_name>을 스냅샷 ID 또는 이름으로 바꿉니다.

  6. 선택 사항: cinder snapshot-list 명령을 사용하여 되돌리려는 볼륨이 되돌리고 있는지 확인할 수 있습니다.

    $  cinder snapshot-list
  7. 볼륨을 다시 연결합니다.

    $  nova volume-attach <instance_id> <vol_id>

    <instance_id> 및 <vol_id>를 인스턴스 ID 및 복원한 볼륨으로 바꿉니다.

2.3.11.1. 되돌리기 성공 확인

절차

  • 절차가 성공했는지 확인하려면 cinder list 명령을 사용하여 되돌린 볼륨이 이제 사용 가능 상태인지 확인할 수 있습니다.

    $ cinder list
    참고
    Block Storage(cinder)를 부팅 가능한 루트 볼륨으로 사용한 경우 사용 가능한 상태가 아니므로 해당 볼륨에서 revert-to-snapshot 기능을 사용할 수 없습니다. 이 기능을 사용하려면 인스턴스가 종료된 경우 부팅 볼륨을 보존하려면 delete_on_termination=false (기본값) 속성으로 인스턴스를 부팅해야 합니다. 스냅샷으로 되돌리려면 먼저 볼륨을 사용할 수 있도록 초기 인스턴스를 삭제해야 합니다. 그런 다음 복원하고 볼륨에서 새 인스턴스를 만들 수 있습니다.

2.3.12. 이미지 서비스에 볼륨 업로드

기존 볼륨을 이미지로 직접 이미지로 업로드할 수 있습니다. 이를 위해 다음을 수행합니다.

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. 대상 볼륨의 Upload to Image(이미지에 업로드) 작업을 선택합니다.
  3. 볼륨의 이미지 이름을 입력하고 목록에서 디스크 형식을 선택합니다.
  4. 업로드를 클릭합니다.

업로드된 이미지를 보려면 Project > Compute > Images 를 선택합니다. 새 이미지가 Images (이미지) 테이블에 나타납니다. 이미지 사용 및 구성 방법에 대한 자세한 내용은 이미지 생성 및 관리 가이드의 이미지 관리를 참조하십시오.

2.3.13. 백엔드 간 볼륨 이동

한 스토리지 백엔드에서 다른 스토리지 백엔드로 볼륨을 이동하는 데는 여러 가지 이유가 있습니다. 예를 들면 다음과 같습니다.

  • 더 이상 지원되지 않는 스토리지 시스템을 폐기합니다.
  • 볼륨의 스토리지 클래스 또는 계층을 변경하려면 다음을 수행합니다.
  • 볼륨의 가용성 영역을 변경하려면 다음을 수행합니다.

블록 스토리지 서비스(cinder)를 사용하면 다음과 같은 방법으로 백엔드 간에 볼륨을 이동할 수 있습니다.

  • 다시 입력: 기본 정책을 사용하면 볼륨 소유자와 관리자가 볼륨을 다시 입력할 수 있습니다. retype 작업은 백엔드 간에 볼륨을 이동하는 가장 일반적인 방법입니다.
  • 마이그레이션: 기본 정책을 사용하면 관리자만 볼륨을 마이그레이션할 수 있습니다. 볼륨 마이그레이션은 제한적이며 배포 작동 방식에 대해 명확하게 이해해야 하기 때문에 특정 사용 사례에 맞게 예약됩니다. 자세한 내용은 볼륨 마이그레이션을 참조하십시오.

제한 사항

Red Hat은 AZ(가용 영역) 내에서 백엔드 간에 볼륨 이동을 지원하지만 다음과 같은 제한 사항이 있습니다.

  • 볼륨이 이동하려면 사용 가능 상태 또는 사용 중 상태가 있어야 합니다.
  • 사용 중인 볼륨에 대한 지원은 드라이버에 따라 다릅니다.
  • 볼륨에는 스냅샷이 없습니다.
  • 볼륨은 그룹 또는 일관성 그룹에 속할 수 없습니다.

2.3.14. 사용 가능한 볼륨 이동

모든 백엔드 간에 사용 가능한 볼륨을 이동할 수 있지만 성능은 사용하는 백엔드에 따라 달라집니다. 많은 백엔드 지원 마이그레이션 지원. 지원 마이그레이션에 대한 백엔드 지원에 대한 자세한 내용은 공급 업체에 문의하십시오.

지원되는 마이그레이션은 볼륨 재입력 및 볼륨 마이그레이션 모두에서 작동합니다. 마이그레이션 지원으로 백엔드는 소스 백엔드에서 대상 백엔드로 데이터 이동을 최적화하지만 두 백엔드 모두 동일한 벤더의 데이터 이동을 최적화합니다.

참고

Red Hat은 다중 풀 백엔드를 사용하거나 RBD와 같은 단일 풀 백엔드에 cinder 마이그레이션 작업을 사용하는 경우에만 백엔드 지원 마이그레이션을 지원합니다.

2.3.14.1. 일반 볼륨 마이그레이션

백엔드 간 마이그레이션이 지원되지 않으면 블록 스토리지 서비스에서 일반 볼륨 마이그레이션을 수행합니다.

블록 스토리지(cinder) 서비스에서 소스 볼륨으로 데이터를 이동하고 컨트롤러 노드에서 대상 볼륨으로 데이터를 이동하기 전에 일반 볼륨 마이그레이션에서는 양쪽 백엔드의 볼륨을 연결해야 합니다. 블록 스토리지 서비스는 소스 및 대상 백엔드의 스토리지 유형과 관계없이 원활하게 프로세스를 수행합니다.

중요

일반 볼륨 마이그레이션을 수행하기 전에 적절한 대역폭이 있는지 확인합니다. 일반 볼륨 마이그레이션 기간은 볼륨 크기와 직접 비례하므로 작업 속도가 지원되는 마이그레이션보다 느립니다.

2.3.15. 사용 중인 볼륨 이동

사용 중인 볼륨을 이동하기 위한 최적화되거나 지원되는 옵션이 없습니다. 사용 중인 볼륨을 이동할 때 계산 서비스(nova)는 하이퍼바이저를 사용하여 소스 백엔드의 볼륨에서 대상 백엔드의 볼륨으로 데이터를 전송해야 합니다. 이를 위해서는 볼륨이 사용 중인 인스턴스를 실행하는 하이퍼바이저와 조정해야 합니다.

블록 스토리지 서비스(cinder)와 계산 서비스는 이 작업을 수행하기 위해 함께 작동합니다. 계산 서비스는 계산 노드를 통해 한 볼륨에서 다른 볼륨으로 복사되므로 대부분의 작업을 관리합니다.

중요

사용 중인 볼륨을 이동하기 전에 적절한 대역폭이 있는지 확인합니다. 이 작업의 기간은 볼륨 크기와 직접 비례하므로 작업 속도가 지원되는 마이그레이션보다 느립니다.

제한 사항

  • 사용 중인 다중 연결 볼륨은 nova 인스턴스에 연결된 동안 이동할 수 없습니다.
  • 비 블록 장치는 지원되지 않습니다. 대상 백엔드의 스토리지 프로토콜을 iSCSI, 파이버 채널(FC) 또는 RBD로 제한합니다.

2.3.16. 볼륨 다시 입력

볼륨 재타입은 볼륨을 한 백엔드에서 다른 백엔드로 이동하는 표준 방법입니다. 작업을 수행하려면 관리자가 다른 백엔드에 적절한 볼륨 유형을 정의해야 합니다. 기본 정책을 사용하면 볼륨 소유자와 관리자가 볼륨을 다시 입력할 수 있습니다.

볼륨을 다시 입력할 때 기존 볼륨에 볼륨 유형 및 해당 설정을 적용합니다. 볼륨 유형에 대한 자세한 내용은 2.2.2절. “볼륨 유형을 사용하여 그룹 볼륨 설정” 을 참조하십시오.

새 볼륨 유형의 추가 사양을 기존 볼륨에 적용할 수 있도록 제공된 볼륨을 다시 입력할 수 있습니다. 다음과 같은 기존 볼륨에 사전 정의된 설정 또는 스토리지 속성을 적용하도록 볼륨을 다시 입력할 수 있습니다.

  • 볼륨을 다른 백엔드로 이동하려면 다음을 수행합니다.
  • 볼륨의 스토리지 클래스 또는 계층을 변경하려면 다음을 수행합니다.
  • 복제와 같은 기능을 활성화 또는 비활성화하려면 다음을 수행합니다.

볼륨을 다시 입력하는 것은 반드시 한 백엔드에서 다른 백엔드로 볼륨을 이동해야 한다는 의미는 아닙니다. 그러나 다시 입력을 완료하려면 볼륨을 이동해야 하는 상황이 있습니다.

  • 새 볼륨 유형에는 다른 volume_backend_name 이 정의되어 있습니다.
  • 현재 볼륨 유형의 volume_backend_name 은 정의되지 않으며 볼륨은 새 볼륨 유형의 volume_backend_name 에서 지정한 것과 다른 백엔드에 저장됩니다.

볼륨을 한 백엔드에서 다른 백엔드로 이동하려면 광범위한 시간과 리소스가 필요할 수 있습니다. 따라서 재입력 시 데이터 이동이 필요한 경우 블록 스토리지 서비스에서 기본적으로 데이터를 이동하지 않습니다. 재입력 요청의 일부로 마이그레이션 정책을 지정하여 명시적으로 허용되지 않는 한 이 작업은 실패합니다. 자세한 내용은 2.3.16.2절. “명령줄에서 볼륨 다시 입력”의 내용을 참조하십시오.

제한 사항

  • 모든 볼륨을 다시 입력할 수 없습니다. 백엔드 간 볼륨 이동에 대한 자세한 내용은 2.3.13절. “백엔드 간 볼륨 이동” 을 참조하십시오.
  • 암호화되지 않은 볼륨 유형은 암호화되지 않도록 다시 입력할 수 없지만 암호화된 볼륨을 암호화되지 않도록 다시 입력할 수 있습니다.
  • 관리 권한이 없는 사용자는 소유한 볼륨만 다시 입력할 수 있습니다.

2.3.16.1. 대시보드 UI에서 볼륨 다시 입력

대시보드 UI를 사용하여 볼륨을 다시 입력합니다.

중요

암호화된 볼륨에는 암호화 데이터를 저장하기 위한 추가 공간이 필요하므로 동일한 크기의 암호화된 볼륨에 암호화되지 않은 볼륨을 다시 입력할 수 없습니다. 암호화되지 않은 볼륨 암호화에 대한 자세한 내용은 암호화되지 않은 볼륨 암호화를 참조하십시오.

사전 요구 사항

절차

  1. 대시보드에서 Project > Compute > Volumes 를 선택합니다.
  2. 마이그레이션할 볼륨의 Actions(작업) 열에서 Change Volume Type(볼륨 유형 변경 )을 선택합니다.
  3. Change Volume Type (볼륨 유형 변경) 대화 상자에서 대상 볼륨 유형을 선택하고 Type(유형) 목록에서 새 백엔드를 정의합니다.
  4. 볼륨을 다른 백엔드로 마이그레이션하는 경우 Migration Policy (마이그레이션 정책) 목록에서 On Demand (요청 시)를 선택합니다. 자세한 내용은 2.3.13절. “백엔드 간 볼륨 이동”의 내용을 참조하십시오.
  5. Change Volume Type(볼륨 유형 변경)을 클릭하여 마이그레이션을 시작합니다.

2.3.16.2. 명령줄에서 볼륨 다시 입력

대시보드 UI 절차와 유사하게 명령줄에서 볼륨을 다시 입력할 수 있습니다.

중요

암호화된 볼륨에는 암호화 데이터를 저장하기 위한 추가 공간이 필요하므로 동일한 크기의 암호화된 볼륨에 암호화되지 않은 볼륨을 다시 입력할 수 없습니다. 암호화되지 않은 볼륨 암호화에 대한 자세한 내용은 암호화되지 않은 볼륨 암호화를 참조하십시오.

사전 요구 사항

절차

  1. 다음 명령을 입력하여 볼륨을 다시 입력합니다.

    $ cinder retype <volume id> <new volume type name>
  2. retype 작업을 수행하려면 한 백엔드에서 다른 백엔드로 볼륨을 이동해야 하는 경우 블록 스토리지 서비스에 특정 플래그가 필요합니다.

    $ cinder retype --migration-policy on-demand <volume id> <new volume type name>
    참고

    재입력 작업이 진행되면 볼륨 상태가 다시 입력되도록 변경됩니다.

  3. 다음 명령을 입력하고 volume_type 필드를 검토하여 재입력 작업이 성공했는지 확인합니다. volume_type 필드에 새 볼륨 유형이 표시됩니다.

    $ cinder show <volume id>
    참고

    재입력 작업을 시작하면 볼륨 이름이 중복됩니다. 볼륨 이름으로 cinder show 명령을 입력하면 cinder 클라이언트에서 오류와 유사한 오류를 반환합니다. '<volume name>' 에 대해 여러 볼륨 일치 항목이 발견되었습니다. 이 오류를 방지하려면 볼륨 ID를 대신 사용합니다.

2.3.17. 오버클라우드 노드에서 LVM2 필터링 활성화

특정 블록 스토리지 서비스(cinder) 백엔드에서 LVM2(Logical Volume Management) 볼륨을 사용하는 경우 RHOSP(Red Hat OpenStack Platform) 게스트 내부에서 생성하는 볼륨이 cinder-volume 또는 nova- compute 컨테이너를 호스팅하는 오버클라우드 노드에 표시될 수 있습니다. 이 경우 호스트의 LVM2 툴은 OpenStack 게스트에서 생성하는 LVM2 볼륨을 스캔하여 컴퓨팅 또는 컨트롤러 노드에서 다음 중 하나 이상의 문제가 발생할 수 있습니다.

  • LVM이 게스트에서 볼륨 그룹을 볼 수 있음
  • LVM에서 중복된 볼륨 그룹 이름을 보고
  • LVM이 스토리지에 액세스하기 때문에 볼륨 분리에 실패합니다
  • LVM 문제로 인해 게스트가 부팅되지 않았습니다.
  • 게스트 시스템의 LVM은 실제로 존재하는 디스크 누락으로 인해 부분적인 상태입니다.
  • LVM이 있는 장치에서 Block Storage 서비스(cinder) 작업이 실패합니다.
  • 블록 스토리지 서비스(cinder) 스냅샷이 올바르게 제거되지 않음
  • 실시간 마이그레이션 중에 오류 발생: /etc/multipath.conf 가 존재하지 않습니다

이러한 잘못된 스캔을 방지하고 게스트 LVM2 볼륨을 호스트 노드에서 분리하려면 오버클라우드를 배포하거나 업데이트할 때 LVMFilterEnabled heat 매개변수를 사용하여 필터를 활성화하고 구성할 수 있습니다. 이 필터는 활성 LVM2 볼륨을 호스팅하는 물리 장치 목록에서 계산됩니다. LVMFilterAllowlist 및 LVMFilter Denylist 매개변수를 사용하여 블록 장치를 명시적으로 허용 및 거부할 수도 있습니다. 이 필터링을 전역적으로, 특정 노드 역할 또는 특정 장치에 적용할 수 있습니다.

참고

이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

사전 요구 사항

절차

  1. 언더클라우드 호스트에 stack 사용자로 로그인합니다.
  2. 언더클라우드 자격 증명 파일을 가져옵니다.

    $ source ~/stackrc
  3. 새 환경 파일을 만들거나 기존 환경 파일을 수정합니다. 이 예제에서는 새 파일 lvm2-filtering.yaml을 생성합니다.

    $ touch ~/lvm2-filtering.yaml
  4. 환경 파일에 다음 매개변수를 포함합니다.

    parameter_defaults:
      LVMFilterEnabled: true

    LVM2 필터의 구현을 추가로 사용자 지정할 수 있습니다. 예를 들어 컴퓨팅 노드에서만 필터링을 활성화하려면 다음 구성을 사용합니다.

    parameter_defaults:
      ComputeParameters:
        LVMFilterEnabled: true

    이러한 매개 변수는 정규 표현식도 지원합니다. 컴퓨팅 노드에서만 필터링을 활성화하고 /dev/sd 로 시작하는 모든 장치를 무시하려면 다음 구성을 사용합니다.

    parameter_defaults:
      ComputeParameters:
        LVMFilterEnabled: true
        LVMFilterDenylist:
          - /dev/sd.*
  5. openstack overcloud deploy 명령을 실행하고 LVM2 필터링 구성 및 오버클라우드 배포와 관련된 기타 환경 파일이 포함된 환경 파일을 포함합니다.

    $ openstack overcloud deploy --templates \
    <environment-files> \
    -e lvm2-filtering.yaml