GlusterFS操作记录(5) GlusterFS+Heketi配置(独立部署)

heketi-glusterfs-cluster:在k8s部署中部署glusterfs,并实现动态存储 heketi-glusterfs-cluster 在k8s部署中部署glusterfs,并实现动态存储 立即下载

 

2019年01月21日 16:45:42 毛小威 阅读数:381 标签: GlusterFSHeketiStorage更多

个人分类: StoragesKubernetes

版权声明:本文为博主记录文章,可能没有普遍的适用性。 https://blog.youkuaiyun.com/oyym_mv/article/details/86573113

GlusterFS作为分布式共享文件系统也用了很多年了,简单好用,但是一直没有系统化记录下来,很是零散。这次趁着Kubernets集成GlusterFS作为共享存储,尽量记录些东西。
GlusterFS操作记录(1) GlusterFS简述
GlusterFS操作记录(2) GlusterFS存储卷类型介绍
GlusterFS操作记录(3) GlusterFS架构介绍
GlusterFS操作记录(4) GlusterFS快速安装部署配置
GlusterFS操作记录(5) GlusterFS+Heketi配置(独立部署)
GlusterFS操作记录(6) GlusterFS+Heketi在Kubernets上的集成配置

一、GlusterFS集群配置

1. 准备3个节点,并初始化

主机ip地址角色备注
gluster-server-110.99.7.11gluster-server,heketi 
gluster-server-210.99.7.12gluster-server 
gluster-server-210.99.7.12gluster-server 
gluster-client-110.99.7.10gluster-server挂载共享卷

初始化包括设置主机名称,网络,DNS等等,这里直接省略了。

配置/etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.99.7.11 gluster-server-1
10.99.7.12 gluster-server-2
10.99.7.13 gluster-server-3
10.99.7.10 gluster-client-1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2. 准备一块磁盘或者分区

每个虚拟机准备一块或者多块磁盘,并分别格式化,这里举例/vdb (50GB)

qemu-img create -f qcow2 gluster_server_1.disk 50G

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/data/gluster_server_1.disk'/>
      <target dev='vdb' bus='virtio'/>
</disk>

virsh edit gluster_server_1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
# fdisk -l
Disk /dev/vda: ... # 系统盘

Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3. 安装glusterFS

gluster根据用户有很多个组件,这里简单安装有些组件就不配置了。

# 每个服务端主机上执行
yum install centos-release-gluster -y
# 我们选择5.2版本
yum list glusterfs --showduplicates|sort -r
    glusterfs.x86_64                  5.2-1.el7                      centos-gluster5
    glusterfs.x86_64                  5.1-1.el7                      centos-gluster5
    glusterfs.x86_64                  5.0-1.el7                      centos-gluster5
    glusterfs.x86_64                  3.12.2-18.el7                  base     

yum -y install glusterfs-server glusterfs-fuse

systemctl enable glusterd.service
systemctl start glusterd.service
systemctl status glusterd.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4. 配置防火墙

这里是简单安装测试,没有深入配置防火墙。可以全部放行,或者直接关闭防火墙

# 直接关闭防火墙
systemctl stop firewalld.service
systemctl disable irewalld.service
  • 1
  • 2
  • 3

5. 配置授信池(将节点加入到集群)

# 在gluster-server-1上将 2,3加入进来
gluster peer probe gluster-server-2
gluster peer probe gluster-server-3

# 在gluster-server-2或者3上(新版本没有必要了,之前版本需要时因为主机名称解析的问题)
gluster peer probe gluster-server-1

#任意节点
[root@gluster-server-1 ~]# gluster peer status
Number of Peers: 2

Hostname: gluster-server-2
Uuid: 6f32f6d4-9cd7-4b40-b7b6-100054b187f7
State: Peer in Cluster (Connected)

Hostname: gluster-server-3
Uuid: 5669dbef-3f71-4e3c-8fb1-9c6e11c0c434
State: Peer in Cluster (Connected)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

6. 创建一个存储卷(测试)

备注:测试卷直接使用CentOS7上的一个普通目录,没有使用准备的磁盘(vdb是为heketi方式管理glusterfs准备的)

[各节点创建目录]
mkdir -p /data/brick1

gluster volume create volume0 replica 3 gluster-server-1:/data/brick1/volume0 gluster-server-2:/data/brick1/volume0 gluster-server-3:/data//brick1/volume0 force
#备注 这里使用force参数是因为我没有使用挂载磁盘,而是使用的root分区下的一个目录,不然会报错

gluster volume start volume0 
   #volume start: volume0: success

gluster volume info
	Volume Name: volume0
	Type: Replicate
	Volume ID: 8936cef1-125b-4689-963c-b558725925bc
	Status: Started
	Snapshot Count: 0
	Number of Bricks: 1 x 3 = 3
	Transport-type: tcp
	Bricks:
	Brick1: gluster-server-1:/data/brick1/volume0
	Brick2: gluster-server-2:/data/brick1/volume0
	Brick3: gluster-server-3:/data/brick1/volume0
	Options Reconfigured:
	transport.address-family: inet
	nfs.disable: on
	performance.client-io-threads: off
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

7. 配置客户端,测试存储卷

yum install centos-release-gluster -y
yum -y install glusterfs glusterfs-fuse

mkdir /volume0
mount -t glusterfs gluster-server-1:/volume0  /volume0
[root@gluster-client-1 glusterfs]# df -h
  gluster-server-1:/volume0  100G  2.1G   98G   3% /volume0

[test]
for i in `seq -w 1 100`; do cp -rp /var/log/messages /volume0/copy-test-$i; done
ls -lA /volume0/copy* | wc -l
100

[任意server节点]
备注:因为我们是3副本模式,只有3个brick,所有每个节点上都能看到全部100个文案
ls -lA /data/brick1/volume0/copy*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

到这里,glusterfs的服务端集群安装配置以及客户端测试已经完成,默认配置的安装还是很简单的。

8. 删除测试卷

# 客户端解除mount
umount /volume0

# 服务端
gluster volume stop volume0
gluster volume delete volume0
rm -rf /data/brick1/volume0 # 所有服务节点执行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、Heketi配置

Heketi是一个第三方程序,提供了一个RESTful 管理API以及命令行工具,可以用来管理GlusterFS卷的生命周期。

  1. Heketi动态在集群内选择bricks构建指定的volumes,以确保副本会分散到集群不同的故障域内。
  2. Heketi还支持任意数量的ClusterFS集群,以保证接入的云服务器不局限于单个GlusterFS集群。

Heketi以及Heketi-cli的安装可以直接在github上下载安装,centos7也提供了rpm安装方式。本文采用yum进行安装

1. 安装Heketi以及Heketi-cli

yum install heketi heketi-client -y

rpm -aq |grep heketi
heketi-client-8.0.0-1.el7.x86_64
heketi-8.0.0-1.el7.x86_64
  • 1
  • 2
  • 3
  • 4
  • 5

搜优glusterfs服务节点加载模块

modprobe dm_thin_pool
  • 1

2. 修改配置Heketi

vi /etc/heketi/heketi.json 
# 这里只展示需要修改的配置,其他默认配置参考原始文件(这里采用默认值)
{
    # 服务端口,可以根据需要进行修改,防止端口使用冲突
    "port": "8080",
    
    # 启用认证
    "use_auth": true,
    
    # 配置admin用的key
    "admin": {
         "key": "admin_secret"
    },
    
    # executor有三种,mock,ssh,Kubernets,这里使用ssh
    "executor": "ssh",
    # ssh相关配置
    "sshexec": {
      "keyfile": "/var/lib/heketi/id_rsa",
      "user": "root",
      "port": "22",
      "fstab": "/etc/fstab"
    },

    # heketi数据库文件位置(这里是默认路径)
    "db": "/var/lib/heketi/heketi.db",
    # 日志级别(none, critical, error, warning, info, debug)
    "loglevel" : "warning"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

3. executor使用ssh,需要配置ssh秘钥访问所有gluster节点。

ssh-keygen -t rsa -q -f /var/lib/heketi/id_rsa -N ''
chown heketi:heketi /var/lib/heketi/id_rsa*
ssh-copy-id -i /var/lib/heketi/id_rsa root@gluster-server-1
ssh-copy-id -i /var/lib/heketi/id_rsa root@gluster-server-2
ssh-copy-id -i /var/lib/heketi/id_rsa root@gluster-server-3
  • 1
  • 2
  • 3
  • 4
  • 5

4. 启动heketi服务

systemctl start heketi.service
systemctl enable heketi.service

systemctl status heketi.service
	● heketi.service - Heketi Server
	   Loaded: loaded (/usr/lib/systemd/system/heketi.service; disabled; vendor preset: disabled)
	   Active: active (running) since Mon 2019-01-21 15:40:58 CST; 2s ago
	 Main PID: 2967 (heketi)
	   CGroup: /system.slice/heketi.service
	           └─2967 /usr/bin/heketi --config=/etc/heketi/heketi.json
	
	Jan 21 15:40:58 gluster-server-1 systemd[1]: Started Heketi Server.
	Jan 21 15:40:58 gluster-server-1 systemd[1]: Starting Heketi Server...
	Jan 21 15:40:58 gluster-server-1 heketi[2967]: Heketi 8.0.0
	Jan 21 15:40:58 gluster-server-1 heketi[2967]: Authorization loaded
	Jan 21 15:40:58 gluster-server-1 heketi[2967]: Listening on port 8080
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

5. 通过topology文件添加glusterfs集群

heketi可以通过命令行手动添加glusterfs集群信息,也可以通过topology文件添加,实际产线中使用文件的方式易于维护。

# 没有就创建该文件
cat /etc/heketi/topology-cluster-1.json
{
    "clusters": [
        {
            "nodes": [
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "10.99.7.11"
                            ],
                            "storage": [
                                "10.99.7.11"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdb"
                    ]
                },
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "10.99.7.12"
                            ],
                            "storage": [
                                "10.99.7.12"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdb"
                    ]
                },
                {
                    "node": {
                        "hostnames": {
                            "manage": [
                                "10.99.7.13"
                            ],
                            "storage": [
                                "10.99.7.13"
                            ]
                        },
                        "zone": 1
                    },
                    "devices": [
                        "/dev/vdb"
                    ]
                }              
            ]
        }
    ]
}

heketi-cli --user admin --secret admin_secret --server http://10.99.7.11:8080 topology load --json /etc/heketi/topology-cluster-1.json
Creating cluster ... ID: 77b24830f331f2e12ca064d7daab3e43
        Allowing file volumes on cluster.
        Allowing block volumes on cluster.
        Creating node 10.99.7.11 ... ID: 52a177be9da6b0e00bd3863cb2565e6a
                Adding device /dev/vdb ... OK
        Creating node 10.99.7.12 ... ID: 508df329b279b6f73027f3aa9d81e005
                Adding device /dev/vdb ... OK
        Creating node 10.99.7.13 ... ID: 80ed10d504d363c0ba099855f9431f69
                Adding device /dev/vdb ... OK

# 因为启用了认证,每次命令行都需要输入认证信息,因为就有一个集群,可以配置如下
alias heketi-cli='heketi-cli --server "http://10.99.7.11:8080" --user admin --secret admin_secret'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72

6. 通过heketi-cli管理glusterfs卷声明周期

# 创建一个测试卷(大小10GB,默认3副本)
heketi-cli volume create --size=10 
	Name: vol_a0eef26f5873eb842dd65db819b2fa65
	Size: 10
	Volume Id: a0eef26f5873eb842dd65db819b2fa65
	Cluster Id: 77b24830f331f2e12ca064d7daab3e43
	Mount: 10.99.7.12:vol_a0eef26f5873eb842dd65db819b2fa65
	Mount Options: backup-volfile-servers=10.99.7.11,10.99.7.13
	Block: false
	Free Size: 0
	Reserved Size: 0
	Block Hosting Restriction: (none)
	Block Volumes: []
	Durability Type: replicate
	Distributed+Replica: 3

heketi-cli volume list
	Id:a0eef26f5873eb842dd65db819b2fa65    Cluster:77b24830f331f2e12ca064d7daab3e43    Name:vol_a0eef26f5873eb842dd65db819b2fa65

# 通过gluster命令查询下
# gluster volume list
vol_a0eef26f5873eb842dd65db819b2fa65

# gluster volume info vol_a0eef26f5873eb842dd65db819b2fa65 
 
Volume Name: vol_a0eef26f5873eb842dd65db819b2fa65
Type: Replicate
Volume ID: 9ce4e4d6-48d7-4685-87ff-6de80eaf4166
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: 10.99.7.11:/var/lib/heketi/mounts/vg_6233c772878f135485b9ef759e8faa7d/brick_d365d8eb8bd0979a829f667b45d17df4/brick
Brick2: 10.99.7.12:/var/lib/heketi/mounts/vg_1a3767125942101c0304a52ccef213b7/brick_0dbefac4edcdb43ff719f1e254ecc996/brick
Brick3: 10.99.7.13:/var/lib/heketi/mounts/vg_e2c7ef9056c649121eef4c03eaed4110/brick_77d18cb0021f4180930583c887ee2933/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

# gluster volume status vol_a0eef26f5873eb842dd65db819b2fa65
Status of volume: vol_a0eef26f5873eb842dd65db819b2fa65
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick 10.99.7.11:/var/lib/heketi/mounts/vg_
6233c772878f135485b9ef759e8faa7d/brick_d365
d8eb8bd0979a829f667b45d17df4/brick          49152     0          Y       4160 
Brick 10.99.7.12:/var/lib/heketi/mounts/vg_
1a3767125942101c0304a52ccef213b7/brick_0dbe
fac4edcdb43ff719f1e254ecc996/brick          49153     0          Y       3491 
Brick 10.99.7.13:/var/lib/heketi/mounts/vg_
e2c7ef9056c649121eef4c03eaed4110/brick_77d1
8cb0021f4180930583c887ee2933/brick          49152     0          Y       3374 
Self-heal Daemon on localhost               N/A       N/A        Y       4183 
Self-heal Daemon on gluster-server-2        N/A       N/A        Y       3514 
Self-heal Daemon on gluster-server-3        N/A       N/A        Y       3397 
 
Task Status of Volume vol_a0eef26f5873eb842dd65db819b2fa65
------------------------------------------------------------------------------
There are no active volume tasks

# cat /etc/fstab
...
/dev/mapper/vg_6233c772878f135485b9ef759e8faa7d-brick_d365d8eb8bd0979a829f667b45d17df4 /var/lib/heketi/mounts/vg_6233c772878f135485b9ef759e8faa7d/brick_d365d8eb8bd0979a829f667b45d17df4 xfs rw,inode64,noatime,nouuid 1 2

# pvdisplay,vgdisplay,lvdisplay
# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/vdb
  VG Name               vg_6233c772878f135485b9ef759e8faa7d
  PV Size               50.00 GiB / not usable 132.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              12767
  Free PE               10181
  Allocated PE          2586
  PV UUID               amSE30-3PyS-jYQJ-LzYd-MziU-oPzw-qesxjU

# vgdisplay 
  --- Volume group ---
  VG Name               vg_6233c772878f135485b9ef759e8faa7d
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  21
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               49.87 GiB
  PE Size               4.00 MiB
  Total PE              12767
  Alloc PE / Size       2586 / 10.10 GiB
  Free  PE / Size       10181 / <39.77 GiB
  VG UUID               W9IgyL-ld7N-fTD6-RL6D-YNwj-y6dd-9SrROI

# lvdisplay
  --- Logical volume ---
  LV Name                tp_040396bb756b39a9df9642ffa5848114
  VG Name                vg_6233c772878f135485b9ef759e8faa7d
  LV UUID                GhsMPO-hZkz-Sgtu-a8x5-BShv-f431-tHpAtN
  LV Write Access        read/write
  LV Creation host, time gluster-server-1, 2019-01-21 16:07:29 +0800
  LV Pool metadata       tp_040396bb756b39a9df9642ffa5848114_tmeta
  LV Pool data           tp_040396bb756b39a9df9642ffa5848114_tdata
  LV Status              available
  # open                 2
  LV Size                10.00 GiB
  Allocated pool data    0.18%
  Allocated metadata     0.09%
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:2
   
  --- Logical volume ---
  LV Path                /dev/vg_6233c772878f135485b9ef759e8faa7d/brick_d365d8eb8bd0979a829f667b45d17df4
  LV Name                brick_d365d8eb8bd0979a829f667b45d17df4
  VG Name                vg_6233c772878f135485b9ef759e8faa7d
  LV UUID                qXbd1K-rQB1-aLuU-LOj9-Jobq-No6D-p1FNYE
  LV Write Access        read/write
  LV Creation host, time gluster-server-1, 2019-01-21 16:07:29 +0800
  LV Pool name           tp_040396bb756b39a9df9642ffa5848114
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Mapped size            0.18%
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:4

客户端挂载使用


mount -t glusterfs gluster-server-1:/vol_a0eef26f5873eb842dd65db819b2fa65 /volume0/
cd /volume0/
for i in `seq -w 1 100`; do cp -rp /var/log/messages /volume0/copy-test-$i; done
ls -lA /volume0/copy* | wc -l
100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

7. Kubernets通过heketi自动配置glusterfs存储卷

参考 kubernets使用glusterfs+Heketi存储配置(自动模式)

Coze工作流实战:Coze一键生成沉浸式历史故事视频 【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量! 阅读详情

相关推荐

ArcGIS天地图矢量化秘籍:用重分类+ArcScan高效提取建筑轮廓线

本文详细介绍了利用ArcGIS重分类和ArcScan技术高效提取天地图建筑轮廓线的半自动化流程。通过动态中断值计算、多级重分类策略和ArcScan高级矢量化技巧,显著提升城市规划中的矢量化效率与精度,适用于中级GIS用户。

weixin_30879169的博客 475

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

MssGuo的博客 5776

天地图Api4.0.怎么根据geojson的数据。把一个省的所有市区标记色块和文字

天地图

肖肖肖丽珠的博客 1513

独立部署GlusterFS+Heketi实现Kubernetes共享存储

目录 环境 glusterfs配置 安装 测试 heketi配置 部署 简介 修改heketi配置文件 配置ssh密钥 启动heketi 生产案例 heketi添加glusterfs 添加cluster 将4个glusterfs作为node添加到cluster 添加device 生产实际配置 添加volume 配置kubernetes使用glusterfs 创建storageclass 创建pvc 创建pod,使用pvc 环境 主机名 系统

因上努力,果上随缘。但行好事,莫问前程。 1167

扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)

扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码) 文章目录扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)理论讲解KF和EKF模型对比雅可比矩阵计算计算实例应用实例线性模型CV模型:CA模型非线性模型CTRV模型:CTRV实例(python)small demo抛物线demo飞机高度demoC++实例参考文献 我们上篇提到的卡尔曼滤波是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布

O_MMMM_O的博客 10万+

Python实战:用jieba和WordCloud打造电商评论情感分析工具(附完整代码)

本文详细介绍了如何使用Python的jieba分词和WordCloud库构建电商评论情感分析工具,涵盖数据预处理、情感分析、可视化展示等关键步骤,并提供完整代码实现。通过该工具,开发者可以高效分析电商评论数据,挖掘消费者情感倾向,为产品改进和决策提供数据支持。

weixin_30316097的博客 415

kubernetes动态存储之glusterfs集群(heketi)

kubernetes存储类资源的详细实现过程

taonihou_的博客 1373

基于Qt与PaddleOCR的跨平台OCR工具开发实战

本文详细介绍了基于Qt与PaddleOCR开发跨平台OCR工具的实战经验。通过Qt的跨平台特性和PaddleOCR的高效识别能力,开发者可以快速构建支持Windows、Linux和macOS的OCR工具。文章涵盖了环境配置、核心功能实现、性能优化及打包发布等关键环节,特别针对中文识别、内存管理和多线程处理等常见问题提供了解决方案。

weixin_30296405的博客 90

k8s + heketi + glusterfs动态存储管理及扩容GlusterFS集群 一路踩坑记录

k8s + heketi + glusterfs动态存储管理及扩容GlusterFS集群

qq_15138049的博客 1万+

CLion for Mac(m1)配置GCC编译器

条件:电脑已经下载过XCode 一. 下载HomeBrew homebrew是一款macos,linux下的包管理工具,我们需要使用他来下载GCC 下载方法: 1.打开终端(terminal) 2.输入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ps.有可能会遇到的问题 我当初下载挂了VPN,优快云上还有很多解决问题的方法,可以将错误信

supermario19的博客 7847

YOLOv11涨点改进| CVPR 2026 |独家创新首发、特征融合改进篇| 引入FAAFusion傅里叶角对准融合模块,促进高低频特征融合,增强模型在小目标、密集目标检测和旋转目标检测任务高效涨点

🔥本文提出FAAFusion傅里叶角对准融合模块,用于改进YOLOv11网络模型。该模块通过在特征金字塔融合阶段对齐高低层特征的方向信息,缓解传统FPN直接融合带来的方向冲突问题。FAAFusion利用傅里叶旋转等变性原理,在频域估计主方向并进行特征对齐,显著提升了多尺度特征表达的一致性与有效性。实验表明,该方法在DOTA等遥感数据集上取得了新的最先进水平,特别适用于旋转目标检测任务。文章详细介绍了模块原理、结构优势,并提供了三种不同的YOLOv11改进配置方案和完整的核心代码实现。

Ai缝合怪、助力小伙伴高效发论文 154

Heketi——一种GlusterFS集群管理工具

作者: 石文 时间:2019-01-13 Heketi是一个GlusterFs管理软件,可以管理glusterFS集群的卷创建、删除等操作。 Heketi管理GlusterFS集群需要注意: GlusterFS集群的各peer必须要有未安装文件系统的磁盘设备(磁盘设备未进行格式化) GlusterFS集群各peer的端口号不能太少,不然当peer上的brick将端口号用完后,会造成无法创...

zhinengyunwei的博客 5649

【C++】ROS:ROS1环境配置与基础示例

ROS1环境配置与基础示例

DevFrank的博客 2106

不止 Ollama:用 llama.cpp 运行 translategemma-12b-it-GGUF 的进阶指南,关键参数逐个讲透

如果你只满足于 `ollama run translategemma:12b`,那你可能只发挥了它一半的实力。本文带你用 **llama.cpp** 直接运行 **translategemma-12b-it-GGUF**——Google 官方翻译大模型 TranslateGemma(12B)的 GGUF 量化权重仓库,逐个讲透 `-ngl`、`--ctx-size`、`--temp` 等关键参数的

gitblog_06872的博客 127

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[k8s]ubuntu18 + Heketi + Glsuterfs的独立部署

关于ubuntu server 18 上部署glusterfs和heketi的文章网上有很多了,看起来都很顺利,但是我在部署的时候偏偏遇到了很多的问题, 记录一下。 环境:Ubuntu Server 18.04    glusterfs-3.13 heketi-v9 heketi-client-v9 1、使用sudo apt-get ...

weixin_30908707的博客 447

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Kubernetes实录-第一篇-集群部署配置(23) Kubernetes集成部署glusterfs+Heketi提供持久存储PV(集成模式)

容器平台Kubernets当前已经1.13.1版本了,将原来的1.11.3文档进行更新,在国内很多公司都在使用这个平台构建容器平台。希望把 K8S初体验 写成一个系列(希望能坚持下来),希望完成3个目标: 记录下自己学习K8S的过程 为之后的学习使用差缺补漏 如果能为新接触K8S的朋友提供些帮助那就更好了 K8S初体验记录列表[根据进度补充],以供快速查阅 第一篇:配置企业级镜像仓库H...

新梦易明 1575

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Confucius4-R2T2-gguf麦克风实时转写指南:原始PCM流输入与chunk_size_ms最佳实践

**Confucius4-R2T2-gguf** 是网易有道低延迟流式语音识别(ASR)模型 Confucius4-R2T2 的 GGUF 量化版,专为 audio.cpp 设计。无需 Python 和 PyTorch,一个运行二进制加一个 `.gguf` 文件,就能在本地跑起低延迟、只追加(append-only)的**麦克风实时转写**。本文带你完成原始 PCM 流接入,并讲透 `chunk_

gitblog_00343的博客 169

Kubernetes实录-第一篇-集群部署配置(22) Kubernetes使用glusterfs+Heketi提供持久存储PV(自动模式)

容器平台Kubernets当前已经1.13.1版本了,将原来的1.11.3文档进行更新,在国内很多公司都在使用这个平台构建容器平台。希望把 K8S初体验 写成一个系列(希望能坚持下来),希望完成3个目标: 记录下自己学习K8S的过程 为之后的学习使用差缺补漏 如果能为新接触K8S的朋友提供些帮助那就更好了 K8S初体验记录列表[根据进度补充],以供快速查阅 第一篇:配置企业级镜像参考H...

新梦易明 1565

用heketi管理glusterfs并创建volume

Heketi 提供了丰富的RESTful API 用来对于Glusterfs的volume进行管理。Heketi 在Github上的地址:https://github.com/heketi下文将要讲述在Redhat 7上安装Heketi, Glusterfs并进行相应配置。1. 配置Gluster yum 源并且安装heketi &amp; glusterfs进入/etc/yum.repos.d/...

DevOps008的博客 2312

kubernetes 部署 heketi+ glusterfs + mongodb 问题排坑

需要pv的pod一直申请不成功, 查看 该pod绑定的 pvc事件 , 显示 failed to create volume: failed to create volume: sed: can’t read /var/lib/heketi/fstab: No such file or directory failed to create volume: failed to create vo...

Extreme的博客 2768

heketi 扩容 glusterfs

heketi 扩容 glusterfs

King config 322

Kubernetes部署GlusterFS

存储是容器编排中非常重要的一部分。Kubernetes从v1.2开始,提供了dynamic provisioning这一强大的特性,可以给集群提供按需分配的存储,并能支持包括AWS-EBS、GCE-PD、Cinder-Openstack、Ceph、GlusterFS等多种云存储。非官方支持的存储也可以通过编写plugin方式支持。在没有dynamic provisioning时,容器为了使用Vol...

mark's technic world 4664

GlusterFS操作记录(3) GlusterFS架构介绍

GlusterFS作为分布式共享文件系统也用了很多年了,简单好用,但是一直没有系统化记录下来,很是零散。这次趁着Kubernets集成GlusterFS作为共享存储,尽量记录些东西。 记录一:GlusterFS操作记录(1) 简述 记录二:GlusterFS操作记录(2) 快速安装与存储卷类型介绍 记录三:GlusterFS操作记录(3) 架构介绍 这里记录介绍: FUSE,Translat...

新梦易明 559

glusterfs 记录

Glusterfs问题记录

qq_15138049的博客 2965

Apache-2.0授权下使用Swift-Bonsai-2-GGUF:商用要求、署名规范与BibTeX引用完整说明

本文面向新手和开发者,完整说明 Swift-Bonsai-2-GGUF 在 Apache-2.0 授权下的商用要求、署名规范与 BibTeX 引用格式,帮助你在合法合规地集成这款高效推理大模型时,避免因署名或引用缺失而踩坑。 ## 一分钟看懂:这个项目是什么 **Swift-Bonsai-2** 是 UkisAI 基于 Prism ML 的 **Ternary Bonsai 2 27B** 三

gitblog_00545的博客 883

k8s glusterfs mysql_k8s中使用glusterfs

k8s中使用glusterfs静态手动管理glusterfs这种方式是手动管理volume。假设在k8s上部署一个使用gluster存储的应用,如果使用之前应用的volume,能看到其他应用的数据,多个应用之间的数据应该是隔离的,也就是权限问题,同时,大概率导致文件命名冲突问题。pv(c)中设置的容量capacity也无法控制。基本上处于不可用。通过heketi来动态管理glusterfsheke...

weixin_29495899的博客 370
上一篇: 用heketi管理glusterfs并创建volume
下一篇: Linux下用base64命令加解密字符串
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值