glusterfs - 更改卷类型后 Gluster 卷大小变得不同
问题描述
我有一个 4 节点 glusterfs 集群(Gluster 3.12),其卷类型最初是“分布式复制”。我通过执行以下命令将其更改为“已复制”。
gluster volume remove-brick gv0 node{3..4}:/bricks/gv0/brick1 start
gluster volume remove-brick gv0 node{3..4}:/bricks/gv0/brick1 status
gluster volume add-brick gv0 replica 4 node{3..4}:/bricks/gv0/brick1
之后,“gluster 卷信息”告诉我我现在有一个 4 路复制卷。
Volume Name: gv0
Type: Replicate
Volume ID: 23baed0a-9853-462d-a992-019c31ed4ab2
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: node3:/bricks/gv0/brick1
Brick2: node4:/bricks/gv0/brick1
Brick3: node1:/bricks/gv0/brick1
Brick4: node2:/bricks/gv0/brick1
但是当我检查每台服务器上的砖块大小时,它们都是不同的。与保留的其他 2 块砖相比,我移除的 2 块砖的尺寸较小。
[root@node1 ~]# du -sh /bricks/gv0/brick1/
2.1M /bricks/gv0/brick1/
[root@node1 ~]#
...
[root@node2 ~]# du -sh /bricks/gv0/brick1/
2.1M /bricks/gv0/brick1/
[root@node2 ~]#
...
[root@node3 ~]# du -sh /bricks/gv0/brick1/
5.8M /bricks/gv0/brick1/
[root@node3 ~]#
...
[root@node4 ~]# du -sh /bricks/gv0/brick1/
5.8M /bricks/gv0/brick1/
[root@node4 ~]#
我发现在重新添加的砖块上,有些文件只有在您通过“ls”访问它们时才会出现。在对所有丢失的文件执行此操作后,所有砖块的大小现在都相同了。
有没有办法在不强制文件访问的情况下实现这一目标?为什么我会遇到砖块大小不同的情况?
解决方案
推荐阅读
- sql - 恢复数据库 SQL Server linux
- angular - 在 angular html 之间从 assets 文件夹中添加 html
- php - 如何使用 php 文件读取系统变量
- python - 向不和谐用户发送二维码
- flutter - 将图像添加到卡片和文本
- amazon-web-services - 使用 S3 presigned-url 将文件上传到设备场
- laravel - 如何在 laravel 的订单表上将产品 ID 保存为 json 数组?
- python - python 测验的用户输入
- angular - 带有服务器端渲染 (SSR) 的 Angular 12 + 支持 2 种语言(国际化)
- python-3.x - Knapstacking/Binpacking -- 多重约束:weight+length+width+height+stack_count