• (五)Gluster 管理员(小节-1)


    一、管理glusterd Service

    • 启动:systemctl start glusterd
    • 停止:systemctl stop glusterd
    • auto:systemctl enable --now glusterd
    • disable:systemctl disable --now glusterd

    二、管理Trusted Storage Pools

    • 创建存储池必须通过主机名实现对节点的解析
    • glusterd进程必须运行在所有的节点上
    • 开放端口24007

    下面的例子演示3节点:server1、server2、server3。

    • 添加:gluster peer probe server_hostname
    • 查看:gluster peer status
      在这里插入图片描述
    • 列出节点:gluster pool list
    • 移除节点:gluster peer detach server_hostname

    三、Setting Up Storage

    卷作为可信存储池中节点上的发布目录的一个逻辑集合。在创建卷之前,需要配置好相应的bricks。

    1、brick命令约定

    推荐:/data/glusterfs/volume_name/brick/brick,该处brick是指挂载路径所在的文件系统。

    2、示例-一个节点1个brick

    • 物理磁盘:/dev/sdb
    • 创建卷:myvol1
    • 已完成分区并格式化/dev/sdb1在4个节点上

    在所有节点创建目录和挂载:
    在这里插入图片描述
    在其中一个节点执行:

    gluster volume create myvol1 replica 2 server{1..4}:/data/glusterfs/myvol1/brick1/brick
    
    • 1

    3、示例-1个节点两个brick

    • 物理磁盘:/dev/sdb,/dev/sdc
    • 创建卷:myvol2
    • 已完成分区并格式化/dev/sdb1 /dev/sdc1在4个节点上

    在4个节点均执行:

    mkdir -p /data/glusterfs/myvol2/brick{1,2}
    mount /dev/sdb1 /data/glusterfs/myvol2/brick1
    mount /dev/sdc1 /data/glusterfs/myvol2/brick2
    
    • 1
    • 2
    • 3

    在其中一个节点执行:

    gluster volume create myvol2 replica 2 \
      server{1..4}:/data/glusterfs/myvol2/brick1/brick \
      server{1..4}:/data/glusterfs/myvol2/brick2/brick
    
    • 1
    • 2
    • 3

    如果是执行如下命令:

    gluster volume create myvol2 replica 2 server{1..4}:/data/glusterfs/myvol2/brick{1,2}/brick
    
    • 1

    注: 由于bash对{}的解释是优先解释最后一个,这个会导致你的副本是在同一台的两个brick之间而不是节点的两个brick之间。

    四、Formatting and Mounting Bricks

    1. 创建pv
    pvcreate --dataalignment 128K /dev/sdb
    
    • 1
    • –dataalignmentg根据磁盘erase block大小进行配置
    1. 创建vg
    vgcreate --physicalextentsize 128K gfs_vg /dev/sdb  
    
    • 1
    • 推荐一个磁盘仅创建一个vg
    • 指定physicalextentsize 128K
    1. 创建thin-pool
      a. 创建LV存储metadata
    lvcreate -L 16776960K --name gfs_pool_meta gfs_vg
    
    • 1

    b. 创建LV存储data

    lvcreate -L 536870400K --name gfs_pool gfs_vg
    
    • 1

    c. 通过LV metadata和data创建thin-pool

    lvconvert --chunksize 1280K --thinpool gfs_vg/gfs_pool --poolmetadata gfs_vg/gfs_pool_meta
    
    • 1

    默认情况下,thin-pool中新分配的数据块将被置零,以防止不同块设备之间的数据泄露。
    示例:

    lvchange --zero n gfs_vg/gfs_pool
    
    • 1
    1. 在前面的thin-pool中创建lv
    lvcreate -V 1G -T gfs_vg/gfs_pool -n gfs_lv
    
    • 1

    建议在一个thin-pool中只创建一个逻辑卷。

    mkfs.xfs -f -i size=512 -n size=8192 -d su=128k,sw=10 DEVICE
    
    • 1

    格式化brick以支持xfs文件系统:

    • DEVICE:创建的逻辑卷
    • 512:inode大小

    创建挂载点:mkdir /mountpoint
    /etc/fstab添加访问点:

     /dev/gfs_vg/gfs_lv    /mountpoint  xfs rw,inode64,noatime,nouuid
    
    • 1
    mount /mountpoint
    
    • 1

    五、访问权限控制

    1、激活ACL权限控制

    1 服务器端激活

    想要实现发布的目录支持ACL的控制,执行命令:

    # mount -o acl /dev/sda1 /export1
    
    • 1

    若分区写入在/etc/fstab文件中,添加ACL的相关参数:

    LABEL=/work /export1 ext3 rw, acl 14
    
    • 1

    2 客户端激活

    # mount -t glusterfs -o acl 198.192.198.234:glustervolume /mnt/gluster
    
    • 1

    2、设置ACL

    使用setfacl进行实现,该处不做进一步的解释。

  • 相关阅读:
    如何使用Java反射获取指定类的全部属性呢?
    golang ES 聚合查询
    Flutter笔记:聊一聊依赖注入(上)
    ElasticSearch
    彻底明白Java的IO系统
    理解参数传递
    【docker】Mac M1 构建 x64 linux镜像
    使用fdatool工具箱设计滤波器及工程应用
    【ubuntu18.04安装rabbitmq】
    MyBatis-Plus
  • 原文地址:https://blog.csdn.net/qq_25562325/article/details/125546036