11장. nova에 Glance 이미지 사전 연결
로컬 임시 스토리지를 사용하도록 OpenStack Compute를 구성하면 Glance 이미지가 캐시되어 인스턴스 배포를 가속화합니다. 인스턴스에 필요한 이미지가 아직 캐시되지 않은 경우 인스턴스를 생성할 때 컴퓨팅 노드의 로컬 디스크로 다운로드됩니다.
Glance 이미지를 다운로드하는 프로세스는 이미지 크기 및 대역폭 및 대기 시간과 같은 네트워크 특성에 따라 가변적인 시간이 걸립니다.
인스턴스를 시작하려고 하면 로컬인 Ceph 클러스터의 에서 이미지를 사용할 수 없는 경우 다음 메시지와 함께 인스턴스를 시작할 수 없습니다.
Build of instance 3c04e982-c1d1-4364-b6bd-f876e399325b aborted: Image 20c5ff9d-5f54-4b74-830f-88e78b9999ed is unacceptable: No image locations are accessible
Compute 서비스 로그에 다음이 표시됩니다.
'Image %s is not on my ceph and [workarounds]/ never_download_image_if_on_rbd=True; refusing to fetch and upload.',
DCN 배포에 대해 기본적으로 true 로 설정된 never_download_image_if_on_rbd 라는 nova.conf 구성 파일의 매개 변수로 인해 인스턴스를 시작하지 못합니다. dcn-storage.yaml 파일에서 찾을 수 있는 heat 매개변수 NovaDisableImageDownloadToRbd 를 사용하여 이 값을 제어할 수 있습니다.
오버클라우드를 배포하기 전에 NovaDisableImageDownloadToRbd 의 값을 false 로 설정하면 다음이 수행됩니다.
-
Compute 서비스(nova)는 로컬에서 사용할 수 없는 경우
중앙위치에서 사용 가능한 이미지를 자동으로 스트리밍합니다. - Glance 이미지의 COW 복사본을 사용하지 않습니다.
- Compute(nova) 스토리지에는 이를 사용하는 인스턴스 수에 따라 동일한 이미지의 여러 사본이 포함될 수 있습니다.
-
WAN 링크와 nova 스토리지 풀
을모두 포화할 수 있습니다.
Red Hat은 이 값을 true로 설정하고 인스턴스를 시작하기 전에 필요한 이미지를 로컬에서 사용할 수 있도록 하는 것이 좋습니다. 에지에서 이미지를 사용할 수 있도록 하는 방법에 대한 자세한 내용은 A.1.3절. “이미지를 새 사이트에 복사” 을 참조하십시오.
로컬 이미지의 경우 tripleo_nova_image_cache.yml ansible 플레이북을 사용하여 향후 배포될 가능성이 있는 일반적으로 사용되는 이미지 또는 이미지를 사용하여 VM 생성 속도를 높일 수 있습니다.
11.1. tripleo_nova_image_cache.yml ansible 플레이북 실행 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- 쉘 환경에서 올바른 API에 대한 인증 자격 증명입니다.
각 단계에서 명령을 제공하기 전에 올바른 인증 파일을 제공했는지 확인해야 합니다.
프로세스
오버클라우드 스택에 대한 ansible 인벤토리 디렉터리를 생성합니다.
$ mkdir inventories $ find ~/overcloud-deploy/*/config-download \ -name tripleo-ansible-inventory.yaml |\ while read f; do cp $f inventories/$(basename $(dirname $f)).yaml; done사전 캐시하려는 이미지 ID 목록을 생성합니다.
사용 가능한 이미지의 포괄적인 목록을 검색합니다.
$ source centralrc $ openstack image list +--------------------------------------+---------+--------+ | ID | Name | Status | +--------------------------------------+---------+--------+ | 07bc2424-753b-4f65-9da5-5a99d8383fe6 | image_0 | active | | d5187afa-c821-4f22-aa4b-4e76382bef86 | image_1 | active | +--------------------------------------+---------+--------+nova_cache_args.yml이라는 ansible 플레이북 인수 파일을 생성하고 사전 캐시할 이미지의 ID를 추가합니다.--- tripleo_nova_image_cache_images: - id: 07bc2424-753b-4f65-9da5-5a99d8383fe6 - id: d5187afa-c821-4f22-aa4b-4e76382bef86
tripleo_nova_image_cache.ymlansible 플레이북을 실행합니다.$ source centralrc $ ansible-playbook -i inventories \ --extra-vars "@nova_cache_args.yml" \ /usr/share/ansible/tripleo-playbooks/tripleo_nova_image_cache.yml