存储管理简介#

OushuDB通过可插拔存储原生支持HDFS,对象存储和自研分布式表存储Magma。三大存储可以通过多虚拟存储集群的机制原生的接入OushuDB,实现IO资源的物理隔离。

多虚拟存储集群技术(VSC)支持多路径,支持IO的负载均衡。来自于同一个VSC的用户表可以根据预定义的分布权重,负载均衡的打散到不同路径。创建表和使用表的过程对用户来说是完全透明的。

Magma集群配置:

用户通过配置magma-topology.yaml文件,定制Magma虚拟集群,但必须配置名为vsc_catalog的子集群作为OushuDB的元数据存储集群。

如下是一个配置了由单个节点组成的vsc_catalog的子集群和3个节点组成的vsc_default子集群。

nodes:
  - id: "cn1"
    addr: "192.168.1.100"
    locality: "region1.zone1"
  - id: "dn[1-3]"
    addr: "192.168.1.[101-103]"
    locality: "region1.zone1"
vsc:
 - name: vsc_catalog
   nodes: cn1
   port: 6666
   num_ranges: 3
   num_replicas: 3
   data_dir: /data1/oushudb/magma_catalog
   log_dir:
   replica_locations: "region1.zone1:3"
   leader_preferences: "region1.zone1"
   conf_path:
 - name: vsc_default
   nodes: dn1,dn2,dn3
   port: 6676
   num_ranges: 18
   num_replicas: 3
   data_dir: /data1/oushudb/magma_data
   log_dir:
   replica_locations: "region1.zone1:3"
   leader_preferences: "region1.zone1"
   conf_path:

其中nodes下配置Magma集群的节点,并通过addr指定监听地址,locality指定机器所在的数据中心。vsc下配置Magma虚拟集群,通过 num_replicas 配置对应虚拟集群的副本数,通过 num_ranges 配置对应虚拟集群的数据分片数,通过replica_locations配置对应多个副本分别放置在哪些数据中心,通过leader_preferences配置对应虚拟集群的raft leader的位置。

配置FILESPACE使用Magma VSC:

create filespace myfs on magma ('vsc_default');

配置FILESPACE使用多个HDFS:

create filespace myfs on hdfs ('namenode1:port/dir1', 'namenode1:port/dir2');