安装Ceph集群

安装Ceph集群

在这里插入图片描述

环境准备

CentOS 7.6

主机名IPRole
admin192.168.182.128admin
node1192.168.182.129mon/mgr/osd
node2192.168.182.130osd
node3192.168.182.131osd
client192.168.182.132
  • 所有节点修改主机名相互解析
  • 三台node节点添加大小5G以上硬盘
  • 关闭所有节点防火墙与SeLinux
  • 所有节点创建普通用户并设置密码

以下内容写入到 /etc/hosts

192.168.182.128 admin
192.168.182.129 node1
192.168.182.130 node2
192.168.182.131 node3
192.168.182.132 client

关闭所有节点防火墙与SeLinux脚本(授权并执行即可)

#!/bin/bash# 关闭防火墙
echo "正在关闭防火墙..."
sudo systemctl stop firewalld
sudo systemctl disable firewalld
echo "防火墙已关闭并禁用。"# 检查 SELinux 状态
sestatus=$(sestatus | grep "SELinux status" | awk '{print $3}')if [ "$sestatus" == "enabled" ]; then# 关闭 SELinuxecho "正在关闭 SELinux..."sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configecho "SELinux 已关闭。"
elseecho "SELinux 已经处于禁用状态,无需操作。"
fiecho "脚本执行完毕。"

所有节点创建用户,设置密码

useradd cephu
passwd cephu

确保Ceph节点新创建用户都有sudo权限 所有节点均操作

visudo
#大约在100行添加
cephu   ALL=(root)      NOPASSWD:ALL

实现ssh免密登录 (admin节点操作)

[root@admin ~]# su  - cephu
[cephu@admin ~]$ ssh-keygen
#将admin节点cephu用户生产的密钥拷贝到各Ceph节点
ssh-copy-id cephu@node#admin节点root用户田家庵~/.ssh/config配置文件 这样ceph-deploy就能用你所建的用户名登陆Ceph节点了
[root@admin ~]# mkdir ~/.ssh
[root@admin ~]# vim ~/.ssh/config
[root@admin ~]# cat ~/.ssh/config
Host node1
Hostname node1
User cephuHost node2
Hostname node2
User cephuHost node3
Hostname node3
User cephu

添加下载源

安装ceph-deploy(admin节点root用户)

vim /etc/yum.repos.d/ceph.repo[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
yum makecache
yum update
#开启yum缓存
[root@admin ~]# vim /etc/yum.conf
keepcache=1yum install ceph-deploy -y

安装ntp服务

在所有节点操作,选择一台节点当ntp时间服务器,其他节点当时间服务器客户端跟服务器同步时间。

[root@admin ~]# yum install -y ntp[root@admin ~]# vim /etc/ntp.conf  #有4行server的位置,把那4行server行注释掉,填写以下两行
server 127.127.1.0 # local clock
fudge  127.127.1.0 stratum 10[root@admin ~]# systemctl start ntpd
[root@admin ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

其他节点

 yum install ntpdate  -yntpdate  时间服务器ip

部署集群

无特殊说明以下操作均在admin节点,cephu用户执行

  • 创建cephu操作的目录,ceph-deploy命令操作必须在该目录下执行

    [root@admin ~]# su - cephu
    Last login: Tue Jul 11 10:09:09 EDT 2023 on pts/0
    [cephu@admin ~]$ mkdir my-clustersudo yum install  wget unzip -y
    
  • 创建集群

    wget https://files.pythonhosted.org/packages/5f/ad/1fde06877a8d7d5c9b60eff7de2d452f639916ae1d48f0b8f97bf97e570a/distribute-0.7.3.zip
    
    [cephu@admin ~]$ ls
    distribute-0.7.3.zip  my-cluster
    [cephu@admin ~]$ unzip distribute-0.7.3.zip
    [cephu@admin ~]$ cd distribute-0.7.3
    [cephu@admin distribute-0.7.3]$ sudo python setup.py install[cephu@admin distribute-0.7.3]$ cd ../my-cluster/
    [cephu@admin my-cluster]$ ceph-deploy new node1
    [cephu@admin my-cluster]$ ls
    ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring
  • 在三台node节点上安装ceph-radosgw主包

    (三台node节点操作)

     #安装epel源yum install -y epel*#创建Ceph源,内容如下:阿里源vim /etc/yum.repos.d/ceph.repo
    
    [Ceph]
    name=Ceph packages for $basearch
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
    enabled=1
    gpgcheck=0
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1[Ceph-noarch]
    name=Ceph noarch packages
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
    enabled=1
    gpgcheck=0
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1[ceph-source]
    name=Ceph source packages
    baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
    enabled=1
    gpgcheck=0
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1
    
  • 在三台node节点执行命令安装软件

    su - cephu
    sudo yum install ceph ceph-radosgw  -y ceph --version
    ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)

初始化集群

  • 初始化mon(cephu@admin)

    [cephu@admin my-cluster]$ ceph-deploy mon create-initialceph-deploy admin node1 node2 node3ceph-deploy mgr create node1
  • 添加osd

    #查看node节点的磁盘名称[cephu@node3 ~]$ lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part├─centos-root 253:0    0   17G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0    5G  0 disk
    sr0              11:0    1  918M  0 rom
    [cephu@admin my-cluster]$ ceph-deploy osd create --data /dev/sdb node1
    [cephu@admin my-cluster]$ ceph-deploy osd create --data /dev/sdb node2
    [cephu@admin my-cluster]$ ceph-deploy osd create --data /dev/sdb node3
    

    DashBoard配置

    node1操作

    #创建管理域密钥
    [cephu@node1 ~]$ sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
    [mgr.node1]key = AQCUXa5kZcSGIhAAqRGiZM7wLa3PQpfhR3dJbA==
    #开启管理域[cephu@node1 ~]$ sudo ceph-mgr -i node1
    #查看状态
    [cephu@node1 ~]$ sudo ceph statuscluster:id:     4f902c45-53fb-4048-9697-77b959811be9health: HEALTH_OKservices:mon: 1 daemons, quorum node1mgr: node1(active, starting)osd: 3 osds: 3 up, 3 indata:pools:   0 pools, 0 pgsobjects: 0 objects, 0Busage:   3.01GiB used, 12.0GiB / 15.0GiB availpgs:#打开dashboard模块[cephu@node1 ~]$  sudo ceph mgr module enable dashboard#绑定dashboard模块sudo ceph config-key set mgr/dashboard/node1/server_addr 192.168.182.129# ip地址为mgr节点的ip地址,也就是node1的ip地址
    

    访问
    在这里插入图片描述

配置客户端

配置客户端使用rbd,创建块设备需要创建存储池,相关命令需要mon节点执行(node1节点)

[cephu@node1 ~]$ sudo ceph osd pool create rbd 128 128
pool 'rbd' created#初始化存储池
[cephu@node1 ~]$ sudo rbd pool init rbd#升级内核[root@client ~]# uname -r
3.10.0-957.el7.x86_64rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org[root@client ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#查看可用系统内核包[root@client ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
elrepo-kernel                                                                     | 3.0 kB  00:00:00
elrepo-kernel/primary_db                                                          | 3.2 MB  00:00:17
Available Packages
elrepo-release.noarch                               7.0-6.el7.elrepo                        elrepo-kernel
kernel-lt.x86_64                                    5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-devel.x86_64                              5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-doc.noarch                                5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-headers.x86_64                            5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools.x86_64                              5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools-libs.x86_64                         5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                   5.4.249-1.el7.elrepo                    elrepo-kernel
kernel-ml.x86_64                                    6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-devel.x86_64                              6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-doc.noarch                                6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-headers.x86_64                            6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-tools.x86_64                              6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-tools-libs.x86_64                         6.4.3-1.el7.elrepo                      elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                   6.4.3-1.el7.elrepo                      elrepo-kernel
perf.x86_64                                         5.4.249-1.el7.elrepo                    elrepo-kernel
python-perf.x86_64                                  5.4.249-1.el7.elrepo                    elrepo-kernel
yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y
#内核默认启动顺序
[root@client ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (6.4.3-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-3e4185a101a24cd88c8db432a7f43144) 7 (Core)grub2-set-default 0reboot#删除旧内核yum remove kernel -yyum  -y install python-setuptools 

创建epel源

yum install -y epel*
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
[root@client ~]# vim /etc/yum.conf  #开启yum缓存
keepcache=1yum clean all
su - cephu

admin节点对client授权


[cephu@admin my-cluster]$ ceph-deploy admin client
#client修改读写权限
[cephu@client ~]$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
[cephu@client ~]$ sudo vi /etc/ceph/ceph.conf #在global section下添加:
rbd_default_features = 1

client节点创建块设备镜像

rbd create foo --size 4096
---映射---
#映射到主机
[cephu@client ~]$ sudo rbd map foo --name client.admin
/dev/rbd0
#格式化块设备
sudo mkfs.ext4 -m 0 /dev/rbd/rbd/foo[cephu@client ~]$ sudo mkdir /mnt/ceph-block-device
[cephu@client ~]$ sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device
[cephu@client ~]$ cd /mnt/ceph-block-device
[cephu@client ceph-block-device]$ df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  452M     0  452M   0% /dev
tmpfs                   tmpfs     465M     0  465M   0% /dev/shm
tmpfs                   tmpfs     465M  6.6M  458M   2% /run
tmpfs                   tmpfs     465M     0  465M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  2.0G   16G  12% /
/dev/sda1               xfs      1014M  141M  874M  14% /boot
tmpfs                   tmpfs      93M     0   93M   0% /run/user/0
/dev/rbd0               ext4      3.8G   24K  3.8G   1% /mnt/ceph-block-device
[cephu@client ceph-block-device]$ sudo touch test.txt

客户端重起后,设备需要重新作映射,否则可能卡死。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19601.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stringstream的使用

写到290题使用stringstream简化步骤&#xff0c;学习一下使用 目录 小问题&#xff1f; 成员函数clear() 那么问题来了&#xff1f;clear在啥时候用呢&#xff1f; 数据类型转换 <sstream>库定义了三种类&#xff1a;istringstream、ostringstream、stringstream &l…

SpringBoot 项目使用 Elasticsearch 对 Word、Pdf 等文档内容的检索

本文参考自&#xff1a;https://blog.csdn.net/Q54665642ljf/article/details/127701719 本文适用于elasticsearch入门小白&#xff0c;还请大佬能指出我的不足&#xff08;本人其实也是刚学elasticsearch没多久&#xff09; 文章目录 一、准备工作1.1 安装ES文本抽取插件1.2 …

从网络安全行业人才需求讲讲【个人规划】

如果你是一名正在找工作的网络安全方向大学生&#xff0c;或者是刚刚踏入网络安全领域的新手&#xff0c;这篇文章很适合你&#xff0c;如果你是一名老网安人&#xff0c;看看有哪些你中招了。 当你打开BOSS直聘、拉钩等招聘类网站后&#xff0c;在首页的快速导航页面很难找到关…

请求响应-响应-案例

案例需求 加载并解析emp.xml文件中的数据&#xff0c;完成数据处理&#xff0c;并在页面展示 emp.xml文件代码如下&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <emps><emp><name>金毛狮王</name><age>5…

Centos和redhat桥接模式下固定第二个ip地址为可查

这里我们以centos为例子&#xff0c;redhat与其同理 第一步&#xff1a;进入到镜像network-scripts/目录下 cd /etc/sysconfig/network-scripts 第二步&#xff1a; 输入ls查看自己启用的网卡名字并进行编辑&#xff0c;一般centos默认使用的网卡是idcfg-ens33 第三步&…

【Linux】分布式监控 Zabbix

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Zabbix 介绍zabbix 概述Zabbix 监控原理Zabbix 6.0 新特性Zabbix 6.0 功能组件 Zabbix 6.0 部署Zabbix 添加客户端主机Zabbix 自定义监控内容Zabbix 自动发现与自动…

【深度学习】日常笔记10

loss_fn nn.MSELoss(reductionnone)这行代码&#xff0c;在这个上下文中&#xff0c;loss_fn实际上是一个损失函数对象而不是返回的具体值。 使用nn.MSELoss(reductionnone)创建的loss_fn是一个均方误差损失函数对象&#xff0c;而不是计算后的结果。要计算具体的损失值&…

系统升级丨让VR全景制作简单再简单

最高端的VR全景 往往只需要最朴素的制作方式 酷雷曼3D VR数字化升级平台4.0版本 闪耀上线 全新的后台界面 丝滑的编辑工具 无需代码 不用建模 简单拖拉拽移 依然有手就行 轻松搭建VR元宇宙空间 1、界面升级&#xff0c;让VR创作更加可视 全新视觉设计 酷雷曼3D VR…

【前端】网页开发精讲与实战 CSS Day 2

&#x1f680;Write In Front&#x1f680; &#x1f4dd;个人主页&#xff1a;令夏二十三 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;前端 &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对你有…

电路分析基础学习(上)第4章

李瀚荪版电分第二版 目录 求单口网络的VCR 常用等效规律 戴维南定理 诺顿定理 诺顿定理和戴维南定理应该如何选择&#xff0c;或者说对应不同的电路&#xff0c;选择哪一种等效电路更简单&#xff1f; 双口网络 分析含理想二极管的电路 -----------------------------…

Go自带库的使用说明

Go 中的时间操作 Golang中与时间有关的操作&#xff0c;主要涉及到 time 包&#xff0c;核心数据结构是 time.Time&#xff0c;如下&#xff1a; type Time struct {wall uint64ext int64loc *Location }1、获取时间相关函数 1.1 获取当前时间 // 返回当前时间&#xff0c…

APP外包开发硬件通讯协议

开发APP时会遇到需要与硬件设备通讯的业务场景&#xff0c;常见的硬件设备有健康设备(手环、血压计、血糖仪等)、智能家居设备(冰箱、灯、电视等)、工业设备等等&#xff0c;这些设备的通讯要求各不相同&#xff0c;因此通讯协议也不相同。今天和大家分享这方面的知识&#xff…