동시성이 높거나 볼륨이 큰 Cinder 백업 작업에는 기본 VMware Integrated OpenStack 구성이 충분하지 않을 수 있습니다.

문제

Cinder 백업 작업의 동시성 또는 Cinder 볼륨의 크기를 늘리면 작업이 실패하고 로그에 GetResourceFailure 오류가 표시될 수 있습니다.

해결책

  1. 제어부 및 Cinder 백업 포드 수를 확장합니다.
    각 컨트롤러 노드에는 Cinder 백업 포드가 하나만 포함될 수 있습니다.
    1. 배포의 컨트롤러 노드 수를 늘립니다.
      배포에 컨트롤러 노드 추가의 내용을 참조하십시오.
    2. 배포에서 Cinder 백업 포드 수를 늘립니다.
      OpenStack 서비스 확장/축소의 내용을 참조하십시오.
  2. Integrated OpenStack Managerroot 사용자로 로그인합니다.
    ssh root@mgmt-server-ip
  3. Cinder에 대한 RPC 응답 시간 제한 및 executor 스레드 풀 크기를 업데이트합니다.
    1. Cinder 구성을 수정합니다.
      viocli update cinder
    2. DEFAULT 섹션에서 rpc_response_timeout 매개 변수를 추가하고 해당 값을 6000로 설정합니다.
    3. executor_thread_pool_size 매개 변수를 추가하고 해당 값을 640으로 설정합니다.
      이제 구성 파일이 다음과 유사합니다.
      conf:
        backends:
          [...]
        cinder:
          DEFAULT:
            [...]
            rpc_response_timeout: 6000
            executor_thread_pool_size: 640
  4. 데이터베이스 제한 시간 및 최대 연결 매개 변수를 업데이트합니다.
    1. MariaDB 구성을 수정합니다.
      viocli update mariadb
    2. conf 섹션에서 connect_timeout 매개 변수를 추가하고 해당 값을 5로 설정합니다.
    3. max_connections 매개 변수를 추가하고 해당 값을 5000으로 설정합니다.
    4. net_read_timeout 매개 변수를 추가하고 해당 값을 1200으로 설정합니다.
    5. net_write_timeout 매개 변수를 추가하고 해당 값을 1200으로 설정합니다.
    6. conf 섹션에서 ingress 섹션을 추가합니다.
    7. ingress 섹션에서 proxy-read-timeout 매개 변수를 추가하고 해당 값을 1200로 설정합니다.
    8. proxy-send-timeout 매개 변수를 추가하고 해당 값을 1200으로 설정합니다.
    9. proxy-stream-timeout 매개 변수를 추가하고 해당 값을 3600s으로 설정합니다.
      이제 구성 파일이 다음과 유사합니다.
      conf:
        connect_timeout: 5
        max_connections: 5000
        net_read_timeout: 1200
        net_write_timeout: 1200
        ingress:
          proxy-read-timeout: "1200"
          proxy-send-timeout: "1200"
          proxy-stream-timeout: 3600s
  5. Nova에 대한 풀 크기 및 할당 비율을 업데이트합니다.
    1. Nova 구성을 수정합니다.
      viocli update nova
    2. nova 섹션에서 DEFAULT 섹션을 추가합니다.
    3. DEFAULT 섹션에서 cpu_allocation_ratio 매개 변수를 추가하고 해당 값을 30로 설정합니다.
    4. executor_thread_pool_size 매개 변수를 추가하고 해당 값을 640으로 설정합니다.
    5. ram_allocation_ratio 매개 변수를 추가하고 해당 값을 6으로 설정합니다.
    6. nova 섹션에서 database 섹션을 추가합니다.
    7. database 섹션에서 max_pool_size 매개 변수를 추가하고 해당 값을 50로 설정합니다.
    이제 구성 파일이 다음과 유사합니다.
    conf:
      nova:
        DEFAULT:
          cpu_allocation_ratio: 30
          executor_thread_pool_size: 640
          ram_allocation_ratio: 6
        database:
          max_pool_size: 50
  6. Keystone에 대한 토큰 만료 및 WSGI(Web Server Gateway Interface) 매개 변수를 업데이트합니다.
    1. Keystone 구성을 수정합니다.
      viocli update keystone
    2. conf 섹션에서 keystone 섹션을 추가합니다.
    3. keystone 섹션에서 wsgi_processes 매개 변수를 추가하고 해당 값을 8로 설정합니다.
    4. wsgi_threads 매개 변수를 추가하고 해당 값을 15으로 설정합니다.
    5. keystone 섹션에서 token 섹션을 추가합니다.
    6. token 섹션에서 expiration 매개 변수를 추가하고 해당 값을 28800로 설정합니다.
      이제 구성 파일이 다음과 유사합니다.
      conf:
        keystone:
          wsgi_processes: 8
          wsgi_threads: 15
            token:
              expiration: 28800