当前位置: 首页 > 科技观察

如何在CentOS7.0上配置Ceph存储

时间:2023-03-18 13:52:15 科技观察

Ceph是一个开源软件平台,用于在单个分布式计算机集群上存储数据。当您计划构建云时,您首先需要决定如何实施您的存储。开源Ceph是RedHat的原生技术之一,它基于称为RADOS的对象存储系统,具有一组网关API以块、文件和对象模式表示数据。由于其开源性质,这个便携式存储平台可以在公共云和私有云上安装和使用。Ceph集群的拓扑结构是为备份和信息分布而设计的,这是一种提供数据完整性的固有设计。它被设计为具有容错能力,可以在商品硬件和一些具有正确配置的更高级别的系统上运行。  Ceph可以安装在任何Linux发行版上,但为了正确运行,它需要最新的内核和其他最新的库。在本指南中,我们将使用CentOS7.0的最小安装。  SystemResources**CEPH-STORAGE**OS:CentOSLinux7(Core)RAM:1GBCPU:1CPUDISK:20Network:45.79.136.163FQDN:ceph-storage.linoxide.com**CEPH-NODE**OS:CentOSLinux7(Core)RAM:1GBCPU:1CPUDISK:20Network:45.79.171.138FQDN:ceph-node.linoxide.com  安装前的配置  在安装Ceph存储之前,我们需要配置各个步骤在节点上完成。首先要做的是确保每个节点的网络都已配置并且可以相互访问。  配置Hosts  配置各节点的hosts表项,打开默认的hosts配置文件如下(LCTT译注:或者做相应的DNS解析)。#vi/etc/hosts45.79.136.163ceph-storageceph-storage.linoxide.com45.79.171.138ceph-nodeceph-node.linoxide.com  安装VMwaretools  推荐工作环境是VMWare虚拟环境您安装其开放的VM工具。您可以使用以下命令安装它。#yuminstall-yopen-vm-tools  配置防火墙  如果您使用的是启用了防火墙的限制性环境,请确保以下端口在您的Ceph存储管理器和客户端节点上打开。  您必须在您的AdminCalamari节点上开放端口80、2003和4505-4506,并允许通过端口80访问Ceph或Calamari管理节点,以便您网络中的客户端可以访问CalamariWeb用户界面。  您可以使用以下命令在CentOS7中启动和启用防火墙。#systemctlstartfirewalld#systemctlenablefirewalld  运行如下命令,使AdminCalamari节点开放上述端口。#firewall-cmd--zone=public--add-port=80/tcp--permanent#firewall-cmd--zone=public--add-port=2003/tcp--permanent#firewall-cmd--zone=public--add-port=4505-4506/tcp--permanent#firewall-cmd--reload在CephMonitor节点上,需要在防火墙中允许以下端口。#firewall-cmd--zone=public--add-port=6789/tcp--permanent然后允许下面的默认端口列表能够与客户端和监控节点进行交互,并向其他OSD发送数据。#firewall-cmd--zone=public--add-port=6800-7300/tcp--permanent  如果你工作在非生产环境,建议你关闭防火墙和SELinux设置,在我们的测试环境我们防火墙和SELinux被禁用。#systemctlstopfirewalld#systemctldisablefirewalld  系统升级  现在升级您的系统并重新启动以使所需的更改生效。#yumupdate#shutdown-r0  设置Ceph用户  现在我们将创建一个单独的sudo用户,用于在每个节点上安装ceph-deploy工具,并允许该用户无需密码即可访问每个节点,因为它需要在Ceph节点上安装软件和配置文件而不提示输入密码。  运行以下命令在ceph存储主机上创建一个具有单独主目录的新用户。[root@ceph-storage~]#useradd-d/home/ceph-mceph[root@ceph-storage~]#passwd在ceph  节点新建的每个用户都必须有sudo权限,可以使用如下显示具有sudo权限的命令。[root@ceph-storage~]#echo"cephALL=(root)NOPASSWD:ALL"|sudotee/etc/sudoers.d/cephcephALL=(root)NOPASSWD:ALLcephALL=(root)NOPASSWD:ALL  #p#SetSSHkey  现在我们将在Ceph管理节点上生成ssh密钥并将密钥复制到每个Ceph集群节点。  在ceph-node上运行以下命令,将其ssh密钥复制到ceph-storage。[root@ceph-node~]#ssh-keygenGeneratingpublic/privatersakeypair.Enterfilewhichtosavethekey(/root/.ssh/id_rsa):Createddirectory'/root/.ssh'.Enterpassphrase(为空表示没有密码):再次输入相同的密码:您的身份已保存在/root/.ssh/id_rsa。您的公钥已保存在/root/.ssh/id_rsa.pub。密钥指纹是:5b:*:*:*:*:*:*:*:*:*:c9root@ceph-node密钥的randomart图像为:+--[RSA2048]----+[root@ceph-node~]#ssh-copy-idceph@ceph-storageSSHkey配置PID号  要配置PID号的值,我们将使用以下命令检查默认内核值。默认情况下,最大线程数为32768。  如下图所示,通过编辑系统配置文件将值配置为更大的数字。更改PID值  配置主节点服务器  配置并验证所有网络后,我们现在使用ceph用户安装ceph-deploy。打开文件查看hosts条目(LCTT译注:用DNS解析也可以)。#vim/etc/hostsceph-storage45.79.136.163ceph-node45.79.171.138  运行以下命令添加其存储库。#rpm-Uhvhttp://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm添加Ceph存储库  或创建一个新文件并更新Ceph存储库参数,Don忘记替换您当前的Release和版本号。[root@ceph-storage~]#vi/etc/yum.repos.d/ceph.repo[ceph-noarch]name=Cephnoarchpackagesbaseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc  然后更新你的系统并安装ceph部署包。  安装ceph-deploy包  我们运行以下命令以及ceph-deployinstall命令以使用最新的ceph存储库和其他包更新系统。#yumupdate-y&&yuminstallceph-deploy-y  configurecluster  使用以下命令在ceph管理节点上新建目录,进入新目录收集所有输出文件和日志。#mkdir~/ceph-cluster#cd~/ceph-cluster#ceph-deploynewstorage  设置一个ceph集群如果成功执行上面的命令,你会看到它创建了一个新的配置文件。  现在配置Ceph默认配置文件,用任意编辑器打开,在会影响你的公网的全局参数下面添加如下两行。#vimceph.confosdpooldefaultsize=1publicnetwork=45.79.0.0/16  #p#InstallingCeph  现在我们准备在与Ceph集群关联的每个节点上安装Ceph。我们使用以下命令在ceph-storage和ceph-node上安装Ceph。#ceph-deployinstallceph-nodeceph-storageinstallceph  可能需要一些时间来处理所有必需的存储库并安装所需的包。  当两个节点上的ceph安装过程都完成后,我们的下一步是通过在相同节点上运行以下命令来创建监视器和收集密钥。#ceph-deploymoncreate-initialCeph初始化监视器  设置OSD和OSD守护进程  现在我们将设置磁盘存储,首先运行以下命令列出所有可用磁盘。#ceph-deploydisklistceph-storage  结果将列出存储节点中使用的磁盘,您将使用这些磁盘创建OSD。让我们运行以下命令,请使用您的磁盘名称。#ceph-deploydiskzapstorage:sda#ceph-deploydiskzapstorage:sdb  要完全完成OSD配置,请运行以下命令配置日志磁盘和数据磁盘。#ceph-deployosdpreparestorage:sdb:/dev/sda#ceph-deployosdactivatestorage:/dev/sdb1:/dev/sda1  你需要在所有节点上运行相同的命令,它会清除所有东西。然后为了使集群正常工作,我们需要使用以下命令将不同的密钥和配置文件从ceph管理节点复制到所有相关节点。#ceph-deployadminceph-nodeceph-storage  测试Ceph  我们几乎完成了Ceph集群设置,让我们在ceph管理节点上运行以下命令来检查正在运行的ceph状态。#cephstatus#cephhealthHEALTH_OK  如果您在cephstatus中没有看到任何错误消息,则表示您已成功在CentOS7上安装ceph存储集群。使用两台安装了CentOS7的虚拟机的Ceph存储集群,可用于备份或作为其他虚拟机的本地存储。我们希望这篇文章对您有所帮助。记得在尝试安装时分享您的经验。via:http://linoxide.com/storage/setup-red-hat-c??eph-storage-centos-7-0/作者:KashifSiddique译者:ictlyh校对:wxy