#!/bin/bash
#安装前准备,高可用最多需要九台机器,最少三台机器。其中admin节点,mon节点,osd节点可以存在一台机器上。
#在每天机器上将计算机名修改
hostnamectl set-hostname admin
hostnamectl set-hostname mon01
hostnamectl set-hostname mon02
hostnamectl set-hostname mon03
hostnamectl set-hostname mgr01
hostnamectl set-hostname mgr02
hostnamectl set-hostname store01
hostnamectl set-hostname store02
hostnamectl set-hostname store03#在每台机器上执行,将host文件添加好,方便使用
cat > /etc/hosts <<EOF
192.168.0.101 admin
192.168.0.102 mon01
192.168.0.103 mon02
192.168.0.104 mon03
192.168.0.105 mgr01
192.168.0.106 mgr02
192.168.0.107 store01
192.168.0.108 store02
192.168.0.109 store03
EOF#复制root用户的公钥,在admin节点使用ssh-keygen,再使用ssh-copy-id将公钥发送到其他所有主机上,保证root免密码访问
ssh-keygen
ssh-copy-id root@192.168.0.102
...
ssh-copy-id root@192.168.0.109#在所有主机上创建cephadm账户,并配置sudo权限
useradd -m -s /bin/bash cephadm
echo cephadm:123456 | chpasswd
echo "cephadm ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephadm
chmod 0440 /etc/sudoers.d/cephadm#在admin节点 su - cephadm,并创建key,再发送到所有主机上
su - cephadm
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
ssh-copy-id cephadm@192.168.0.102
...
ssh-copy-id cephadm@192.168.0.109#再所有节点主机配置本地yum源,如果没有本地yum源,需要寻找ceph源,以便安装ceph相关的软件,依赖等
#在所有节点上进行yum install -y ceph ,在admin节点额外进行yum install -y ceph-deploy
yum install -y ceph #所有节点
yum install -y ceph-deploy #admin节点
#在admin节点创建ceph文件存储目录
mkdir -pv /usr/local/ceph
cd /usr/local/ceph ##########################################################################################
########################################集群初始化########################################
########################################################################################## #mon01节点集群初始化,在admin节点执行
ceph-deploy new --public-network 192.168.0.0/24 --cluster-network 192.168.0.0/24 mon01
#初始化完成后,可在/usr/local/ceph目录下可以看到配置文件
cat /usr/local/ceph#接下来为mon节点安装ceph-mon软件
ceph-deploy install --no-adjust-repos --nogpgcheck --mon mon01
#或者也可以直接在mon01节点进行,其他节点相同
yum install -y cdph-mon
#经测试,在每个机器上执行yum install -y ceph之后,这些软件都会有#初始化mon节点生成配置信息
ceph-deploy --overwrite-conf mon create-initial
#如果是单个机器部署,可直接发送至所有机器
ceph-deploy --overwrite-conf config push mon01 mon02 mon03
#初始化完成后,当前目录会生成更多文件,包括密钥文件,查看mon01节点的/etc/ceph/ceph.conf也能看到
#此时查看ceph -s是无法使用的,因为没有管理权限,将mon01节点生成的配置推送到admin节点,或者拷贝,admin节点才会具有管理ceph集群的权限
ceph-deploy admin admin
#有权限之后,使用ceph -s 会发现cluster出现警告,使用如下命令去除,不去除也可以
ceph config set mon autj_allow_insecure_global_id_reclaim false
#此时mon节点已完成##########################################################################################
################################mgr节点部署###############################################
###########################################################################################在admin节点为mgr01安装软件
ceph-deploy install --mgr mgr01
#配置mgr节点启动mgr进程
ceph-deploy mgr create mgr01
#此时ceph -s 已经可以看到mgr节点存活了##########################################################################################
################################osd节点部署###############################################
########################################################################################## #在admin节点为store01 store02 store03安装软件
ceph-deploy install --release pacific --osd store01
#安装完软件过后,需要配置osd节点
ceph-deploy --overwrite-conf osd create store01 --data /dev/sdb
ceph-deploy --overwrite-conf osd create store01 --data /dev/sdc
ceph-deploy --overwrite-conf osd create store02 --data /dev/sdb
ceph-deploy --overwrite-conf osd create store02 --data /dev/sdc
ceph-deploy --overwrite-conf osd create store03 --data /dev/sdb
ceph-deploy --overwrite-conf osd create store03 --data /dev/sdc#添加另外两个mon节点
ceph-deploy mon add mon02
ceph-deploy mon add mon03#添加另外一个mgr节点
ceph-deploy mgr create mgr02#新增mon节点和mgr节点过后,但是配置不会生效,在ceph.conf 中添加主机
vi /usr/local/ceph/ceph.conf
mon_host=192.168.0.102,192.168.0.103,192.168.0.104
#再执行命令,推送到所有主机上
ceph-deploy --overwrite-conf config push admin mon0{1,2,3} mgr0{1,2} store0{1,2,3}##############################################################################################
########################################客户端配置############################################
###############################################################################################客户端安装ceph-common
yum install -y ceph-common
#拷贝集群的配置文件以及密钥,以便找到集群+访问权限(客户端)
scp 192.168.0.101:/etc/ceph/ceph.conf /etc/ceph/
scp 192.168.0.101:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
#创建rbd并使用rbd创建存储镜像供客户端使用(服务端)
ceph osd pool create rbd 32 32
rbd create --size 10G image1
#此时已有一个10g的镜像,名叫image1
#image镜像大小缩小为7G
rbd resize --size 7G image1 --allow-shrink
#image镜像大小扩展为15G
rbd resize --size 15G image1
#客户端映射image1镜像到本地
rbd map image1
lsblk
rbd showmapped
#格式化磁盘,挂载
mkfs.ext4 /dev/rbd0
mount /dev/rbd0 /mnt
df -h
#此时已挂载完毕,可以使用
#创建镜像快照
rbd snap create image1 --snap image-kz1
#若误操作删除磁盘数据则
#先卸载设备
umount /mnt
#使用image-kz1还原快照
rbd snap rollback image1 --snap image-kz1
#再挂载
mount /dev/rbd0 /mnt
ls /mnt
ceph分布式存储搭建 centos7
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:TI充电IC架构
下一篇:1亿的数据python要跑多久
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
CentOS7下搭建ScaleIO分布式存储集群
CentOS7下搭建ScaleIO分布式存储集群
服务器 centos 安装部署