Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1760388
  • 博文数量: 150
  • 博客积分: 660
  • 博客等级: 上士
  • 技术积分: 2480
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-08 11:39
文章分类

全部博文(150)

文章存档

2019年(4)

2018年(36)

2017年(53)

2016年(7)

2015年(3)

2014年(3)

2013年(27)

2012年(2)

2011年(1)

2006年(1)

2005年(13)

分类: 服务器与存储

2017-03-30 14:38:26

ceph安装篇

一、环境

1、主机分配

ip                类型             主机名        osd磁盘挂载方式   
192.168.1.210  osd           osd1       挂载主机目录
192.168.1.230  osd           osd2       挂载主机目录
192.168.1.86      mon          mon1
192.168.1.171  mon admin     swarm1
192.168.1.164  mon            mon3
备注:
osd:2台,各6块硬盘,其中2块做raid1安装系统,其他4块为数据盘统一做了raid5,然后通过ssm 创建3个逻辑卷,通过挂载目录实现osd存储
mon:1台,后期扩展为3台
admin:1台
client:1台-N台

2、操作系统及网络

OS:CentOS Linux release 7.3.1611 
selinux: disable
firewalld:disable
网络:内外网使用同一个

二、安装

1、安装准备

添加集群主机列表到所有主机的hosts文件或者dns,本例采用dnsmasq作为dns

## ceph monitor
192.168.1.86     mon1 
192.168.1.172 swarm2
192.168.1.164 mon3
## ceph osd
192.168.1.210 osd1
192.168.1.220 osd2
## ceph admin
192.168.1.171 swarm1

集群所有主机名的修改

修改 /etc/hostname 文件 后 reboot 或者
hostnamectl set-hostname admin  #新主机名称为 admin

更新系统

sudo yum update -y
sudo reboot

添加安装和管理用户所有集群主机

useradd lihui  #安装用户可以自定义

修改用户密码

增加sudo权限,推荐使用visudo命令

visudo
增加如下一行:
lihui   ALL=(ALL) NOPASSWD:ALL

切换用户

su - lihui

增加ssh公钥登录其他集群主机

ssh-keygen  -b 4096 #生成公钥和密钥对,注意要输入密码

上述生成的公钥拷贝到其他主机

for node in "admin osd1 osd2 mon1" ;do ssh-copy-id $node ;done

以上增加用户和修改sudo权限的另外一种方式

echo "some_password" | passwd lihui --stdin
cat << EOF >/etc/sudoers.d/lihui
lihui ALL = (root) NOPASSWD:ALL
Defaults:lihui |requiretty
EOF

拷贝到其他主机另外一种命令示例

ssh-agent bash
ssh-add
ssh-copy-id osd2

ceph集群主机(osd/mon/mds)的用户要有sudo权限

2、集群软件安装

admin 节点安装(admin 节点上执行下列安装命令)

安装ceph软件仓库及相关软件

sudo yum install epel-release -y
sudo yum -y install --enablerepo=extras centos-release-ceph

安装ceph-deploy软件包

sudo yum install ceph-deploy -y

安装mon节点

ceph-deploy install --mon mon1 swarm2 mon3

安装osd节点

ceph-deploy install --osd osd1 osd2

3、集群安装

生成集群配置文件

ceph-deploy new mon1 swarm2 mon3

生成3个文件

ceph.conf     #集群配置文件
ceph.log         #日志文件
ceph.mon.keyring #keyring文件,集群验证用

修改集群配置文件

cat << EOF >> ceph.conf

public_network = 192.168.1.0/24
osd_pool_default_size = 2         #osd修改复制份数为2
osd_pool_default_min_size = 1   #osd最小复制数量为1
osd_crush_update_on_start = true
max_open_files = 131072
osd pool default pg num = 300
osd pool default pgp num = 300
EOF

集群初始化

ceph-deploy mon create-initial

修改配置后,重新发布新配置文件的命令

ceph-deploy --overwrite-conf mon create-initial

安装遇到问题可以通过删除数据和应用来重头安装

ceph-deploy purge mon1 mon3 swarm2 osd1 osd2
删除每台服务器下的/var/lib/ceph

配置集群的命令行接口到管理机器

ceph-deploy install --cli  swarm1   ### 方便执行ceph -s 等命令

配置管理机器

ceph-deploy admin  swarm1   ## 配置swarm1 主机作为admin 管理机

4、osd设备安装

准备osd磁盘空间

ssm 创建3个400G的逻辑卷作为osd1 的3个存储单元

/dev/centos/disk1
        centos    400.00 GB  xfs  399.80 GB  399.80 GB  linear
/dev/centos/disk2
        centos    400.00 GB  xfs  399.80 GB  399.80 GB  linear
/dev/centos/disk3
        centos    400.00 GB  xfs  399.80 GB  399.80 GB  linear

        mkdir /disk{1,2,3}
        mount /dev/centos/disk1  /disk1
        mount /dev/centos/disk2  /disk2
        mount /dev/centos/disk3  /disk3

准备和激活命令如下

osd1

ceph-deploy osd prepare osd1:/disk1/osd osd1:/disk1/osd osd2:/disk1/osd
ceph-deploy osd activate osd2:/disk1/osd osd2:/disk2/osd osd2:/disk3/osd

osd2

ceph-deploy osd prepare osd2:/disk1/osd osd2:/disk2/osd osd2:/disk3/osd
ceph-deploy osd activate osd2:/disk1/osd osd2:/disk2/osd osd2:/disk3/osd

5、检查集群情况 (admin主机上执行)

sudo ceph health    #集群健康状态
sudo ceph -s        #
sudo ceph status    #集群状态
sudo ceph report   # 详细报告

三、mds安装及配置

1、安装ceph mds (admin主机上执行)

ceph-deploy mds create mon1:mds01 # mon1为主机名,mds01为进程名(可选)

2、创建cephfs存储池

sudo ceph osd pool create cephfs_data 256     # 创建数据池
sudo ceph osd pool create cephfs_metadata 256 # 创建元数据池

3、创建cephfs文件系统

sudo ceph fs new cephfs cephfs_metadata cephfs_data

4、检查cephfs系统

sudo ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
sudo ceph mds stat
e5: 1/1/1 up {0=mds01=up:active} 

5、挂载cephfs系统

kenerl 方式挂载

secret 用ceph.client.admin.keyring中的key

mount -t ceph 192.168.1.86,192.168.1.171,192.168.1.164:/ /mnt/cephfs -o name=admin,secret=AQDsq5VYbHBhARAAuxzTGzGMiiMAZOmgNjRIZg== 

安全起见讲admin的key存入文件

vi /etc/ceph/admin.secret
chmod 0644 admin.secret
stat admin.secret

重新mount

mount -t ceph 192.168.1.86,192.168.1.171,192.168.1.164:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret

写入fstab文件,系统启动自动挂载(此处有问题,如果网络未启动挂载会失败)

192.168.1.86,192.168.1.171,192.168.1.164:/ /mnt/cephfs ceph name=admin,secretfile=/etc/ceph/admin.secret 0 2

重复以上步骤swarm1-3都挂载好cephfs

阅读(2955) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~