GlusterFs集群部署和Heketi配置

本文详细介绍了GlusterFS的多种存储模式,包括分布卷、复制模式、条带模式等,并逐步讲解了GlusterFS集群的安装配置、Heketi的部署与使用,以及如何通过Heketi创建和管理GlusterFS卷。同时,文章涵盖了集群的卸载和Gluster volume的调优基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 了解GlusterFS几种存储模式

分布卷(DHT)

默认模式。将文件以hash算法随机分布到一个文件服务器节点中进行存储。Volume创建命令如下:

gluster volume create test-volume server1:/exp1 server2:/exp2

复制模式(AFR)

将文件复制到replica x个文件节点中。Volume创建命令如下:

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2

条带模式(Striped)

类似raid0,将文件切割成多个数据块,分别存储到stripe x个文件节点中。可以通过如下命令创建Volume:

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2

分布式条带模式(组合型)

分布式卷(DHT)和条带模式(Striped)的组合,至少需要4台服务器才能创建。存储时将文件切割成多个数据库,然后每个数据块以hash算法随机分布到一个文件服务器上进行存储。Volume创建命令如下:

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

分布式复制模式(组合型)

分布式卷(DHT)和复制模式(AFR)的组合,至少需要4台服务器才能创建。将文件以hash算法随机分布到一个文件服务器节点,然后在通过复制算法复制replica x个节点进行保存。创建命令:

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

条带复制卷模式(组合型)

条带模式(Striped)和复制模式(AFT)的组合型,需要至少4台服务器才可以创建,将文件拆成多个数据块,分别复制存储到replica x个节点上。创建命令如下:

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

分布式条带复制模式(组合型)

三种模式的组合,至少需要8太服务器才能创建,至少2个服务器组,每个组包含2个条带模式节点和2个复制节点。创建命令:

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

2. 准备工作

搭建集群时采用裸盘进行搭建,因此在搭建前需要保持每个节点至少有2TB的裸跑供集群使用。

  1. 查看磁盘

    通过lsblk命令可以查看到当前服务器可用的磁盘空间和挂载情况,如:

    [root@HP-Map-Dev-1 ~]# lsblk
    NAME                                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda                                           8:0    0  100G  0 disk 
    ├─sda1                                        8:1    0    1G  0 part /boot
    └─sda2                                        8:2    0   99G  0 part 
      ├─centos-root                             253:0    0   50G  0 lvm  /
      └─centos-home                             253:1    0 41.1G  0 lvm  /home
    sdb                                           8:16   0    4T  0 disk 
    ├─sdb1                                        8:17   0  1.8T  0 part 
    │ └─ceph--b5f52a01--2cd7--444a--b0b4--69ab5e16f162-osd--data--1a378cfc--b6ca--4683--9548--f8df231a971f
                                                253:3    0  1.8T  0 lvm  
    └─sdb2                                        8:18   0  1.8T  0 part 
      └─ceph--b0c5a99a--e838--41bd--8870--ffe829764c36-osd--data--dd2d578c--8def--4ce6--ab6a--ac7bfbf648a3
                                                253:2    0  1.8T  0 lvm  
    sr0                                          11:0    1 1024M  0 rom  
    rbd0                                        252:0    0    5G  0 disk /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-edf0192e-174d-43b9-b320-d624e451b77d/globalmount/0001-0009-rook-ceph-0000000000000001-5877653a-28ad-11eb-b1e6-6e4e1efdd373
    rbd1                                        252:16   0    5G  0 disk /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-57dc57d7-0544-4cab-af83-dcc992a89196/globalmount/0001-0009-rook-ceph-0000000000000001-f935ee04-28ac-11eb-b1e6-6e4e1efdd373
    rbd2                                        252:32   0    5G  0 disk /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-8f61ac1f-4c86-4a5e-bda2-9194bbbcc9b8/globalmount/0001-0009-rook-ceph-0000000000000001-585cdeea-28ad-11eb-b1e6-6e4e1efdd37
    

    可见rbd0、rbd1、rbd2三个盘挂载到了/var/lib/kubelet/plugins/kubernetes.io/csi/pv目录之下。

  2. 清除已有的lvm
    查看当前节点上存在的lvm,在确保lvm中数据可以正常删除的前提下删除原有的lvm分区释放磁盘空间。LVM的删除过程大致如下:

    • 先卸载系统上面的 LVM 文件系统 (包括快照与所有 LV)
    • 使用 lvremove 移除 LV
    • 使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志
    • 使用 vgremove 移除 VG
    • 使用 pvremove 移除 PV

    相关示例操作如下:

    # 卸载文件系统上的挂载,全部卸载完成后需要再次确认/etc/fstable或其他自动挂载配置是否关闭,否则可能导致重启后挂载失败导致主机无法正常启动
    umount /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-8f61ac1f-4c86-4a5e-bda2-9194bbbcc9b8/globalmount/0001-0009-rook-ceph-0000000000000001-585cdeea-28ad-11eb-b1e6-6e4e1efdd373/
    
    # 查看lv
    lvdisplay
    # 移除LV
    lvremove /dev/rbd1
    
    # 查看vg
    vgdisplay
    # 从vg中删除pv
    vgreduce centos /dev/sdb
    # 删除vg
    vgremove xxxx
    
    # 查看pv
    pvs
    # 删除pv,注意!!!删除前需要确认pv中是否有数据,如果有数据需要使pvmove将数据移动走,否则会导致数据丢失
    pvremove xxxx
    
    # 查看lvm常规信息
    dmsetup ls
    # 删除
    dmsetup remove xxx
    

    特别注意:在p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值