携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
每日英语学习:
Tody is a gift,that is why it is called the present.(译文:今天是上帝的馈赠,所以“现在”就是最好的礼物)。 ——《功夫熊猫1》
1.Cephfs管理
集群创建完后, 默认没有文件系统, 我们创建一个Cephfs可以支持对外访问的文件系统。
1)创建两个存储池, 执行两条命令:
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
少于5个OSD可把pg_num设置为128
OSD数量在5到10,可以设置pg_num为512
OSD数量在10到50,可以设置pg_num为4096
OSD数量大于50,需要计算pg_num的值
通过下面命令可以列出当前创建的存储池:
ceph osd lspools
2)创建fs, 名称为fs_test:
ceph fs new fs_test cephfs_metadata cephfs_data
3)状态查看, 以下信息代表正常
ceph fs ls:
name: fs_test, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
ceph mds stat:
fs_test-0/0/1 up
4)fuse挂载
先确定ceph-fuse命令能执行, 如果没有, 则安装:
yum -y install ceph-fuse
创建挂载目录
mkdir -p /usr/local/gupao/cephfs_directory
挂载cephfs
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.100.131:6789 /usr/local/gupao/cephfs_directory
出现下面信息表示挂载成功了:
ceph-fuse[28003]: starting fuse
5)挂载信息查看
df-h
2.Ceph Swift API接口开发
Swift是由Rackspace开发的用来为云计算提供可扩展存储的项目。专注于对象存储, 并提供一套REST风格的Api来访问, 与Ceph强一致性不同, 它是最终一致性。两者都是优秀的开源项目, 并无明显优劣之分,在使用场景上有所不同, 如果是专注于对象存储, 那么可以选择swift即可满足需要, 如果还有块存储要求, 那么选择Ceph更为合适。这里选择Ceph, 因为通过网关可以适配兼容swift api, 同时在数据访问上具有较强的扩展性。
2.1准备工作
创建Swift用户, 用于接口请求认证
sudo radosgw-admin user create --subuser="cephtester:subtester" --uid="cephtester" --display-name="cephtester" --key-type=swift --secret="xz" --access=full
uid 为主用户, subuser为子用户信息, secret指定密钥, 不指定则随机生成, access拥有权限设定,代码中需使用返回信息中的user和secret_key。
swift_keys:
"swift_keys": [
{
"user": "cephtester:subtester",
"secret_key": "xz"
}
],
创建管理员账号
radosgw-admin user create --uid=mgruser --display-name=mgruser --system
执行后,返回信息如下:
{
"user_id": "mgruser",
"display_name": "mgruser",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "mgruser",
"access_key": "AZ6L40PH9WB37EKVVMCZ",
"secret_key": "rk8PEjtYaMTo7nMDM62hqqN1tOnZPBEe4GA0LQMW"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"system": "true",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}
根据生成的access_key与secret_key, 执行:
ceph dashboard set-rgw-api-access-key AZ6L40PH9WB37EKVVMCZ
ceph dashboard set-rgw-api-secret-key rk8PEjtYaMTo7nMDM62hqqN1tOnZPBEe4GA0LQMW
打开管理界面,http://192.168.19.131:9001/#/rgw/user 可以查看到我们刚才创建的两个用户:
总结:本篇主要介绍了一下Cephfs管理和Ceph Swift API接口开发的准备工作,创建对应的用户信息。