Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。
基开发目标是:
中文学习网址:CEPH中文学习网
准备三台centos机器(使用虚拟机)
IP | hostname |
---|---|
192.168.1.12 | node01 |
192.168.1.13 | node02 |
192.168.1.14 | node03 |
# 查看状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
执行命令:vi /etc/selinux/config,修改内容“SELINUX=disabled”
执行vi /etc/hostname,添加添加名称node01
执行vi /etc/hosts,添加以下内容:
192.168.1.12 node01
192.168.1.13 node02
192.168.1.14 node03
上面的命令执行完后,记得执行reboot命令重启服务,然后执行hostname命令,查看机器名
使用清华镜像,加速下载
执行命令: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
先执行以下两条命令(node01、node02、node03):
yum install epel-release -y
yum install lttng-ust -y
执行安装命令(node01):
yum update && yum -y install ceph ceph-deploy
执行成功,如下图,整个过程会有点慢 ,不要着急,耐心点!!!
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
创建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
ssh-copy-id cuser@node01
ssh-copy-id cuser@node02
ssh-copy-id cuser@node03
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
mkdir -p /usr/local/che/cephcluster
cd /usr/local/che/cephcluster
ceph-deploy new node01 node02 node03
执行命令: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
ceph-deploy mon create-initial
ceph-deploy admin node01 node02 node03
ceph-deploy mgr create node01 node02 node03
ceph-deploy rgw create node01 node02 node03
ceph-deploy mds create node01 node02 node03
执行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
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
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/
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
查看存储池
ceph osd lspools
ceph fs new fs_demo01 cephfs_metadata cephfs_data
查看状态:
ceph fs ls
ceph mds stat
# 安装
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