Nova에서 블록 장치 매핑

Jmnote (토론 | 기여)님의 2024년 7월 5일 (금) 00:41 판 (→‎개요)

1 개요

Crystal Clear action info.png 작성 중인 문서입니다.
Block Device Mapping in Nova
Nova에서 블록 장치 매핑

https://docs.openstack.org/nova/latest/user/block-device-mapping.html


Nova는 클라우드 인스턴스에 노출될 수 있는 블록 디바이스 개념을 가지고 있습니다. 인스턴스가 가질 수 있는 블록 디바이스의 유형은 여러 가지가 있으며, 어떤 유형이 사용가능한지는 특정 배포와 테넌트 및 사용자에게 설정된 사용 제한에 따라 다릅니다. 블록 디바이스 매핑은 인스턴스가 가지고 있는 모든 블록 디바이스에 대한 데이터를 조직하고 보관하는 방법입니다.

블록 디바이스 매핑에 대해 이야기할 때, 보통 두 가지 중 하나를 의미합니다:

  • 1. 인스턴스 부팅 요청을 위한 블록 디바이스를 지정하는 API/CLI 구조와 구문
  • 2. 블록 디바이스 매핑 테이블에 최종적으로 저장되는, 기록 및 보관을 위해 Nova 내부에서 사용하는 데이터 구조. Nova 내부에는 같은 데이터를 나타내기 위해 여러 '약간' 다른 형식들이 있습니다. 이 형식들은 모두 코드에 문서화되어 있거나, 별도의 클래스 집합으로 제공됩니다. 이들이 존재한다는 것을 모르면 코드를 읽을 때 혼란을 겪을 수 있습니다. 따라서 데이터베이스 스키마를 반영하는 BlockDeviceMapping 객체 외에도, 다음과 같은 형식이 있습니다:
    • 2.1 API 형식 - 이는 API 클라이언트에서 받은 원시 키-값 쌍 세트로, 거의 즉시 객체로 변환됩니다. 그러나 일부 검증은 이 형식을 사용하여 수행됩니다. 우리는 이 형식을 'API BDMs'라고 부를 것입니다.
    • 2.2 virt 드라이버 형식 - 이는 nova.virt.block_device에 정의된 클래스들에 의해 정의된 형식입니다. 이 형식은 다양한 virt 드라이버 코드에서 사용되고 기대됩니다. 이 클래스들은 다른 형식을 노출하는 것 외에도(파이썬 dict 인터페이스를 모방), 특정 유형의 블록 디바이스에 공통된 기능을 번들로 제공하는 장소를 제공합니다(예: Cinder와 virt 드라이버 코드 모두와 상호작용해야 하는 볼륨 연결). 우리는 이 형식을 'Driver BDMs'라고 부를 것입니다.
자세한 내용은 드라이버 BDM 데이터 구조 참고 문서를 참조하십시오.

Note

참고로, 단일 서버에 연결할 수 있는 디스크 디바이스의 최대 수는 compute.max_disk_devices_to_attach 옵션으로 설정할 수 있습니다.

2 API BDM 데이터 형식과 이력

2.1 블록 장치 매핑 v1(레거시라고도 함)

2.2 Intermezzo - 장치 이름 문제

2.3 블록 장치 매핑 v2

2.4 유효한 소스/대상 조합

3 FAQ

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}