1、配置网络,保证网络畅通。(各节点)

Vi /etc/sysconfig/network-scripts/ifcfg-ens33 

(配置成静态IPonboot=yes

 

2、修改hostname,配置/etc/hosts:(各节点)

Vi /etc/hostname

192.168.10.130 admin

192.168.10.131 node1

192.168.10.132 node2

 

3、关闭防火墙Firewalled:(各节点)【建议:关闭seslinux

 systemctl stop firewalld   //停止

 

 systemctl disable firewalld   //永久关闭

 

 systemctl status firewalld //查看状态

 

4、更新内核:(各节点)

 yum update y

 

5、重启:reboot(各节点)

 

6、添加epel库(各节点)

sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*   //参照官方

 

7、添加ceph软件库:(各节点)

根据自己的版本修改,将rpm-后面修改成需要的ceph版本,将el7修改成Linux发行版本(如 el6 为 CentOS 6 、 el7 为 CentOS 7 、 rhel6 为 Red Hat 6.5 、 rhel7 为 Red Hat 7 、 fc19 是 Fedora 19 、 fc20 是 Fedora 20

 

vi /etc/yum.repos.d/ceph.repo    

 

[Ceph]

name=Ceph packages for $basearch

baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

 

[Ceph-noarch]

name=Ceph noarch packages

baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

 

[ceph-source]

name=Ceph source packages

baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=https://download.ceph.com/keys/release.asc

 

 

8、admin节点安装ceph-deploy:(管理节点)

 

yum install -y ceph-deploy ntp

 

9、安装ntp (各节点)

 

yum install -y ntp

 

systemctl start ntpd   //开启NTP 服务

systemctl enable ntpd  //设置NTP开机启动

 

查看ntp状态:ntpq -p

注意:如果ntp时钟不同步,后面ceph服务起不来!

 

9、创建部署 CEPH 的用户,并配置其无密码sudo权限(此处创建普通用户:admin)。(各节点)

 

useradd -d /home/admin -m admin

passwd admin    //密码这里设置为winfae123

echo "admin ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/admin

sudo chmod 0440 /etc/sudoers.d/admin

 

10、配置admin用户无密钥SSh登录(管理节点)

【注意:先切换到admin用户,su - admin再执行以下命令!!!】

 

ssh-keygen -t rsa -P ''

 

ssh-copy-id admin

 

ssh-copy-id node1

 

ssh-copy-id node2

 

11、修改ssh配置文件,添加子节点(管理节点)

这里我只有node1,node2,所以就填:

 

Host node1

   

Hostname node1

  

User admin

 

 

Host node2

  

 Hostname node2

   

User admin

 

12、确保你的包管理器安装了优先级/首选项包,且已启用。(各节点)

sudo yum install yum-plugin-priorities

 

13、新建一个集群目录(admin用户,在家目录/home/admin下操作如下命令!!!)(管理节点)

mkdir my-cluster

 

cd my-cluster

 

14、禁用requiretty(各节点)

此处不用操作

 

15、创建集群(管理节点)

my-cluster目录下执行这条命令:

ceph-deploy new admin node1 node2

 

在当前目录会出现一个ceph的配置文件,一个monitor秘钥环和一个日志文件。

 

16、修改默认副本,配置文件ceph.conf:(管理节点)

【修改ceph.conf注意以下:】

 

[global]

fsid = 4277e3f9-ee7e-4490-9b4b-afdafc020aaf

mon_initial_members = admin

mon_host = 192.168.10.131    //管理节点(监控主机IP

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2    

public network = 192.168.10.0/24    

                            

 

在配置文件中的global下添加:

osd pool default size = 2  (默认3副本,此处因为只有2个节点,所以改为2!!)

 

//如果多块网卡,可以添加public network(这里用虚拟机测试,加上!)

把 public network 写入 Ceph 配置文件的 [global] 段下:

public network = 192.168.10.0/24

 

17、安装ceph(管理节点上执行,各节点会自动安装!记得加sudo!!!)

sudo ceph-deploy install admin node1 node2

【如果这样装不行,可以在各个节点执行:yum install ceph ceph-common -y替代,效果是一样的!】

 

//如果报这个错误 [ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: Ceph

可以将ceph.repo改名为ceph-deploy.repo来解决这个问题。前面已经预先处理,所以此处无报错。

 

18、配置初始化monitor(s),并收集所有秘钥:(管理节点)

sudo ceph-deploy mon create-initial    

 

//这样只会在管理节点安装监控,如需在其他节点安装(执行sudo ceph-deploy mon node1 node2

 

检查:完成上述操作后,当前目录会出现这些秘钥环:

sudo ls *keying

 

admin.client.admin.keyring

    admin.bootstrap-osd.keyring

admin.bootstrap-mds.keyring

admin.bootstrap-rgw.keyring

 

然后把所有配置信息和秘钥拷贝至主机节点和其他所有节点。

ceph-deploy admin node1 node2

sudo scp *.keyring admin:/etc/ceph/     //将当前文件夹下的所有秘钥环拷贝至所有节点

sudo scp *.keyring node1:/etc/ceph/ 

sudo scp *.keyring node2:/etc/ceph/ 

 

19、添加两个OSDceph12版本以上请跳过此步!!!】

这里用的是目录而非整块硬盘,分别在node1node2节点上给OSD守护进程创建一个目录,并且给予权限(不给权限报错!!!)

分别在node1node2节点上给OSD守护进程创建一个目录。

node1节点】:

sudo mkdir /var/local/osd0

sudo chmod 777 /var/local/osd0

 

node2节点】:

sudo mkdir /var/local/osd1

chmod 777 /var/local/osd1

 

 

20、 准备OSD(管理节点)【注意:单独做OSD的硬盘必须是空盘,不做任何操作。】

sudo ceph-deploy osd prepare node1:/var/local/osd0 node2:/var/local/osd1  

 

【注意:12版本以后命令改了,详细信息请参照英文官网!!!

ceph-deploy osd create --data  /dev/sdc node1

ceph-deploy osd create --data  /dev/sdc node2

 

21、激活OSD(管理节点)【12版本以下执行】

sudo ceph-deploy osd activate node1:/var/local/osd0 node2:/var/local/osd1

 

 

22确保当前用户对ceph.client.admin.keyring有正确的操作权限(各节点)

 

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

 

23、检查集群的健康状况(可以各个节点检查一遍!!!)

ceph health

 

【以下模块可以选装,安装仪表板,便于UI查看。】【版本低的看下28步】

24、部署mgrceph12版本之后的版本可以部署。

sudo ceph-deploy mgr create node1 node2

 

25、开启dashboard模块查看

sudo chown -R admin.admin /etc/ceph (管理节点执行)

 

  ceph mgr module enable dashboard

 

27、打开浏览器查看

  http://192.168.10.130:7000

 

28、【由于机器安装的ceph版本为低版本时,所以需要先对其升级!!】

1、升级 Ceph 守护进程前,应该先升级 ceph-deploy 工具。(管理节点)

sudo yum install ceph-deploy python-pushy

2、修改repo文件的配置,请参考第7步。(各节点执行)

3、执行升级(管理节点执行)

ceph-deploy install --release luminous admin node1 node2

4、然后继续第25

 

29、设置ceph集群自启动(各节点)

 

sudo systemctl enable ceph-mon.target

sudo systemctl enable ceph-osd.target

sudo systemctl enable ceph.target

 

30、添加元数据服务器

 

ceph-deploy mds create node1

 

31、添加 RGW 例程

ceph-deploy rgw create node1

 

32、添加 MONITORS(可选)

sudo ceph-deploy mon add node2 node3

 

33、检查

ceph quorum_status --format json-pretty

 

 

 

 

块设备快速入门:

34、准备client节点(必须是集群以外的物理机,不能再任一集群节点部署!!!)

1、安装ceph(管理节点)

ceph-deploy install client 

 

2、把 Ceph 配置文件和 ceph.client.admin.keyring 拷贝到 ceph-client。(管理节点)

ceph-deploy admin ceph-client

 

3、ceph-deploy 工具会把密钥环复制到 /etc/ceph 目录,要确保此密钥环文件有读权限。(clent节点)

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

 

4、在 ceph-client 节点上创建一个块设备 image。 

rbd create foo --size 4096 --image-feature layering

 

5、在 ceph-client 节点上,把 image 映射为块设备。

sudo rbd map foo --id admin

 

6、在 ceph-client 节点上,创建文件系统后就可以使用块设备了

sudo mkfs.ext4 -m0 /dev/rbd/rbd/foo

 

7、在 ceph-client 节点上挂载此文件系统

 

sudo mkdir /mnt/ceph-block-device

sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device

cd /mnt/ceph-block-device

 

 

文件系统入门:

1、创建文件系统

ceph osd pool create fs_data 96 96    //数值96可以根据需要变化

ceph osd pool create fs_metadata 32 32   //数值32可以根据需要变化

 

2、创建一个cephfs

ceph fs new cephfs fs_metadata fs_data

 

 

 

 

参考文档:

1、https://blog.csdn.net/qq_38773184/article/details/81631093

2、http://docs.ceph.org.cn/

 

CentOS7.6下载地址:http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso