1、Ceph分布式文件系统简介
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。
基开发目标是:
- 可轻松扩展到数 PB 容量
- 支持多种工作负载的高性能(每秒输入/输出操作[IOPS]和带宽)
- 高可靠性
Ceph 不仅仅是一个文件系统,还是一个有企业级功能的对象存储生态环境。
中文学习网址:CEPH中文学习网
2.Ceph分布式文件系统搭建
2.1 环境准备
准备三台centos机器(使用虚拟机)
IP | hostname |
---|---|
192.168.1.12 | node01 |
192.168.1.13 | node02 |
192.168.1.14 | node03 |
2.1.1 关闭防火墙(node01、node02、node03)
# 查看状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
2.1.2 关闭selinux(node01、node02、node03)
执行命令:vi /etc/selinux/config,修改内容“SELINUX=disabled”
2.1.3 修改hostname(node01、node02、node03)
执行vi /etc/hostname,添加添加名称node01
执行vi /etc/hosts,添加以下内容:
192.168.1.12 node01
192.168.1.13 node02
192.168.1.14 node03
上面的命令执行完后,记得执行reboot命令重启服务,然后执行hostname命令,查看机器名
2.1.4 修改yum源(node01、node02、node03)
使用清华镜像,加速下载
执行命令:vi /etc/yum.repos.d/ceph.repo ,添加以下内容:
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
2.1.5安装ceph与ceph-deploy(node01)
先执行以下两条命令(node01、node02、node03):
yum install epel-release -y
yum install lttng-ust -y
执行安装命令(node01):
yum update && yum -y install ceph ceph-deploy
执行成功,如下图,整个过程会有点慢 ,不要着急,耐心点!!!
2.1.6安装NTP时间同步工具(node01、node02、node03)
1)执行命令:
yum install ntp ntpdate ntp-doc -y
2)设置开机启动
systemctl enable ntpd
3)设置每隔1小时自动校准同步。
执行命令: vi /etc/rc.d/rc.local ,添加以下内容
/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
4)设置定时任务, 执行crontab -e 加入
0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
2.1.7免密配置(node01、node02、node03)
创建cuser用户,密码也为cuser(node01、node02、node03)
useradd -d /home/cuser -m cuser
passwd cuser
设置权限(node01、node02、node03)
echo "cuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cuser
sudo chmod 0440 /etc/sudoers.d/cuser
切换cuser用户,执行ssh-keygen,生成密匙(node01)
su cuser
分发密钥到所有节点:(node01)
ssh-copy-id cuser@node01
ssh-copy-id cuser@node02
ssh-copy-id cuser@node03
切换到root用户
su root
执行命令:mkdir ~/.ssh,然后进入到.ssh目录中,创建文件config,添加以下内容到文件
Host node01
Hostname node01
User cuser
Host node02
Hostname node02
User cuser
Host node03
Hostname node03
User cuser
修改文件权限:
chmod 600 ~/.ssh/config
2.2 Ceph集群搭建
2.2.1 创建集群管理目录,作为ceph配置信息存储目录
mkdir -p /usr/local/che/cephcluster
cd /usr/local/che/cephcluster
2.2.2 创建集群
ceph-deploy new node01 node02 node03
2.2.3 修改配置文件
执行命令:vi /usr/local/che/cephcluster/ceph.conf,添加以下内容
#对外开放网段
public network = 192.168.1.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard
执行安装命令:ceph-deploy install node01 node02 node03
2.2.4 初始化Monitor
ceph-deploy mon create-initial
2.2.5 同步管理信息
ceph-deploy admin node01 node02 node03
2.2.6 安装mgr
ceph-deploy mgr create node01 node02 node03
2.2.7 安装rgw
ceph-deploy rgw create node01 node02 node03
2.2.7 安装mds服务
ceph-deploy mds create node01 node02 node03
2.2.8 安装OSD
执行fdisk -l,查看磁盘信息,
执行创建OSD命令:(node01)
ceph-deploy osd create --data /dev/sdb node01
ceph-deploy osd create --data /dev/sdb node02
ceph-deploy osd create --data /dev/sdb node03
执行ceph -s,查看ceph集群状态信息
2.2.8 dashboard安装
1)开启dashboard模块
ceph mgr module enable dashboard
2)生成签名
ceph dashboard create-self-signed-cert
3)创建目录
mkdir -p /usr/local/che/cephcluster/mgr-dashboard
4)生成密钥对
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
5)启动dashboard
ceph mgr module disable dashboard
ceph mgr module enable dashboard
6)设置IP与PORT
ceph config set mgr mgr/dashboard/server_addr 192.168.1.12
ceph config set mgr mgr/dashboard/server_port 8443
7)关闭HTTPS
ceph config set mgr mgr/dashboard/ssl false
8)查看服务信息
ceph mgr services
9)设置管理员账号密码
ceph dashboard set-login-credentials admin admin
10)浏览器中访问https://192.168.1.13:8443/,
11)RGW访问 http://192.168.1.12:7480/
2.3 Cephfs管理
2.3.1 创建两个存储池
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
查看存储池
ceph osd lspools
2.3.2 创建fs, 名称为fs_demo01
ceph fs new fs_demo01 cephfs_metadata cephfs_data
查看状态:
ceph fs ls
ceph mds stat
2.3.3 fuse挂载
# 安装
yum -y install ceph-fuse
# 创建挂载目录
mkdir -p /usr/local/che/cephfs_directory
# 挂载cephfs
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.1.12:6789 /usr/local/che/cephfs_directory
查看挂载信息
df -h