1 登录友普云管理平台... 2 2 对象存储服务订购... 2 3 对象存储使用方法... 3 3.1 使用 Cyberduck 客户端管理对象存储... 4 3.1.1 客户端下载... 4 3.1.2 新建连接... 4 3.1.3 新建容器... 6 3.1.4 上传文件 ( 对象 )... 7 3.1.5 下载容器或对象... 9 3.1.6 删除文件 ( 对象 )... 10 3.1.7 删除容器... 10 3.1.8 公有化容器... 11 3.1.9 私有化容器... 16 3.2 使用 swift client 管理对象存储... 20 3.2.1 安装 Swift Client... 20 3.2.2 环境变量配置... 20 3.2.3 新建容器... 20 3.2.4 查看容器列表... 20 3.2.5 上传对象... 20 3.2.6 查看对象列表... 21 3.2.7 下载对象... 21 3.2.8 公有化容器... 21 3.2.9 私有化容器... 22 3.2.10 删除对象... 22 3.2.11 删除容器... 23 3.3 使用 curl 管理对象存储... 23 3.3.1 获取 token 和 swift 存储网址... 23 3.3.2 新建容器... 24 3.3.3 查看容器列表... 24 3.3.4 上传对象... 24 3.3.5 下载对象... 25 3.3.6 公有化容器... 26 3.3.7 私有化容器... 26 3.3.8 删除对象... 27 3.3.9 删除容器... 28 1
1 登录友普云管理平台 首页 - 自服务中心 输入用户名和密码点击登录 2 对象存储服务订购 登陆后点击自服务中心的 服务订购 按钮 选择对象存储后点击 立即开通 按钮 ( 一个企业下只能订购一个对象存储, 只能企业管理员订购 ) 2
3 对象存储使用方法 Windows 和 Mac OSX 系统推荐使用 Cyberduck 客户端管理对象存储 Linux 系统下可通过安装 swift client 客户端或直接使用 curl 来管理对象存储 用户购买对象存储成功后可在自服务中心 - 服务控制台 - 对象存储, 获取用于连接到对象存储认证访问地址, 租户名和用户名 访问网址为 https://keystone.hpurcloud.com, 租户名为 2113, 用户名为 1616 如下图所示 3
3.1 使用 Cyberduck 客户端管理对象存储 3.1.1 客户端下载 自服务中心 - 服务控制台 - 对象存储提供了 Windows 和 Mac OSX 的下载链接点击即可下载 3.1.2 新建连接 1) 打开 Cyberduck 客户端, 点击新建连接 4
2) 在弹出对话框选择 swift 5
3) 输入服务器地址, 租户 id: 访问用户名, 登录密码点击连接 3.1.3 新建容器 1) 登录成功后, 空白处右键选择建立文件夹 ( 对象存储容器 ) 6
注意 : 必须先建立文件夹 ( 容器 ) 才能上传下载文件, 可创建多个文件夹 ( 容器 ) 2) 在弹出的对话框里输入要建立的文件夹的名字点击新建 3.1.4 上传文件 ( 对象 ) 1) 双击新创建的文件夹 test 进入文件夹 7
2) 空白处右键选择上传可上传文件 8
3) 上传完成后可找到上传的文件 3.1.5 下载容器或对象 选中容器或对象鼠标右键点击下载另存为选择目录即可 9
3.1.6 删除文件 ( 对象 ) 选中要删除的文件右键删除 3.1.7 删除容器 根目录下选择要删除的文件夹 ( 容器 ) 右键选择删除, 删除文件夹会删除文件夹和文件夹里的所有文件 10
3.1.8 公有化容器 用户的对象默认只能私人通过帐号密码登录访问, 容器公有化后可以通过提供 URL 供其他人访问 容器公有化后, 其他人可访问该容器下所有对象但没有写的权限 步骤如下 : 1) 选中要修改的容器, 右键, 点击 信息 11
2) 选择 元数据 对话框 3) 点击左下角的设置图标 12
4) 选择 Custom Header 13
5) 在 Name 输入 X-Container-Read,Value 输入.r:* 14
此时该容器下的所有文件为公有文件, 允许任何用户访问 : 6) 获取容器下的对象的共享链接 : 选中对象右键拷贝 URL 选择 HTTPS URL, 此时已复制到剪切板 7) 将 URL 粘贴到浏览器即可下载 15
3.1.9 私有化容器 若用户想要取消容器的公用访问, 可在元数据里删除 X-Container-Read 这条元数据 步骤如下 : 1) 选中要修改的容器, 右键, 点击 信息 16
2) 选择 元数据 对话框后单击 X-Container-Read 17
3) 点击左下角的设置图标 18
4) 选择移除 19
3.2 使用 swift client 管理对象存储 Swift Client 是 openstack 官方提供的管理 swift 对象存储的客户端 3.2.1 安装 Swift Client Ubuntu 和 Debian 下 : #apt-get install python-swiftclient Centos 和 redhat 下 : #yum install epel-release #yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm #yum install python-swiftclient 3.2.2 环境变量配置 编辑文本 swiftrc, 输入以下内容 : export OS_TENANT_NAME=2113 export OS_USERNAME=1616 export OS_PASSWORD=PassWord export OS_AUTH_URL=https://keystone.hpurcloud.com/v2.0 shell 执行 source swiftrc 3.2.3 新建容器 新建容器 swiftclient #swift post swiftclient 3.2.4 查看容器列表 #swift list 3.2.5 上传对象 上传文件 swiftrc 到容器 swiftclient # swift upload swiftclient./swiftrc 20
3.2.6 查看对象列表 查看容器 swiftclient 下的所有对象 #swift list swiftclient lh 3.2.7 下载对象 下载对象 swiftrc 到 /tmp 目录 #swift download swiftclient swiftrc -o /tmp/swiftrc 3.2.8 公有化容器 1) 公有化容器 swiftclient, 若不存在容器 swiftclient 会新建容器 #swift post swiftclient -r.r:* 查看容器状态可看到容器为公有化状态 2) 获取访问公共访问 URL 21
3) 验证是否可以通过 URL 访问 3.2.9 私有化容器 1) 私有化容器 swiftclient #swift post swiftclient -r "" 2) 验证容器已转换为私有化 3) 此时已无法通过 URL 访问对象 swiftrc 3.2.10 删除对象 删除容器 swiftclient 下的文件 swiftrc #swift delete swiftclient swiftrc 22
3.2.11 删除容器 删除容器 swiftclient #swift delete swiftclient 3.3 使用 curl 管理对象存储 一般发行版的 linux 都自带 curl 工具 3.3.1 获取 token 和 swift 存储网址 1) 获取 swift 存储 url curl -s -X POST https://keystone.hpurcloud.com/v2.0/tokens \ -H "Content-Type: application/json" \ -d '{"auth": {"tenantname": "2113", "passwordcredentials": {"username": "1616", "password": "PassWord"}}}' \ python -m json.tool grep publicurl grep swift Swift 存储 URL 为 : https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707 2) 获取 token: curl -s -X POST https://keystone.hpurcloud.com/v2.0/tokens \ -H "Content-Type: application/json" \ -d '{"auth": {"tenantname": "2113", "passwordcredentials": {"username": "1616", "password": "PassWord"}}}' \ python -m json.tool grep token A 5 获取的 Token 为 3f65ee6adb1a43df91af48a1b1a69823 23
3.3.2 新建容器 执行命令新建容器 curl curl -i -X PUT -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 3.3.3 查看容器列表 curl -i -X GET -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707 3.3.4 上传对象 1) 上传文件 swiftrc 到容器 curl: curl -k -i -X PUT -T "swiftrc" \ -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707\ /curl/swiftrc 24
2) 查看对象列表 curl -i -X GET -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 3.3.5 下载对象 下载容器 curl 对象 swiftrc 到 /tmp 目录 : curl -X GET -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707\ /curl/swiftrc >/tmp/swiftrc 25
3.3.6 公有化容器 1) 公有化容器 curl: curl -k -i -X POST \ -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ -H "X-Container-Read:.r:*" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 2) 查看容器公有化状态 : curl -k -i -X HEAD -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 3) 验证是否可以通过 URL 访问 3.3.7 私有化容器 1) 私有化容器 swiftclient 26
2) 查看容器私有化状态 curl -k -i -X HEAD -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 3) 验证通过 URL 下载对象 此时已无法通过 URL 下载 3.3.8 删除对象 1) 删除对象 swiftrc curl -k -i -X DELETE -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707\ /curl/swiftrc 2) 查看容器 curl 的对象列表 27
curl -i -X GET -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 可以看到 swiftrc 文件已成功删除 3.3.9 删除容器 1) 删除容器 curl curl -k -i -X DELETE -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707/curl 2) 查看容器列表 curl -i -X GET -H "X-Auth-Token:3f65ee6adb1a43df91af48a1b1a69823" \ https://swift.hpurcloud.com/v1/auth_50f6737f4e7241348ff9e918a41c0707 28
可以看到容器 curl 已删除 29