部署
我的部署架构为
分四个节点 一个是admin管理节点 来部署ceph-deploy 配置管理monitor mds 和osd两个节点 说明在四个节点要准备的环境
1、使用Centos7.2.1511 内核版本为3.10.0.327
2、配置四个几点的主机名 并互相都在/etc/hosts可以解析到
3、四个节点配置ntp 时间要一致
以下都在admin节点完成
1、我使用的是root来部署的 官网建议使用其它用户 如果按照官网创建新的用户来部署 步骤如下
adduser -d /home/ceph -m ceph
授权ceph用户的root权限
echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph
chomod 0440 /etc/sudoers.d/ceph
Visudo 修改 Defaults requiretty 这一行修改为修改 Defaults:ceph !requiretty
2、使各个机器之间到admin的节点是互信的 ssh-keygen生产密钥 然后ssh-copy-id 考到各个节点
Vim ~/.ssh/config 添加
Host node1
Hostname node1
User ceph
Host node2
Hostname node2
User ceph
Host node3
Hostname node3
User ceph
Host client-node
Hostname client-node
User ceph
3、配置yum源 vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-hammer/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
4、yum update && yum install ceph-deploy 用于在各个节点安装ceph
5、Mkdir /my-cluster & cd /my-cluster然后指明监控节点 ceph-deploy new node1后 会生成三个配置文件 修改ceph.conf 增加 osd pool default size = 2 默认是3个osd节点使状态为active+clean
6、在admin节点开始部署ceph ceph-deploy install admin node1 node2 node3中间如果报RuntimeError: NoSectionError: No section: 'ceph'
请修改mv /etc/yum.repo.d/ceph.repo /etc/yum.repo.d/ceph-deploy.repo 然后重新安装就ok
也可以先删除数据 ceph-deploy purgedata admin node1 node2 node3
Ceph-deploy forgetkeys
7、添加monitor和收集keys
ceph-deploy mon create-initial
执行完命令后 在本目录会生成四个key
8、在两个osd节点上分别创建 目录
Node2节点上创建 mkdir /var/local/osd0 node3节点上mkdir /var/local/osd1
9、在admin节点上 准备osd
ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1
然后激活
ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1
需要把osd目录的属组归于ceph 否则没有权限执行
10、copy你的配置文件和admin key到你的admin节点和ceph节点
ceph-deploy admin admin-node node1 node2 node3
11、确保对该文件有读/etc/ceph/ceph.client.admin.keyring
chmod +r /etc/ceph/ceph.client.admin.keyring
12、最后检测是否osd正常ceph-deploy health 如果正常会返回ok状态
最后有朋友会问 我为什么选择该软件答案有N多种 在此只简单说几句
高扩展性:使用普通x86服务器,支持10~1000台服务器,支持TB到PB级的扩展。
高可靠性:没有单点故障,多数据副本,自动管理,自动修复。
高性能:数据分布均衡,并行化度高。对于objects storage和block storage,不需要元数据服务器。
and so on!!!