1.1 环境准备
3台主机,信息如下:
hostname | IP | 配置 |
---|---|---|
ceph0 | 172.20.0.196 | 4核,4GB内存,ubuntu 14.04 LTS |
ceph1 | 172.20.0.197 | 4核,4GB内存,ubuntu 14.04 LTS |
ceph2 | 172.20.0.198 | 4核,4GB内存,ubuntu 14.04 LTS |
每台主机挂载一块200G的硬盘,开一个主分区,设备信息如下:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 20G 0 disk
├─vda1 253:1 0 2M 0 part
├─vda2 253:2 0 476M 0 part /boot
└─vda3 253:3 0 19.5G 0 part /
vdb 253:16 0 200G 0 disk
└─vdb1 253:17 0 186.3G 0 part
1.2 设置免密登录
选定一个节点作为主控节点(这里选的ceph0主机),建立从主控节点到其他节点的免密登录。
1 生成秘钥:ssh-keygen
root@ceph0:~# ssh-keygen
2 拷贝密钥:ssh-copy-id your_dst_node
root@ceph0:~# ssh-copy-id [email protected]
root@ceph0:~# ssh-copy-id [email protected]
3 修改使hostname和ip对应
在 /etc/hosts
里追加以下信息
172.20.0.196 ceph0
172.20.0.197 ceph1
172.20.0.198 ceph2
1.3 防火墙及安全设置(所有节点)
1 防火墙相关
Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信。
root@ceph0:~# sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
sudo: firewall-cmd: command not found
2 selinux相关 设置selinux,如果报命令不存在,可以忽略这一步。
root@ceph0:~# sudo setenforce 0
sudo: setenforce: command not found
如果命令存在,执行如下操作
sudo setenforce 0
如果希望永久生效,则修改 /etc/selinux/config
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected
processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
1.4 安装ntp服务(所有节点)
主要是用于ceph-mon之间的时间同步。在所有 Ceph 节点上安装 NTP 服务(特别是 Ceph Monitor 节点),以免因时钟漂移导致故障。确保在各 Ceph 节点上启动了 NTP 服务,并且要使用同一个 NTP 服务器。
sudo apt-get install ntp