Centos7下配置ceph,包括object storage和cephfs
时间:2017-01-27 20:51 来源:linux.it.net.cn 作者:IT
Centos7的配置方法找了很多,也尝试了好多次,发现每一家的方法都有残缺,最后自己汇总一下
-
我的环境
两台机器,一台做admin,一台做storage
都安装好了centos7并配置了IP保证两台机器间可以互相ping通
-
两个节点上都要执行的命令
安装NTP client同步时间
配置hosts,后以简化后面的命令
修改hostname为对应的节点名字,centos7比较方便,直接改/etc/hostname就可以了,改好后需重新login
禁用 SELINUX
允许防火墙ceph对应端口
#也可以关闭防火墙
添加ceph用户
赋予ceph sudoer权限,用visudo命令在最尾处添加如下内容
-
在admin节点上用root账号执行以下命令
添加YUM源
更新系统并安装ceph-deploy工具
-
在admin节点上用ceph账号执行以下命令
创建并复制SSH KEY允许其它节点直接访问
修改~/.ssh/config,添加以下信息,用以指定SSH连接storage节点时使用ceph用户,注意这个文件的权限需要为600
创建临时目录,用以存放ceph配置过程的临时文件,这个目录名可以随意
初始化ceph配置
执行完上面的命令后,当前所以目录中会生成一些文件,编辑其中的ceph.conf,并在尾部添加以下内容,以允许外网访问
安装ceph,ceph-deploy会自动在指定的节点上安装,这个命令只需在admin节点上执行一次即可
初始化monitor
同步storage节点的Key
#查看当前系统中的磁盘,为安装成功,请先删数据库上的分区
当这个命令看到/dev/sdc unknown等字样时就可以了
初始化数据盘
准备OSD存储设备
这个代表sdc是数据盘,sdb做为sdc的journal盘
当然你也可以执行
这样的话,sdc会指定自己为自己的journal盘,但这样会严重影响性能
激活osd
分发配置信息到各节点
该命中会把配置文件复制到/etc/ceph目录下
设置正确的权限
创建mds
查看状态
没有出现
HEALTH_ERROR就OK了
一般为HELTH_OK
-
配置对象存储
创建数据池,poolname可以自行指定
就这么简单,测试一下
#如何删除pool呢?
-
配置cephfs
对于cephfs,也需要做一些创建工作,不然直接mount当前状态的ceph会报error=5 input/output error
创建两个数据池,分别作为cephfs的一般数据池和元数据池
创建cephfs
查看各状态
显示e5: 1/1/1 up {0=storage=up:active}
cluster c89d8b75-0ade-499d-b472-923a6d5671af
health HEALTH_WARN
too many PGs per OSD (448 > max 300)
monmap e1: 1 mons at {storage=10.4.10.233:6789/0}
election epoch 1, quorum 0 storage
mdsmap e5: 1/1/1 up {0=storage=up:active}
osdmap e18: 1 osds: 1 up, 1 in
pgmap v37: 448 pgs, 4 pools, 1978 bytes data, 21 objects
37444 kB used, 1862 GB / 1862 GB avail
448 active+clean
client io 546 B/s wr, 2 op/s
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 1.81999 root default
-2 1.81999 host storage
0 1.81999 osd.0 up 1.00000 1.00000
ssh-keygen -t rsa -P ”
ssh-keygen -t rsa -f .ssh/id_rsa -P ”
这时任何一台支持cephfs的客户端机器就可以通过以下命令mount这个cephfs,
secret的值取自/etc/ceph/ceph.client.admin.keyring
原生的centos7 kernel并没有打开cephfs,需要重编
但如果你想直接在某个节点上进行mount测试的话还是比较方便的,由于我们前面安装ceph时会下载kernel只需grub2-
set
-default 0再重启系统即会使用新的kernel该kernel默认打开了cephf
(责任编辑:IT)
Centos7的配置方法找了很多,也尝试了好多次,发现每一家的方法都有残缺,最后自己汇总一下
两台机器,一台做admin,一台做storage 都安装好了centos7并配置了IP保证两台机器间可以互相ping通
安装NTP client同步时间
配置hosts,后以简化后面的命令
修改hostname为对应的节点名字,centos7比较方便,直接改/etc/hostname就可以了,改好后需重新login
禁用 SELINUX
允许防火墙ceph对应端口 #也可以关闭防火墙
添加ceph用户
赋予ceph sudoer权限,用visudo命令在最尾处添加如下内容
添加YUM源 更新系统并安装ceph-deploy工具
创建并复制SSH KEY允许其它节点直接访问
修改~/.ssh/config,添加以下信息,用以指定SSH连接storage节点时使用ceph用户,注意这个文件的权限需要为600 创建临时目录,用以存放ceph配置过程的临时文件,这个目录名可以随意 初始化ceph配置 执行完上面的命令后,当前所以目录中会生成一些文件,编辑其中的ceph.conf,并在尾部添加以下内容,以允许外网访问 安装ceph,ceph-deploy会自动在指定的节点上安装,这个命令只需在admin节点上执行一次即可 初始化monitor 同步storage节点的Key
#查看当前系统中的磁盘,为安装成功,请先删数据库上的分区 当这个命令看到/dev/sdc unknown等字样时就可以了
初始化数据盘
准备OSD存储设备 这个代表sdc是数据盘,sdb做为sdc的journal盘 当然你也可以执行 这样的话,sdc会指定自己为自己的journal盘,但这样会严重影响性能
激活osd
分发配置信息到各节点 该命中会把配置文件复制到/etc/ceph目录下 设置正确的权限
创建mds
查看状态 没有出现
HEALTH_ERROR就OK了
创建数据池,poolname可以自行指定
就这么简单,测试一下
#如何删除pool呢?
对于cephfs,也需要做一些创建工作,不然直接mount当前状态的ceph会报error=5 input/output error
创建cephfs
查看各状态 显示e5: 1/1/1 up {0=storage=up:active}
cluster c89d8b75-0ade-499d-b472-923a6d5671af
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY secret的值取自/etc/ceph/ceph.client.admin.keyring
原生的centos7 kernel并没有打开cephfs,需要重编 (责任编辑:IT) |