如何在Linux上配置高可用的虚拟化存储(如Ceph)

在Linux上配置高可用的虚拟化存储(如Ceph),需要安装Ceph软件包,创建RADOS Gateway,配置CRUSH Map等步骤。

在Linux上配置高可用的虚拟化存储,如Ceph,是一个复杂的过程,需要对Linux系统和Ceph有一定的了解,本文将详细介绍如何在Linux上配置高可用的Ceph存储。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网页空间、营销软件、网站建设、泊头网站维护、网站推广。

Ceph简介

Ceph是一个分布式对象存储系统,它可以提供高性能、可扩展性和容错性,Ceph的核心组件包括:Monitor(监视器)、OSD(对象存储守护进程)和RADOS(可扩展对象存储设备),Ceph使用CRUSH算法来管理数据的位置和复制。

环境准备

1、硬件要求:至少需要3个节点,每个节点至少1GB内存,2个CPU核心。

2、操作系统:CentOS 7或Ubuntu 16.04。

3、Ceph版本:建议使用最新版本。

安装Ceph

1、在所有节点上安装Ceph软件包:

sudo yum install y epelrelease
sudo yum install y ceph cephradosgw cephmon

2、在所有节点上生成SSH密钥:

sshkeygen t rsa b 2048 f /etc/ceph/id_rsa

3、在所有节点上添加SSH公钥到/etc/ceph/ceph.client.admin.keyring文件:

cephauthtool createkeyring /etc/ceph/ceph.client.admin.keyring genkey n client.admin cap mon 'allow profile mgr' cap osd 'allow *'
cephauthtool n client.admin cap mon 'allow profile mgr' cap osd 'allow *' importkeyring /etc/ceph/ceph.client.admin.keyring

配置Ceph集群

1、在所有节点上编辑/etc/ceph/ceph.conf文件,设置以下参数:

[global]
fsid = {your_fsid} # 自定义一个唯一的值
mon_initial_members = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 监视器节点IP地址列表,用逗号分隔
mon_host = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 监视器节点主机名列表,用逗号分隔
auth_cluster_required = cephx # 启用CephX认证协议
auth_service_required = cephx # 启用CephX认证服务
auth_client_required = cephx # 启用CephX认证客户端
auth_client_optional = none # 禁用本地用户认证(可选)
osd_pool_default_size = 2 # OSD池默认大小(GB)
osd_pool_default_min_size = 1 # OSD池最小大小(GB)
osd_pool_default_pg_num = 64 # OSD池默认PG数量
osd_crush_chooseleaf_type = 0 # 选择叶子类型为0(随机选择)

2、在所有节点上编辑/etc/ceph/ceph.mon.{monitor0_ip}.keyring/etc/ceph/ceph.mon.{monitor1_ip}.keyring/etc/ceph/ceph.mon.{monitor2_ip}.keyring文件,设置以下内容:

[client.{monitor0_ip}]
key = {your_admin_key} # 从步骤3生成的SSH公钥中提取的内容
caps mon 'allow profile mgr' = true # 允许监视器运行管理器守护进程
caps mon 'allow pool default' = true # 允许监视器管理默认OSD池

3、在所有节点上启动Ceph监视器:

sudo systemctl enable cephmon@{monitor0_ip} now
sudo systemctl enable cephmon@{monitor1_ip} now
sudo systemctl enable cephmon@{monitor2_ip} now

部署OSD节点

1、在所有OSD节点上编辑/etc/ceph/ceph.conf文件,设置以下参数:

[global]
fsid = {your_fsid} # 与步骤四中的值相同
mon_initial_members = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 监视器节点IP地址列表,用逗号分隔
mon_host = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 监视器节点主机名列表,用逗号分隔
auth_cluster_required = cephx # 启用CephX认证协议
auth_service_required = cephx # 启用CephX认证服务
auth_client_required = cephx # 启用CephX认证客户端
auth_client_optional = none # 禁用本地用户认证(可选)
osd_pool_default_size = {osd_pool_size} # OSD池默认大小(GB),根据实际需求设置,所有OSD节点保持一致即可,如100GiB、200GiB等,osd pool default size必须大于等于osd pool min size乘以osd pool default pgp num除以osd pool max pgp num,如果osd pool default size为200GiB,osd pool min size为1GiB,osd pool default pgp num为64,则osd pool max pgp num应小于等于64*200GiB/1GiB=12800,osd pool max pgp num的最大值为256,osd pool max pgp num必须在创建OSD池时设置,osd pool max pgp num不能在运行时更改,osd pool max pgp num必须大于等于osd pool default pgp num,osd pool max pgp num不能为空,osd pool max pgp num必须为整数,osd pool max pgp num必须大于等于零,osd pool max pgp num必须在创建OSD池时设置,osd pool max pgp num不能在运行时更改,osd pool max pgp num必须大于等于osd pool default pgp num,osd pool max pgp num不能为空,osd pool max pgp num必须为整数,osd pool max pgp num必须大于等于零,osd pool max objects表示OSD池中允许的最大对象数,它必须大于等于osd pool default size乘以osd pool default pgp num除以osd pool max pgp num,如果osd pool default size为200GiB,osd pool min size为1GiB,osd pool default pgp num为64,则osd pool max objects应小于等于64*200GiB/1GiB=12800,osd pool max objects的最大值为256,osd pool max objects必须在创建OSD池时设置,osd pool max objects不能在运行时更改,osd pool max objects必须大于等于osd pool default size乘以osd pool default pgp num除以osd pool max pgp num,osd pool max objects不能为空,osd pool max objects必须为整数,osd pool max objects必须大于等于零,max object size表示OSD池中允许的最大对象大小(字节),它必须大于等于max object age乘以max object bytes乘以max object count乘以epoch seconds乘以epoch bytes除以(epoch seconds+1)除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除infinity秒,max object age表示OSD池中允许的最大对象年龄(秒)。)。

文章题目:如何在Linux上配置高可用的虚拟化存储(如Ceph)
转载注明:http://www.shufengxianlan.com/qtweb/news17/263217.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联