6.7. 블록 스토리지


OpenStack 블록 스토리지(cinder)는 소프트웨어(서비스 및 라이브러리)를 제공하여 영구적인 블록 수준 스토리지 장치를 셀프 서비스로 관리하는 서비스입니다. 이렇게 하면 Compute(nova) 인스턴스와 함께 사용할 블록 스토리지 리소스에 대한 온디맨드 액세스가 생성됩니다. 이를 통해 블록 스토리지 풀을 소프트웨어 구현 또는 기존 하드웨어 스토리지 제품 중 하나일 수 있는 다양한 백엔드 스토리지 장치로 가상화하여 소프트웨어 정의 스토리지를 생성합니다. 이 기능의 주요 기능은 블록 장치의 생성, 첨부 및 분리를 관리하는 것입니다. 소비자는 백엔드 스토리지 장비 유형 또는 해당 장비가 있는 위치에 대한 정보가 필요하지 않습니다.

컴퓨팅 인스턴스는 iSCSI, ATA over Ethernet 또는 Fibre-Channel과 같은 업계 표준 스토리지 프로토콜을 사용하여 블록 스토리지를 저장하고 검색합니다. 이러한 리소스는 OpenStack 네이티브 표준 HTTP RESTful API를 사용하여 관리 및 구성됩니다.

6.7.1. 볼륨 와이핑

블록 스토리지 장치를 초기화하는 방법에는 여러 가지가 있습니다. 기존 접근 방식은 lvm_type 을 thin로 설정한 다음 volume_ clear 매개 변수를 사용하는 것입니다. 또는 볼륨 암호화 기능이 us ed이면 볼륨 암호화 키가 삭제되면 볼륨 삭제가 필요하지 않습니다.

참고

이전에는 lvm_type=default 를 사용하여 초기화를 나타냅니다. 이 방법은 여전히 작동하지만 보안 삭제를 설정하는 데 lvm_type=default 는 권장되지 않습니다.

volume_ clear 매개 변수는 인수로 0 또는 shred 를 허용할 수 있습니다. 0 은 하나의 장치에 0을 전달합니다. 분할된 작업은 미리 결정된 비트 패턴의 세 가지 전달을 작성합니다.

6.7.2. config 파일의 사용자/그룹 소유권을 root/cinder로 설정

구성 파일에는 구성 요소의 원활한 작동에 필요한 중요한 매개 변수 및 정보가 포함되어 있습니다. 의도하거나 실수로 권한이 없는 사용자가 매개 변수 또는 파일 자체를 수정하거나 삭제하면 심각한 가용성 문제로 인해 다른 최종 사용자에게 서비스가 거부됩니다. 따라서 이러한 중요한 구성 파일의 사용자 소유권을 root로 설정하고 그룹 소유권을 cinder 로 설정해야 합니다.

cinder 그룹은 호스트에 없습니다. ls -l 을 사용하면 그룹 소유자의 GID가 표시됩니다.

sudo ls -l /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf
-rw-r-----. 1 root 42407 188012 Dec 11 09:34 /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf

sudo stat -L -c "%U %G" /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf
root UNKNOWN
Copy to Clipboard Toggle word wrap

다음 명령으로 cinder.conf 구성 파일의 사용자 및 그룹 소유권이 각각 root 및 cinder로 설정되어 있는지 확인합니다.

sudo docker exec -it cinder_api stat -L -c "%U %G" /etc/cinder/cinder.conf
root cinder
Copy to Clipboard Toggle word wrap

6.7.3. 구성 파일에 대한 엄격한 권한 설정

cinder.conf 구성 파일에 대한 권한이 640 또는 stricter로 설정되어 있는지 확인합니다.

$ stat -L -c "%a" /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf
Copy to Clipboard Toggle word wrap

6.7.4. 인증에 keystone 사용

/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf 에서 [DEFAULT] 섹션 아래의 auth_strategy 값이 keystone 으로 설정되어 있고 noauth 가 아닌 auth_strategy 값이 설정되어 있는지 확인합니다.

6.7.5. 인증을 위해 TLS 활성화

/var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf 에서 [keystone _authtoken] 섹션 아래의 auth_ uri 값이 https:// '로 시작하는 ID API 엔드포인트로 설정되어 있으며 [keystone_authtoken] 아래의 'insecure ]False 로 설정되어 있는지 확인합니다.

6.7.6. 블록 스토리지가 TLS를 사용하여 컴퓨팅과 통신하는지 확인

cinder.conf 에서 [DEFAULT] 섹션 아래의 glance_api_servers 값이 https:// 로 시작하는 값으로 설정되어 있는지 확인하고, glance_api_insecure 매개 변수의 값이 False 로 설정되어 있는지 확인합니다.

6.7.7. 요청 본문에 대한 최대 크기 설정

요청당 최대 본문 크기가 정의되지 않은 경우 공격자는 대규모의 임의의 OSAPI 요청을 작성할 수 있으므로 서비스가 충돌하고 결국 서비스 거부 공격이 발생합니다. t를 최대값으로 할당하면 악의적인 과다 크기 요청으로 인해 서비스의 지속적인 가용성이 차단됩니다.

cinder.conf[oslo _middleware] 섹션 아래의 max_ request_body_size114688 로 설정되어 있는지 확인합니다.

6.7.8. 볼륨 암호화 활성화

암호화되지 않은 볼륨 데이터를 사용하면 공격자가 다양한 VM의 데이터를 읽을 수 있으므로 볼륨 호스팅 플랫폼이 공격자의 가치를 높입니다. 또한 물리적 저장 매체 cou ld는 다른 시스템에서 도난, 다시 마운트 및 액세스합니다. 볼륨 데이터 및 볼륨 백업을 암호화하면 이러한 위험을 완화하고 볼륨 호스팅 플랫폼에 대한 심층적인 방어를 제공할 수 있습니다. 블록 스토리지(c 인더)는 디스크에 기록되기 전에 볼륨 데이터를 암호화할 수 있으므로 볼륨 암호화를 활성화하고 개인 키 스토리지에 Barbican을 사용하는 것이 좋습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat