暂时使用ceph-deploy来搭建集群。手动搭建集群会另外找时间补充并说明。
1. 虚拟机安装操作系统,并克隆出4台机器,分配不同的IP地址,IP最好放在同一个网段
准备4台虚拟机做4个节点,虚拟机至少需要准备2个磁盘,一个用来安装操作系统,另外一个用于作为OSD节点(硬盘多多益善)
admin-node | 客户端,部署 |
node1 | OSD/MDS/MON |
node2 | OSD/MDS/MON |
node3 | OSD/MDS/MON |
修改节点名称,修改后要reboot重启
vim /etc/hostname
IP地址映射,把所有节点名称和其IP地址写入hosts文件中
vim /etc/hosts
2. 关闭所有节点防火墙和关闭selinux
setenforce 0
一般来说新安装的服务器版本linux防火墙是没有设置的
3. 在admin节点安装ceph部署工具ceph-deploy
apt-get install ceph-deploy
4. 在admin节点建立ceph安装路径,并进入该路径
mkdir /etc/ceph cd /etc/ceph
5. 部署无密码登陆所有ceph节点
生成节点密钥
ssh-keygen
把admin节点密钥复制到所有节点上
ssh-copy-id root@admin-node ssh-copy-id root@node1 ssh-copy-id root@node2 ssh-copy-id root@node3
修改ssh配置文件
vim ~/.ssh/config
添加内容如下
Host admin-node Hostname admin-node User root Host node1 Hostname node1 User root Host node2 Hostname node2 User root Host node3 Hostname node3 User root
6. 使用ceph-deploy部署集群
在/etc/ceph/目录下执行命令
设定3个monitor节点,
ceph-deploy new node1 node2 node3
部署安装ceph前请确保ceph每个节点都没有ceph数据包,清除数据
ceph-deploy purgedata admin-node node1 node2 node3 ceph-deploy forgetkeys ceph-deploy purge admin-node node1 node2 node3
修改ceph配置文件,添加设置默认副本数
vim /etc/ceph/ceph.conf 添加osd pool default size = 2
给每一个节点都安装ceph
ceph-deploy install admin-node node1 node2 node3
添加初始监控节点和密钥环
ceph-deploy mon create-initial
添加osd节点(其余节点的OSD同理)
ceph-deploy osd prepare node1:/dev/sdb
复制ceph配置文件到其余节点
ceph-deploy admin admin-node node1 node2 node3
给文件/etc/ceph/ceph.client.admin.keyring添加读权限
chmod +r /etc/ceph/ceph.client.admin.keyring
7. 查看集群一系列状态
查看3台监控节点的选举状态
ceph quorum_status --format json-pretty
查看集群状态
ceph -s
一般来说集群需要同步时间,否则集群会出现HEALTH_WARN clock skew detected on mon.node2, mon.node3的问题,安装ntpdate,
ntpdate {ip_address}
8.添加一个元数据服务器
如果不是研究文件存储可以先不添加,只需要一个节点
ceph-deploy mds create node1
至此,集群搭建完毕