html5做手机网站,合肥网站建设网站,赣州快车微信公众号,网站备案作用目录
一.ceph分布式存储
Ceph架构#xff08;自上往下#xff09;
OSD的存储引擎#xff1a;
Ceph的存储过程#xff1a;
二. 基于 ceph-deploy 部署 Ceph 集群
20-40节点上添加3块硬盘#xff0c;一个网卡#xff1a;
10节点为admin#xff0c;20-40为node…目录
一.ceph分布式存储
Ceph架构自上往下
OSD的存储引擎
Ceph的存储过程
二. 基于 ceph-deploy 部署 Ceph 集群
20-40节点上添加3块硬盘一个网卡
10节点为admin20-40为node50为client
配置 hosts 解析
安装常用软件和依赖包
在 admin 管理节点配置 ssh 免密登录所有节点
10节点配置时间同步
修改配置文件
所有节点重启依赖于系统时间的服务
编辑编辑编辑所有node节点修改网卡配置
所有节点配置 Ceph yum源
安装ceph
所有节点都创建一个 Ceph 工作目录后续的工作都在该目录下进行
安装 ceph-deploy 部署工具
管理节点为其它节点安装 Ceph 软件包
节点下载
生成初始配置
在管理节点初始化 mon 节点
配置初始化 mon 节点并向所有节点同步配置
部署能够管理 Ceph 集群的节点
部署 osd 存储节点
添加节点:
在添加其他两个节点
看下状态
将剩下磁盘继续添加后查看状态 部署 mgr 节点
从节点下载mgr
重启 dashboard
访问页面 一.ceph分布式存储
ceph存储机制会把数据分散存储到多个节点上具有高扩展性、高性能、高可用性等优点。
Ceph架构自上往下
客户端主机/虚拟机/容器/应用程序APP在Ceph中进行数据读写的终端。
LibRADOS对象访问接口提供访问存储接口给客户端使用。Ceph默认提供三个接口RBD块存储接口、RGW对象存储接口、CephFS文件存储接口。还支持用户使用java、python、C、C等编程语言二次开发自定义访问接口。
RADOS基础存储系统统一存储池提供存储能力的。Ceph中一切都是以对象(object)形式存储的。RADOS就是负责存储这些对象的并保证数据的一致性和可靠性。
OSD的存储引擎
FileStore是L版本(12.x)以前版本的唯一可选的OSD存储引擎将数据对象存储为文件系统的文件性能上有所不足 BlueStore是L版本(12.x)开始的默认OSD存储引擎将数据对象直接存储在块设备上具有更好的数据读写性能和可靠性
Ceph的存储过程
1文件默认会按照4M大小进行分片成一个或多个数据对象(object) 2每个数据对象都有一个oid由文件ID(ino)和分片编号(ono)组成通过对oid使用HASH算法得到一个16进制的特征码再除以Pool中的PG总数取余获取到数据对象的pgid整体由poolidpgid组成 3通过对pgid使用CRUSH算法得到PG对应的OSD的ID如果是多副本则是主从OSD的ID注PG与OSD的对应关系是在创建存储池Pool的时候就确定好的 4将数据对象存储到对应的OSD里
二. 基于 ceph-deploy 部署 Ceph 集群
准备五台服务器192.168.233.{10..50}:
20-40节点上添加3块硬盘一个网卡 10节点为admin20-40为node50为client 配置 hosts 解析 安装常用软件和依赖包
yum -y install epel-release
yum -y install yum-plugin-priorities yum-utils ntpdate python-setuptools python-pip gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bison setuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfig git bind-utils tmux elinks numactl iftop bwm-ng net-tools expect snappy leveldb gdisk python-argparse gperftools-libs conntrack ipset jq libseccomp socat chrony sshpass 在 admin 管理节点配置 ssh 免密登录所有节点 sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno rootadmin
sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno rootnode01
sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno rootnode02
sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno rootnode03 10节点配置时间同步
修改配置文件 开启chrony 开启 NTP
timedatectl set-ntp true 设置时区
timedatectl set-timezone Asia/Shanghai 强制同步下系统时钟
chronyc -a makestep 查看时间同步状态
timedatectl status 查看 ntp 源服务器信息 将当前的UTC时间写入硬件时钟 所有节点重启依赖于系统时间的服务 关闭无关服务 所有node节点修改网卡配置 重启网卡 所有节点配置 Ceph yum源
wget https://download.ceph.com/rpm-nautilus/el7/noarch/ceph-release-1-1.el7.noarch.rpm --no-check-certificate 将包移动到/opt下 安装ceph 所有节点都创建一个 Ceph 工作目录后续的工作都在该目录下进行 安装 ceph-deploy 部署工具 查看版本2.0.1 默认部署的是 mimic 版的 Ceph若想安装其他版本的 Ceph可以用 --release 手动指定版本 管理节点为其它节点安装 Ceph 软件包
yum install -y ceph-mon ceph-radosgw ceph-mds ceph-mgr ceph-osd ceph-common ceph节点下载
修改ceph的源 改为阿里云下载
sed -i s#download.ceph.com#mirrors.aliyun.com/ceph# ceph.repo 其他节点下载 Ceph 包 生成初始配置
在管理节点运行下述命令告诉 ceph-deploy 哪些是 mon 监控节点
ceph-deploy new --public-network 192.168.233.0/24 --cluster-network 192.168.100.0/24 node01 node02 node03
.命令执行成功后会在 /etc/ceph 下生成配置文件
ceph.conf ceph的配置文件 ceph-deploy-ceph.log monitor的日志 ceph.mon.keyring monitor的密钥环文件 在管理节点初始化 mon 节点
ceph-deploy mon create node01 node02 node03 节点上查看下mon状态 配置初始化 mon 节点并向所有节点同步配置
ceph-deploy --overwrite-conf mon create-initial 命令执行成功后会在 /etc/ceph 下生成配置文件 ceph.bootstrap-mds.keyring 引导启动 mds 的密钥文件 ceph.bootstrap-mgr.keyring 引导启动 mgr 的密钥文件 ceph.bootstrap-osd.keyring 引导启动 osd 的密钥文件 ceph.bootstrap-rgw.keyring 引导启动 rgw 的密钥文件 ceph.client.admin.keyring ceph客户端和管理端通信的认证密钥拥有ceph集群的所有权限
在节点上查看下配置文件 主节点上看下ceph信息 从节点看 查看 mon 集群选举的情况
ceph quorum_status --format json-pretty | grep leader 部署能够管理 Ceph 集群的节点
ceph-deploy --overwrite-conf config push node01 node02 node03 本质就是把 ceph.client.admin.keyring 集群认证文件拷贝到各个节点 ceph-deploy admin node01 node02 node03 在 从 节点上查看 部署 osd 存储节点
查看下从节点的磁盘情况 添加节点:
ceph-deploy --overwrite-conf osd create node01 --data /dev/sdb
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdb
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdb 看下从节点的磁盘情况 在添加其他两个节点 看下状态 扩容 osd 节点
ceph-deploy --overwrite-conf osd create node01 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdc
ceph-deploy --overwrite-conf osd create node01 --data /dev/sdd
ceph-deploy --overwrite-conf osd create node02 --data /dev/sdd
ceph-deploy --overwrite-conf osd create node03 --data /dev/sdd 看下状态 看下从节点 将剩下磁盘继续添加后查看状态 主节点看下状态 部署 mgr 节点 解决 HEALTH_WARN 问题mons are allowing insecure global_id reclaim问题
禁用不安全模式:
ceph config set mon auth_allow_insecure_global_id_reclaim false 从节点下载mgr 开启 dashboard 模块
ceph mgr module enable dashboard --force 禁用 dashboard 的 ssl 功能
ceph config set mgr mgr/dashboard/ssl false 配置 dashboard 监听的地址和端口
ceph config set mgr mgr/dashboard/server_addr 192.168.233.20
ceph config set mgr mgr/dashboard/server_port 8000重启 dashboard
ceph mgr module disable dashboard
ceph mgr module enable dashboard --force 确认访问 dashboard 的 url 设置 dashboard 账户以及密码 ceph dashboard set-login-credentials admin -i dashboard_passwd.txt 访问页面