创建和管理存储池条目

可在存储池中添加、修改或删除条目(存储池是 GBase 8s 可在必要时用于自动向现有存储空间添加空间的可用原始设备、熟文件或目录的集合)。

存储池中的每一个条目都包含有关以下对象的信息:GBase 8s 实例可在必要时用于自动扩展现有数据库空间、临时数据库空间、智能大对象空间、临时智能大对象空间或 Blob 空间的目录、熟文件或原始设备。

创建存储池条目

要创建存储池条目,请运行带 storagepool add 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool add", "path", "begin_offset", 
"total_size", "chunk size", "priority");
指定以下信息:
  • 需要更多存储空间时服务器可使用的文件、目录或设备的路径。
  • GBase 8s 可开始分配空间的设备的偏移量(以 KB 计)。
  • 此条目中 GBase 8s 可用的总空间。 服务器可从该空间量中分配多个块。
  • 可从设备、文件或目录分配的块的最小大小(以 KB 计)。 可创建的最小块为 1000 K。因此,可指定的最小块大小为 1000 K。
  • 优先级数字,从 1 到 3(1 = 高;2 = 中;3 = 低)。服务器会尝试先从高优先级的条目分配空间,然后再从较低优先级的条目分配空间。

存储池大小和偏移量的缺省单位为 KB。但也可以按照以下示例中显示的任意方式指定信息:

  • "100000"
  • "100000 K"
  • "100 MB"
  • "100 GB"
  • "100 TB"
修改存储池条目

要修改存储池条目,请运行带 storagepool modify 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool modify", "storage_pool_entry_id", 
"new_total_size", "new_chunk size", "new_priority");
删除存储池条目

要删除存储池条目,请运行带 storagepool delete 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool delete", "storage_pool_entry_id");

要删除所有存储池条目,请运行带 storagepool purge all 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool purge all");

要删除已满的所有存储池条目,请运行带 storagepool purge full 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool purge full");

要删除有错的存储池条目,请运行带 storagepool purge errors 自变量的 admin() 或 task() 函数,如下所示:

EXECUTE FUNCTION task("storagepool purge errors");

示例

以下命令添加开始偏移量为 0,总大小为 0,初始块大小为 20 兆字节且具有高优先级的目录,名称为 /region2/dbspaces。在该示例中,对于目录而言,只能接受偏移量为 0 和总大小为 0 这两个条目。

EXECUTE FUNCTION task("storagepool add", "/region2/dbspaces", "0", "0", 
"20000", "1");

以下命令将存储池中第 8 个条目的总大小、块大小和优先级更改为 10 千兆字节、10 兆字节和中优先级。

EXECUTE FUNCTION task("storagepool modify", "8", "10 GB", "10000", "2");

以下命令删除条目标识为 7 的存储池条目:

EXECUTE FUNCTION task("storagepool delete", "7");