003 ansible部署ceph集群

介绍:在上一次的deploy部署ceph,虽然出了结果,最后的结果并没有满足最初的目的,现在尝试使用ansible部署一遍,看是否会有问题

一、环境准备

ceph1充当部署节点,ceph2,ceph3,ceph4充当ceph集群节点

IP 主机名 节点 系统
172.25.250.10 ceph1 ceph-ansible Red Hat release 7.4
172.25.250.11 ceph2 mon、mgr、osd Red Hat release 7.4
172.25.250.12 ceph3 mon、mgr、osd Red Hat release 7.4
172.25.250.10 ceph4 mon、mgr、osd Red Hat release 7.4

1.1 ceph1配置hosts

172.25.250.10  ceph1
172.25.250.11  ceph2
172.25.250.12  ceph3
172.25.250.13  ceph4

1.2 配置免密登录

[root@ceph1 ~]#  ssh-keygen

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph1

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph2

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph3

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph4

二,部署ceph集群

2.1部署节点安装ansible

注:再部署之前,一般需要配置yum源和时间服务器ntp配置

[root@ceph1 ~]# yum -y install ansible

[root@ceph1 ~]# cd /etc/ansible/

[root@ceph1 ansible]# ll

2.2 定义hosts

[root@ceph1 ansible]# vim hosts

[mons]
ceph2
ceph3
ceph4

[mgrs]
ceph2
ceph3
ceph4

[osds]
ceph2
ceph3
ceph4

[clients]
ceph1

2.3 安装ceph-ansible

[root@ceph1 ansible]#  yum -y install ceph-ansible

[root@ceph1 ansible]#  cd /usr/share/ceph-ansible/

[root@ceph1 ceph-ansible]# ls

[root@ceph1 ceph-ansible]#  ansible all -m ping

[root@ceph1 ceph-ansible]# cd /usr/share/ceph-ansible/group_vars/

[root@ceph1 group_vars]# cp mons.yml.sample mons.yml

[root@ceph1 group_vars]# cp mgrs.yml.sample mgrs.yml

[root@ceph1 group_vars]# cp osds.yml.sample osds.yml

[root@ceph1 group_vars]# cp clients.yml.sample clients.yml

[root@ceph1 group_vars]# cp all.yml.sample all.yml

[root@ceph1 group_vars]# vim all.yml

fetch_directory: ~/ceph-ansible-keys
ceph_repository_type: "cdn"ceph_origin: repositoryceph_repository: rhcsceph_rhcs_version: 3monitor_interface: eth0journal_size: 5120public_network: 172.25.250.0/24cluster_network: "{{ public_network }}"

2.4 定义OSD

[root@ceph1 group_vars]# vim osds.yml

devices:
   - /dev/vdb
   - /dev/vdc
   - /dev/vdd
osd_scenario: collocated

[root@ceph1 group_vars]# grep -Ev "^$|^\s*#"  *.yml

2.5 定义ansible的入口文件

[root@ceph1 group_vars]# cd ..

[root@ceph1 ceph-ansible]# cp site.yml.sample site.yml

[root@ceph1 ceph-ansible]# vim site.yml

- hosts:
  - mons
#  - agents
  - osds
#  - mdss
#  - rgws
#  - nfss
#  - restapis
#  - rbdmirrors
  - clients
  - mgrs
#  - iscsi-gws

2.6 安装

[root@ceph1 ceph-ansible]# ansible-playbook  site.yml

安装如果有问题,会有报错,根据报错信息去修改yml文件,然后重新执行,出现下面的结果表示已经安装完成

PLAY RECAP ****************************************************************
ceph1                      : ok=42   changed=4    unreachable=0    failed=0
ceph2                      : ok=213  changed=9    unreachable=0    failed=0
ceph3                      : ok=196  changed=3    unreachable=0    failed=0
ceph4                      : ok=190  changed=28   unreachable=0    failed=0   

2.7 检测验证

[root@ceph2 ~]# ceph -s

[root@ceph2 ~]# ceph osd tree

所有的文件都存放在/etc/ceph下

[root@ceph2 ~]# cd /etc/ceph/

[root@ceph2 ceph]# ll

ceph.conf是配置文件的名字,是因为没有指定集群的名字默认为ceph,配置文件的名字应为:cluster_name.conf

[root@ceph2 ceph]# cat ceph.conf

[global]
fsid = 35a91e48-8244-4e96-a7ee-980ab989d20d
mon initial members = ceph2,ceph3,ceph4
mon host = 172.25.250.11,172.25.250.12,172.25.250.13
public network = 172.25.250.0/24
cluster network = 172.25.250.0/24
[osd]
osd mkfs type = xfs
osd mkfs options xfs = -f -i size=2048
osd mount options xfs = noatime,largeio,inode64,swalloc
osd journal size = 5120

查看磁盘,有一个日志分区和数据分区

[root@ceph2 ceph]# fdisk -l

查看ceph进程

[root@ceph2 ceph]# ps aux|grep ceph

2.8 节点扩充

如果需要扩充节点,可以直接在部署节点的hosts文件,添加上主机名,执行部署,就会自己在原来的基础上继续扩充

如,把ceph1的三个磁盘扩充到osd,则配置如下:

[root@ceph1 ansible]# vim hosts

[mons]
ceph2
ceph3
ceph4

[mgrs]
ceph2
ceph3
ceph4

[osds]
ceph2
ceph3
ceph4
ceph1

[clients]
ceph1

再执行部署

[root@ceph1 ceph-ansible]# ansible-playbook  site.yml

如果部署错误,删除需要下面这个yml文件

[root@ceph1 ceph-ansible]#  vim infrastructure-playbooks/purge-cluster.yml

部分注释内容:# This playbook purges Ceph
# It removes: packages, configuration files and ALL THE DATA
#
# Use it like this:
# ansible-playbook purge-cluster.yml
#     Prompts for confirmation to purge, defaults to no and
#     doesn‘t purge the cluster. yes purges the cluster.
#
# ansible-playbook -e ireallymeanit=yes|no purge-cluster.yml
#     Overrides the prompt using -e option. Can be used in
#     automation scripts to avoid interactive prompt.

执行删除:

[root@ceph1 ceph-ansible]# ansible-playbook infrastructure-playbooks/purge-cluster.yml



另一个环境安装

一、环境准备,

每个虚拟机只有一块多余的磁盘做osd

IP 主机名 节点 系统

172.25.254.130

ceph1 ceph-ansible centos 7.5-1810

172.25.254.131

ceph2 mon、mgr、osd centos 7.5-1810

172.25.254.132

ceph3 mon、mgr、osd centos 7.5-1810
172.25.254.133 ceph4 mon、mgr、osd centos 7.5-1810

1.1 配置hosts

172.25.254.130  ceph1
172.25.254.131  ceph2
172.25.254.132  ceph3
172.25.254.133  ceph4

1.2 配置免密登录

root@ceph1 ~]#  ssh-keygen

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph1

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph2

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph3

[root@ceph1 ~]# ssh-copy-id -i .ssh/id_rsa.pub ceph4

时间同步:

/usr/sbin/ntpdate asia.pool.ntp.org && hwclock -w

二、部署

2.1 安装notario

[root@ceph1 ~]#  yum install -y python-pip

[root@ceph1 ~]# pip install notario

2.1 下载ceph-ansible的代码到本地

root@ceph1 ~]# yum -y  git

[root@ceph1 ~]#  git clone https://github.com/ceph/ceph-ansible.git

2.3 修改inventory,添加主机信息

[root@ceph1 ~]# cd ceph-ansible/

[root@ceph1 ceph-ansible]# vim hosts

[mons]
ceph2
ceph3
ceph4

[mgrs]
ceph2
ceph3
ceph4

[osds]
ceph2
ceph3
ceph4

[clients]
ceph1

2.4 修改all.yml写入如下内容

[root@ceph1 ceph-ansible]# vim group_vars/all.yml

cluster: ceph                                #集群名
ceph_origin: distro                          #使用distro,则不会使用公网源
ceph_repository: local                       #被操作节点使用本地的repo文件
ceph_stable_release: luminous                #安装版本
public_network: "172.25.254.0/24"
cluster_network: "172.25.254.0/24"
mon_host: ceph2,ceph3,ceph4
monitor_interface: ens33
devices:                                     #OSD磁盘,有几块写几块
  - ‘/dev/sdb‘
osd_scenario: collocated

[root@ceph1 ceph-ansible]# mv site.yml.sample site.yml

[root@ceph1 ceph-ansible]# vim site.yml

# Defines deployment design and assigns role to server groups
- hosts:
  - mons
#  - agents
  - osds
#  - mdss
#  - rgws
#  - nfss
#  - rbdmirrors
  - clients
  - mgrs

2.5 执行部署

在执行部署动作之前,执行时间同步

/usr/sbin/ntpdate asia.pool.ntp.org && hwclock -w

[root@ceph1 ceph-ansible]# ansible-playbook site.yml -i hosts

-bash: ansible-playbook: command not found

[root@ceph1 ceph-ansible]# yum install ansible -y

[root@ceph1 ceph-ansible]# ansible-playbook site.yml -i hosts

报错:

需要安装python-netaddr:

[root@ceph1 ceph-ansible]# pip install netaddr

[root@ceph1 ceph-ansible]# ansible-playbook site.yml -i hosts

成功安装

参考链接:https://yq.aliyun.com/articles/624202

原文地址:https://www.cnblogs.com/zyxnhr/p/10543814.html

时间: 2024-11-10 09:16:48

003 ansible部署ceph集群的相关文章

部署CEPH集群

什么是CEPH组件 ceph-topo Ceph的底层是RADOS,它的意思是"A reliable, autonomous, distributed object storage". RADOS由两个组件组成: OSD: Object Storage Device,提供存储资源.Monitor:维护整个Ceph集群的全局状态.RADOS具有很强的扩展性和可编程性,Ceph基于RADOS开发了Object Storage.Block Storage.FileSystem.Ceph另外两

部署Ceph集群--jluocc

一 前言 分布式文件系统(Distributed File System):文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.分布式文件系统的设计基于C/S模式 1,什么是Ceph?Ceph:是一个 Linux PB 级分布式文件系统特点:具有高扩展,高可用,高性能的特点可以提供对象存储,块存储,文件存储可以提供PB级别的存储空间(PB->TB->GB)帮助文档:http://docs.ceph.org/start/intro中文文档:http://docs.

二十八. Ceph概述 部署Ceph集群 Ceph块存储

client:192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.实验环境 准备四台KVM虚拟机,其三台作为存储集群节点,一台安装为客户端,实现如下功能: 创建1台客户端虚拟机 创建3台存储集群虚拟机 配置主机名.IP地址.YUM源 修改所有主机的主机名 配置无密码SSH连接 配置NTP时间同步 创建虚拟机磁盘 1.1 五台机器(包括真机)配置yum源 1.1.1 全部搭建ftp服务 1.1.2 配

Ceph 之 使用ceph-deploy部署ceph集群

  上面左边是我的个人微信,如需进一步沟通,请加微信.  右边是我的公众号"Openstack私有云",如有兴趣,请关注. 环境: 系统centos7.4 ceph版本 ceph version 10.2.10 测试服务器为kvm虚拟机(openstack虚拟机) 本篇文章是记录下自己的部署过程,服务器使用kvm虚拟机,只测试功能,服务器分配如下 节点 服务 cluster network ceph-1(admin-node) osd.{1,2,},mon.ceph-1 eth0:19

Ubuntu 16.04下使用docker部署ceph集群

ceph集群docker部署 通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的:假设你只有一台机器,装了linux(如Ubuntu)系统和docker环境,那么可以参考以下步骤安装Ceph: # 要用root用户创建, 或有sudo权限 # 注: 建议使用这个docker镜像源:https://registry.docker-cn.com # 1. 修改docker镜像源 cat > /etc/docker/daemon.

centos7部署ceph集群(正确)

环境介绍 主机名 系统 ip地址 ceph版本 ceph-node1 CentOS Linux release 7.2.1511 192.168.1.120 jewel ceph-node2 CentOS Linux release 7.2.1511 192.168.1.121 jewel ceph-node3 CentOS Linux release 7.2.1511 192.168.1.128 jewel 准备工作 ◆ 1-7在三台ceph节点上都需要进行操作 ◆ 8只在ceph1操作即可

Ubuntu 14.04 部署 CEPH集群

注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/etc/hosts文件如下所示 127.0.0.1 localhost 10.10.102.85 admin 10.10.102.86 osd0 10.10.102.87 osd1 2.配置免密码访问 ssh-keygen //一直按回车即可,产生公钥私钥对 ssh-copy-id -i /root

22_2020年最新部署Ceph集群 Ceph块存储

1. 下载ceph nautilus 版本yum源   地址:https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/   下载三个文件夹里对应 14.2.6-0.el7 的 rpm      aarch64/    14-Jan-2020 23:20      noarch/     14-Jan-2020 23:21      x86_64/     14-Jan-2020 23:241.1 下载aarch64文件夹对应版本的rpm文件:(物理机)]

CEPH的基本概念及通过Ceph-Deploy快速部署CEPH集群

基础概念 **OSD**:Object Storage Device,主要用于存储数据,处理数据,,恢复,回不,平衡数据,并提供数据给monitor. **Monitor**:Ceph监视器,主要用于集群健康状态维护,提供策略,包含Monitor Map ,OSD Map,PG ma和CRUSH MAP **MSD**:Cpeh Metadata Server,主要保存ceph文件系统的元数据,快存储,对象存储不需要MSD. Ceph的架构核心组件RADOS,如架构图 RADOS:具备自我修复的