소환/주주 작업의 시간 초과를 구성할 수 있나요?

소환/주주 작업의 시간 초과를 구성할 수 있나요?

conjure-up을 통해 localhost에 NovaLXD와 함께 OpenStack을 설치하려고 하는데 항상 시간이 초과됩니다... (집에서 개발/학습 목적으로)

내 하드웨어는 꽤 오래되었습니다. eBay에서 구입한 오래된 Dell Poweredge 2850(2004년경)입니다. HT가 활성화된 듀얼 단일 코어 Xeon(논리적 4개), 16GB RAM 및 6xU320 드라이브가 있습니다. PERC 컨트롤러가 손상되었지만 원시 SCSI 모드에서는 제대로 실행됩니다(소프트웨어 RAID(LVM + MD) 설정을 사용합니다). Conjure-up에서는 16GB 및 2코어를 권장하므로 최종 결과가 약간 느리더라도 충분합니다. SSD도 권장하지만 컨테이너를 여러 번 시작하려고 시도하는 동안 하드 드라이브 활동이 많이 보이지 않았습니다.

몇 가지를 미세 조정하려고 몇 번 시도한 후에는 여기에 머물게 되었고 "조금"만 더 시간을 투자하면 이 작업이 제대로 작동할 것이라고 생각합니다. 두 번 연속 시도했지만 같은 결과가 나왔고, 소환/쥬쥬로 인한 조급함을 제외하면 모든 것이 성공적으로 끝날 것처럼 보였다.

내 상상의 로그의 꼬리는 다음과 같습니다.

2018-12-10 19:09:48,717 [INFO] conjure-up/openstack-novalxd - common.py:47 - Waiting for deployment to settle.
2018-12-10 20:45:05,352 [ERROR] conjure-up/openstack-novalxd - juju.py:745 - DEBUG:root:cinder/0 workload status is maintenance since 2018-12-11 02:45:40Z
DEBUG:root:glance/0 workload status is maintenance since 2018-12-11 02:47:53Z
DEBUG:root:keystone/0 workload status is maintenance since 2018-12-11 02:56:09Z
DEBUG:root:neutron-api/0 workload status is maintenance since 2018-12-11 02:42:12Z
DEBUG:root:neutron-gateway/0 workload status is maintenance since 2018-12-11 02:42:46Z
DEBUG:root:nova-cloud-controller/0 workload status is maintenance since 2018-12-11 03:01:57Z
DEBUG:root:nova-compute/0 workload status is maintenance since 2018-12-11 02:59:49Z
DEBUG:root:openstack-dashboard/0 workload status is maintenance since 2018-12-11 03:07:32Z
DEBUG:root:rabbitmq-server/0 workload status is error since 2018-12-11 03:44:39Z
ERROR:root:rabbitmq-server/0 failed: workload status is error
2018-12-10 20:45:05,358 [DEBUG] conjure-up/openstack-novalxd - events.py:52 - Setting Error at conjureup/events.py:149
2018-12-10 20:45:05,360 [ERROR] conjure-up/openstack-novalxd - events.py:161 - Unhandled exception in <Task finished coro=<DeployController._wait_for_applications() done, defined at /snap/conjure-up/1034/lib/python3.6/site-packages/conjureup/controllers/juju/deploy/gui.py:81> exception=DeploymentFailure('Some applications failed to start successfully.',)>
Traceback (most recent call last):
  File "/snap/conjure-up/1034/lib/python3.6/site-packages/conjureup/controllers/juju/deploy/gui.py", line 82, in _wait_for_applications
await common.wait_for_applications(view.set_footer)
  File "/snap/conjure-up/1034/lib/python3.6/site-packages/conjureup/controllers/juju/deploy/common.py", line 50, in wait_for_applications
await juju.wait_for_deployment()
  File "/snap/conjure-up/1034/lib/python3.6/site-packages/conjureup/juju.py", line 747, in wait_for_deployment
"Some applications failed to start successfully.") 
conjureup.errors.DeploymentFailure: Some applications failed to start successfully.
2018-12-10 20:45:05,456 [DEBUG] conjure-up/openstack-novalxd - __init__.py:27 - Showing dialog for exception: Some applications failed to start successfully.

두 번째 줄은 (안전한 추측으로) 한 시간 후(서버의 부하가 상당히 높기 때문에 몇 초 추가) 시간 초과를 표시하며(저는 GMT-7입니다) 지금까지 두 번 복제되었습니다.

그 시점에서 Ceph 클러스터는 "거의" 작동 중이고 다른 것들은 차단되어 아직 완료되지 않은 로그에 표시된 서비스의 나머지 절반을 기다리고 있습니다(아직 패키지를 설치하는 중입니다). 한 시간 이상 기다려도 괜찮을 것 같은데요?

(rabbitmq가 실행 중이지만 서버 로드로 인해 다른 서비스가 오류와 준비/대기 사이를 오가지만 ​​곧 자체 수정됩니다. 즉, 이 오류가 발생해서는 안 됩니다)

명령줄이나 다른 수단을 통해 시간 초과를 구성할 수 있습니까?

그런데 서버는 Ubuntu 18.04 및 LXD 3.7을 실행하고 있습니다. LXD의 기본 스토리지 설정은 BTRFS이고 네트워크는 기본 브리지입니다(br0 - lxd의 경우 lxdbr0 아님).

답변1

예, ZFS 풀로 전환하면 됩니다. 배포에는 5.8시간이 걸렸고 배포 후에는 30분이 더 걸렸습니다.

내가 알아차린 한 가지 다른 점은 RAM 사용률이었습니다( top다른 창에서 보았습니다). BTRFS를 사용하면 변동이 심하지만 3GB를 초과하는 경우는 거의 없으며 버프/캐시가 나머지 램을 독점합니다. ZFS를 사용하면 3~4GB 이상에 빠르게 도달하고 계속해서 증가하여 배포가 끝나고 서비스가 실행되기 시작할 때까지 버프/캐시를 1GB의 여유 공간으로 남겨두었습니다.

따라서 파일 시스템 캐싱에 BTRFS를 사용하면 시스템 메모리에 너무 많은 부담을 주어 프로세스가 최대 효율성으로 실행되지 않는 것 같습니다.

관련 정보