环境说明:
ip 服务 主机名 备注
172.20.101.5 ceph、ceph-deploy、mon admin-node mon节点 集群节点
172.20.101.13 ceph ceph1 osd
172.20.101.15 ceph ceph2 osd
#########
环境准备:
1关闭selinux和iptables
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
2设置时间同步
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
ntpdate -u cn.pool.ntp.org
hwclock --systohc
timedatectl set-timezone Asia/Shanghai
3修改主机名和host
hostnamectl set-hostname admin-node
hostnamectl set-hostname ceph1
hostnamectl set-hostname ceph2
vim /etc/hosts
172.20.101.5 admin-node
172.20.101.13 ceph1
172.20.101.15 ceph2
4设置yum源(已安装可忽略)
Wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
ceph yum源
cat > /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
EOF
yum clean all && yum makecache #缓存yum源
5.配置master节点免密钥登陆节点
yum install openssh-server -y #安装ssh服务器
ssh-keygen
ssh-copy-id root@admin-node
ssh-copy-id root@ceph1
ssh-copy-id root@ceph2
##############
ceph安装
##################################################################
##################################################################
Ps:如果在某些地方卡住,想从头再来,可以用命令清楚配置
Ceph-deploy purgedata [ceph-node] [ceph-node]
Ceph-deploy forgetkeys
也可以把安装包去掉
Ceph-deploy purge [ceph-node] [ceph-node]
用作k8s 需要安装ceph-common
##################################################################
##################################################################
yum -y install ceph-deploy #集群节点和mon节点安装
创建集群目录:
mkdir /etc/ceph && cd /etc/ceph
ceph-deploy new admin-node
#创建mon节点(有多个在后面增加,但需要安装ceph-deploy包,如:ceph-deploy new admin-node ceph1 ceph2)
ceph-deploy install admin-node ceph01 ceph02 --repo-url=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/
#安装ceph服务,并指定阿里源,如果yum安装ceph则不需要操作
此时会生成ceph配置文件
vim ceph.conf
[global]
fsid = fb58eb0d-ccfe-43ff-a24a-a46b418ebd4c
mon_initial_members = admin-node
mon_host = 172.20.101.5
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd pool default size = 2 #设置默认副本数为2 默认为3
rbd_default_features = 1 #永久改变默认值
osd journal size = 2000 #日志大小设置
public network = 10.0.0.0/16 #如果有多个网卡则需进行网络配置
#如果是ext4的文件格式需要执行下面两个配置 (df -T -h|grep -v var查看格式)
osd max object name len = 256
osd max object namespace len = 64
集群节点初始化mon节点和密钥信息
ceph-deploy mon create-initial
创建osd节点对应用于存储的磁盘及挂载目录(osd节点操作)
mkdir -p /ceph && chown -R ceph.ceph /ceph/
fdisk /dev/sdb #对新建磁盘进行分区
依次输入n -> p -> 1 -> enter -> enter -> wq
fdisk -l 查看分区的磁盘
mkfs.xfs /dev/sdb1 #格式化分区
mkdir /ceph #创建挂载目录
vim /etc/fstab
/dev/sdb1 /ceph xfs defaults 0 0
mount -a
df -h #查看创建情况
chown -R ceph.ceph /ceph/ #设置属主和属组
在集群节点操作:
ceph-deploy osd prepare admin-node:/ceph ceph1:/ceph ceph2:/ceph #准备创建osd
ceph-deploy osd activate admin-node:/ceph ceph1:/ceph ceph2:/ceph #激活osd
ceph-deploy admin admin-node ceph01 ceph02 #admin密钥拷贝到管理节点和ceph节点,之后ceph命令就无需指定monitor地址和ceph.client.admin.keyring
chmod +r /etc/ceph/ceph.client.admin.keyring #设置权限
ceph-deploy mon create admin-node #创建mon节点,多个需要安装ceph-deploy
ceph health #查看集群健康状况
ceph -s #查看集群状况
Ceph df 查看集群磁盘
Ceph 欧舒丹tree #查看欧舒丹的节点状态
Ceph-deploy osd list admin-node ceph1 ceph2 #查看osd状态和数据存放位置
Ceph quorum_status --format json-pretty #查看集群mon选举状态
添加osd
在新加节点上挂载目录/ceph,并创建磁盘分区格式化挂载
ceph-deploy osd prepare node3:/ceph #准备创建新家的osd
ceph-deploy osd activate node3:/ceph #激活osd
ceph -w # 一旦你新加了 OSD , Ceph 集群就开始重均衡,把归置组迁移到新 OSD ,此命令查看迁移过程
添加元数据服务器
使用cephfs必须要一个元数据服务器
ceph-deploy mds create admin-node #创建元数据服务器
添加rgw
要使用ceph对象网关组件,必须部署rgw
ceph-deploy rgw create admin-node
RGW 例程默认会监听 7480 端口,可以更改该节点 ceph.conf 内与 RGW 相关的配置
vim ceph.conf
[client]
rgw frontends = civetweb port=80 #修改端口
添加monitor
ceph-deploy mon add ceph1 ceph2
ceph quorum_status --format json-pretty #新增 Monitor 后,Ceph 会自动开始同步并形成法定人数,此命令查看法定人数状态
配置块设置:
lsb_release -a
uname -r #使用4.1.4 或者之后的,否则可能有问题,低于则升级内核
升级步骤:
export Kernel_Version=4.18.9-1
wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml{,-devel}-${Kernel_Version}.el7.elrepo.x86_64.rpm
yum localinstall -y kernel-ml*
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg #修改启动顺序,使升级内核为默认启动内核
grubby --default-kernel #查看是否升级成功
reboot
管理节点通过ceph-deploy安装ceph-client
ceph-deploy install ceph3 #节点安装ceph
ceph-deploy admin ceph3 #拷贝ceph配置文件和密钥信息
chmod +r /etc/ceph/ceph.client.admin.keyring #设置可操作的权限
配置:
rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring] #如果没加入admin配置拷贝步骤需要加入-m 和-k选项 指定monitor ip和密钥文件
如:rbd create rbd/test1 --size 1G --image-format 2 --image-feature layering # 在rbd pool下创建名为test1,大小为1G 镜像格式为2 feature 为layering 的镜像
rbd map rbd/test1 #将 images 映射为块设备 ,或输出一个/dev/rbd/rbd/test1
然后格式化 ,操作同上门集群配置
mkfs.ext4 -m0 /dev/rbd/rbd/test1 #此命令耗时较长
然后在节点挂载
Mkdir /ceph
Mount /dev/rbd/rbd/test1 /ceph
配置cephfs文件系统
一、启用cephfs
Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据
启用mds服务
# ceph-deploy mds create node01
创建数据pool
ceph osd pool create cephfs_data 128
创建Metadata池
ceph osd pool create cephfs_metadata 128
启用pool
ceph fs new cephfs cephfs_metadata cephfs_data
查看cephfs
ceph fs ls
**二、挂载cephfs **
挂载cephfs有两种方式,kernel driver和fuse
1、kernel driver挂载
关闭认证情况下
sudo mkdir /mnt/wyl
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/wyl
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph noatime,_netdev 0 2
启用认证
# cat ceph.client.admin.keyring
[client.admin]
key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
# mount -t ceph 172.16.70.77:6789:/ /wyl -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev 0 2
1
注意:检查是否启用cephx认证方法,如果值为none为禁用,cephx为启用
[root@node1 ceph]# cat /etc/ceph/ceph.conf | grep auth | grep required
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
2、fuse挂载
安装挂载工具
# yum -y install ceph-fuse ceph
将存储节点的admin秘钥拷贝到本地
# ssh root@node1 "ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key
root@node1’s password:
赋予权限
# chmod 600 admin.key
执行挂载
参考官网
http://docs.ceph.org.cn/cephfs/fuse/
sudo mkdir /home/usernname/cephfs
sudo ceph-fuse -m 192.168.0.1:6789 /home/username/cephfs
# mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key
# df -hT
设置开机自动挂载/etc/fstab
id=admin,conf=/etc/ceph/ceph.conf /mnt fuse.ceph defaults 0 0
1
mds可以同时启用多个节点,不同的client挂载不同mds存储节点,不同client可以同时写数据,数据是共享的
3、windows挂载:
https://github.com/ksingh7/ceph-cookbook/tree/master/ceph-dokan
————————————————
来源:https://www.cnblogs.com/leo001/p/12242362.html