如何在集群中配置存储¶
集群的所有成员必须具有相同的存储池。在不同成员的存储池之间可能不同的唯一配置键是 source
、size
、zfs.pool_name
、lvm.thinpool_name
和 lvm.vg_name
。有关更多信息,请参见 成员配置。
Incus 在初始化期间为每个集群成员创建一个默认的 local
存储池。
创建额外的存储池是一个两步过程
在所有集群成员中定义和配置新的存储池。例如,对于一个具有三个成员的集群
incus storage create --target server1 data zfs source=/dev/vdb1 incus storage create --target server2 data zfs source=/dev/vdc1 incus storage create --target server3 data zfs source=/dev/vdb1 size=10GiB
注意
您只能传递成员特定的配置键
source
、size
、zfs.pool_name
、lvm.thinpool_name
和lvm.vg_name
。传递其他配置键会导致错误。这些命令定义了存储池,但不会创建它。如果您运行
incus storage list
,您会看到该池被标记为“pending”。运行以下命令在所有集群成员上实例化存储池
incus storage create data zfs
注意
您可以将不是成员特定的配置键添加到此命令中。
如果您在定义存储池时遗漏了一个集群成员,或者如果集群成员处于关闭状态,您将收到错误。
另请参见 在集群中创建存储池。
查看成员特定的池配置¶
运行 incus storage show <pool_name>
显示存储池的集群范围配置。
要查看成员特定的配置,请使用 --target
标志。例如
incus storage show data --target server2
创建存储卷¶
对于大多数存储驱动程序(除基于 Ceph 的存储驱动程序外),存储卷不会在整个集群中复制,而只存在于创建它们的成员上。运行 incus storage volume list <pool_name>
查看某个卷位于哪个成员上。
创建存储卷时,使用 --target
标志在特定集群成员上创建存储卷。如果没有该标志,则该卷将在您运行命令的集群成员上创建。例如,要在当前集群成员 server1
上创建卷
incus storage volume create local vol1
要在另一个集群成员上创建具有相同名称的卷
incus storage volume create local vol1 --target server2
只要卷位于不同的集群成员上,不同的卷就可以具有相同的名称。这方面的典型示例是镜像卷。
您可以在集群中管理存储卷,就像在非集群部署中一样,只是您必须向命令传递 --target
标志,如果多个集群成员具有给定名称的卷。例如,要显示有关存储卷的信息
incus storage volume show local vol1 --target server1
incus storage volume show local vol1 --target server2