ceph集群维护手册
ceph 运维手册

ceph 运维手册
Ceph 运维手册主要包含以下内容:
1. Ceph 集群部署:包括硬件要求、软件安装、网络配置等方面的指导,以确保 Ceph 集群的稳定运行。
2. Ceph 集群监控:介绍如何使用 Ceph 的监控工具,如 `ceph`,
`cephstatus`, `cephhealth`, `cephdf` 等,来实时监控集群状态、存储空间使用情况、集群健康状态等。
3. Ceph 集群维护:包括故障处理、性能优化、数据备份与恢复等方面的指导,以确保 Ceph 集群的可用性和可靠性。
4. Ceph 集群升级:介绍如何进行 Ceph 集群的升级,包括软件版本升级、配置参数调整等方面的指导。
5. Ceph 集群安全:介绍如何设置和管理 Ceph 集群的安全性,包括用户权限管理、数据加密等方面的指导。
6. Ceph 集群日志管理:介绍如何收集、分析和存储 Ceph 集群的日志信息,以便于故障排查和性能分析。
7. Ceph 集群最佳实践:提供一些基于实际经验的最佳实践,帮助运维人员更好地管理和维护 Ceph 集群。
以上是 Ceph 运维手册的主要内容,具体内容可能因版本和实际需求而有所不同。
建议查阅官方文档或相关资料以获取更详细的信息。
ceph 运维手册

ceph 运维手册一、引言1.Ceph 简介Ceph 是一款开源的分布式存储系统,它具有高度可扩展性、性能优异、易于管理等特点。
Ceph 能够为云计算、虚拟化和企业级存储场景提供稳定、可靠的存储服务。
2.Ceph 运维手册目的本手册旨在为运维人员提供一份详细的Ceph 运维指南,帮助读者更好地理解和掌握Ceph 存储系统的部署、管理、优化和维护。
二、Ceph 架构1.组件介绍(1)Ceph Monitor(MON)Ceph Monitor 负责维护整个集群的元数据信息,包括监控OSD 节点的状态、存储池配置等。
(2)Ceph OSD 节点Ceph OSD 节点是Ceph 集群中的存储节点,负责存储数据和处理数据复制、恢复等操作。
(3)Ceph 客户端Ceph 客户端用于访问Ceph 存储系统,为应用提供存储服务。
2.架构原理Ceph 采用去中心化的设计,将数据分散存储在多个OSD 节点上,并通过Ceph Monitor 进行统一管理。
数据在OSD 节点之间自动进行复制和分布,以保证数据的可靠性和性能。
三、Ceph 运维流程1.部署Ceph 集群(1)准备环境确保服务器硬件、网络和操作系统满足Ceph 部署要求。
(2)安装和配置Ceph 组件根据Ceph 版本和集群规模,安装MON、OSD 和客户端等相关组件。
(3)配置集群参数设置集群名称、存储池、副本数等参数,以满足业务需求。
2.Ceph 集群日常运维(1)监控集群状态使用Ceph 提供的命令行工具或监控工具,定期检查集群健康状况。
(2)扩容和缩容集群根据业务需求,动态调整集群规模和存储容量。
(3)处理故障遇到故障时,及时排查并采取相应措施解决问题。
3.Ceph 存储管理(1)创建和删除存储池根据业务需求,创建和管理存储池。
(2)配置和调整存储策略根据数据特点,设置合适的存储策略,以提高存储利用率。
(3)监控存储性能定期检查存储性能,优化存储配置。
Ceph094安装手册

Ceph094.6安装-2016一、安装环境4台虚拟机,1台deploy,1台mon,2台osd,操作系统rhel71Ceph-adm 192.168.16.180Ceph-mon 192.168.16.181Ceph-osd1 192.168.16.182Ceph-osd2 192.168.16.183二、安装预环境1、配置主机名/ip地址(所有主机单独执行)hostnamectl set-hostname 主机名修改/etc/sysconfig/network-scripts/ifcfg-eno*IPADDR/NETMASK/GATEWAY2、adm节点上生成节点列表,/etc/ceph/cephlist.txt192.168.16.180192.168.16.181192.168.16.182192.168.16.1833、在adm上编辑/etc/hosts4、adm利用脚本同步所有节点的/etc/hosts[root@ceph-adm ceph]# cat /etc/ceph/rsync_hosts.shWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt);do echo -----$ip-----;rsync -avp --delete /etc/hosts $ip:/etc/;done5、所有主机生成ssh-key,并所有主机都执行id的copyssh-keygen -t rsassh-copy-id root@ceph-admssh-copy-id root@ceph-monssh-copy-id root@ceph-osd1ssh-copy-id root@ceph-osd26、adm上执行A、同步创建/etc/ceph目录[root@ceph-adm ceph]# cat mkdir_workdir.shWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt);do echo -----$ip-----;ssh root@$ip mkdir -p /etc/ceph ;doneb、同步关闭防火墙[root@ceph-adm ceph]# cat close_firewall.sh#!/bin/shset -xWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt)do echo -----$ip-----ssh root@$ip "sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config"ssh root@$ip setenforce 0ssh root@$ip "firewall-cmd --zone=public --add-port=6789/tcp --permanent"ssh root@$ip "firewall-cmd --zone=public --add-port=6800-7100/tcp --permanent"ssh root@$ip "firewall-cmd --reload"donec、所有脚本执行系统优化,打开文件限制[root@ceph-adm ceph]# cat system_optimization.sh#!/bin/shset -xWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt)do echo -----$ip-----ssh root@$ip "sed -i 's/4096/102400/' /etc/security/limits.d/20-nproc.conf"ssh root@$ip "cat /etc/rc.local | grep "ulimit -SHn 102400" || echo "ulimit -SHn 102400" >>/etc/rc.local"doned、编辑wty_project.repo和wty_rhel7.repo文件,并同步到所有节点[root@ceph-adm ceph]# cat rsync_repo.shWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt);do echo -----$ip-----;rsync -avp --delete /etc/ceph/*.repo$ip:/etc/yum.repos.d/;donee、安装ceph以及必要的rpm包[root@ceph-adm ceph]# cat ceph_install.sh#!/bin/shset -xWorkDir=/etc/cephfor ip in $(cat ${WorkDir}/cephlist.txt)do echo -----$ip-----ssh root@$ip "yum install redhat-lsb -y"ssh root@$ip "yum install ceph -y"done三、deploy安装,在adm节点1、deploy安装cd /etc/ceph/yum install ceph-deploy -y2、初始化集群[root@ceph-adm ceph]# ceph-deploy new ceph-mon3、安装集群ceph软件包(与二e的那一步有点重复,但是还是有需要的包要安装例如fcgi/ceph-radosgw)Ceph-deploy Install ceph-adm ceph-mon ceph-osd1 ceph-osd24、添加初始monitor节点和收集秘钥[root@ceph-adm ceph]# ceph-deploy mon create-initial5、osd节点操作A、osd1/osd2各增加2块100G硬盘B、adm节点操作ceph-deploy disk zap ceph-osd1:sdb ceph-osd1:sdc ceph-osd2:sdb ceph-osd2:sdcceph-deploy osd create ceph-osd1:sdb ceph-osd1:sdc ceph-osd2:sdb ceph-osd2:sdcceph –sceph osd tree检测正常*disk zap操作对硬盘进行zero操作,*osd create操作合并了osd prepare/osd activate操作,但是挂载目录不能指定/var/lib/ceph/osd/ceph-X6、将所有节点加为admin,使节点可以运行ceph的所有命令Ceph-deploy admin ceph-adm ceph-mon ceph-osd1 ceph-osd2。
Configuring Ceph说明书

ceph.conf: how does it work?
• Different sections for the each daemon. [mon] [osd] [mds] …
• Sections evaluated in priority order:
• [type.id] > [type] > [global] • Example osd.0 reads options from [osd.0], then [osd], then [global]. • IOW:
• Occasionally the docs are incomplete; there are two definitive ways to see which options exist:
• Read the source code: https:///ceph/ceph/blob/jewel/src/common/config_opts.h
• General advice: keep ceph -w open in another window when changing options.
• If your change causes problems, you’ll quickly notice, then you can quickly revert.
• The defaults are intended to handle the general case: be pretty good for most clusters.
• Though in my experience some defaults are incorrect
• So many options exist because there is not always a good default for every cluster.
ceph运维手册

ceph运维手册一、介绍Ceph是一个分布式存储系统,具有高性能、高可靠性和高可扩展性的特点。
在大规模数据存储领域,Ceph已经成为一种非常流行的解决方案。
本文将深入探讨Ceph的运维手册,包括必要的配置、监控、故障处理等方面。
二、环境准备在进行Ceph的运维工作之前,需要准备以下环境:1.硬件设备:Ceph要求至少3台服务器,并且每台服务器要有足够的计算和存储资源。
2.操作系统:推荐使用Linux操作系统,例如CentOS、Ubuntu等。
3.网络配置:确保服务器之间能够正常通信,并且网络带宽要足够支持存储系统的数据传输。
三、Ceph集群部署3.1 安装Ceph软件包在每台服务器上执行以下命令,安装Ceph软件包:$ sudo apt-get install ceph -y3.2 配置Ceph集群1.创建一个用于存储Ceph配置文件的目录:$ sudo mkdir /etc/ceph2.在主节点上执行以下命令,生成配置文件:$ sudo ceph-deploy new <主节点>3.编辑生成的Ceph配置文件,添加以下内容:osd pool default size = 2osd crush chooseleaf type = 14.在主节点上执行以下命令,部署配置文件到所有节点:$ sudo ceph-deploy --overwrite-conf config push <所有节点>3.3 启动Ceph集群在主节点上执行以下命令,启动Ceph集群:$ sudo ceph-deploy mon create-initial四、Ceph监控Ceph提供了一套监控工具,可以用于实时监控集群的状态和性能。
4.1 安装和配置监控工具在主节点上执行以下命令,安装和配置监控工具:$ sudo apt-get install ceph-mgr ceph-mgr-dashboard -y4.2 访问监控面板通过浏览器访问主节点的IP地址和监控面板端口,例如:主节点IP地址>:7000。
Ceph-原理-安装-维护-Centos7

Ceph在存储中的层次第一层:物理存储介质。
a.LUN:通常将硬件生成生成的虚拟磁盘叫LUN, 比如raid卡生成的虚拟磁盘。
b.Volume:通常将软件层次生成的虚拟磁盘叫做卷,比如LVM生成的逻辑卷。
c.Disk:就是物理磁盘第二层:内核层次的文件系统,维护文件到磁层磁盘的映射关系。
(用户一般不需要管)第三层:应用层次的文件系统(需要用户自己手工安装应用程序,启动应用进程)第四层:网络文件访问系统NFS, CIFS(服务器端装Server,客户端装Client,挂载目录远程访问) Ceph原理1.Ceph存储系统的逻辑结构2.Rados的系统逻辑结构3.Ceph寻址流程4.ceph部署网络拓扑备注:Cluster Network可选,但是最好建议有该网络,用于OSD扩展时,后端网络传输数据用。
在实际工作中时,深有体会,如果只有public network,在OSD扩展时,由于ceph需要重新“搬运”数据,导致升级长达5个小时。
如果有专门的集群网络(万兆交换机+光钎),几分钟升级完成。
Ceph安装(ceph-deploy)1.环境准备以及各ceph节点初始化➢部署逻辑架构节点安装组件备注该章节的操作均通过root执行且在各个ceph节点均要执行➢修改/etc/hostname#vi /etc/hostname #如果为其他节点调整为其他节点的名称ceph{number} #如ceph1#hostname -F /etc/hostname #立即生效,断开shell重新登录➢创建安装用户irteam且该用户不需要tty#useradd -d /home/irteam -k /etc/skel -m irteam#sudo passwd irteam#echo " irteam ALL = (root) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/irteam#chmod 0440 /etc/sudoers.d/irteam修改/etc/sudoers,irteam用户不需要tty#chmod 755 /etc/sudoers#vi /etc/sudoers #添加如下配置,而不是将原来的Default requiretty注释掉Defaults:irteam !requiretty#chmod 440 /etc/sudoers➢yum源以及ceph源设置#yum clean all#rm -rf /etc/yum.repos.d/*.repo#wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo #wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo#sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo#sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo#vi /etc/yum.repos.d/ceph.repo #增加ceph源[ceph]name=cephbaseurl=/ceph/rpm-jewel/el7/x86_64/gpgcheck=0[ceph-noarch]name=cephnoarchbaseurl=/ceph/rpm-jewel/el7/noarch/gpgcheck=0➢安装ceph#yum makecache#yum install -y ceph#ceph --version #版本查看ceph version 10.2.2 (45107e21c568dd033c2f0a3107dec8f0b0e58374)➢关闭selinux & firewalld#sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config#setenforce 0#systemctl stop firewalld#systemctl disable firewalld➢同步时间节点(rdate & ntp均可以)#timedatectl set-timezone Asia/Shanghai #设置时区#yum install -y rdate#rdate -s #选个可用且权威的服务器#echo "00 0 1 * * root rdate -s " >> /etc/crontab #加入调度2.部署Ceph集群备注:以下操作均在admin-node节点执行,在本文中,由于admin-node与ceph1共享,所以在ceph1执行就可以了,统一用用户:irteam执行➢修改/etc/hosts#sudo vi /etc/hosts192.168.11.119 ceph1192.168.11.124 ceph2192.168.11.112 ceph3➢生成密钥对& 复制秘钥到各节点(防止部署输入密码,即无密码验证)#sudo su - irteam#ssh-keygenGenerating public/private key pair.Enter file in which to save the key (/irteam/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /irteam/.ssh/id_rsa.Your public key has been saved in /irteam/.ssh/id_rsa.pub.#ssh-copy-id irteam@ceph1#ssh-copy-id irteam@ceph2#ssh-copy-id irteam@ceph3➢用户配置,防止部署时输入用户名#sudo su - irteam #如果当前登录用户是irteam,则忽略该步骤#vi ~/.ssh/configStrictHostKeyChecking noHost ceph1Hostname ceph1User irteamHost ceph2Hostname ceph2User irteamHost ceph3Hostname ceph3User irteam#chmod 600 ~/.ssh/config➢安装部署工具#sudo yum -y install ceph-deploy#ceph-deploy --version1.5.34➢创建集群#sudo su - irteam #如果当前登录用户是irteam,则不用执行#mkdir ~/my-cluster && cd ~/my-cluster#创建集群:在当前目录下生成ceph.conf以及ceph.mon.keyring#ceph-deploy new ceph1 ceph2 ceph3#ls ~/my-cluster #查看生成的文件ceph.conf ceph-deploy-ceph.log ceph.mon.keyring修改集群ceph.conf配置,增加public_network,增加monitor之间的时差(默认为0.05s,现改为2s),总共的副本数据调整为2#vi ceph.conf[global]fsid = 7cec0691-c713-46d0-bce8-5cb1d57f051fmon_initial_members = ceph1, ceph2, ceph3 #也可以用IP,用hostname最佳mon_host = 192.168.11.119,192.168.11.124,192.168.11.112auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephxpublic_network = 192.168.11.0/24mon_clock_drift_allowed = 2osd_pool_default_size = 2➢部署monitors#ceph-deploy mon create-initial#ll ~/my-clusterceph.bootstrap-mds.keyringceph.bootstrap-rgw.keyringceph.confceph.mon.keyringceph.bootstrap-osd.keyringceph.client.admin.keyringceph-deploy-ceph.log#sudo ceph -s #查看集群情况cluster 7cec0691-c713-46d0-bce8-5cb1d57f051fhealth HEALTH_ERRno osdsmonmap e1: 3 mons at {ceph1=192.168.11.119:6789/0,ceph2=192.168.11.124:6789/0,ceph3=192.168.11.112:6789/0} election epoch 4, quorum 0,1,2 ceph3,ceph1,ceph2osdmap e1: 0 osds: 0 up, 0 inflags sortbitwisepgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects0 kB used, 0 kB / 0 kB avail64 creating➢部署osds由于没有足够多的磁盘(如果用磁盘请参考维护章节),用文件夹:#以下创建文件夹,赋权的动作均在ceph1,ceph2,ceph3上执行#sudo mkdir /var/local/osd1 && sudo chmod 777 -R /var/local/osd1osd预处理与激活#ceph-deploy osd prepare ceph1:/var/local/osd1 ceph2:/var/local/osd1 ceph3:/var/local/osd1#ceph-deploy osd activate ceph1:/var/local/osd1 ceph2:/var/local/osd1 ceph3:/var/local/osd1备注:a.如果你有足够多的磁盘,你也可以直接对磁盘操作#ceph-deploy osd prepare ceph1:sdb#ceph-deploy osd activate ceph1:sdbb.对上述osd prepare & osd activate,也可以一步完成#ceph-deploy osd create ceph1:sdb查看集群状态#sudo ceph -scluster 7cec0691-c713-46d0-bce8-5cb1d57f051fhealth HEALTH_OKmonmap e1: 3 mons at{ceph1=192.168.11.119:6789/0,ceph2=192.168.11.124:6789/0,ceph3=192.168.11.112:6789/0} election epoch 4, quorum 0,1,2 ceph3,ceph1,ceph2osdmap e15: 3 osds: 3 up, 3 inflags sortbitwisepgmap v26: 64 pgs, 1 pools, 0 bytes data, 0 objects29590 MB used, 113 GB / 142 GB avail64 active+cleanCeph安装(kolla)除了官方推荐的ceph-deploy安装方式,你还可以选择如下安装方式:通过工具ansible,远程登录到各node节点安装,并且让mon,osd,rgw用docker方式来承载另外:由于我们使用docker的目的是想部署openstack,涉及到openstack部分,则不涉及。
Red Hat Ceph Storage 4 文件系统指南 配置和挂载 Ceph 文件系统说明书

Red Hat Ceph Storage 4文件系统指南配置和挂载 Ceph 文件系统Last Updated: 2023-08-26Red Hat Ceph Storage 4 文件系统指南配置和挂载 Ceph 文件系统Enter your first name here. Enter your surname here.Enter your organisation's name here. Enter your organisational division here. Enter your email address here.法律通告Copyright © 2022 | You need to change the HOLDER entity in the en-US/File_System_Guide.ent file |.The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates.XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.All other trademarks are the property of their respective owners.摘要本指南说明了如何配置 Ceph 元数据服务器(MDS),以及如何创建、挂载和使用 Ceph 文件系统(CephFS)。
5.6、ceph集群添加和删除OSD

5.6、ceph集群添加和删除OSD4 添加和删除OSD新加节点 hostname: ceph-node04 IP: 172.16.1.34 OS: CentOS7.5 Cpu/Memory: 2vcpu/2GB disk /: 60GB4.1 添加OSD1 在新创建的 172.16.1.34 节点上新增加两块未使⽤的硬盘"/dev/sdb(20GB)、/dev/sdc(20GB)"。
[root@ceph-node04 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 60G 0 disk├─sda1 8:1 0 200M 0 part /boot├─sda2 8:2 0 2G 0 part└─sda3 8:3 0 57.8G 0 part /sdb 8:16 0 20G 0 disksdc 8:32 0 20G 0 disksr0 11:0 1 1024M 0 rom2 在 ceph-deploy 节点上添加 ceph-node04 节点的 hosts 解析[root@ceph-deploy my-cluster]# echo "172.16.1.34 ceph-node04" >> /etc/hosts3 在 ceph-deploy 节点上分发秘钥到 ceph-node04 节点上(1) 分发秘钥[root@ceph-deploy my-cluster]# ssh-copy-id root@ceph-node04(2) 检查秘钥是否分发成功[root@ceph-deploy my-cluster]# ssh root@ceph-node04[root@ceph-node04 ~]# exit4 在 ceph-node04 节点上配置阿⾥云 yum 源(1) 配置 ceph 源[root@ceph-node04 ~]# cat > /etc/yum.repos.d/ceph.repo << EOF[Ceph]name=Ceph packages for $basearchbaseurl=/ceph/rpm-octopus/el7/\$basearchgpgcheck=0[Ceph-noarch]name=Ceph noarch packagesbaseurl=/ceph/rpm-octopus/el7/noarchgpgcheck=0[ceph-source]name=Ceph source packagesbaseurl=/ceph/rpm-octopus/el7/SRPMSgpgcheck=0EOF(2) 配置 base、epel 源[root@ceph-node04 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https:///repo/Centos-7.repo [root@ceph-node04 ~]# wget -O /etc/yum.repos.d/epel.repo /repo/epel-7.repo(3) ⽣成 yum 源缓存[root@ceph-node04 ~]# yum clean all[root@ceph-node04 ~]# yum makecache5 通过 ceph-deploy 命令在 ceph-node04 节点上安装 ceph 相关的软件包[root@ceph-deploy my-cluster]# ceph-deploy install --no-adjust-repos ceph-node046 使⽤ ceph-deploy 命令将配置⽂件 ceph.conf 和 admin key 复制到 ceph-node04 节点的 "/etc/ceph" ⽬录下,以便每次执⾏ceph CLI 命令⽆需指定 monitor 地址和 ceph.client.admin.keyring[root@ceph-deploy my-cluster]# ceph-deploy admin ceph-node047 通过 ceph-deploy 命令添加 ceph-node04 节点上的 OSD 到 ceph 集群[root@ceph-deploy my-cluster]# ceph-deploy osd create --data /dev/sdb ceph-node04[root@ceph-deploy my-cluster]# ceph-deploy osd create --data /dev/sdc ceph-node048 在 ceph-node04 节点查看 osd 进程[root@ceph-node04 ~]# ceph -scluster:id: 14912382-3d84-4cf2-9fdb-eebab12107d8health: HEALTH_OKservices:mon: 3 daemons, quorum ceph-node01,ceph-node02,ceph-node03 (age 12m)mgr: ceph-node01(active, since 12m), standbys: ceph-node03, ceph-node02osd: 8 osds: 8 up (since 3m), 8 in (since 3m)pools: 1 pools, 1 pgsobjects: 0 objects, 0 Busage: 8.1 GiB used, 152 GiB / 160 GiB availpgs: 1 active+clean[root@ceph-node04 ~]# ps -ef | grep -v grep | grep ceph图⽰:4.2 删除OSD将 ceph-node04 172.16.1.34 节点 osd.6、osd.7 下线说明:ceph-node04 节点上 /dev/sdb 磁盘对应的 osd id 为 6,/dev/sdc 磁盘对应的 osd id 为 7。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ceph群集维护简明手册 (2)前言 (2)MON (2)MON节点添加 (3)MON节点删除 (4)MON故障恢复 (4)OSD (6)OSD添加 (6)OSD删除 (6)日志迁移 (6)硬盘更换 (7)RBD (7)块存储的基本操作 (7)快照 (10)导入导出 (11)增量备份与恢复 (12)Ceph群集维护简明手册作者: 普通人前言本手册针对已部署完成ceph集群进行阐述(通过ceph-deploy工具),部署架构图如下:MON环境配置节点 主机名 Public ip address Cluster ip address Admin/ceph ubuntu-ceph-06 192.168.0.24 10.10.0.6ceph ubuntu-ceph-07 192.168.0.25 10.10.0.7ceph ubuntu-ceph-06 192.168.0.26 10.10.0.8在管理节点的配置目录下,使用ceph-depoloy工具添加新的mon节点。
1.更新配置文件,添加新mon的信息2.推送新的配置文件到所有节点,或者在添加时覆盖(ceph-deploy会提示)3.使用ceph-deploy工具添加MON新节点root@ubuntu-ceph-06:/opt/ceph# ceph-deploy mon create ubuntu-ceph-08[ceph_deploy.cli][INFO ] Invoked (1.4.0): /usr/bin/ceph-deploy mon create ubuntu-ceph-08 [ceph_deploy.mon][DEBUG ] Deploying mon, cluster ceph hosts ubuntu-ceph-08[ceph_deploy.mon][DEBUG ] detecting platform for host ubuntu-ceph-08 ...[ubuntu-ceph-08][DEBUG ] connected to host: ubuntu-ceph-08[ubuntu-ceph-08][DEBUG ] detect platform information from remote host[ubuntu-ceph-08][DEBUG ] detect machine type[ceph_deploy.mon][INFO ] distro info: Ubuntu 14.04 trusty[ubuntu-ceph-08][DEBUG ] determining if provided host has same hostname in remote [ubuntu-ceph-08][DEBUG ] get remote short hostname[ubuntu-ceph-08][DEBUG ] deploying mon to ubuntu-ceph-08[ubuntu-ceph-08][DEBUG ] get remote short hostname………………..]**************************************************************************** [ubuntu-ceph-08][DEBUG ] status for monitor: mon.ubuntu-ceph-08[ubuntu-ceph-08][DEBUG ] {[ubuntu-ceph-08][DEBUG ] "election_epoch": 0,[ubuntu-ceph-08][DEBUG ] "extra_probe_peers": [[ubuntu-ceph-08][DEBUG ] "192.168.0.24:6789/0",[ubuntu-ceph-08][DEBUG ] "192.168.0.25:6789/0"[ubuntu-ceph-08][DEBUG ] ],[ubuntu-ceph-08][DEBUG ] "monmap": {[ubuntu-ceph-08][DEBUG ] "created": "0.000000",[ubuntu-ceph-08][DEBUG ] "epoch": 14,[ubuntu-ceph-08][DEBUG ] "fsid": "fc989fb1-eea9-47f4-83e1-999c47df0930", [ubuntu-ceph-08][DEBUG ] "modified": "2015-08-19 02:50:54.480663",[ubuntu-ceph-08][DEBUG ] "mons": [[ubuntu-ceph-08][DEBUG ] {[ubuntu-ceph-08][DEBUG ] "addr": "192.168.0.24:6789/0",[ubuntu-ceph-08][DEBUG ] "name": "ubuntu-ceph-06",[ubuntu-ceph-08][DEBUG ] "rank": 0[ubuntu-ceph-08][DEBUG ] },[ubuntu-ceph-08][DEBUG ] {[ubuntu-ceph-08][DEBUG ] "addr": "192.168.0.25:6789/0",[ubuntu-ceph-08][DEBUG ] "name": "ubuntu-ceph-07",添加mon节点也可以使用ceph-deploy mon add --address [ADDRESS] hostname在管理节点的配置目录下,使用ceph-depoloy工具删除mon节点。
1.更新配置文件,删除将放弃mon的信息2.推送新的配置文件到所有节点,或者在添加时覆盖(ceph-deploy会提示)3.使用ceph-deploy工具删除MON新节点root@ubuntu-ceph-06:/opt/ceph# ceph-deploy mon destroy ubuntu-ceph-08[ceph_deploy.cli][INFO ] Invoked (1.4.0): /usr/bin/ceph-deploy mon destroy ubuntu-ceph-08 [ceph_deploy.mon][DEBUG ] Removing mon from ubuntu-ceph-08[ubuntu-ceph-08][DEBUG ] connected to host: ubuntu-ceph-08[ubuntu-ceph-08][DEBUG ] detect platform information from remote host[ubuntu-ceph-08][DEBUG ] detect machine type[ubuntu-ceph-08][DEBUG ] get remote short hostname[ubuntu-ceph-08][INFO ] Running command: ceph --cluster=ceph -n mon. -k /var/lib/ceph/mon/ceph-ubuntu-ceph-08/keyringmon remove ubuntu-ceph-08[ubuntu-ceph-08][WARNIN] removed mon.ubuntu-ceph-08 at 192.168.0.26:6789/0, there are now 2 monitors[ubuntu-ceph-08][INFO ] polling the daemon to verify it stopped[ubuntu-ceph-08][INFO ] Running command: initctl status ceph-mon cluster=ceph id=ubuntu-ceph-08[ubuntu-ceph-08][INFO ] polling the daemon to verify it stopped[ubuntu-ceph-08][INFO ] Running command: initctl status ceph-mon cluster=ceph id=ubuntu-ceph-08[ubuntu-ceph-08][INFO ] Running command: mkdir -p /var/lib/ceph/mon-removed [ubuntu-ceph-08][DEBUG ] move old monitor dataMON故障恢复一般来说,在实际运行中,ceph monitor的个数是2n+1(n>=0)个,在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行。
更通俗些就是正常节点的比例大于50%即可保证Ceph集群能够正常运行。
因为,对于3个节点,同时只能挂掉一个。
但是,如果屋漏偏逢雨,3个节点中挂了2个,paxos算法就无法正常进行仲裁(quorum),此时,ceph集群会阻塞对集群的操作,直到超过半数的Mon节点恢复.Ø通过monmaptool工具,根据ceph集群信息生成monmap########################################################################### ubuntu-ceph-06、ubuntu-ceph-07是将要被修复的mon节点##########root@ubuntu-ceph-06:/opt/ceph##monmaptool–create--addubuntu-ceph-07192.168.0.25:678 9 --add ubuntu-ceph-08192.168.0.26:6789 --fsid fc989fb1-eea9-47f4-83e1-999c47df0930--clobber monmapØ把monkeyring和monmap传送到Ubuntu-ceph-07节点上root@ubuntu-ceph-06# cat /var/lib/ceph/mon/ceph-ubuntu-ceph-06/keyring[mon.]key = AQDZQ8VTAAAAABAAX9HqE0NITrUt7j1w0YadvA==caps mon = "allow *"Ø在故障的mon节点初始化root@ubuntu-ceph-07#ceph-mon --cluster ceph -i ubuntu-ceph-07 --mkfs --monmapmonmap --keyringkeyringØ创建upstart空文件,实现sysV管理root@ubuntu-ceph-07:/var/lib/ceph/mon/ceph-ubuntu-ceph-07#touch upstartØ启动故障节点root@ubuntu-ceph-07# start ceph-mon id=Ubuntu-ceph-07Ø同样的方法修复ubuntu-ceph-08,最终可以使集群正常状态OSDOSD添加OSD推荐使用ceph-deploy工具来部署,默认OSD添加到CRUSH是以host为隔离域,所以,如果已经变更了crush结构,会新添加host bucket .在管理节点的配置目录下,使用ceph-depoloy工具添加新的OSD。