我正在尝试通过 conjure-up 在本地主机上安装带有 NovaLXD 的 OpenStack,但它总是超时...(在家用于开发/学习目的)
我的硬件很旧......这是我从 eBay 上买的一台旧的 Dell poweredge 2850(大约 2004 年)。它具有启用 HT 的双单核 Xeon(4 个逻辑)、16GB RAM 和 6xU320 驱动器。 PERC 控制器已损坏,但在原始 SCSI 模式下运行良好(我使用软件 raid (LVM + MD) 设置)。它“应该”足够了,即使最终结果有点缓慢,因为 conjure-up 建议使用 16GB 和 2 个核心。尽管他们也推荐 SSD,但在我多次尝试启动容器期间,我没有看到过多的硬盘驱动器活动。
在尝试了几次微调一些事情之后,我被困在这里,我认为只要多“一点”时间就能让这件事成功完成。连续两次尝试都得到了同样的结果,除了 conjure-up/juju 带来的不耐烦之外,一切看起来都会成功完成。
我的想象日志的尾部是:
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 小时,部署后又花了半个小时。
我注意到不同的一件事是 RAM 利用率(我top
在另一个窗口中观看)。使用 BTRFS 时,它会波动,但很少超过 3GB,而 buff/cache 则独占了我的 ram 的其余部分。有了 ZFS,它很快就达到了 3-4GB+,并继续攀升,而 buff/cache 留下了 1GB 的可用空间,直到部署结束、服务开始运行。
所以我认为使用 BTRFS 进行文件系统缓存给系统内存带来了太大的压力,导致进程无法以最高效率运行