GlusterFS之管理工具heketi
1. Heketi介绍
Heketi为管理GlusterFS存储卷的生命周期提供了一个RESTful管理接口
自动确定整个集群的brick位置,并确保brick及其副本放置在不同的故障域中
支持任意数量的Gluster存储集群,并支持云服务提供网络文件存储
在Heketi中注册的任何磁盘都必须以原始格式提供,而不能是创建过文件系统的磁盘分区
  
2. 集群环境
| 系统 | IP | 主机名称 | 磁盘 | 角色 | 
| CentOS7.4 | 172.16.1.187 | GFS-Client | /dev/sdb | GFS-Client | 
| CentOS7.4 | 172.16.1.96 | node4 | /dev/sdb | GFS-Server/Heketi | 
| CentOS7.4 | 172.16.1.97 | node3 | /dev/sdb | GFS-Server | 
| CentOS7.4 | 172.16.1.98 | node2 | /dev/sdb | GFS-Server | 
| CentOS7.4 | 172.16.1.99 | node1 | /dev/sdb | GFS-Server | 
3. 部署heketi
1. 安装heteki服务
yum install heketi heketi-client -y
2. 配置heketi用户能够基于SSH密钥认证的方式连接至GlusterFS集群各节点
[root@gluster-server01 ~]# ssh-keygen -f /etc/heketi/heketi_key -t rsa -N ''
[root@gluster-server01 ~]# chown heketi:heketi  /etc/heketi/heketi*
[root@gluster-server01 ~]# for host in node{2..5}; do ssh-copy-id -i /etc/heketi/heketi_key.pub root@${host} ;done
3. 修改heketi的主配置文件
{
  "port": "8080",
  "use_auth": true,
  "jwt": {
    "admin": {
      "key": "123.com"
    },
    "user": {
      "key": "123456"
    }
  },
  "glusterfs": {
    "executor": "ssh",
    "sshexec": {
      "keyfile": "/etc/heketi/heketi_key",
      "user": "root",
      "port": "22",
      "fstab": "/etc/fstab"
    },
    "db": "/var/lib/heketi/heketi.db",
    "loglevel" : "debug"
  }
}
4. 启动heketi服务
systemctl enable heketi systemctl start heketi
5. 向heketi发起测试请求
[root@node4 ~]# curl http://node4:8080/hello Hello from Heketi
4. 设置heketi系统拓扑
1. 编辑拓扑文件
vi topolgy.json
{
  "clusters": [
    {
      "nodes": [
         {
           "node": {
               "hostnames": {
                   "manage": [
                      "172.16.1.96"
                    ],
                   "storage": [
                   "172.16.1.96"
                    ]
               },
          "zone": 1
         },
         "devices": [
            "/dev/mapper/centos-gluster_data"
              ]
           },
         {  "node": {
               "hostnames": {
                   "manage": [
                      "172.16.1.97"
                    ],
                   "storage": [
                   "172.16.1.97"
                    ]
               },
          "zone": 1
         },
         "devices": [
            "/dev/mapper/centos-gluster_data"
              ]
           },
         { "node": {
               "hostnames": {
                   "manage": [
                      "172.16.1.98"
                    ],
                   "storage": [
                   "172.16.1.98"
                    ]
               },
          "zone": 1
         },
         "devices": [
            "/dev/sdb"
              ]
           },
         { "node": {
               "hostnames": {
                   "manage": [
                      "172.16.1.99"
                    ],
                   "storage": [
                   "172.16.1.99"
                    ]
               },
          "zone": 1
         },
         "devices": [
            "/dev/sdb"
              ]
           }     
        ]
     }
   ]
}
2. 加载拓扑文件
heketi-cli --user admin --secret 123.com topology load --json=topolgy.json
都出现OK,就是加载成功了。
3. 根据生成的随机Cluster ID号查看集群状态信息
heketi-cli cluster info 34be103e76c2254779d3c0dbd029acbd #注意是第一行的cluster ID
5. Heketi使用
1. 创建卷
heketi-cli volume create --size=6000 --replica=2 # 创建一个6000G的磁盘,副本数为2,时间大概2-3分钟。
2. 客户端挂载卷
mount -t glusterfs node4:vol_9f2dde345a9b7566f8134c3952251d7a /gluster_data/test #vol_9f2dde345a9b7566f8134c3952251d7a创建卷的时候的name
3. 删除卷
heketi-cli volume delete 9f2dde345a9b7566f8134c3952251d7a #创建信息中的Volume Id
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号