案例部署——GlusterFS分布式文件系统群集(二)

简介: 案例部署——GlusterFS分布式文件系统群集

创建卷

创建分布式卷

🍤没有指定类型,默认创建的是分布式类型。

1. [root@node1 ~]# gluster volume create dis-volume node1:/e6 node2:/e6 force
2. volume create: dis-volume: success: please start the volume to access data
3. [root@node1 ~]# gluster volume info dis-volume
4. 
5. Volume Name: dis-volume
6. Type: Distribute
7. Volume ID: 2428b9ff-6b40-4b4e-a757-c24e9cb05261
8. Status: Created
9. Snapshot Count: 0
10. Number of Bricks: 2
11. Transport-type: tcp
12. Bricks:
13. Brick1: node1:/e6
14. Brick2: node2:/e6
15. Options Reconfigured:
16. transport.address-family: inet
17. nfs.disable: on
18. [root@node1 ~]# gluster volume start dis-volume
19. volume start: dis-volume: success

创建条带卷

🍤指定类型为stripe,数值为2,而且后面跟了2个Brick server,所以创建的是条带卷。

1. [root@node1 ~]# gluster volume create stripe-volume stripe 2 node1:/d5 node2:/d5 force
2. volume create: stripe-volume: success: please start the volume to access data
3. [root@node1 ~]# gluster volume info stripe-volume
4. 
5. Volume Name: stripe-volume
6. Type: Stripe
7. Volume ID: d94a5890-5af1-4103-b3b8-13b6c93ef9fd
8. Status: Created
9. Snapshot Count: 0
10. Number of Bricks: 1 x 2 = 2
11. Transport-type: tcp
12. Bricks:
13. Brick1: node1:/d5
14. Brick2: node2:/d5
15. Options Reconfigured:
16. transport.address-family: inet
17. nfs.disable: on
18. [root@node1 ~]# gluster volume start stripe-volume
19. volume start: stripe-volume: success

创建复制卷

🍤指定类型为reqlica,数值为2,而且后面跟了2个Brick Server,所以创建的是复制卷。

1. [root@node1 ~]# gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force
2. volume create: rep-volume: success: please start the volume to access data
3. [root@node1 ~]# gluster volume info rep-volume
4. 
5. Volume Name: rep-volume
6. Type: Replicate
7. Volume ID: 9f16e913-0fab-4770-8d06-77a15cd3204c
8. Status: Created
9. Snapshot Count: 0
10. Number of Bricks: 1 x 2 = 2
11. Transport-type: tcp
12. Bricks:
13. Brick1: node3:/d5
14. Brick2: node4:/d5
15. Options Reconfigured:
16. transport.address-family: inet
17. nfs.disable: on
18. [root@node1 ~]# gluster volume start rep-volume
19. volume start: rep-volume: success

创建分布式条带卷

🍤指定类型为stripe,数值为2,而且后面跟了4个Brick Server,是2的2倍,所以创建的是分布式条带卷。

1. [root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/b3 node2:/b3 node3:/b3 node4:/b3 force
2. volume create: dis-stripe: success: please start the volume to access data
3. [root@node1 ~]# gluster volume info dis-stripe
4. 
5. Volume Name: dis-stripe
6. Type: Distributed-Stripe
7. Volume ID: 96778ae5-c04d-41c4-bf91-a2e595c0d105
8. Status: Created
9. Snapshot Count: 0
10. Number of Bricks: 2 x 2 = 4
11. Transport-type: tcp
12. Bricks:
13. Brick1: node1:/b3
14. Brick2: node2:/b3
15. Brick3: node3:/b3
16. Brick4: node4:/b3
17. Options Reconfigured:
18. transport.address-family: inet
19. nfs.disable: on
20. [root@node1 ~]# gluster volume start dis-stripe
21. volume start: dis-stripe: success

创建分布式复制卷

🍤指定类型为replica,数值为2,而且后面跟了4个Brick Server,是2的两倍,所以创建的是分布式复制卷。

部署Gluster客户端

🍤安装客户端软件

1. [root@localhost ~]# hostnamectl set-hostname client
2. [root@localhost ~]# bash
3. [root@client ~]# rm -rf /etc/yum.repos.d/*
4. [root@client ~]# cat >> /etc/yum.repos.d/a.repo << END
5. [a]
6. name=a
7. baseurl=file:///media
8. gpgcheck=0
9. END
10. [root@client ~]# mount /dev/cdrom /media
11. mount: /dev/sr0 写保护,将以只读方式挂载
12. [root@client ~]# yum -y install glusterfs glusterfs-fuse

🍤挂载目录

1. [root@client ~]# mkdir -p /test/{dis,stripe,rep,dis_and_stripe,dis_and_rep}
2. [root@client ~]# ls /test
3. dis  dis_and_rep  dis_and_stripe  rep  stripe

🍤修改hosts文件

sed -i '$a192.168.1.10 node1\n192.168.1.20 node2\n192.168.1.30 node3\n192.168.1.40 node4' /etc/hosts

🍤挂载Gluster文件系统

如果安装不成功,检查hosts解析文件。

1. [root@client ~]# mount -t glusterfs node1:dis-volume /test/dis/
2. [root@client ~]# mount -t glusterfs node1:stripe-volume /test/stripe/
3. [root@client ~]# mount -t glusterfs node1:rep-volume /test/rep
4. [root@client ~]# mount -t glusterfs node1:dis-stripe /test/dis_and_stripe/
5. [root@client ~]# mount -t glusterfs node1:dis-rep /test/dis_and_rep/
6. [root@client ~]# df -hT
7. 文件系统            类型            容量  已用  可用 已用% 挂载点
8. /dev/mapper/cl-root xfs              17G  3.8G   14G   23% /
9. devtmpfs            devtmpfs        473M     0  473M    0% /dev
10. tmpfs               tmpfs           489M   88K  489M    1% /dev/shm
11. tmpfs               tmpfs           489M  7.1M  482M    2% /run
12. tmpfs               tmpfs           489M     0  489M    0% /sys/fs/cgroup
13. /dev/sda1           xfs            1014M  173M  842M   18% /boot
14. tmpfs               tmpfs            98M   12K   98M    1% /run/user/0
15. /dev/sr0            iso9660          53M   53M     0  100% /media
16. node1:dis-volume    fuse.glusterfs   89G  7.5G   81G    9% /test/dis
17. node1:stripe-volume fuse.glusterfs   89G  7.5G   81G    9% /test/stripe
18. node1:rep-volume    fuse.glusterfs   39G  3.9G   35G   10% /test/rep
19. node1:dis-stripe    fuse.glusterfs  165G   16G  150G   10% /test/dis_and_stripe
20. node1:dis-rep       fuse.glusterfs   77G  7.6G   69G   10% /test/dis_and_rep

🍤修改fstab配置文件

1. [root@client ~]# sed -i '$anode1:dis-volume        /test/dis       glusterfs       defaults,_netdev 0 0' /etc/fstab
2. [root@client ~]# sed -i '$anode1:stripe-volume     /test/stripe    glusterfs       defaults,_netdev 0 0' /etc/fstab
3. [root@client ~]# sed -i '$anode1:rep-volume        /test/rep       glusterfs       defaults,_netdev 0 0' /etc/fstab
4. [root@client ~]# sed -i '$anode1:dis-stripe /test/dis_and_stripe   glusterfs       defaults,_netdev 0 0' /etc/fstab
5. [root@client ~]# sed -i '$anode1:dis-rep   /test/dis_and_rep       glusterfs       defaults,_netdev 0 0' /etc/fstab

测试Gluster文件系统

🍤在Client服务器操执行以下命令,卷中写入文件(漏斗命令直接复制粘贴即可)。

1. dd if=/dev/zero of=/root/demo1.log bs=43M count=1
2. dd if=/dev/zero of=/root/demo2.log bs=43M count=1
3. dd if=/dev/zero of=/root/demo3.log bs=43M count=1
4. dd if=/dev/zero of=/root/demo4.log bs=43M count=1
5. dd if=/dev/zero of=/root/demo5.log bs=43M count=1
6. cp demo* /test/dis/
7. cp demo* /test/stripe/
8. cp demo* /test/rep/
9. cp demo* /test/dis_and_stripe/
10. cp demo* /test/dis_and_rep/
11. [root@client ~]# ll -h demo*
12. -rw-r--r-- 1 root root 43M 8月   8 23:45 demo1.log
13. -rw-r--r-- 1 root root 43M 8月   8 23:45 demo2.log
14. -rw-r--r-- 1 root root 43M 8月   8 23:45 demo3.log
15. -rw-r--r-- 1 root root 43M 8月   8 23:45 demo4.log
16. -rw-r--r-- 1 root root 43M 8月   8 23:45 demo5.log

🍤各节点服务器中查看文件分布(注意看节点名称)。

1. ......//查看分布式卷文件分布
2. [root@node1 ~]# ll -h /e6
3. total 172M
4. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo1.log           //没有分片,原始大小43M
5. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo2.log           //没有分片,原始大小43M
6. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo3.log           //没有分片,原始大小43M
7. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo4.log           //没有分片,原始大小43M
8. [root@node2 ~]# ll -h /e6
9. 总用量 43M
10. -rw-r--r-- 2 root root 43M 8月   8 17:10 demo5.log           //没有分片,原始大小43M
11. 
12. ......//查看条带卷文件分布
13. [root@node1 ~]# ll -h /d5
14. total 108M
15. -rw-r--r-- 2 root root 22M Aug  8 17:10 demo1.log           //大小被分片22M
16. -rw-r--r-- 2 root root 22M Aug  8 17:10 demo2.log           //大小被分片22M
17. -rw-r--r-- 2 root root 22M Aug  8 17:10 demo3.log           //大小被分片22M
18. -rw-r--r-- 2 root root 22M Aug  8 17:10 demo4.log           //大小被分片22M
19. -rw-r--r-- 2 root root 22M Aug  8 17:10 demo5.log           //大小被分片22M
20. [root@node2 ~]# ll -h /d5
21. 总用量 108M
22. -rw-r--r-- 2 root root 22M 8月   8 17:10 demo1.log           //大小被分片22M
23. -rw-r--r-- 2 root root 22M 8月   8 17:10 demo2.log           //大小被分片22M
24. -rw-r--r-- 2 root root 22M 8月   8 17:10 demo3.log           //大小被分片22M
25. -rw-r--r-- 2 root root 22M 8月   8 17:10 demo4.log           //大小被分片22M
26. -rw-r--r-- 2 root root 22M 8月   8 17:10 demo5.log           //大小被分片22M
27. 
28. ......//查看复制卷文件分布
29. [root@node3 ~]# ll -h /d5
30. total 215M
31. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo1.log           //没有分片,原始大小43M
32. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo2.log           //没有分片,原始大小43M
33. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo3.log           //没有分片,原始大小43M
34. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo4.log           //没有分片,原始大小43M
35. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo5.log           //没有分片,原始大小43M
36. [root@node4 ~]# ll -h /d5
37. total 215M
38. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo1.log           //没有分片,原始大小43M
39. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo2.log           //没有分片,原始大小43M
40. -rw-r--r-- 2 root root 43M Aug  8 17:10 demo3.log           //没有分片,原始大小43M
41. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo4.log           //没有分片,原始大小43M
42. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo5.log           //没有分片,原始大小43M
43. 
44. ......//查看分布式条带卷文件分布
45. [root@node1 ~]# ll -h /b3
46. total 86M
47. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo1.log           //大小被分片成22M
48. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo2.log           //大小被分片成22M
49. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo3.log           //大小被分片成22M
50. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo4.log           //大小被分片成22M
51. [root@node2 ~]# ll -h /b3
52. 总用量 86M
53. -rw-r--r-- 2 root root 22M 8月   8 17:11 demo1.log           //大小被分片成22M
54. -rw-r--r-- 2 root root 22M 8月   8 17:11 demo2.log           //大小被分片成22M
55. -rw-r--r-- 2 root root 22M 8月   8 17:11 demo3.log           //大小被分片成22M
56. -rw-r--r-- 2 root root 22M 8月   8 17:11 demo4.log           //大小被分片成22M
57. [root@node3 ~]# ll -h /b3
58. total 22M
59. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo5.log           //大小被分片成22M
60. [root@node4 ~]# ll -h /b3
61. total 22M
62. -rw-r--r-- 2 root root 22M Aug  8 17:11 demo5.log           //大小被分片成22M
63. 
64. ......//查看分布式复制卷文件分布
65. [root@node1 ~]# ll -h /c4
66. total 172M
67. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo1.log           //没有分片,原始大小43M
68. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo2.log           //没有分片,原始大小43M
69. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo3.log           //没有分片,原始大小43M
70. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo4.log           //没有分片,原始大小43M
71. [root@node2 ~]# ll -h /c4
72. 总用量 172M
73. -rw-r--r-- 2 root root 43M 8月   8 17:11 demo1.log           //没有分片,原始大小43M
74. -rw-r--r-- 2 root root 43M 8月   8 17:11 demo2.log           //没有分片,原始大小43M
75. -rw-r--r-- 2 root root 43M 8月   8 17:11 demo3.log           //没有分片,原始大小43M
76. -rw-r--r-- 2 root root 43M 8月   8 17:11 demo4.log           //没有分片,原始大小43M
77. [root@node3 ~]# ll -h /c4
78. total 43M
79. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo5.log           //没有分片,原始大小43M
80. [root@node4 ~]# ll -h /c4
81. total 43M
82. -rw-r--r-- 2 root root 43M Aug  8 17:11 demo5.log           //没有分片,原始大小43M

Gluster维护命令

查看GlusterFS卷

🍤查看卷的列表

1. [root@node1 ~]# gluster volume list
2. dis-rep
3. dis-stripe
4. dis-volume
5. rep-volume
6. stripe-volume

🍤查看所有卷的信息

1. [root@node1 ~]#gluster volume info
2. 
3. Volume Name: dis-rep
4. Type: Distributed-Replicate
5. Volume ID: 545d2438-5e07-4437-8943-eeda7a56c6bf
6. Status: Started
7. Snapshot Count: 0
8. Number of Bricks: 2 x 2 = 4
9. Transport-type: tcp
10. Bricks:
11. Brick1: node1:/c4
12. Brick2: node2:/c4
13. Brick3: node3:/c4
14. Brick4: node4:/c4
15. Options Reconfigured:
16. transport.address-family: inet
17. nfs.disable: on
18. 
19. ......//省略部分内容

🍤查看卷的状态

1. [root@node1 ~]# gluster volume status
2. Status of volume: dis-rep
3. Gluster process                             TCP Port  RDMA Port  Online  Pid
4. ------------------------------------------------------------------------------
5. Brick node1:/c4                             49155     0          Y       5147
6. Brick node2:/c4                             49155     0          Y       5003
7. Brick node3:/c4                             49154     0          Y       4796
8. Brick node4:/c4                             49154     0          Y       4796
9. Self-heal Daemon on localhost               N/A       N/A        Y       5167
10. Self-heal Daemon on node2                   N/A       N/A        Y       5023
11. Self-heal Daemon on node4                   N/A       N/A        Y       4816
12. Self-heal Daemon on node3                   N/A       N/A        Y       4816
13. 
14. Task Status of Volume dis-rep
15. ------------------------------------------------------------------------------
16. There are no active volume tasks
17. 
18. Status of volume: dis-stripe
19. Gluster process                             TCP Port  RDMA Port  Online  Pid
20. ------------------------------------------------------------------------------
21. Brick node1:/b3                             49154     0          Y       5086
22. Brick node2:/b3                             49154     0          Y       4969
23. Brick node3:/b3                             49153     0          Y       4762
24. Brick node4:/b3                             49153     0          Y       4762
25. 
26. Task Status of Volume dis-stripe
27. ------------------------------------------------------------------------------
28. There are no active volume tasks
29. 
30. Status of volume: dis-volume
31. Gluster process                             TCP Port  RDMA Port  Online  Pid
32. ------------------------------------------------------------------------------
33. Brick node1:/e6                             49152     0          Y       4913
34. Brick node2:/e6                             49152     0          Y       4876
35. 
36. Task Status of Volume dis-volume
37. ------------------------------------------------------------------------------
38. There are no active volume tasks
39. 
40. Status of volume: rep-volume
41. Gluster process                             TCP Port  RDMA Port  Online  Pid
42. ------------------------------------------------------------------------------
43. Brick node3:/d5                             49152     0          Y       4719
44. Brick node4:/d5                             49152     0          Y       4714
45. Self-heal Daemon on localhost               N/A       N/A        Y       5167
46. Self-heal Daemon on node2                   N/A       N/A        Y       5023
47. Self-heal Daemon on node3                   N/A       N/A        Y       4816
48. Self-heal Daemon on node4                   N/A       N/A        Y       4816
49. 
50. Task Status of Volume rep-volume
51. ------------------------------------------------------------------------------
52. There are no active volume tasks
53. 
54. Status of volume: stripe-volume
55. Gluster process                             TCP Port  RDMA Port  Online  Pid
56. ------------------------------------------------------------------------------
57. Brick node1:/d5                             49153     0          Y       4974
58. Brick node2:/d5                             49153     0          Y       4910
59. 
60. Task Status of Volume stripe-volume
61. ------------------------------------------------------------------------------
62. There are no active volume tasks

停止/删除卷

1. [root@node1 ~]# gluster volume stop dis-stripe          //停止卷
2. Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
3. volume stop: dis-stripe: success
4. [root@node1 ~]# gluster volume delete dis-stripe        //删除卷
5. Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
6. volume delete: dis-stripe: success

设置卷的访问控制

🍤下面设置只允许192.168.1.0和10.1.1.0网段的客户端访问dis-rep卷。

1. [root@node1 ~]# gluster volume set dis-rep auth.allow 192.168.1.*,10.1.1.* 
2. volume set: success
相关文章
|
4月前
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
107 5
|
2月前
|
程序员
后端|一个分布式锁「失效」的案例分析
小猿最近很苦恼:明明加了分布式锁,为什么并发还是会出问题呢?
36 2
|
2月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
53 2
|
6月前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
66 0
|
3月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
115 9
|
4月前
|
存储 固态存储 虚拟化
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN ESXi超融合HCI分布式存储数据恢复案例
近期,我司处理了一个由10台华为OceanStor存储组成的vSAN超融合架构,其中一台存储闪存盘出现故障,用户取下后用新的闪存盘代替,然后对该闪存盘所在的磁盘组进行重建,导致集群中一台使用0置备策略的虚拟机数据丢失。
98 6
|
3月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
75 0
|
5月前
|
存储 缓存 Linux
GlusterFs分布式文件系统
GlusterFs分布式文件系统
96 8
|
4月前
|
Java Nacos Docker
"揭秘!Docker部署Seata遇上Nacos,注册成功却报错?这些坑你不得不防!一网打尽解决秘籍,让你的分布式事务稳如老狗!"
【8月更文挑战第15天】在微服务架构中,Nacos搭配Seata确保数据一致性时,Docker部署Seata后可能出现客户端连接错误,如“can not connect to services-server”。此问题多由网络配置不当、配置文件错误或版本不兼容引起。解决策略包括:调整Docker网络设置确保可达性;检查并修正`file.conf`和`registry.conf`中的Nacos地址和端口;验证Seata与Nacos版本兼容性;修改配置后重启服务;参考官方文档和最佳实践进行配置。通过这些步骤,能有效排除故障,保障服务稳定运行。
341 0
|
4月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
59 0
下一篇
DataWorks