9장. 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
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.',
'Image %s is not on my ceph and [workarounds]/ never_download_image_if_on_rbd=True; refusing to fetch and upload.',
DCN 배포에 대해 기본적으로 true 로 설정된 nova . _download_image_if_on_rbd라는 nova.conf 구성 파일의 매개 변수로 인해 인스턴스가 시작되지 않습니다dcn-hci.yaml 파일에서 찾을 수 있는 heat 매개변수 NovaDisableImageDownloadToRbd 를 사용하여 이 값을 제어할 수 있습니다.
오버클라우드를 배포하기 전에 NovaDisableImageDownloadToRbd 값을 false로 설정하면 다음이 발생합니다.
-
계산 서비스(nova)는 로컬에서 사용할 수 없는 경우
중앙위치에서 사용할 수 있는 이미지를 자동으로 스트리밍합니다. - Glance 이미지의 COW 복사본은 사용하지 않습니다.
- 계산(nova) 스토리지에는 사용하는 인스턴스 수에 따라 동일한 이미지의 복사본이 여러 개 포함될 수 있습니다.
-
중앙위치뿐만 아니라 nova 스토리지 풀에 대한 WAN 링크도 포화할 수 있습니다.
Red Hat은 이 값을 true로 설정하고 인스턴스를 시작하기 전에 필요한 이미지를 로컬에서 사용할 수 있는지 확인하는 것이 좋습니다. 에지에서 이미지를 사용할 수 있도록 만드는 방법에 대한 자세한 내용은 A.1.3절. “새 사이트에 이미지 복사” 을 참조하십시오.
로컬 이미지의 경우 tripleo_nova_image _cache.yml ansible 플레이북을 사용하여 가까운 장래에 배포할 가능성이 있는 일반적으로 사용되는 이미지 또는 이미지를 미리 캐시하도록 tripleo_nova_image_cache.yml Ansible 플레이북을 사용하여 VM 생성 속도를 높일 수 있습니다.
9.1. tripleo_nova_image_cache.yml ansible 플레이북 실행 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- 쉘 환경에서 올바른 API에 대한 인증 자격 증명.
각 단계에서 제공된 명령을 먼저 올바른 인증 파일을 제공했는지 확인해야 합니다.
절차
스택의 ansible 인벤토리 파일을 생성합니다. 쉼표로 구분된 목록에 여러 스택을 지정하여 둘 이상의 사이트에서 이미지를 캐시할 수 있습니다.
source stackrc tripleo-ansible-inventory --plan central,dcn0,dcn1 \ --static-yaml-inventory inventory.yaml
$ source stackrc $ tripleo-ansible-inventory --plan central,dcn0,dcn1 \ --static-yaml-inventory inventory.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사전 캐시할 이미지 ID 목록을 생성합니다.
사용 가능한 이미지의 포괄적인 목록을 검색합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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_images: - id: 07bc2424-753b-4f65-9da5-5a99d8383fe6 - id: d5187afa-c821-4f22-aa4b-4e76382bef86Copy to Clipboard Copied! Toggle word wrap Toggle overflow
tripleo_nova_image_cache.ymlansible 플레이북을 실행합니다.source centralrc ansible-playbook -i inventory.yaml \ --extra-vars "@nova_cache_args.yml" \ /usr/share/ansible/tripleo-playbooks/tripleo_nova_image_cache.yml
$ source centralrc $ ansible-playbook -i inventory.yaml \ --extra-vars "@nova_cache_args.yml" \ /usr/share/ansible/tripleo-playbooks/tripleo_nova_image_cache.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow