目录
前言:
Ceph简介
Ceph特点
Ceph架构
Ceph核心组件及概念介绍
1、部署ceph实验环境:
2 、部署ceph集群
3、创建Ceph块存储
4、块存储应用
5、挂载Ceph文件系统
6、创建对象存储服务器
前言:
Ceph简介
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
Ceph特点
Ceph架构
支持三种接口:
Ceph核心组件及概念介绍
MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务
1、部署ceph实验环境:
准备四台KVM虚拟机,其中三台作为存储集群节点,一台安装为客户端,实现如下功能:
创建1台客户端虚拟机
创建3台存储集群虚拟机
配置主机名、IP地址、YUM源
修改所有主机的主机名
配置无密码SSH连接
配置NTP时间同步
创建虚拟机磁盘
步骤一:安装前准备
1)物理机为所有节点配置yum源,注意所有的虚拟主机均需要挂载安装光盘。
[root@root9pc01 ~]# yum -y install vsftpd
[root@root9pc01 ~]# mkdir /var/ftp/ceph
[root@root9pc01 ~]# mount -o loop \
rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph
[root@root9pc01 ~]# systemctl restart vsftpd
2)修改所有节点yum配置(以node1为例)
[root@node1 ~]# cat /etc/yum.repos.d/ceph.repo
[mon]
name=mon
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools
gpgcheck=0
3)修改/etc/hosts并同步到所有主机。
[root@node1 ~]# cat /etc/hosts
... ...
192.168.4.10 client
192.168.4.11 node1
192.168.4.12 node2
192.168.4.13 node3
[root@node1 ~]# for i in 10 11 12 13
> do
> scp /etc/hosts 192.168.2.$i:/etc/
> done
3)配置无密码连接。
[root@node1 ~]# ssh-keyscan node{1..6} >> /root/.ssh/known_hosts ------可以让ssh时不需要再yes确认
[root@node1 ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
[root@node1 ~]# for i in 10 11 12 13
> do
> ssh-copy-id 192.168.4.$i
> done
步骤二:配置NTP时间同步
1)创建NTP服务器。
[root@client ~]# yum -y install chrony
[root@client ~]# cat /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
allow 192.168.4.0/24
local stratum 10
[root@client ~]# systemctl restart chronyd
2)其它所有阶段与NTP服务器同步时间(以node1为例)。
[root@node1 ~]# cat /etc/chrony.conf
server 192.168.4.10 iburst
[root@node1 ~]# systemctl restart chronyd
步骤三:准备存储磁盘
使用virt-manager为虚拟机添加磁盘。
[root@root9pc01 ~]# virt-manager
2 、部署ceph集群
步骤一:部署软件
1)在node1安装部署工具,学习工具的语法格式。
[root@node1 ~]# yum -y install ceph-deploy
2)创建目录
[root@node1 ~]# mkdir ceph-cluster-----创建工作目录
[root@node1 ~]# cd ceph-cluster/------进入工作目录
步骤二:部署Ceph集群
1)创建Ceph集群配置。--------一定要在工作目录,要不然系统找不到
[root@node1 ceph-cluster]# ceph-deploy new node1 node2 node3
2)给所有节点安装软件包。--------一定要在工作目录,要不然系统找不到
[root@node1 ceph-cluster]# ceph-deploy install node1 node2 node3
3)初始化所有节点的mon服务(主机名解析必须对)--------一定要在工作目录,要不然系统找不到
[root@node1 ceph-cluster]# ceph-deploy mon create-initial
步骤三:创建OSD
1)准备磁盘分区lsblk
[root@node1 ~]# for i in {1..3}------对node{1..3}同时进行分区 > do > ssh node$i parted /dev/vdb mklabel gpt > done
[root@node1 ~]# for i in {1..3}; do ssh node$i parted /dev/vdb mkpart primary 1M 50%; done
[root@node1 ~]# for i in {1..3}; do ssh node$i parted /dev/vdb mkpart primary 50% 100%; done
[root@node1 ~]# for i in {1..3}--------为分区设置所属组和所属者为ceph > do > ssh node$i chown ceph.ceph /dev/vdb1 > done [root@node1 ~]# for i in {1..3}; do ssh node$i chown ceph.ceph /dev/vdb2; done
也可以:
vim /etc/udev/rules.d/90-cepdisk.rules
ACTION=="add",KERNEL=="vdb?",OWNER="ceph",GROUP="ceph"
for i in {2..3}; do scp /etc/udev/rules.d/90-cepdisk.rules node$i:/etc/udev/rules.d/; done
//这两个分区用来做存储服务器的日志journal盘
2)初始化清空磁盘数据(仅node1操作即可)--------一定要在工作目录,要不然系统找不到
[root@node1ceph-cluster ]# ceph-deploy disk zap node1:vdc node1:vdd
[root@node1 ceph-cluster]# ceph-deploy disk zap node2:vdc node2:vdd
[root@node1 ceph-cluster]# ceph-deploy disk zap node3:vdc node3:vdd
3)创建OSD存储空间(仅node1操作即可)--------一定要在工作目录,要不然系统找不到
[root@node1 ceph-cluster]# ceph-deploy osd create node1:vdc:/dev/vdb1 node1:vdd:/dev/vdb2
//创建osd存储设备,vdc为集群提供存储空间,vdb1提供JOURNAL日志,
//创建osd存储设备,vdd为集群提供存储空间,vdb2提供JOURNAL日志
[root@node1 ceph-cluster]# ceph-deploy osd create node2:vdc:/dev/vdb1 node2:vdd:/dev/vdb2
[root@node1 ceph-cluster]# ceph-deploy osd create node3:vdc:/dev/vdb1 node3:vdd:/dev/vdb2
步骤四:验证测试
1) 查看集群状态
[root@node1 ~]# ceph -s
正常显示:
[root@node1 ceph-clu]# ceph -s cluster 1de07da3-cabd-4355-8b20-7b19bce6157e health HEALTH_OK monmap e1: 3 mons at {node1=192.168.4.1:6789/0,node2=192.168.4.2:6789/0,node3=192.168.4.3:6789/0} election epoch 6, quorum 0,1,2 node1,node2,node3 osdmap e34: 6 osds: 6 up, 6 in flags sortbitwise pgmap v70: 64 pgs, 1 pools, 0 bytes data, 0 objects 202 MB used, 61170 MB / 61373 MB avail 64 active+clean
若没有显示healthy_ok,则按下面方法处理:
错例1:
ceph -s
若出现下面错误:
osd create 创建OSD存储空间,如提示run 'gatherkeys'
则需要执行ceph-deploy gatherkeys node1 node2 node3
systemctl restart ceph\8.service ceph\*.tartget--------在所有节点操作或仅在失败节点重起服务
错例2:ceph -s
health HEALTH_WARN
clock skew detected on mon.node2, mon.node3
Monitor clock skew detected
vim /etc/ceph/ceph.conf
mon clock drift allowed = 2
mon clock drift warn backoff = 30
cp /etc/ceph/ceph.conf /root/ceph-cluster
cd /root/ceph-cluster
ceph-deploy --overwrite-conf admin node2 node3
systemctl restart ceph-mon@node1-----node1上执行
systemctl restart ceph-mon@node2-----node2上执行
systemctl restart ceph-mon@node3-----node3上执行
若遇到别的错误,则按下面的方法来恢复:
重新部署ceph集群:
在每个节点上执行:
停止服务:
[root@node1 ceph]# systemctl stop ceph-\*
[root@node2 ceph]# systemctl stop ceph-\*
[root@node3 ceph]# systemctl stop ceph-\*
卸载ceph软件:
仅在node1执行下面的命令:
[root@node1 ceph-cluster]# ceph-deploy purge node1 node2 node3
卸载OSD
在每个节点上执行:
[root@node1 ceph-cluster]# umount /dev/vdc1
[root@node1 ceph-cluster]# umount /dev/vdd1
删除ceph的数据
每个节点都执行:
[root@node1 ceph-cluster]# rm -rf /var/lib/ceph /
node1上添加规则:
[root@node1 ceph]# cat /etc/udev/rules.d/100-ceph.rules
ACTION=="add", KERNEL=="vdb?",SUBSYSTEM=="block", OWNER=ceph,GROUP=ceph
[root@node2 rules.d]# systemctl restart systemd-udev-trigger.service
3、创建Ceph块存储
步骤一:创建镜像
1)查看存储池。
[root@node1 ~]# ceph osd lspools-----------查看存储池(默认为rbd)
0 rbd,--------0为编号,rbd为存储池名
[root@node1 ceph-clu]# ceph osd pool get rbd size
size: 3----------3副本
2)创建镜像、查看镜像 语法结构; rbd create 池名/镜像名 --image-feature layering --size 大小
[root@node1 ~]# rbd create rbd/demo-image --image-feature layering --size 10G--------原型:rbd create 镜像名 --image-feature layering --size 大小
[root@node1 ~]# rbd create rbd/image --image-feature layering --size 10G-----image-feature layering特征为分层
[root@node1 ~]# rbd list-------列出所有镜像
[root@node1 ~]# rbd info demo-image----查看相关镜像的信息
rbd image 'demo-image':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.d3aa2ae8944a
format: 2
features: layering
步骤二:动态调整
1)缩小容量
[root@node1 ~]# rbd resize --size 7G image --allow-shrink-------------将镜像名为image的镜像大小缩小为7G
[root@node1 ~]# rbd info image----查看相关镜像的信息
2)扩容容量
[root@node1 ~]# rbd resize --size 15G image-------------将镜像名为image的镜像大小扩展为15G
[root@node1 ~]# rbd info image
步骤三:通过KRBD访问
1)集群内将镜像映射为本地磁盘
[root@node1 ~]# rbd map demo-image----将镜像影射为本地磁盘
/dev/rbd0
[root@node1 ~]# lsblk
… …
rbd0 251:0 0 10G 0 disk
[root@node1 ~]# mkfs.xfs /dev/rbd0
[root@node1 ~]# mount /dev/rbd0 /mnt
2)客户端通过KRBD访问
#客户端需要安装ceph-common软件包
[root@client ~]# yum -y install ceph-common
#拷贝配置文件(否则不知道集群在哪)
[root@client ~]# scp 192.168.4.11:/etc/ceph/ceph.conf /etc/ceph/
#拷贝连接密钥(否则无连接权限)
[root@client ~]# scp 192.168.4.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
[root@client ~]# rbd map image----将镜像影射为本地磁盘
[root@client ~]# lsblk
[root@client ~]# rbd showmapped------查看镜像影射为本地磁盘的信息
id pool image snap device
0 rbd image - /dev/rbd0
3) 客户端格式化、挂载分区
[root@client ~]# mkfs.xfs /dev/rbd0
[root@client ~]# mount /dev/rbd0 /mnt/
[root@client ~]# echo "test" > /mnt/test.txt
步骤四:创建镜像快照
1) 创建镜像快照
[root@client~]# rbd snap create image --snap image-snap1-----创建镜像快照
[root@client~]# rbd snap ls image-----查看相关快照信息
SNAPID NAME SIZE
4 image-snap1 15360 MB
2) 删除客户端写入的测试文件,并卸载挂载点
[root@client ~]# rm -rf /mnt/test.txt
[root@client ~]# umount /mnt
注意:这里删除后一定要先卸载,不能在回滚之后卸载再重新挂载,那样会有问题
4) 还原快照
[root@node1 ~]# rbd snap rollback image --snap image-snap1-----还原快照
#客户端重新挂载分区
[root@client ~]# mount /dev/rbd0 /mnt/
[root@client ~]# ls /mnt
test.txt
步骤四:创建快照克隆
1)克隆快照
[root@node1 ~]# rbd snap protect image --snap image-snap1-----保护快照(unprotect不保护)
[root@node1 ~]# rbd snap rm image --snap image-snap1 //会失败
[root@node1 ~]# rbd clone \
image --snap image-snap1 image-clone --image-feature layering
//使用image的快照image-snap1克隆一个新的image-clone镜像
2)查看克隆镜像与父镜像快照的关系
[root@node1 ~]# rbd info image-clone
rbd image 'image-clone':
size 15360 MB in 3840 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.d3f53d1b58ba
format: 2
features: layering
flags:
parent: rbd/image@image-snap1
#克隆镜像很多数据都来自于快照链
#如果希望克隆镜像可以独立工作,我们需要将父镜像的信息合并flattern到子镜像,一旦合并完成,RBD镜像和它的父镜像就不会存在任何关系了。
[root@node1 ~]# rbd flatten image-clone
[root@node1 ~]# rbd info image-clone
rbd image 'image-clone':
size 15360 MB in 3840 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.d3f53d1b58ba
format: 2
features: layering
flags:
#注意,父快照信息没了!
步骤四:其他操作
1) 客户端撤销磁盘映射
[root@client ~]# umount /mnt
[root@client ~]# rbd showmapped
id pool image snap device
0 rbd image - /dev/rbd0
//语法格式:
[root@client ~]# rbd unmap /dev/rbd/{poolname}/{imagename}
[root@client ~]# rbd unmap /dev/rbd/rbd/image-----撤销镜像影射
2)删除快照与镜像
[root@node6 images]# rbd snap ls image------查看image镜像有哪些快照
[root@node1 ~]# rbd snap rm image --snap image-snap----删除快照
[root@node1 ~]# rbd list-----------查看有哪些镜像
[root@node1 ~]# rbd rm image------删除镜像
4、块存储应用------将ceph集群作为后端存储
Ceph创建块存储镜像
客户端安装部署ceph软件
客户端部署虚拟机
客户端创建secret
设置虚拟机配置文件,调用ceph存储
1)创建磁盘镜像。
[root@node1 ~]# rbd create vm1-image --image-feature layering --size 10G-----创建镜像
[r镜像t@node1 ~]# rbd create vm2-image --image-feature layering --size 10G
[root@node1 ~]# rbd list------列出镜像
[root@node1 ~]# rbd info vm1-image
[root@node1 ~]# qemu-img info rbd:rbd/vm1-image
image: rbd:rbd/vm1-image
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: unavailable
2)Ceph认证账户。
Ceph默认开启用户认证,客户端需要账户才可以访问,
默认账户名称为client.admin,key是账户的密钥,
可以使用ceph auth添加新账户(案例我们使用默认账户)。
[root@node1 ~]# cat /etc/ceph/ceph.conf //配置文件
[global]
mon_initial_members = node1, node2, node3
mon_host = 192.168.2.10,192.168.2.20,192.168.2.30
auth_cluster_required = cephx //开启认证
auth_service_required = cephx //开启认证
auth_client_required = cephx //开启认证
cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
key = AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg==
3)部署客户端环境:安装软件包,拷贝配置文件
注意:这里使用真实机当客户端!!!
客户端需要安装ceph-common软件包,拷贝配置文件(否则不知道集群在哪),
拷贝连接密钥(否则无连接权限)。
[root@room9pc01 ~]# yum -y install ceph-common
[root@room9pc01 ~]# scp 192.168.4.11:/etc/ceph/ceph.conf /etc/ceph/
[root@room9pc01 ~]# scp 192.168.4.11:/etc/ceph/ceph.client.admin.keyring \
/etc/ceph/
4)创建KVM虚拟机取名为vm1,只是用来获取xml文件,获取后就可以删掉该创建的虚拟机了
virsh dumpxml vm1 > /etc/libvirt/qemu/
virsh undefine vm1
5)虚拟机使用CEPH存储,需要认证。方式是虚拟机先生成secret,再将secret与CEPH账户映射
编写账户信息文件(真实机操作)
[root@room9pc01 ~]# vim secret.xml //新建临时文件,内容如下---------为下步生成uuid做准备
client.admin secret
#使用XML配置文件创建secret
[root@room9pc01 ~]# virsh secret-define --file secret.xml --------生成随机的UUID,这个UUID对应的有账户信息
733f0fd1-e3d6-4c25-a69f-6681fc19802b
[root@room9pc01 ~]# virsh secret-list UUID 用量 --------------------------------------------------------------------------------733f0fd1-e3d6-4c25-a69f-6681fc19802b ceph client.admin secret
查看管理员密钥(真实机操作)
[root@room9pc01 ~]# ceph auth get-key client.admin
//获取client.admin的key,或者直接查看密钥文件
[root@room9pc01 ~]# cat /etc/ceph/ceph.client.admin.keyring
再将secret与CEPH账户映射(真实机操作)
[root@room9pc01] virsh secret-set-value \
--secret 733f0fd1-e3d6-4c25-a69f-6681fc19802b \------- 这里secret后面是之前创建的secret的UUID
--base64 AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg-------- base64后面是client.admin账户的密码
//现在secret中既有账户信息又有密钥信息
6)修改之前生成导出的虚拟机的XML配置文件。
每个虚拟机都会有一个XML配置文件,包括:
虚拟机的名称、内存、CPU、磁盘、网卡等信息
[root@room9pc01 ~]# vim /etc/libvirt/qemu/vm1.xml
//修改前内容如下
不推荐直接使用vim修改配置文件,推荐使用virsh edit修改配置文件,效果如下:
[root@room9pc01] virsh edit vm1 //vm1为虚拟机名称
'network' device='disk'>
'raw ’/>
--------这里的UUID就是secret的UUID,有client.admin账户和密钥信息
---------这里说明使用账户连接哪台ceph主机和端口,访问哪个池和镜像
-------这里说明将获取的镜像设置为虚拟机的vda磁盘
6)启动虚拟机时,不能直接安装,需要在虚拟机设置中连接光盘文件,并且设置启动选项,将光盘设置为第一启动介质。
7)安装完成后,提示reboot,但这里需要先关机,将启动项的第一启动介质改会为磁盘引导,然后再开机
至此,我们的真机上装的vm1虚拟机就可以使用了,只不过它是安装在后端ceph集群存储磁盘上的,而非像传统那样安装在本地磁盘。
5、挂载Ceph文件系统
延续前面的实验,实现Ceph文件系统的功能。具体实现有以下功能:
部署MDSs节点
创建Ceph文件系统
客户端挂载文件系统
按照如下步骤进行:
1)添加一台新的虚拟机,要求如下:
IP地址:192.168.4.14
主机名:node4
配置yum源(包括rhel、ceph的源)
与Client主机同步时间
node1允许无密码远程node4
2)部署元数据服务器
登陆node4,安装ceph-mds软件包
[root@node4 ~]# yum -y install ceph-mds
登陆node1部署节点操作
[root@node1 ~]# cd /root/ceph-cluster
//该目录,是最早部署ceph集群时,创建的目录
[root@node1 ceph-cluster]# ceph-deploy mds create node4
//给nod4拷贝配置文件,启动mds服务
同步配置文件和key
[root@node1 ceph-cluster]# ceph-deploy admin node4
3)创建存储池
[root@fdfs_storage1 FastDFS]# mkdir -pv /data/fastdfs
4)修改配置文件。
[root@node4 ~]# ceph osd pool create cephfs_data 128
//创建存储池,对应128个PG
[root@node4 ~]# ceph osd pool create cephfs_metadata 128
//创建存储池,对应128个PG
5)创建Ceph文件系统
[root@node4 ~]# ceph mds stat -------------查看mds状态
e2:, 1 up:standby
[root@node4 ~]# ceph fs new myfs1 cephfs_metadata cephfs_data
new fs with metadata pool 2 and data pool 1
//注意,先写medadata池,再写data池
//默认,只能创建1个文件系统,多余的会报错
[root@node4 ~]# ceph fs ls
name: myfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
[root@node4 ~]# ceph mds stat
e4: 1/1/1 up {0=node4=up:creating}
6)客户端挂载
[root@client ~]# mount -t ceph 192.168.4.11:6789:/ /mnt/cephfs/ \
-o name=admin,secret=AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg== ---------------这里随便找一台机器都可以当作客户端,只要该机器能访问192.168.4.11的6789端口就行
//注意:文件系统类型为ceph
//192.168.4.11为MON节点的IP(不是MDS节点)
//admin是用户名,secret是密钥
//密钥可以在/etc/ceph/ceph.client.admin.keyring中找到
6、创建对象存储服务器
延续前面的实验,实现Ceph对象存储的功能。具体实现有以下功能:
安装部署Rados Gateway
启动RGW服务
设置RGW的前端服务与端口
客户端测试
步骤一:部署对象存储服务器
1)准备实验环境,要求如下:
IP地址:192.168.4.15
主机名:node5
配置yum源(包括rhel、ceph的源)
与Client主机同步时间
node1允许无密码远程node5
修改node1的/etc/hosts,并同步到所有node主机
2)部署RGW软件包
[root@node1 ~]# ceph-deploy install --rgw node5
同步配置文件与密钥到node5
[root@node1 ~]# cd /root/ceph-cluster
[root@node1 ~]# ceph-deploy admin node5
3)新建网关实例
启动一个rgw服务
[root@node1 ~]# ceph-deploy rgw create node5
登陆node5验证服务是否启动
[root@node5 ~]# ps aux |grep radosgw
ceph 4109 0.2 1.4 2289196 14972 ? Ssl 22:53 0:00 /usr/bin/radosgw -f --cluster ceph --name client.rgw.node4 --setuser ceph --setgroup ceph
[root@node5 ~]# systemctl status ceph-radosgw@\*
4)修改服务端口
登陆node5,RGW默认服务端口为7480,修改为8000或80更方便客户端记忆和使用
[root@node5 ~]# vim /etc/ceph/ceph.conf
[client.rgw.node5]
host = node5--------node5为主机名
rgw_frontends = "civetweb port=80"---------------civetweb是RGW内置的一个web服务
systemctl stop httpd--------必须将httpd的80端口关掉,负责端口冲突
systemctl restart ceph-radosgw\*
步骤二:客户端测试
1)curl测试
[root@client ~]# curl 192.168.4.15
anonymous
2)使用第三方软件访问
登陆node5(RGW)创建账户
[root@node5 ~]# radosgw-admin user create \
--uid="testuser" --display-name="First User"--------创建
… …
"keys": [
{
"user": "testuser",
"access_key": "5E42OEGB1M95Y49IBG7B",
"secret_key": "i8YtM8cs7QDCK3rTRopb0TTPBFJVXdEryRbeLGK6"
}
],
... ...
#
[root@node5 ~]# radosgw-admin user info --uid=testuser-------查看
//testuser为用户,key是账户访问密钥
3)客户端安装软件
[root@client ~]# yum install s3cmd-2.0.1-1.el7.noarch.rpm
修改软件配置
[root@client ~]# s3cmd --configure
Access Key: 5E42OEGB1M95Y49IBG7B
Secret Key: i8YtM8cs7QDCK3rTRopb0TTPBFJVXdEryRbeLGK6
Default Region [US]:---------注意这里不要修改,负责后面创建目录会有问题
S3 Endpoint [s3.amazonaws.com]: 192.168.4.15
[%(bucket)s.s3.amazonaws.com]: %(bucket)s.192.168.4.15
Use HTTPS protocol [Yes]: No
Test access with supplied credentials? [Y/n] Y
Save settings? [y/N] y
//注意,其他提示都默认回车
4)创建存储数据的bucket(类似于存储数据的目录)
[root@client ~]# s3cmd ls
[root@client ~]# s3cmd mb s3://my_bucket------mb是make bucket的意思,类似于创建文件夹
Bucket 's3://my_bucket/' created
[root@client ~]# s3cmd ls
2018-05-09 08:14 s3://my_bucket
[root@client ~]# s3cmd put /var/log/messages s3://my_bucket/log/------put上传
[root@client ~]# s3cmd ls
2018-05-09 08:14 s3://my_bucket
[root@client ~]# s3cmd ls s3://my_bucket
DIR s3://my_bucket/log/
[root@client ~]# s3cmd ls s3://my_bucket/log/
2018-05-09 08:19 309034 s3://my_bucket/log/messages
测试下载功能
[root@client ~]# s3cmd get s3://my_bucket/log/messages /tmp/------get下载
测试删除功能
[root@client ~]# s3cmd del s3://my_bucket/log/messages----del删除文件
[root@client ~]# s3cmd rb s3://my_bucket/log/-------------rb删除文件夹