采得百花成蜜后,为谁辛苦为谁甜。这篇文章主要讲述cephCEPH RGW初使用-RGW1相关的知识,希望能为你提供帮助。
?
在这篇文章中,我记录在fedora-28 虚拟机上创建最小 CEPH RGW 集群的粗略的笔记和命令。
操作系统版本:
# cat /etc/redhat-release
Fedora release 28 (Twenty Eight)
系统要求:
- > 25 GB storage space where ceph source code needs to be built
- preferably > 8GB ram
Source: ??http://docs.ceph.com/docs/mimic/install/build-ceph/??
- git clone ??https://github.com/ceph/ceph.git??
- cd ceph/
- git status
- git submodule update –force –init –recursive
- ./install-deps.sh#安装依赖
- ./do_cmake.sh
- cd build/
- make
- make install
- ln -s /usr/local/lib64/librado* /usr/lib64/
- cd /../ceph/build
- MON=1 OSD=1 MDS=1 MGR=1 RGW=1 ..//src/vstart.sh -n -d
- 所列的每项服务都创建一个
- ps aux | grep ceph
Source:- (??http://docs.ceph.com/docs/mimic/radosgw/admin/??)
我们需要为 S3 访问创建用户和为 SWIFT 创建子用户。
radosgw-admin user create –uid=rgwuser –display-name=”RGW user”
#默认情况下生成访问密钥和秘密密钥(access-key and secret key)。检查用户信息
- radosgw-admin subuser create –uid=rgwuser –subuser=rgwuser:swift –access=full
- radosgw-admin caps add –uid=rgwuser –caps=”users=*; buckets=*”
- (增加能力)
- radosgw-admin 用户信息 –uid=rgwuser
- 检查用户/子用户信息
Source: ??http://docs.ceph.com/docs/mimic/radosgw/s3/python/??
- dnf 安装 python-boto
- 以下是各种功能的示例脚本 -
import boto
import boto.s3.connection
access_key = "ZGX5BVGID059T7DJLM0S"
secret_key = "koe8DFgGwNk5sQTRVxHaDiEgYQDVj8XVXMdZ4ULd"
boto.config.add_section(\'s3\')
boto.config.set(\'s3\', \'use-sigv4\', \'True\')
#create connection
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host = \'s3.localhost\',
port = 8000,
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
#create bucket
bucket = conn.create_bucket(\'my-new-bucket\')
#list buckets created
for bucket in conn.get_all_buckets():
print "{name}\\t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)
#insert file "hello.txt" as object into the bucket
key = bucket.new_key(\'hello.txt\')
key.set_contents_from_string(\'Hello World!\') #write contents
#list objects
for key in bucket.list():
print "{name}\\t{size}\\t{modified}".format(
name = key.name,
size = key.size,
modified = key.last_modified,
)
#connect to specific bucket and object
my_bucket = conn.get_bucket(\'my-new-bucket\')
hello_key = my_bucket.get_key(\'hello.txt\')
# make hello.txt object public
hello_key.set_canned_acl(\'public-read\')
#generate web-url for the file hello.txt
hello_url = hello_key.generate_url(0, query_auth=False, force_http=True)
print hello_url
#copy hello.txt to local filesystem
key.get_contents_to_filename(\'/workspace/scripts/sample_hello.txt\')
通过 SWIFT 访问进行测试:
【cephCEPH RGW初使用-RGW1】Source: ??https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/object_gateway_guide_for_red_hat_enterprise_linux/rgw-configuration-rgw#test-swift-access??
- dnf 安装 python-setuptools
- easy_install pip
- pip install – 升级安装工具
- pip install –upgrade python-swiftclient
- 列出已经创建的容器:
- swift -A ??http://??{IP ADDRESS}:{port}/auth/1.0 -U testuser:swift -K ‘{swift_secret_key}’ list
-
eg: #swift -A http://localhost:8000/auth/1.0 -U rgwuser:swift -K \'5euZSGD4ikdo4ppVYNiQ1czRXSACHkuO367S41Po\' list my-new-bucket
- 将对象插入容器:
# echo " swift access " > swift_file
# swift -A http://localhost:8000/auth/1.0 -U rgwuser:swift -K \'5euZSGD4ikdo4ppVYNiQ1czRXSACHkuO367S41Po\' upload my-new-bucket swift_file
swift_file
# swift -A http://localhost:8000/auth/1.0 -U rgwuser:swift -K \'5euZSGD4ikdo4ppVYNiQ1czRXSACHkuO367S41Po\' list my-new-bucket
hello.txt
swift_file
- 下载一个对象:
#swift -A http://localhost:8000/auth/1.0 -U rgwuser:swift -K \'5euZSGD4ikdo4ppVYNiQ1czRXSACHkuO367S41Po\' download my-new-bucket hello.txt
hello.txt [auth 0.003s, headers 0.008s, total 0.008s, 0.002 MB/s]
# cat hello.txt
Hello World!
使用 Ceph-nano:Source: ??http://docs.ceph.com/docs/mimic/install/build-ceph/??
- 确保 docker 已安装并正在运行。
- 运行示例泊坞窗图像以检查其是否正常工作
对我来说,它起初在 VM 上工作..然后更新包“dnf update”并重新启动 VM..它工作了。
- git clone ??https://github.com/ceph/cn.git??
- cd cn/
- make
- 创建容器并配置 ceph 集群:
- ./cn cluster start -d /root/tmp my-first-cluster
- ./cn cluster status my-first-cluster
- docker ps
- docker image ls
- ./cn cluster ls
- ./cn cluster enter my-first-cluster
- 创建 S3 存储桶:
- ./cn s3 mb my-first-cluster my-buc
- ./cn s3 put my-first-cluster /etc/passwd my-buc
推荐阅读
- Linuxlinux不能用向上方向键查看历史命令|linux 查看命令历史
- oeasy教您玩转vim - 49 - # 命令进阶
- shellshell实现交互
- 如何将本地主机上的编辑主题转移到Azure()
- 如何阻止H1填充整个div
- 如何在WordPress中按字母顺序对类别帖子进行排序()
- 如何在wordpress帖子中仅显示评论作者(未注册)的未批准评论()
- 如何在特色图片后显示一些html()
- 如何在WordPress自定义帖子类型中按类别显示帖子