ceph集群简单安装部署(Ubuntu14环境)

简介:

本次测试。为了快速地安装,所以把目录而非整个硬盘用于 OSD 守护进程。后面的

后面的测试还将会有使用硬盘来作为OSD数据盘


测试机规划

节点名称 IP 地址 部署进程 系统盘 数据盘
ceph1 eth0 192.168.89.10 外网
   eth1 10.0.0.10 内网
1MON+1MDS+2OSD /dev/vda 20G /dev/vdb, /dev/vdc
ceph2 eth0 192.168.89.11 外网
   eth1 10.0.0.11 内网
1MON+1MDS+2OSD /dev/vda 20G /dev/vdb, /dev/vdc
ceph3 eth0 192.168.89.12 外网
   eth1 10.0.0.12 内网
1MON+1OSD /dev/vda 20G /dev/vdb, /dev/vdc


一、环境准备(准备好三个节点ceph1-3)
1、修改hostname
2、配置IP地址
3、配置hosts文件,增加其他节点的hostname和ip地址对应条目
4、创建一个普通账户(用户名称:toby)
5、让ceph管理节点(ceph1),ssh免密码登录其他ceph节点
6、各ceph节点普通用户拥有无密码使用 sudo 的权限
echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}

二、ceph-deploy工具安装(在ceph1节点上安装)
在 ceph1 上安装 ceph-deploy,接下来会使用这个工具来部署 ceph 集群
toby@ceph1:~$ sudo apt-get install ceph-deploy

三、安装ceph
3.1、ceph-deploy工具进行安装(在ceph1上运行,因为在ceph1上安装了ceph-deploy部署工具):
ceph-deploy install ceph1 ceph2 ceph3 (这个命令将在各节点上安装 ceph 软件)

经过观察ceph-deploy部署工具的输出内容发现,其实就是安装以下这些包
sudo apt-get install ceph 
sudo apt-get install ceph-mds 
sudo apt-get install ceph-common 
sudo apt-get install ceph-fs-common 
sudo apt-get install gdisk

3.2、经过测试,用ceph-deploy工具去安装的话,有时候不稳定,造成安装失败(多数是因为网络问题)。当然也可以到每台ceph节点进行手动安装这些包:
sudo apt-get -y install ceph ceph-mds ceph-common ceph-fs-common gdisk

查看版本:
toby@ceph1:~$ ceph --version
ceph version 0.80.11 (8424145d49264624a3b0a204aedb127835161070)


四、创建ceph集群
在 ceph1 上执行以下命令创建 MON 集群
4.1、在ceph1管理节点上创建一个目录,用于保存 ceph-deploy 生成的配置文件和密钥对。
toby@ceph1:~/my-cluster$ mkdir my-cluster
toby@ceph1:~/my-cluster$ cd my-cluster

4.2、创建一个集群(进入刚才创建的目录下进行操作)
toby@ceph1:~/my-cluster$ ceph-deploy new ceph1 ceph2 ceph3
在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。

4.3、远程主机上部署ceph监控。
toby@ceph1:~/my-cluster$ ceph-deploy mon create ceph1 ceph2 ceph3
toby@ceph1:~/my-cluster$ ceph-deploy mon create-initial

4.4、完成后查看mon集群状态
toby@ceph1:~/my-cluster$ sudo ceph mon_status
{"name":"ceph1","rank":0,"state":"leader","election_epoch":6,"quorum":[0,1,2],"outside_quorum":[],"extra_probe_peers":["192.168.89.11:6789\/0","192.168.89.12:6789\/0"],"sync_provider":[],"monmap":{"epoch":1,"fsid":"ea8ef245-70bc-4000-b676-4c780e8fce64","modified":"0.000000","created":"0.000000","mons":[{"rank":0,"name":"ceph1","addr":"192.168.89.10:6789\/0"},{"rank":1,"name":"ceph2","addr":"192.168.89.11:6789\/0"},{"rank":2,"name":"ceph3","addr":"192.168.89.12:6789\/0"}]}}

4.5、添加两个 OSD
登录到 Ceph 节点、并给 OSD 守护进程创建一个目录。
ssh ceph1
sudo mkdir /var/local/osd0
exit

ssh ceph2
sudo mkdir /var/local/osd1
exit

ssh ceph3
sudo mkdir /var/local/osd2
exit

4.6、从管理节点执行 ceph-deploy 来准备 OSD 
ceph-deploy osd prepare ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2

4.7、激活 OSD 
ceph-deploy osd activate ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2

4.8、检查集群的健康状况。
toby@ceph1:~/my-cluster$ ceph health
HEALTH_OK
toby@ceph2:~$ ceph health
HEALTH_OK
toby@ceph3:~$ ceph health
HEALTH_OK

4.9、完成后查看 OSD 状态:
toby@ceph1:~/my-cluster$ ceph osd tree
# id    weight    type name    up/down    reweight
-1    0.05997    root default
-2    0.01999        host ceph1
0    0.01999            osd.0    up    1    
-3    0.01999        host ceph2
1    0.01999            osd.1    up    1    
-4    0.01999        host ceph3
2    0.01999            osd.2    up    1    

4.10、用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了
toby@ceph1:~/my-cluster$ ceph-deploy admin ceph1 ceph2 ceph3

4.11、确保你对 ceph.client.admin.keyring 有正确的操作权限。
sudo chmod +r /etc/ceph/ceph.client.admin.keyring

4.12、安装 MDS 集群(添加元数据服务器)
至少需要一个元数据服务器才能使用 CephFS ,执行下列命令创建元数据服务器:
ceph-deploy mds create ceph1 ceph2 ceph3 
官方说:当前生产环境下的 Ceph 只能运行一个元数据服务器。你可以配置多个,但现在我们还不会为多个元数据服务器的集群提供商业支持。

4.13、完成后可以使用 “ceph mds” 命令来操作 MDS 集群,比如查看状态:
toby@ceph1:~/my-cluster$ ceph mds stat
e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby

4.14、至此,Ceph 集群部署完成,可以使用 ceph 命令查看集群状态:
toby@ceph1:~/my-cluster$ ceph -s
    cluster ea8ef245-70bc-4000-b676-4c780e8fce64
     health HEALTH_OK
     monmap e1: 3 mons at {ceph1=192.168.89.10:6789/0,ceph2=192.168.89.11:6789/0,ceph3=192.168.89.12:6789/0}, election epoch 10, quorum 0,1,2 ceph1,ceph2,ceph3
     mdsmap e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby
     osdmap e7: 3 osds: 3 up, 3 in
      pgmap v50: 192 pgs, 3 pools, 1884 bytes data, 20 objects
            19463 MB used, 34635 MB / 57065 MB avail
                 192 active+clean
toby@ceph1:~/my-cluster$ 

温馨提示:
在这过程中,失败和反复是难免的,在任何时候,可以使用如下的命令将已有的配置擦除然后从头安装:
ceph-deploy purge ceph{1,2,3}
ceph-deploy purgedata ceph{1,2,3}
ceph-deploy forgetkeys


本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1905800


相关文章
|
3天前
|
监控 Ubuntu 安全
|
1天前
|
Ubuntu 机器人 Shell
ubuntu20.04创建ros环境、创建rospackage
至此,我们已经详细讲解了在Ubuntu 20.04上创建ROS环境及ROS包的步骤。这为进一步的机器人软件开发奠定了坚实的基础。
8 1
|
2天前
|
Ubuntu 机器人 Shell
ubuntu20.04创建ros环境、创建rospackage
至此,我们已经详细讲解了在Ubuntu 20.04上创建ROS环境及ROS包的步骤。这为进一步的机器人软件开发奠定了坚实的基础。
7 1
|
8天前
|
JavaScript Ubuntu Shell
Ubuntu上安装任意版本nodejs方法
通过以上步骤,您可以在Ubuntu系统上灵活地安装和管理不同版本的Node.js。这种方法让开发者能够根据不同项目的需要选择合适的Node.js版本,同时也使版本切换变得非常方便。而且,nvm能够为每个项目独立管理依赖,从而确保不同项目之间的环境隔离,增强了开发环境的稳定性和可维护性。
39 2
|
17天前
|
存储 Ubuntu Java
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
25 1
|
14天前
|
Ubuntu C语言
【Ubuntu20.04】安装gcc11 g++11, Ubuntu18.04
以上就是在Ubuntu 20.04和Ubuntu 18.04上安装gcc11和g++11的步骤。
14 0
|
20天前
|
Ubuntu 关系型数据库 MySQL
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
|
20天前
|
Ubuntu 关系型数据库 MySQL
|
2月前
|
Ubuntu 数据可视化 Linux
Ubuntu下载、安装QGIS软件的方法
Ubuntu下载、安装QGIS软件的方法
153 2
|
并行计算 Ubuntu
UBUNTU正确安装NVIDIA驱动的方法
UBUNTU正确安装NVIDIA驱动的方法
244 0