当前位置: 首页 > 后端技术 > PHP

Cephv12.2Luminous基于ubuntu16.04集群部署

时间:2023-03-29 18:12:57 PHP

第一次接触ceph集群,感谢官方的指导文档和很多网友提供的教程,迷茫中部署了集群。由于Luminous12.2刚刚发布,部署与老版本还是略有不同,所以做个笔记,给需要的人参考。附言。对于刚接触ceph的同学,强烈建议先阅读官方文档。Ceph官方文档一、Ceph简介Ceph是一个高性能、可靠、可扩展的开源存储平台。它是一个免费的分布式存储系统,提供了对象级、块级和文件级存储的接口,可以不受单点故障的影响运行。Ceph集群结构:(1)CephAdmin-管理节点,用于安装ceph-deploy进行ceph部署,基本上大部分操作都在本机上。(2)CephOSD(ceph-osd)——控制数据存储、数据复制和恢复。一个Ceph集群至少需要两台CephOSD服务器。我们将使用三台Ubuntu服务器进行此安装。(3)CephMonitor(ceph-mon)-监控集群状态并运行OSD图和CRUSH图。这里我们使用服务器。(4)Ceph元数据服务器(ceph-mds)-如果你想将Ceph用作文件系统,这是必需的。2.操作系统Ubuntu16.04.33。Ceph版本Cephv12.2Luminous4。设置固定IP和修改主机名(所有节点)(1)设置对应的固定IP(每个节点单独设置)192.168.31.131admin_server192.168.31。132mon_server192.168.31.133osd_server_1192.168.31.134osd_server_2(2)修改/etc/hostname为对应的主机名(3)修改/etc/hosts,在hosts192.168.31.132mon_server192.168.31.133osd_server_1192.168.31中添加以下内容.134osd_server_25。修改apt源(所有节点)(1)修改/etc/apt/sources.list,添加网易下载源(xenial是ununtu16.04的版本代号,不同版本不同)debhttp://mirrors.163.com/ubuntu/xenialmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/xenial-securitymainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/xenial-updatesmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/xenial-backportsmainrestricteduniversemultiverse##betasourcedebhttp://mirrors.163.com/ubuntu/xenial-proposedmainrestricteduniversemultiverse##源deb-srchttp://mirrors.163.com/ubuntu/xenialmainrestricteduniversemultiversesedeb-srchttp://mirrors.163.com/ubuntu/xenial-securitymain受限宇宙多元宇宙eb-srchttp://mirrors.163.com/ubuntu/xenial-updatesmain受限宇宙多元宇宙eb-srchttp://mirrors.163.com/ubuntu/xenial-backportsmainrestricteduniversemultiverse##betasourcedeb-srchttp://mirrors.163.com/ubuntu/xenial-proposedmainrestricteduniversemultiverse(2)updatesudoapt-getupdatesudoapt-getinstall6.OS环境配置(所有节点)(1)安装ntp:用于同步所有节点的日期和时间sudoapt-getinstallntp(2)安装SSH:用于admin控制其他节点sudoapt-getinstallopenssh-server7、创建ceph用户(所有节点)sudouseradd-d/home/cephuser-mcephusersudopasswdcephuserecho"cephuserALL=(root)NOPASSWD:ALL"|sudotee/etc/sudoers.d/cephusersudochmod0440/etc/sudoers.d/cephuser8.安装cephaptkey(adminnode)(1)Installkey(use163source)wget-q-O-'http://mirrors.163.com/ceph/keys/release.asc'|sudoapt-keyadd-echodebhttp://mirrors.163.com/ceph/debian-luminous/$(lsb_release-sc)主要|sudotee/etc/apt/sources.list.d/ceph.list(2)安装ceph-deploysudoapt-getupdate&&sudoapt-getinstall-yceph-deploy9.Createsshtrust(admin)(1)Generatepublickeyssh-keygen(allpresstheEnterkey,default)Generatingpublic/privatekeypair.Enterfilewhichtosavethekey(/ceph-admin/.ssh/id_rsa)生成公钥/私钥对。:Enterpassphrase(emptyfornopassphrase):Entersamepassphraseagain:你的身份已经保存在/ceph-admin/.ssh/id_rsa。你的公钥已经保存在/ceph-admin/.ssh/id_rsa.pub。(2)复制公钥到其他节点需要在普通用户权限下执行,在对话窗口输入yes,然后输入对端用户密码ssh-copy-idcephuser@mon_serverssh-copy-idcephuser@osd_server_1ssh-copy-idcephuser@osd_server_2(3)修改~/.ssh/config,添加如下内容:Hostmon_serverHostnamemon_serverUsercephuserHostosd_server_1Hostnameosd_server_1UsercephuserHostosd_server_2Hostnameosd_server_1UsercephuserHostosd_server_2Hostnameosd_server_10开始创建cephuser集群(admin)(1)使用ceph-deploy部署首先需要创建一个工作环境,里面会保存所有的配置文件:mkdir~/my-clustercd~/my-cluster(2)创建集群,其中mon_server为监控节点,执行此命令将生成ceph配置文件、监控关键文件和日志文件。ceph-deploynewmon_server(3)修改默认冗余副本数(该参数只有当OSD节点小于3时才需要修改,默认冗余副本数为3,如果是2个节点,则需要设置为2,如果osd节点大于2,此步骤省略),修改ceph.conf文件,第一个参数2为副本数,第二个2000为日志大小约2G,添加如下内容[global]下的内容:osdpooldefaultsize=2osdjournalsize=2000(4)配置网卡和网络(OSD节点单网卡请忽略)OSD节点是双网卡,所以需要设置网卡和网络地址修改ceph.conf文件,在[global]下添加如下内容:publicnetwork=192.168.31.0/24clusternetwork=10.10.100.0/24(5)开始安装ceph注意:因为CFW的问题,很重要的是在管理节点ceph-Deploy之前修改Ceph镜像源。这里我们使用网易镜像exportCEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/debian-luminous/exportCEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc(6)开始安装cephceph-deployinstalladmin_servermon_serverosd_server_1osd_server_2onallnodes(7)初始化mon节点并收集关键信息后执行ceph-deploymoncreate-initial,目录下应该有如下文件:{cluster-name}.client.admin。keyring{cluster-name}.bootstrap-osd.keyring{cluster-name}.bootstrap-mds.keyring{cluster-name}.bootstrap-rgw.keyring完成以上步骤,安装完成,但是osd节点还没有尚未配置。(8)配置osdnodelsblk命令查看磁盘结构,假设选择/dev/sdb(如果使用虚拟机,可以添加磁盘)格式化对应磁盘:ceph-deploydiskzaposd_server_1:sdbceph-deploydiskzaposd_server_2:sdb的上述步骤会清除磁盘上的所有数据。接下来,创建osd。请注意,由于我们只是进行测试,因此我们不会使用单独的磁盘作为日志。在实际生产环境中,我们需要将SSD分区配置为journal来最大化IO吞吐量。ceph-deployosdcreateosd_server_1:sdbceph-deployosdcreateosd_server_2:sdb(9)配置admin节点admin节点同时作为我们的client节点。需要复制其他节点的配置文件和密钥,这样就不需要指定mon地址和用户信息就可以直接管理我们的ceph集群,只需要执行以下命令:ceph-deployadminadmin_servermon_serverosd_server_1osd_server_2sudochmod+r/etc/ceph/ceph.client.admin.keyring#保证有读取key的权限(10)配置mgr运行cephhealth,打印:HEALTH_WARNnoactivemgr从ceph12开始,需要manager。应该为每个运行监视器的机器添加一个mgr,否则集群处于WARN状态。(详见Luminous的releaselog)在mon_server上创建名为mon_mgr的mgr服务ceph-deploymgrcreatemon_server:mon_mgr查看状态:hcy@admin_server:~/my-cluster$cephhealthHEALTH_OKhcy@admin_server:~/my-cluster$ceph-scluster:id:7981a8fc-378d-4564-95cf-e464d46bdd38health:HEALTH_OKservices:mon:1daemons,quorummon_servermgr:mon_mgr(active)osd:2osds:2up,2indata:池:0个池,0个pgs对象:0个对象,0字节使用:使用2108MB,28409MB/30517MB可用pgs:(11)访问仪表板启用仪表板(mon_server节点)cephmgr模块通过http://192.168启用仪表板。31.132:7000默认访问dashboarddashboard的端口是7000,可以执行cephconfig-keysetmgr/dashboard/server_port$PORT修改端口。也可以执行cephconfig-keysetmgr/dashboard/server_addr$IP来指定dashboard的访问IP。至此Ceph集群搭建完成,接下来就是搭建块设备了。参考:CEPH分布式存储部署手册(Ubuntu14.04)如何在Ubuntu16.04中安装Ceph存储集群CentOS7.2并部署Luminous版本Ceph-12.2.0