Glusterfs的常用命令
1 服务器节点
#gluster peer status //查看所有节点信息,显示时不包括本节点
#gluster peer probe NODE-NAME //添加节点
#gluster peer detach NODE-NAME //移除节点,需要提前将该节点上的brick移除
2 glusterd服务
/etc/init.d/glusterd start //启动glusterd服务
/etc/init.d/glusterd stop //关闭glusterd服务
/etc/init.d/glusterd status //查看glusterd服务
3 卷管理
3.1 创建卷
<1>复制卷
语法: gluster volume create NEW-VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK
示例1:gluster volume create test-volume replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick
<2>条带卷
语法:gluster volume create NEW-VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK…
示例:gluster volume create test-volume stripe 2 transport tcp server1:/exp1/brick server2:/exp2/brick
<3>分布式卷
语法: gluster volume create NEW-VOLNAME [transport tcp | rdma | tcp, rdma] NEW-BRICK
示例1:gluster volume create test-volume server1:/exp1/brick server2:/exp2/brick
示例2:gluster volume create test-volume transport rdma server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<4>分布式复制卷
语法: gluster volume create NEW-VOLNAME [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK…
示例: gluster volume create test-volume replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<5>分布式条带卷
语法:gluster volume create NEW-VOLNAME [stripe COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK…
示例:gluster volume create test-volume stripe 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
<6>条带复制卷
语法:gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT] [transport tcp | rdma | tcp, rdma] NEW-BRICK…
示例:gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1/brick server2:/exp2/brick server3:/exp3/brick server4:/exp4/brick
3.2 启动卷
#gluster volume start test-volume
3.3 停止卷
#gluster volume stop test-volume
3.4 删除卷
#gluster volume delete test-volume //先停止卷后才能删除
3.5 查看卷
#gluster volume list /列出集群中的所有卷/
#gluster volume info [all] /查看集群中的卷信息/
#gluster volume status [all] /查看集群中的卷状态/
#gluster volume status [detail| clients | mem | inode | fd]
3.6 配置卷
#gluster volume set
3.7 扩展卷
#gluster volume add-brick
注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。
3.8 收缩卷
先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除:
#gluster volume remove-brick start
在执行了start之后,可以使用status命令查看移除进度:
#gluster volume remove-brick status
不进行数据迁移,直接删除该Brick:
#gluster volume remove-brick commit
注意,如果是复制卷或者条带卷,则每次移除的Brick数必须是replica或者stripe的整数倍。
3.9 迁移卷
使用start命令开始进行迁移:
#gluster volume replace-brick start
在数据迁移过程中,可以使用pause命令暂停迁移:
#gluster volume replace-brick pause
在数据迁移过程中,可以使用abort命令终止迁移:
#gluster volume replace-brick abort
在数据迁移过程中,可以使用status命令查看迁移进度:
#gluster volume replace-brick status
在数据迁移结束后,执行commit命令来进行Brick替换:
#gluster volume replace-brick commit
3.10 重新均衡卷
不迁移数据:
#gluster volume rebalance lay-outstart
#gluster volume rebalance start
#gluster volume rebalance startforce
#gluster volume rebalance status
#gluster volume rebalance stop
4 Brick管理
4.1 添加Brick
#gluster volume add-brick test-volume 192.168.1.{151,152}:/mnt/brick2
4.2 删除Brick
若是副本卷,则移除的Bricks数是replica的整数倍
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 start
在执行开始移除之后,可以使用status命令进行移除状态查看。
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 status
使用commit命令执行Brick移除,则不会进行数据迁移而直接删除Brick,符合不需要数据迁移的用户需求。
#gluster volume remove-brick test-volume 192.168.1.{151,152}:/mnt/brick2 commit
4.3 替换Brick
任务:把192.168.1.151:/mnt/brick0 替换为192.168.1.151:/mnt/brick2
<1>开始替换
#gluster volume replace-brick test-volume 192.168.1.:/mnt/brick0 …152:/mnt/brick2 start
异常信息:volume replace-brick: failed: /data/share2 or a prefix of it is already part of a volume
说明 /mnt/brick2 曾经是一个Brick。具体解决方法
#rm -rf /mnt/brick2/.glusterfs
#setfattr -x trusted.glusterfs.volume-id /mnt/brick2
#setfattr -x trusted.gfid /mnt/brick2
//如上,执行replcace-brick卷替换启动命令,使用start启动命令后,开始将原始Brick的数据迁移到即将需要替换的Brick上。
<2>查看是否替换完
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 …152:/mnt/brick2 status
<3>在数据迁移的过程中,可以执行abort命令终止Brick替换。
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 …152:/mnt/brick2 abort
<4>在数据迁移结束之后,执行commit命令结束任务,则进行Brick替换。使用volume info命令可以查看到Brick已经被替换。
#gluster volume replace-brick test-volume 192.168.1.151:/mnt/brick0 .152:/mnt/brick2 commit
#此时我们再往 /sf/data/vs/gfs/rep2上添加数据的话,数据会同步到 192.168.1.152:/mnt/brick0和192.168.1.152:/mnt/brick2上。而不会同步到
192.168.1.151:/mnt/brick0 上。
5 文件系统扩展属性
获取文件扩展属性
getfattr -d -m . -e hex filename
getfattr -d -m “trusted.afr.*” -e hex filename
- Docker Swarm集群初探
- 数据库逻辑设计
- 06.移动先行之谁主沉浮----我的代码我来写(Xaml的优势)
- [快学Python3]迭代器和生成器
- [快学Python3]INI文件读写
- Vijos P1131 最小公倍数和最大公约数问题【暴力】
- Vjios P1736 铺地毯【暴力,思维】
- Vijos P1116 一元三次方程求解【多解,暴力,二分】
- Python Selenium设计模式-POM
- [快学Python3]HTTP处理 - urllib模块
- Vijos P1786 质因数分解【暴力】
- 模仿百度新闻列表底部的“加载更多”
- Vijos P1035 贪婪的送礼者【模拟】
- Vijos P1114 FBI树【DFS模拟,二叉树入门】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 升级MySQL InnoDB Cluster的元数据
- 数据分析项目-数据分析岗位近况分析
- Eureka 的服务发现 Discovery 简单配置
- python自动化之JS处理滚动条
- Docker 中启动 ZooKeeper
- 将MySQL复制限制为基于行的事件
- 在tinycorelinux上安装lxc,lxd (1)
- Ubuntu16.04下安装python3.6
- Mybatis 注解
- Python如何使用Matplotlib的作图
- 在tinycolinux上组建子目录引导和混合32位64位的rootfs系统
- 微服务中的负载均衡简单实现
- 3分钟短文:素未谋面,Laravel数据库模型初阶入门
- 在tinycolinux上编译seafile
- Alink漫谈(二十一) :回归评估之源码分析