skylake-client

上一篇文章介绍了skylable Sx的集群管理,本文将介绍一下skylable的客户端操作。 为了集群里用户之间更有明确的访问控制,skylable允许你使用sxinit命令来配置多个用户或者集群的访问配置文件。 访问配置文件格式为:sx://[user_name@]cluster_name,


上一篇文章介绍了skylable Sx的集群管理,本文将介绍一下skylable的客户端操作。


为了集群里用户之间更有明确的访问控制,skylable允许你使用sxinit命令来配置多个用户或者集群的访问配置文件。访问配置文件格式为:sx://[user_name@]cluster_name,user_name省略的话,集群会询问你的。


1.为用户创建一个access profile:

现在假如给用户jeff创建一个访问配置文件,命令如下:

sxinit -l 192.168.13.117 -A @jeff sx://jeff@annoroad

参数-A是起别名,创建完之后会出现:


2.删除一个用户为jeff的access profile:

sxinit --delete @jeff


3.文件操作

因为Sx是一个对象存储技术,不是一个文件系统,所以它们没有一个真实的目录。每个文件(对象)创建时会被指派一个全路径来区别它,而且它不是树文件结构的一部分。Sx只是模仿了我们见到的目录结构而已。像/path,/path/file1,/path/file2都是一个合法的文件,/path不是一个目录。


3.1 sxcp:上传和下载命令

通过sxcp你可以实现向集群的上传和下载操作,同时还支持不同集群之间的复制。使用sxcp命令时,默认每个文件的上传和下载进度会显示出来,传输速度和剩余时间也将一起会被显示。sxcp还实现了去重复制和断点功能以此节省带宽。通过-r可以对文件夹进行迭代操作。

sxcp -r  /home/yyx/ubuntuisos @jeff/vol-jeff/ubuntu_isos

其中ubuntuisos是要上传的文件夹,ubuntu_isos是重新命名的文件夹,当然你也可以保持文件夹名不变,只要将命令改成:

sxcp -r /home/yyx/ubuntuisos @jeff/vol-jeff/ubuntuisos


3.2 列出所有的卷和文件

使用sxls你可以访问你有权限访问的卷及其所有文件,假如你要访问用户jeff里存放的所有卷,命令如下:

sxls -lH @jeff


再想访问用户jeff之下的volume里的文件只要把volume名字补全就行:

sxls -lH @jeff/vol-jeff


还可以通过加一个参数-r来递归列出volume下的所有文件:



3.3 sxmv:移动或者重命名文件

sxmv可以移动单个或者批量文件到新的位置。可以重命名单个文件或者移动整个组到其他集群。和mv命令不同的是当你重命名文件夹时,你需要加一个-r,因为Sx没有真实的目录。所以要重命名一个文件夹,必须重命名该文件夹下所有的文件名称。

假如想把用户jeff下的iso_jeff文件夹改成i_jeff:

sxmv -r @jeff/vol-jeff/iso_jeff @jeff/vol-jeff/i_jeff

验证一下:



3.4 sxrm移除文件或者文件夹

与Linux命令里的rm没有什么区别,可以通过-r来删除文件夹,不支持-rf强制删除。


3.5 管理文件版本

Sx在创建volume时可以通过-m来指定volume下的文件保存的版本数,假如m=3,则保存该volume下文件的最新的三版本。如图:


此时我们通过其他诸如sxcp,sxls命令只能访问到文件的最新版本,要想访问到旧的版本,需要命令sxrev copy -r:



假如你想删除有多重版本的文件时可以使用delete命令:如果不带-r参数删除指定版本,命令行则会问你删除几个版本:



假如你想改变版本次数可使用sxvol modify --max-revisions=5 @jeff/vol-jeff-rev来改变版本数目。


3.6 对于那些支持FUSE的系统,Sx还提供了一个叫sxfs的工具,它允许你挂载远程volume作为当地的文件系统。

首先创建一个挂载点:

mkdir /root/vol-jeff

使用sxfs命令挂载:

sxfs @jeff/vol-jeff /root/vol-jeff


先写到这里了,下篇将会讲解两个细节问题。





知秋君
上一篇 2024-08-01 21:36
下一篇 2024-08-01 21:02

相关推荐