GlusterFS容量管理

說明

Heketi允許管理一個(gè)或多個(gè)GlusterFS集群來添加和刪除存儲容量。對于gluster的集群擴(kuò)容以及device刪除增加、volume新建增加都通過heketi來統(tǒng)一管理.

heketi創(chuàng)建cluster集群,統(tǒng)一管理gluster集群的node,device,volume。

  • cluster: gluster node組成的集群
  • node: glusterd實(shí)例
  • device: 裸磁盤設(shè)備,供volume使用
  • volume: 需要被使用的卷

容量擴(kuò)容

使用Heketi可以通過多種方式添加額外的存儲容量??梢蕴砑有耫evice,增加集群大小或添加新的集群。

Adding new devices

添加更多設(shè)備時(shí),請記住將設(shè)備添加為一組。例如,如果創(chuàng)建的卷使用副本為2,則應(yīng)將device添加到兩個(gè)節(jié)點(diǎn)(每個(gè)節(jié)點(diǎn)一個(gè)device)。如果使用副本3,則將device添加到三個(gè)節(jié)點(diǎn)。

使用Heketi cli,可以將單個(gè)device添加到節(jié)點(diǎn),命令如下:

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

當(dāng)一次添加多個(gè)設(shè)備的一種更簡單的方法是將新設(shè)備添加到用于設(shè)置群集的拓?fù)湮募?topology.json)中的節(jié)點(diǎn)描述中。然后重新運(yùn)行該命令以加載新拓?fù)洹O旅媸俏覀兿蚬?jié)點(diǎn)添加新的/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"
                    ]
                }
            ]
        }
    ]
}

我們?yōu)槊颗_機(jī)器分別添加了/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

除了向現(xiàn)有節(jié)點(diǎn)添加新設(shè)備之外,還可以將新節(jié)點(diǎn)添加到集群中。與device一樣,可以通過使用API,使用cli或修改拓?fù)湮募⑿鹿?jié)點(diǎn)添加到現(xiàn)有集群。

命令如下:

$ 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

更簡單的方法是為拓?fù)湮募募砑有鹿?jié)點(diǎn)。添加新節(jié)點(diǎn)時(shí),必須在現(xiàn)有節(jié)點(diǎn)之后添加此節(jié)點(diǎn)信息,以便Heketi cli確定這個(gè)新節(jié)點(diǎn)應(yīng)該屬于哪個(gè)集群。

命令如下:

$ 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集群也可以增加存儲容量。與之前創(chuàng)建集群一樣,可以直接使用API或者使用heketi-cli手動添加群集,節(jié)點(diǎn)和device,或創(chuàng)建另一個(gè)拓?fù)湮募矶x將組成此集群的新節(jié)點(diǎn)和設(shè)備。

容量縮容

Heketi也支持降低存儲容量。這可以通過刪除device,節(jié)點(diǎn)和集群來實(shí)現(xiàn)??梢允褂肁PI或使用heketi-cli執(zhí)行這些更改。以下是如何從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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容