四 skylable集群管理
来源:互联网 发布:mac apowersoft 编辑:程序博客网 时间:2024/05/29 10:27
上一篇介绍了集群的部署,接下来讲一讲集群的管理。
集群管理包括:
一、用户管理
二、卷管理
三、节点管理
四、区域配置
五、集群备份和还原
六、集群自愈
一、用户管理
要想显示某个node的状态信息可以运行sxserver status命令,要想展示某个node的配置信息可以运行sxsetup --info
集群里任意一个node都可以通过sxinit命令成为管理员,一旦成为管理员,其他node都为非管理员,即正常node。
1.指定某个node为管理员
具体命令:sxinit --key -l 192.168.1.111 -A @cluster sx://admin@mycluster
解释如下:提供node的key和IP,并为集群起个别名@cluster。
2.用户创建
拥有管理员权限的node可以创建其他node为他的user,使用sxacl useradd jeff @cluster命令来添加jeff用户。创建的用户拥有一个由密码产生的key,用户jeff可以与admin或者其他用户进行验证性的通信。
3.列出用户
只有管理员可以运行sxacl userlist @cluster命令查看所有用户。
4.获得用户的key
sxacl usergetkey jeff @cluster
5.任何时候你都可以为用户重新设置key值,只要用户隶属于集群就可以修改自己的key,admin还可以强制改变所属用户的key。
sxacl usernewkey jeff @cluster
6.移除用户(随着用户被移除用户所属的卷会被管理员分配给其他用户存储)
sxacl userdel jeff @cluster
二、卷管理
卷是Sx存储的逻辑划分,类似于C、D盘盘符,可以指定卷的大小和访问者,卷管理的文件还可以被压缩和加密,只有admin才可以创建和移除卷。
1.创建一个空白volume
sxvol create -o jeff -r 2 -s 100G @cluster/vol-jeff
-o指定了拥有者jeff,-r表示所属文件被复制2份,-s指定卷的大小,@cluster/vol-jeff指定了卷的名称。
2.创建一个过滤的卷
主要是在客户端与集群进行交互的时候需要的保护措施,可以在任意一个node中通过sxvol filter --list查看可以获得的filter列表。如图:
可以看出有四个可用的filter,下面介绍一个加密功能的卷:
sxvol create -o jeff -r 2 -s 100G -f aes256 @cluster/vol-jeff-aes
第一次访问加密卷的时候会让你创建一个密码。
3.列出所有的volumes
admin列出的volume会列出集群里所有的volume;普通用户列出的volume只是用户能访问的所有volume。
sxls -lH @cluster -l表示会显示更多的信息-H表示显示为方便阅读的信息
4.管理volume权限
volume的权限有四种,
一:None 二、READ 三、WRITE 四、READ AND WRITE
admin和volume拥有者拥有授权和撤销给其他用户的权利,volume的拥有者还可以授权给其他用户的管理卷的权利。显示某卷的权限:
sxacl volshow @cluster/vol-jeff
完全授权给用户bob可用如下命令:
sxacl volperm --grant=read,write bob @cluster/vol-jeff
这样用户bob就可以对卷vol-jeff进行上传和下载操作了。想撤销bob的写权限可以这样:
sxacl volperm --revoke=write bob @cluster/vol-jeff
这样用户bob就只可以对卷vol-jeff进行只读操作了。
5.改变volume的大小
注意改变的大小不能超过node的size。
sxvol modify --size 60G @cluster/vol-jeff
三、节点管理
1.远程集群状态
admin要想获得集群的信息:
sxadm cluster --info @cluster
还可以以另一种方式展示每个node信息:
sxadm cluster --list-nodes -H @cluster
2.rebanalance mode
在对集群进行更改后,会自动进入rebalance mode,这个模式会让数据传输到新的集群架构中。在此期间,所有的基于卷的数据操作都可以正常执行,只是集群自身的改变将不被接受。最重要的一点,在进行这个模式时要保证所有的node都是online状态,rebalance mode不可取消也不可以对集群做任何变化。
3.集群的整体设置大小
比如想给有2个node的集群总体增加200G空间,可使用命令:
sxadm cluster --resize +200G @cluster
集群会自动平均分配100G到每个node。
4.node设置大小
在给单独node设置大小之前得先获得一些信息:
sxadm cluster --info @cluster
注意到Current configuration里列出了两个node的大小(用字节表示),要想改变某个node的大小需要使用:
sxadm cluster --modify 21471836480/192.168.13.28/767dca5e-0b41-45e0-8a47-0035d541a0460737418240/192.168.13.117/f1899af1-9bde-4d75-b29b-e5b5a507f72f @cluster
之后会进入rebanalance mode。
5.node移除
加入现在想移除192.168.13.28节点,有2种方式:
方式一:sxsetup --deactivate
方式二:sxadm cluster --modify 10737418240/192.168.13.117/f1899af1-9bde-4d75-b29b-e5b5a507f72f @cluster
6.创建一个bare node
bare node是一个即将加入集群的node,创建时需要加入参数--bare,注意bare node创建时没有唯一标识UUID,它只会在加入集群后才会被分配。
7.批量操作node
例如想在有2个node的集群再添加2个node,首先创建2个bare node,容量分别为1T,IP分别为192.168.13.127,192.168.13.456,命令如下:
sxadm cluster --modify 21471836480/192.168.13.28/767dca5e-0b41-45e0-8a47-0035d541a04610737418240/192.168.13.117/f1899af1-9bde-4d75-b29b-e5b5a507f72f 1T/192.168.13.127 1T/192.168.13.456 @cluster
四、区域配置
skylable Sx提供了机架感知能力,所以可以给node分区域管理。通过sxadm clister --modify命令:
sxadm cluster --modify 21471836480/192.168.13.28/767dca5e-0b41-45e0-8a47-0035d541a04610737418240/192.168.13.117/f1899af1-9bde-4d75-b29b-e5b5a507f72f
“Rack1:767dca5e-0b41-45e0-8a47-0035d541a046;Rack2:f1899af1-9bde-4d75-b29b-e5b5a507f72f ” @cluster
这样可以把192.168.13.28分配到rack1,把192.168.13.117分配给rack2。五、集群备份和还原
1.备份:
sxdump --backup-dir /var/backup/sx sx://admin@annoroad
过程中会产生2个脚本sx-backup.sh和sx-restore.sh,加密卷里的数据不会备份到/var/backup/sx,你必须手动转移。
2.还原
运行sx-restore.sh和进行一些必须的配置。
六、集群自愈
1.自动检测
集群在运行过程中可能会出现某些node失效的情况,skylable Sx可以通过心跳机制感知,Raft算法自动使他们失效。这些功能只能在有3个node以上的集群中生效。
2.只读模式设置
sxadm cluster --set-mode=ro @cluster
恢复:
sxadm cluster --set-mode=rw @cluster
3.check storage integrity
前提得是只读模式
sxadm node --check 'storage path'
4.压缩数据
sxsetup --compact
必要时使用
sxadm cluster --force-gc @cluster
5.数据恢复
在某个node可能失效的情况下,你可以尝试数据恢复:
sxadm node --extract=/tmp/RECOVERED 'storage path'
- 四 skylable集群管理
- 三 skylable集群部署
- <四>基于淘宝Fourinone实现集群管理demo
- Solr(四)——Java使用solrj管理solr集群
- 一 skylable简介
- 五 skylable客户端操作
- 六 skylable进阶
- 集群管理
- 二 skylable安装与更新
- Linux7 下Hadoop集群用户管理方案之四 CDH集成Kerberos
- HP-UX 集群管理
- Cassandra集群管理
- Zookeeper 集群管理应用
- 利用zookeeper管理集群
- hbase 集群管理脚本
- spark集群管理简述
- Hadoop集群管理
- 管理oracle集群组件
- Arbitrage(bellman,最长路径)
- Unity集成内嵌网页插件-支持Android和IOS
- 【旧代码整理】uri路由处理的重要组成部分 Model_Route
- WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析
- cython,加速python,保护代码(3):扩展文件 .pxd
- 四 skylable集群管理
- bootstrap模态框
- xml解析 SAX
- 剑指offer-5-面试36:数组中的逆序对(时间效率和空间效率的平衡)
- Oracle expdp/impdp导出导入命令及数据库备份
- L1-009. N个数求和
- #159 – Creating a Read-Only Dependency Property(创建一个只读的依赖属性)
- 如何开发jQuery自定义插件二
- c++11新特性