内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档风哥主要介绍分布式存储系统Ceph的部署方法,包括架构设计、安装配置、存储池管理等内容。
Part01-基础概念与理论知识
1.1 Ceph架构
MON(Monitor):集群监控
OSD(Object Storage Daemon):存储守护进程
MDS(Metadata Server):元数据服务器
MGR(Manager):管理器
RGW(RADOS Gateway):对象存储网关
# 存储类型
块存储(RBD):虚拟机磁盘
文件存储(CephFS):共享文件系统
对象存储(RGW):S3兼容存储
Part02-生产环境规划与建议
2.1 Ceph集群规划
3个MON节点:集群监控
3个OSD节点:数据存储
1个MGR节点:管理
# 生产部署
5个MON节点
多个OSD节点(每个节点多个磁盘)
2个MGR节点(主备)
Part03-生产环境项目实施方案
3.1 Ceph集群部署
$ sudo dnf install ceph-deploy -y
# 创建部署目录
$ mkdir ceph-cluster && cd ceph-cluster
# 创建集群
$ ceph-deploy new node1 node2 node3
# 安装Ceph软件
$ ceph-deploy install node1 node2 node3
# 部署MON
$ ceph-deploy mon create-initial
# 部署OSD
$ ceph-deploy osd create –data /dev/sdb node1
$ ceph-deploy osd create –data /dev/sdb node2
$ ceph-deploy osd create –data /dev/sdb node3
# 部署MGR
$ ceph-deploy mgr create node1
# 查看集群状态
$ ceph -s
cluster:
id: abc123-456-def
health: HEALTH_OK
services:
mon: 3 daemons, quorum node1,node2,node3
mgr: node1(active)
osd: 3 osds: 3 up, 3 in
3.2 创建存储池
$ ceph osd pool create rbd 128 128
pool ‘rbd’ created
# 启用RBD应用
$ ceph osd pool application enable rbd rbd
# 创建RBD镜像
$ rbd create image1 –size 10240 –pool rbd
# 查看镜像
$ rbd ls rbd
image1
# 映射镜像
$ rbd map rbd/image1
/dev/学习交流加群风哥微信: itpux-comrbd0
# 格式化并挂载
$ mkfs.ext4 /dev/rbd0
$ mount /dev/rbd0 /mnt/rbd
Part04-生产案例与实战讲解
4.1 案例:Ceph对象存储部署
# 1. 部署RGW
$ ceph-deploy rgw create node1
# 2. 创建用户
$ radosgw-admin user create –uid=”testuser” –display-name=”Test User”
{
“user_id”: “testuser”,
“display_name”: “Test User”,
“email”: “”,
“suspended”: 0,
“max_buckets”: 1000,
“auid”: 0,
“subusers”: [],
“keys”: [
{
“user”: “testuser”,
“access_key”: “ABC123DEF456”,
“secret_key”: “XYZ789UVW012”
}
from PG视频:www.itpux.com ]
}
# 3. 测试S3访问
$ pip install boto3
$ python << 'EOF'
import boto3
s3 = boto3.client('s3',
endpoint_url='http://node1:7480',
aws_access_key_id='ABC123DEF456',
aws_secret_access_key='XYZ789UVW012')
s3.create_bucket(Bucket='testbucket')
print("Bucket created successfully")
EOF
风哥提示:
Part05-风哥经验总结与分享
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
