我正在尝试部署 HA ceph,如下所示Openstack高可用性但我想在相同的 3 台机器上部署 Ceph MON 和 Ceph OSD。因此,我的第一个命令是:
juju deploy --config local.yaml -n 3 local:ceph
第二个命令,我想知道我该怎么做,因为我想将 CEPH-OSD 部署到相同的机器上。像这样,
juju deploy --force-machine 0 --config ceph.yaml local:ceph-osd
juju deploy --force-machine 1 --config ceph.yaml local:ceph-osd
juju deploy --force-machine 2 --config ceph.yaml local:ceph-osd
或者可以这样,
juju deploy --force-machine 0,1,2 --config ceph.yaml -n 3 local:ceph-osd
我实际上没有尝试过这些命令并且也不太了解 cmd 语法,这就是我在这里询问的原因,
答案1
$ juju add-unit -h
usage: juju add-unit [options] <service name>
purpose: add a service unit
options:
-e, --environment (= "local")
juju environment to operate in
-n, --num-units (= 1)
number of service units to add
--to (= "")
the machine or container to deploy the unit in, bypasses constraints
Service units can be added to a specific machine using the --to argument.
Examples:
juju add-unit mysql --to 23 (Add unit to machine 23)
juju add-unit mysql --to 24/lxc/3 (Add unit to lxc container 3 on host machine 24)
juju add-unit mysql --to lxc:25 (Add unit to a new lxc container on host machine 25)
答案2
来自 Juju 开发人员:
我们讨论过这个问题,但我认为我们最终决定使用
--to
和-n
是一个错误。我们可能会--to ec2:us-east-1b -n5
在未来支持类似的东西。但目前,您必须部署,然后add-unit --to 2
等等。
答案3
还值得注意的是,ceph charm 是 ceph-osd charm 的超集;也就是说,ceph charm 提供 MON 和 OSD。如果您只需要三台机器,只需使用 ceph charm。