CephFS安装部署文档(Linux)

Ceph 安装部署手册

安装 Ceph 集群

设定服务器名称和名前解析

hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
vim /etc/hosts
192.168.1.96 node1
192.168.1.97 node2
192.168.1.98 node3

关闭 Selinux

sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0

主节点设定免密登录(node1)

ssh-keygen -t rsa

ssh-copy-id root@node1
ssh-copy-id root@node2
ssh-copy-id root@node3

设定防火墙

#关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

或者开放端口
firewall-cmd --add-port 6800-7300/tcp --permanent
firewall-cmd --add-port 6789/tcp --permanent
firewall-cmd --add-port 3300/tcp --permanent
firewall-cmd --reload
#开放端口包括6789,6800:7300等

###设定服务器时间同步

# 以node1的时间为主
yum install ntp -y
vi /etc/ntp.conf
server 192.168.1.96 iburst
systemctl restart ntpd

配置 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

sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i  's/$releasever/7/g' /etc/yum.repos.d/epel.repo

# 注意安装版本
版本	 主版本号	初始发行时间	停止维护时间
Quincy	   17	    2022-04-19	    2024-06-01  #python3
Pacific	   16	    2021-03-31	    2023-06-01  #python3
Octopus	   15	    2020-03-23	    2022-06-01  #python3
Nautilus   14	    2019-03-19	    2021-06-30  #python2
Mimic      13	    2018-06-01	    2020-07-22  #python2
Luminous   12	    2017-08-01	    2020-03-01  #python2
vim /etc/yum.repos.d/ceph.repo

[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
# baseurl=http://mirrors.aliyun.com/ceph/rpm-octopus/el7/x86_64/
# baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/

gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
# baseurl=http://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/
# baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0

安装 ceph ceph-deploy(在线)

yum install ceph ceph-deploy -y

新建用户并设定密码及 sudo 权限

useradd ceph
echo ceph@1234*|passwd --stdin ceph
echo 'ceph ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers

部署 ceph 集群

mkdir /home/ceph/cluster
cd /home/ceph/cluster
ceph-deploy new node1 node2 node3
vim /home/ceph/cluster/ceph.conf
#添加如下命令(public_network是ceph对外的入口网络)
public_network=192.168.1.0/24
[mon]
mon_allow_pool_delete = true
[osd]
bluestore_min_alloc_size = 4096
# bluestore存储引擎中hdd数据盘的对象最小分配大小。单位B
bluestore_min_alloc_size_hdd = 4096
bluestore_min_alloc_size_ssd = 4096
# osd进程针对hdd数据盘平均每个分片的线程数。
osd_op_num_threads_per_shard_hdd = 2
# 磁盘分配空间最小分配大小。单位B
bdev_block_size = 4096

部署 Ceph Monitor 节点

# 修改相关目录的文件夹权限
# 主节点
chown -R ceph:ceph /etc/ceph/ /var/run/ceph /var/lib/ceph/ /var/log/ceph/ /home/ceph/cluster/
# 其他节点
chown -R ceph:ceph /etc/ceph/ /var/run/ceph /var/lib/ceph/ /var/log/ceph/
ceph-deploy mon create-initial

# 若出现问题可重新加载Monitor
ceph-deploy mon destroy node1 node2 node3
ps aux|grep ceph |awk '{print $2}'|xargs kill -9
rm -rf /etc/ceph/*
rm -rf /var/run/ceph/*
rm -rf /var/lib/ceph/*/*
rm -rf /var/log/ceph/*
rm -rf /home/ceph/cluster/*
# 重新做上述操作

收集 keyring 文件

ceph-deploy admin node1 node2 node3

#此时可以使用ceph -s查看集群信息
ceph -s

部署 Ceph Manager

ceph-deploy mgr create node1 node2 node3

部署 Ceph OSD

创建 Ceph OSD 需要一个干净的逻辑卷

  • 存在空余磁盘

#查看服务器硬件资源
lsblk
#使用fdisk工具创建分区,具体操作(n、w)
fdisk /dev/sdb
#创建物理分区
pvcreate /dev/sdb1
#创建逻辑卷组
vgcreate nlas /dev/sdb1
#创建逻辑卷
lvcreate -n ceph-db -L 30G nlas
  • 创建 OSD
# 部署Ceph OSD(卷组名nlas 卷名ceph-db)
ceph-deploy osd create node1 --data nlas/ceph-db
ceph-deploy osd create node2 --data nlas/ceph-db
ceph-deploy osd create node3 --data nlas/ceph-db

安装 CephFS

部署 mds

ceph-deploy mds create node1 node2 node3

新建数据 pool

cephfs 需要两个 pool。使用 data_pool 存放 object,使用 metadata_pool 存放文件元数据。

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64

注:在上述命令中128是(placement group)pg数,pg数需满足下列条件
1. 集群pg 总数 = (OSD 总数 *100 )/最大副本数
2. 每个pool中pg总数=(OSD总数*100)/ 最大副本数 )/ 池数
3. pg数需要是2的指数幂

新建 CephFS

使用新建的 cephfs_data,cephfs_metadata 两个 pool 创建名为 cephfs 的 cephfs

ceph fs new cephfs cephfs_metadata cephfs_data

挂载 CephFS

cat /home/ceph/cluster/ceph.client.admin.keyring
[client.admin]
    key = AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==

vi /root/admin.secret
AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==

mount -t ceph node1:6789,node2:6789,node3:6789:/ /home/mapserver -o name=admin,secretfile=/root/admin.secret

/home/mapserver: 欲挂载的文件目录
/root/admin.secret: 密钥文件


最终可使用df -h查看
192.168.1.96:6789,192.168.1.97:6789,192.168.1.98:6789:/   90G  3.1G   87G    4% /home/mapserver

CephFS 的 dir.layout 属性的添加修改(待修正)

# 如没有getfattr等命令,使用attr.zip
unzip attr.zip && cd attr && rpm -ivh * --force
# 获取ceph.dir.layout
getfattr -n ceph.dir.layout /home/mapserver
getfattr: Removing leading '/' from absolute path names
# file: home/mapserver/
ceph.dir.layout="stripe_unit=4194304 stripe_count=1 object_size=4194304 pool=cephfs_data"

- stripe_unit(cephfs分片之后每个单元的大小MB),
- stripe_count(分片的数量)
- object_size(底层存储时每个对象的大小)
- pool(文件的数据对象将存储在哪个 RADOS 池中)
# 设定ceph.dir.layout.stripe_count
setfattr -n ceph.dir.layout.stripe_count -v 12 /home/mapserver
setfattr -n ceph.dir.layout.stripe_unit -v 131072 /home/mapserver
setfattr -n ceph.dir.layout.object_size -v 131072 /home/mapserver

配置监控

ceph mgr module enable dashboard
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_addr 0.0.0.0
ceph config set mgr mgr/dashboard/server_port 7600
ceph dashboard create-self-signed-cert
echo eds1234* > passwd
ceph dashboard ac-user-create admin -i passwd administrator
# 重启服务
ceph mgr module disable dashboard
ceph mgr module enable dashboard
ceph mgr services
{
    "dashboard": "https://node1:7600/"
}
# 注意防火墙端口
firewall-cmd --add-port 7600/tcp --permanent
firewall-cmd --reload
# 可浏览器访问
http://172.16.30.96:7600/#/login
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值