修改yum源
添加ceph的repo源文件
cat >> /etc/yum.repos.d/ceph.repo <<EOF
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/keys/release.asc
priority=1
EOF
整合软件仓库
# 建议把无用的仓库源都清除掉,如果有自己的仓库地址可以不执行下面的命令
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
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
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
安装ceph软件
在ceph管理节点安装ceph-deploy
yum clean all
yum makecache
# 生产环境谨慎执行update命令
yum update -y
yum install ceph-deploy python-setuptools -y
安装ssh和ntp服务
yum install ntp ntpdate ntp-doc openssh-server -y
创建普通用户;
# 如果使用root用户可以不执行
useradd -d /home/ceph -m cephadm
passwd cephadm
添加sudo权限;
# 如果使用root用户可以不执行
echo "cephadm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm
chmod 0440 /etc/sudoers.d/cephadm
切换用户到ceph并生成秘钥;
# 如果使用root用户可以不执行
su cephadm
ssh-keygen
拷贝公钥到各节点;
# 如果使用root用户可以不执行
ssh-copy-id cephadm@ceph1
ssh-copy-id cephadm@ceph2
ssh-copy-id cephadm@ceph3
创建目录;
sudo mkdir -p /data/my-cluster
cd /data/my-cluster
初始化监控节点;
ceph-deploy new ceph1
修改ceph.conf配置文件;
[global]
fsid = f653cdaa-4348-4c93-8d92-d4733cbbe4f8
mon_initial_members = ceph1
mon_host = 172.16.166.138
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd pool default size = 2 #增加默认副本数为 2
public network = {public-network/netmask}
cluster network = {cluster-network/netmask}
[mon]
mon clock drift allowed = 2
mon clock drift warn backoff = 30
mon_allow_pool_delete = true
安装ceph;
ceph-deploy install --release nautilus ceph{1,2,3}
初始化mon并收集秘钥;
ceph-deploy mon create-initial
拷贝key到其他节点;
ceph-deploy admin ceph{1,2,3}
部署管理进程;
ceph-deploy mgr create ceph1
创建OSD;
# 添加硬盘设备时注意查看硬盘是否有磁盘分区数据,如果有请先删除磁盘数据后再加入OSD
# 盘符根据当时情况去调整
mkfs.xfs -f /dev/sdb
ceph-deploy osd create --data /dev/sdb ceph1
ceph-deploy osd create --data /dev/sdb ceph2
ceph-deploy osd create --data /dev/sdb ceph3
查看集群状态;
ceph health
ceph -s
创建存储池;
# 计算公式
# PG 总数 = (( OSD 总数 * 100) /最大副本数) /池数
# 举例 OSD 总数 = 12,池副本数 (rep size) = 2,池数 = 4
# 算出的结果PG总数=140,但是要选2的N次幂数是256,256/4 = 64
ceph osd pool create volumes 64
ceph osd pool create images 64
ceph osd pool create vms 64
ceph osd pool create backups 64
初始化存储池;
rbd pool init volumes
rbd pool init images
rbd pool init backups
rbd pool init vms
网友评论