Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

时间:2021-02-26 12:48:56

实验室要求开始学习Ceph,我也开始学着自己搭建Ceph,中间走了很多冤枉路,在此我也和大家分享一下!

(之前在网上找的搭建教程ceph版本都是ceph 0.82之前的,ceph 0.82后 不支持mkcephfs 命令初始化ceph环境(如果搭建0.82版本之前的ceph,就得自己编译ceph源码,很麻烦,中途会出现各种错误,安装各种依赖包,用户体验极差!故建议直接ceph-deploy搭建)


搭建时间:2015.08.22    实验步骤:

第一步~~~.准备  4个Ubuntu 14.04 Server 虚拟机(可以使用VMware或者VirtualBox)


 配置好每个虚拟机的IP 以及hostname (很重要!)

 我的四台虚拟机配置如下:(ip根据个人的网络环境配置,记得虚拟机网络选择桥接模式)

①虚拟机1 : hostname:ceph  ;IP :10.10.211.155;这台虚拟机对应下图admin-node节点 用来安装ceph-deploy 进行ceph部署使用,基本上大部分操作都在这台机器上

②虚拟机2: hostname:ceph1 ;IP :10.10.211.151;这台虚拟机对应下图node1节点,用来安装monitor节点

③虚拟机3: hostname:ceph2 ;IP :10.10.211.152;这台虚拟机对应下图node2节点,用来安装osd节点

④虚拟机4: hostname:ceph3 ;IP :10.10.211.153;这台虚拟机对应下图node3节点,用来安装osd节点  

配置好后ping www.baidu.com 看是否可以上网。

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装


第二步~~~.在虚拟机1上也就是ceph(hostname是ceph)上执行以下三个命令安装cephdeploy:

wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
echo deb http://ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
sudo apt-get update && sudo apt-get install ceph-deploy

第三步~~~.在四台虚拟机上都安装ntp与openssh-server ,实现时间同步以及ceph 节点ssh访问ceph1 ceph2 ceph3节点


四台虚拟机上都执行以下2个命令:

sudo apt-get install ntp
sudo apt-get install openssh-server

第四步~~~.在ceph1 ceph2 ceph3 虚拟机上新建一个用户 (我在三台虚拟机上全是新建的cephuser用户)具有sudo权限


在虚拟机ceph上使用ssh链接ceph1 ceph2 ceph3虚拟机

(注意:先在虚拟机ceph里面配置好hosts)

在虚拟机ceph上执行:

sudo vim /etc/hosts

在后面添加:

10.10.211.151   ceph1
10.10.211.152 ceph2
10.10.211.153 ceph3

如下图:

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装                                            Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

使用虚拟机ceph ssh链接ceph1 (usercz是我建虚拟机的时候创建的默认用户,cephuser是我新建的用户)

ssh usercz@ceph1
执行:

sudo useradd -d /home/cephuser -m cephuser
sudo passwd cephuser
echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
sudo chmod 0440 /etc/sudoers.d/cephuser

链接ceph2 ceph3 执行类似操作!


第五步~~~.ceph虚拟机生成ssh-keygen 并复制到ceph1 ceph2 ceph3 节点上


在ceph上执行:(执行ssh-keygen后全部按回车键)

ssh-keyge
(全按回车键,默认)
Generating public/private key pair.
Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /ceph-admin/.ssh/id_rsa.
Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.

接着继续执行:

ssh-copy-id cephuser@ceph1
ssh-copy-id cephuser@ceph2
ssh-copy-id cephuser@ceph3

修改 ~/.ssh/config

vim  ~/.ssh/config

在config里面加上:

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

第六步~~~. 在ceph(admin节点) 创建my-cluster 目录并进入Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

mkdir my-cluster
cd my-cluster

(注意下面的操作都在此目录下执行,有些配置文件会生成在里面)

执行:

ceph-deploy new ceph1

会在my-cluster下生成三个文件Ceph configuration file, a monitor secret keyring, and a log file

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

修改Ceph configuration file文件 

vim ceph.conf 

并在后面加上 第一个参数2是副本数量,第二个2000是 日志大小约为2G

osd pool default size = 2
osd journal size = 2000

第七步~~~.在ceph1 ,ceph2 ,ceph3 三个节点上安装ceph


在ceph节点上执行:

ceph-deploy install ceph1 ceph2 ceph3

        (可能会报错,大部分是网络问题,继续重复执行就是!直到成功为止!可以选择一个节点一个节点的安装)


第八步~~~.在ceph上执行:

ceph-deploy mon create-initial

会在my-cluster目录下生成四个文件

 Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

第九步~~~.在ceph2 ceph3节点上创建osd 每个节点创建一个osd文件目录

ssh ceph2
sudo mkdir /var/local/osd0
exit
ssh ceph3
sudo mkdir /var/local/osd1
exit

第十步~~~. 继续在ceph上执行:

准备osd 命令:

ceph-deploy osd prepare ceph2:/var/local/osd0 ceph3:/var/local/osd1
激活osd命令:

ceph-deploy osd activate ceph2:/var/local/osd0 ceph3:/var/local/osd1

执行以下两条:

ceph-deploy admin ceph ceph1 ceph2 ceph3
sudo chmod +r /etc/ceph/ceph.client.admin.keyring

最后一步~~~.最后在ceph执行:ceph health 命令,不出意外就会输出HEALTH_OK ,恭喜你 ceph三节点的集群安装成功!!!可以继续进一步学习ceph了!!

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装

Ceph快速安装:Ceph-deploy 在Ubuntu 14.04 Server上部署三节点安装