集群--Ceph安装

编辑
文档创建者:夏娃 (超级管理员 )     浏览次数:1232次     编辑次数:4次     最近更新:doreen0813 于 2017-09-06     

1. Ceph文件系统安装配置编辑

本文参照ceph官方的配置文档,以官方文档为准。本文介绍的是采用ceph-deploy工具的自动部署方式。
1.1 环境要求:
  • Ubuntu 14.04 LTS,可以在官网下载镜像文件,然后用VMware安装一下即可。
  • 接入网络,IP静态,并且hosts文件设置好机器名的解析。
$sudo vim  /etc/hosts   

1.2 文中的配置:
  • 三台机器
  • 机器名分别为ceph1,ceph2,ceph3
$sudo vim  /etc/hostname
  • 每台机器都有名叫ceph的用户,这个可以在装虚拟机的时候就直接设置好,也可以在我们后续创建ceph用户时生成。
注:在实际配置中依据实际环境相应更改。
1.3 命令行约定
  • $代表输入的命令,其中可能包含{}的都是变量,诸如{username}变量,是需要替换的。
  • #注释
1.4 注意事项
用户配置时需要对相应变量进行替换,包括用户名,机器名,配置路径;
以上所有操作,都需要在你的主机上配置集群的这个用户名上进行(本次配饰使用ceph1上的ceph用户配置),如果期间不小心切换至其他用户,可能导致安装失败;
操作期间如果有遇到询问是否继续的提示,请根据提示输入yes或者y;
安装ceph需要一点linux基础,包括文件目录的相关操作,权限的概念,vim或者vi编辑器的使用;
配置的过程中请保持IP不变
如果安装过程中仍然遇到权限不够的问题,可以将这里面的切换成root用户进行配置,切换至root用户的方法如下:
$su #此命令执行后会提示你输入密码,输入密码Enter之后则切换至root用户,如果还没有为root用户设置密码,则输入如下命令:
$sudo passwd #之后按照提示进行输入即可,设置成功之后登录root用户。
虚拟机有一定的不稳定性,如果发现命令什么的用root用户都执行不了,可以试着power off重启下,系统会自动修复。实体机应该不会出现这样的情况。
1.5 备注
如果想直接用root登录ssh,则还要修改如下配置文件(此步骤和下面设置无密码登录ssh相关):
$vim /etc/ssh/sshd_config
找到其中的如下一行,将前边的#符号去掉,并修改no为yes
$PermitRootLogin no
改成:
PermitRootLogin yes
接下来执行如下命令重新启动SSH服务:
#/etc/rc.d/sshd restart
或者是
#service ssh restart

2. ceph环境准备编辑

2.1 配置APT(主机配置)
#加入软件源
$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-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
#{ceph-stable-release}代表是发行版本,这里使用hammer版本
$echo deb http://ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
#更新源,并安装ceph-deploy
$sudo apt-get update && sudo apt-get install ceph-deploy
此处安装更新ceph-deploy的源可能取不到最新版本,会导致后续ceph安装出现问题,如果出现这种问题需要卸载掉已安装的ceph-deploy,然后利用下面的源进行安装,代码如下:
sudo apt-get remove ceph-deploy
sudo apt-get install python-pip
pip install ceph-deploy
可以用以下命令查看ceph-deploy版本:
$ceph-deploy --version
2.2 安装ssh(三台均需)
三台机器都需要安装
$sudo apt-get install openssh-server
注:如果系统安装好了,可以跳过

3. 创建并设置ceph用户编辑

3.1 创建用户(三台均需)
注:推荐,非必须。如果在安装虚拟机的时候已经创建了ceph用户,此处就跳过。
#添加用户并设置密码,其间需要根据提示设置密码
$sudo useradd -d /home/{username} -m {username}
$sudo passwd {username}
$sudo useradd -d /home/ceph -m ceph $sudo passwd ceph
3.2 ceph用户权限升级(三台均需)
$echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
$sudo chmod 0440 /etc/sudoers.d/{username}
$#echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
sudo chmod 0440 /etc/sudoers.d/ceph
3.3 无密码登录ssh(主机配置)
$ssh-keygen
#全部默认选项,直接按回车。最后显示如下图结果
222

$ssh-copy-id {username}@{node1_ip}
$ssh-copy-id {username}@{node2_ip}
$ssh-copy-id {username}@{node3_ip}
$ssh-copy-id ceph@192.168.18.132 $ssh-copy-id ceph@192.168.18.129 $ssh-copy-id ceph@192.168.18.130
#Username是需要无密码登录机器的用户名
#Node_IP需要无密码登录机器的IP地址
验证是否配置成功
$ssh {username}@{node1_ip}
$ssh ceph@192.168.18.132 $ssh ceph@192.168.18.129 $ssh ceph@192.168.18.130
#如果以上三个命令,都是没有提示输入密码,那么三台机器无密码登录就配置成功了
注:当输入ssh ceph@192.168.18.129成功之后,必须执行exit从ceph2退出到ceph1,然后才能执行ssh ceph@192.168.18.130。
  • 备注:
ssh免密码登录也可以使用我们提供的自动化文档进行自动化设置。
将我们所提供的user.conf文件按如图所示要求进行改写,保存之后运行ssh_conf.sh文件。无密码登录ssh即成功配置。配置如下:
222

备注:
运行ssh_conf.sh文件命令:切换到此文件所在目录下,执行以下命令即可,另外执行脚本需要安装expect,如下:
$./ssh_conf.sh
安装expect命令如下:
$apt-get install expect

4. 集群配置(主机配置)编辑

4.1 创建集群文件夹
$mkdir my-cluster $cd my-cluster
注:此处进入了my-cluster目录下,本节点下所有的集群配置都需要在此目录下执行,如果中途退出了此目录,需要再次进入该目录下配置才可以,切记。
4.2 创建集群
$ceph-deploy new {initial-monitor-node(s)}
$ceph-deploy new ceph1

222
编辑ceph.conf文件
$vim ceph.conf
#文件中修改一下几项
auth_cluster_required = none
auth_service_required = none
auth_client_required = none
#添加下面一项
osd pool default size = 2
如图:
222

4.3 安装ceph
$ceph-deploy install {ceph-node}[{ceph-node} ...]
$ceph-deploy install ceph1 ceph2 ceph3
此过程会有比较长的输出,只要其中没有error报错,则安装没有问题。
安装后如果看到如下信息,则表示安装成功:
222

接着将已经安装的ceph初始化:
$ceph-deploy mon create-initial

4.4 创建osd
如果没有在hosts文件里面设置主机名的解析,则下面的ceph2、3可以换成对应的IP
$ssh ceph2
$sudo mkdir /var/local/osd0
$ssh ceph3
$sudo mkdir /var/local/osd1 $exit


222

4.5 准备osd
$ceph-deploy osd prepare {ceph-node}:/path/to/directory
$ceph-deploy osd prepare ceph2:/var/local/osd0 ceph3:/var/local/osd1

222

4.6 激活osd
$ceph-deploy osd activate {ceph-node}:/path/to/directory
$ceph-deploy osd activate ceph2:/var/local/osd0 ceph3:/var/local/osd1
4.7 拷贝配置文件
$ceph-deploy admin {admin-node} {ceph-node}
$ceph-deploy admin ceph1 ceph2 ceph3

5. Ceph文件系统编辑

5.1 添加元数据服务器(主机配置)
$ceph-deploy mds create {ceph-node}
ceph1为主节点hostname
$ceph-deploy mds create ceph1
5.2 创建 pools(主机配置)
$ceph osd pool create cephfs_data 128
$ceph osd pool create cephfs_metadata 128
$ceph fs new fbi cephfs_metadata cephfs_data
5.3 挂载(三台均需)
$sudo mkdir /finebi
$sudo mount -t ceph {ip-address-of-monitor}:6789:/ /finebi
$sudo mount -t ceph 192.168.18.132:6789:/ /finebi
finebi前面的两条斜杠中间有空格,切记,如果没空格将不能挂载成功。
三台机器所用的ip都是host主机ip。
#至此ceph挂载到了/finebi目录下了。
$sudo mount -t ceph 192.168.18.132:6789:/ /finebi
#可以查看挂载信息。
222

注:此处挂载成功的标志是上图中出现最后一行 192.168.132:6789:..../finebi,必须要出现这一行才算挂载成功,切记。
虚拟系统中挂载完重启虚拟系统或者是长时间后可能会导致挂载丢失,如果在后续步骤中发现没办法访问主机,记得回过头来验证下是否还挂载成功。
5.4 ceph安装常见问题(主机配置)
如果安装过程ceph的安装出现问题,请尝试下载最新版本的ceph-deploy,命令如下:
$sudo pip install ceph-deploy
如果不能使用pip命令则进行python-pip的安装再执行上条命令,安装命令如下:
sudo apt-get install python-pip



附件列表


主题: 部署集成
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: