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 <VOLNAME> <OPTION> <PARAMETER>
3.7 扩展卷
# gluster volume add-brick <VOLNAME> <NEW-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
Glusterfs的常用命令的更多相关文章
- glusterFS的常用命令 (转)
1. 启动/关闭/查看glusterd服务 # /etc/init.d/glusterd start # /etc/init.d/glusterd stop # /etc/init.d/g ...
- Gluster 常用命令
Gluster 常用命令1 服务器节点# gluster peer status //查看所有节点信息,显示时不包括本节点 # gluster peer probe NODE-NAME //添加节点 ...
- Linux 常用命令(持续补充)
常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...
- LVM基本介绍与常用命令
一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...
- Linux学习笔记(一):常用命令
经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- 【原】npm 常用命令详解
今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...
- npm常用命令
npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...
- Git 常用命令
一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...
随机推荐
- Runtime 全方位装逼指南
Runtime是什么?见名知意,其概念无非就是“因为 Objective-C 是一门动态语言,所以它需要一个运行时系统……这就是 Runtime 系统”云云.对博主这种菜鸟而言,Runtime 在实际 ...
- TortoiseSVN切换更改登录账号密码
TortoiseSVN切换更改登录账号密码 方法: 在TortoiseSVN的设置对话框中,选择“已保存数据”,在“认证数据”那一行点击“清除”按钮,清楚保存的认证数据,再检出的时候就会重新跳出用户名 ...
- Pycharm PEP8代码编写规范 选择性忽略
http://pep8.readthedocs.io/en/latest/intro.html#configuration http://blog.csdn.net/zgljl2012/article ...
- Java实现二叉树先序,中序,后序,层次遍历
一.以下是我要解析的一个二叉树的模型形状.本文实现了以下方式的遍历: 1.用递归的方法实现了前序.中序.后序的遍历: 2.利用队列的方法实现层次遍历: 3.用堆栈的方法实现前序.中序.后序的遍历. . ...
- SQL Server性能优化(7)理解数据库文件组织
一.基本单位"页" SQL Server是用8KB的页来存储数据.物理I/O操作也是在页级执行.页的种类有很多,具体参考(MSDN).我们关注更多的是数据页的结构,包括三部 ...
- JS获取当前时间和日期
当前时间和日期 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1 ...
- vue父组件传参给子组件
其实组件之间传参有很多种方法: 1.通过本地存储 2.使用vuex状态管理 今天记录一下第三种方法 1.首页我们先创建一个项目(创建项目自行百度) 2.打开项目,在components文件夹下新建一个 ...
- [Java初探07]__关于面向对象的简单认识
前言 类和对象,在我们学习Java语言的过程中,它们无时无刻不存在着,在我们还远未详细弄明白它们的意义之前,在我们不知不觉的下意识里,我们都会直接或间接的用到它们,这是因为Java是一门面向对象的语言 ...
- 【java初探外篇01】——关于Java修饰符
本文记录在学习Java语言过程中,对碰到的修饰符的一些疑问,在这里具体的拿出来详细学习和记录一下,以作后续参考和学习. Java修饰符 Java语言提供了很多修饰符,但主要分两类: 访问修饰符 非访问 ...
- 使用node和express+mongodb实现数据增删改功能
2018即将过去,2019即将来临,前端技术不断在在更新,学的东西越来越多.我们只有不断的学习,才不能被淘汰.在前后端分离的一个时代,后端提供接口,前端调用接口,逻辑判断,每个都是独立的工作.如果自己 ...