GlusterFS容量管理

说明

Heketi允许管理一个或多个GlusterFS集群来添加和删除存储容量。对于gluster的集群扩容以及device删除增加、volume新建增加都通过heketi来统一管理.

heketi创建cluster集群,统一管理gluster集群的node,device,volume。

  • cluster: gluster node组成的集群
  • node: glusterd实例
  • device: 裸磁盘设备,供volume使用
  • volume: 需要被使用的卷

容量扩容

使用Heketi可以通过多种方式添加额外的存储容量。可以添加新device,增加集群大小或添加新的集群。

Adding new devices

添加更多设备时,请记住将设备添加为一组。例如,如果创建的卷使用副本为2,则应将device添加到两个节点(每个节点一个device)。如果使用副本3,则将device添加到三个节点。

使用Heketi cli,可以将单个device添加到节点,命令如下:

$ heketi-cli device add \
      --name=/dev/vdc1
      --node=3e098cb4407d7109806bb196d9e8f095

当一次添加多个设备的一种更简单的方法是将新设备添加到用于设置群集的拓扑文件(topology.json)中的节点描述中。然后重新运行该命令以加载新拓扑。下面是我们向节点添加新的/dev/vdc2磁盘的示例

$ cat /data/heketi/conf/topology.json
{
    "clusters": [
        {
            "nodes": [
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "k8s1"
                            ],
                            "storage": [
                                "10.111.209.188"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdc1",
                        "/dev/vdc2"
                    ]
                },
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "k8s2"
                            ],
                            "storage": [
                                "10.111.209.189"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdc1",
                        "/dev/vdc2"
                    ]
                },
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "k8s3"
                            ],
                            "storage": [
                                "10.111.209.190"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdc1",
                        "/dev/vdc2"
                    ]
                }
            ]
        }
    ]
}

我们为每台机器分别添加了/dev/vdc2磁盘.

$ heketi-cli topology load --json=/data/heketi/conf/topology.json
        Found node k8s1 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Adding device /dev/vdc2 ... OK
        Found node k8s2 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Adding device /dev/vdc2 ... OK
        Found node k8s3 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Adding device /dev/vdc2 ... OK

Increasing cluster size

除了向现有节点添加新设备之外,还可以将新节点添加到集群中。与device一样,可以通过使用API,使用cli或修改拓扑文件将新节点添加到现有集群。

命令如下:

$ heketi-cli node add \
      --zone=1 \
      --cluster=6fd6bf78b84315e12abcf8b6db6b1a40 \
      --management-host-name=k8s4 \
      --storage-host-name=10.111.209.191
 
Node information:
Id: e0017385b683c10e4166492e78832d09
State: online
Cluster Id: 6fd6bf78b84315e12abcf8b6db6b1a40
Zone: 1
Management Hostname k8s4
Storage Hostname 10.111.209.191
 
$ heketi-cli device add \
      --name=/dev/vdc1 \
      --node=e0017385b683c10e4166492e78832d09
Device added successfully
 
$ heketi-cli device add \
      --name=/dev/vdc2 \
      --node=e0017385b683c10e4166492e78832d09
Device added successfully

更简单的方法是为拓扑文件文件添加新节点。添加新节点时,必须在现有节点之后添加此节点信息,以便Heketi cli确定这个新节点应该属于哪个集群。

命令如下:

$ heketi-cli topology load --json=/data/heketi/conf/topology.json
        Found node k8s1 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Found device /dev/vdc2
        Found node k8s2 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Found device /dev/vdc2
        Found node k8s3 on cluster 6fd6bf78b84315e12abcf8b6db6b1a40
                Found device /dev/vdc1
                Found device /dev/vdc2
        Creating node 192.168.10.105 ... ID: be0e8f7fba6ec1e5aa0337141f356013
                Adding device /dev/vdc1 ... OK
                Adding device /dev/vdc2 ... OK

Adding a new cluster

通过添加新的GlusterFS集群也可以增加存储容量。与之前创建集群一样,可以直接使用API或者使用heketi-cli手动添加群集,节点和device,或创建另一个拓扑文件来定义将组成此集群的新节点和设备。

容量缩容

Heketi也支持降低存储容量。这可以通过删除device,节点和集群来实现。可以使用API或使用heketi-cli执行这些更改。以下是如何从Heketi删除没有device被使用的命令:

$ heketi-cli topology info
  
Cluster Id: 6fe4dcffb9e077007db17f737ed999fe
  
    Volumes:
  
    Nodes:
  
        Node Id: 61d019bb0f717e04ecddfefa5555bc41
        State: online
        Cluster Id: 6fe4dcffb9e077007db17f737ed999fe
        Zone: 1
        Management Hostname: gprfc053.o.internal
        Storage Hostname: 172.18.10.53
        Devices:
                Id:e4805400ffa45d6da503da19b26baad6   Name:/dev/sdc            State:online    Size (GiB):279     Used (GiB):0       Free (GiB):279
                        Bricks:
                Id:ecc3c65e4d22abf3980deba4ae90238c   Name:/dev/sdd            State:online    Size (GiB):279     Used (GiB):0       Free (GiB):279
                        Bricks:
  
        Node Id: e97d77d0191c26089376c78202ee2f20
        State: online
        Cluster Id: 6fe4dcffb9e077007db17f737ed999fe
        Zone: 2
        Management Hostname: gprfc054.o.internal
        Storage Hostname: 172.18.10.54
        Devices:
                Id:3dc3b3f0dfd749e8dc4ee98ed2cc4141   Name:/dev/sdd            State:online    Size (GiB):279     Used (GiB):0       Free (GiB):279
                        Bricks:
                Id:4122bdbbe28017944a44e42b06755b1c   Name:/dev/sdc            State:online    Size (GiB):279     Used (GiB):0       Free (GiB):279
                        Bricks:
                Id:b5333d93446565243f1a7413be45292a   Name:/dev/sdb            State:online    Size (GiB):279     Used (GiB):0       Free (GiB):279
                        Bricks:
$
$ d=`heketi-cli topology info | grep Size | awk '{print $1}' | cut -d: -f 2`
$ for i in $d ; do
> heketi-cli device delete $i
> done
Device e4805400ffa45d6da503da19b26baad6 deleted
Device ecc3c65e4d22abf3980deba4ae90238c deleted
Device 3dc3b3f0dfd749e8dc4ee98ed2cc4141 deleted
Device 4122bdbbe28017944a44e42b06755b1c deleted
Device b5333d93446565243f1a7413be45292a deleted
$ heketi-cli node delete $node1
Node 61d019bb0f717e04ecddfefa5555bc41 deleted
$ heketi-cli node delete $node2
Node e97d77d0191c26089376c78202ee2f20 deleted
$ heketi-cli cluster delete $cluster
Cluster 6fe4dcffb9e077007db17f737ed999fe deleted
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容