Ceph测试集群搭建
这里整理一篇从源码编译的测试集群搭建方法。
ceph-deploy的部署方式,可以参考官网。
1.编译
Post not found: ceph-compile2.部署
- monitor
其中,主要步骤
* 配置文件相关:2,3,4,9
* 集群准备:6,7,8
* 启动:11
测试集群的可以省略密钥的配置。
- osd
先把monitor的配置文件同步过来后,OSD可以按简单模式配置,启动参照复杂里的[11]
可能遇到的问题
1.无法访问monitor
关闭防火墙,centos 6 是iptable,centos 7是firewall
systemctl stop firewalld.service
注意,这只是临时关闭,重启后会重新启动。
2.sudo找不到命令
是因为sudo的path被重置了,如下方法修改
sudo visudo
Defaults env_reset 改成 Defaults !env_reset
在~/.bashrc 添加alias sudo=’sudo env PATH=$PATH’
3.sudo ceph -s找不到python依赖
也是因为路径重置了,一劳永逸的方法,把ceph/src/pybind的内容复制到Python系统路径中。
sudo cp ~/ceph/src/pybind/* /usr/lib/python2.7/site-packages
最后,good luck!
ceph-deploy快速部署
主要参考官网
这里记录出现的问题
- RuntimeError: NoSectionError: No section: ‘ceph’
执行yum remove ceph-release,据说是版本不兼容
- RuntimeError: remote connection got closed, ensure
requirettyis disabled for
进入要部署的机器,执行如下命令
sudo visudo
把Defaults requiretty 修改为 Defaults:ceph !requiretty
如果改完还么起作用,说明免密码的没有配,执行如下
1 | echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph |
linux相关命令
磁盘调度策略
1
2
3
4
5
6echo deadline > /sys/block/sda/queue/scheduler
#调整完会运行cat命令,显示如下,表示选中deadline。
cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
#因为参数是维护在内存中的,所以不能直接用vim修改,否则保存时会提示 E667:同步失败添加用户
1
2
3
4
5
6sudo useradd ceph #添加用户
sudo passwd ceph #设置密码
#添加sudo权限
visudo
#在下面仿照root,添加
ceph ALL=(ALL) ALL格式化硬盘