创建卷
创建分布式卷
🍤没有指定类型,默认创建的是分布式类型。
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