CentOS6.5 本地源搭建Ceph
拓扑图
OS: CentOS X86_64,desktop
-免密码登录
-修改/etc/sysconfig/network --hostname
-修改/etc/hosts/ -关闭iptables
1 ceph学习资料
- Ceph浅析(上):概况与设计思想 http://www.csdn.net/article/2014-04-01/2819090-ceph-swift-on-openstack
-
Ceph浅析(中):结构、工作原理及流程 http://www.csdn.net/article/2014-04-08/2819192-ceph-swift-on-openstack-m
-
华为章宇:如何学习开源项目及Ceph的浅析 http://www.csdn.net/article/2014-04-10/2819247-how-to-learn-opensouce-project-%26-ceph/2
- Storage Cluster Quick Start【存储集群快速入门】
2 ceph本地源下载
- 下载rpm包
163已经提供ceph源镜像,但实际搭建中通过ceph官网:https://download.ceph.com/rpm-hammer/el6/下载安装包:
[root@admin opt]# wget -c -r -np -k -L -p http://download.ceph.com/rpm-hammer/el6/
[root@admin opt]# ll download.ceph.com/rpm-hammer/
total 4
drwxr-xr-x. 6 root root 4096 May 9 20:03 el6
#本地源下载完毕
- 下载release.asc文件
[root@admin opt]# curl https://download.ceph.com/keys/release.asc
*admin为上网机
3 创建本地源
- 放置文件
[root@ceph-admin opt] cd /var/www/html
[root@ceph-admin html] mkdir keys
将上网机下载的rpm-hammer文件夹放置于/var/www/html/
将上网机下载的release.asc文件放置于/var/www/html/keys/
[root@ceph-admin html]# ls
keys rpm-hammer
- 启动httpd服务
[root@ceph-admin html]# service httpd start
Starting httpd: httpd: [ OK ]
- 生成ceph.repo
[root@ceph-admin opt] rpm -ivh ceph-release-1-0.el6.noarch.rpm
该命令会自动生成ceph.repo文件。
- 修改ceph.repo
修改/etc/yum.repos.d/ceph.repo【/etc/yum.repos.d/目录下除了ceph.repo文件,其他文件删除】
[root@ceph-admin yum.repos.d]# cat ceph.repo
-----------------------------------------------
[Ceph]
name=Ceph packages for $basearch
baseurl=http://172.16.50.34/rpm-hammer/el6/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://172.16.50.34/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://172.16.50.34/rpm-hammer/el6/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://172.16.50.34/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=http://172.16.50.34/rpm-hammer/el6/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://172.16.50.34/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
-----------------------------------------------
[root@ceph-admin opt] yum clean all && yum makecache
4 ceph-admin上安装ceph-deploy
[root@admin opt]yum install ceph-deploy
5 修改install.py文件
在通过ceph-admin安装monitor时(即ceph-deploy install monitor),会调用ceph-deploy的install.py,而此时会使用该脚本连接网络下载rpm包,由于使用本地源,故需修改 install.py中rpm包下载的路径。
install.py位置:/usr/lib/python2.6/site-packages/ceph_deploy/hosts/centos/install.py
修改如下:
修改前
---------------------------
65 if adjust_repos:
66 if version_kind in ['stable', 'testing']:
67 #distro.packager.add_repo_gpg_key(gpg.url(key))
68
69 if version_kind == 'stable':
70 url = 'https://download.ceph.com/rpm-{version}/{repo}/'.format(
71 version=version,
72 repo=repo_part,
73 )
---------------------------
修改后
---------------------------
65 if adjust_repos:
66 if version_kind in ['stable', 'testing']:
67 #distro.packager.add_repo_gpg_key('http://172.16.50.34/keys/release.asc')
68
69 if version_kind == 'stable':
70 url = 'http://172.16.50.34/rpm-hammer/{repo}/'.format(
71 version=version,
72 repo=repo_part,
73 )
---------------------------
6 配置ceph-monitor
- 安装epel源
[root@ceph-monitor opt] rpm -ivh epel-release-6-8.noarch.rpm
[root@ceph-monitor opt] rpm -ivh yum-plugin-priorities-1.1.30-30.el6.noarch.rpm
[root@ceph-monitor opt] cd /etc/yum.repos.d/ && mv epel.repo epel.repo.bak && mv epel-testing.repo epel-testing.repo.bak
*防止ceph-deploy install ceph-monitor时报错
- 配置ceph.repo
ceph-monitor上配置ceph源流程与ceph-admin配置ceph源相同
- 安装所需要rpm包
[root@ceph-monitor yum.repos.d] yum install python-sphinx
[root@ceph-monitor yum.repos.d] cd /opt
[root@ceph-monitor opt] rpm -ivh boost-thread-1.41.0-27.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh python-babel-0.9.4-5.1.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh python-six-1.9.0-2.el6.noarch.rpm
[root@ceph-monitor opt] rpm -ivh libbabeltrace-1.2.1-1.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh libunwind-1.1-3.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh userspace-rcu-0.7.7-1.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh lttng-ust-2.4.1-1.el6.x86_64.rpm
[root@ceph-monitor opt] rpm -ivh python-backports-1.0-5.el6.x86_64.rpm
*以上rpm包可以由http://rpmfind.net/linux/rpm2html/search.php下载,
如果不安装以上rpm包,在ceph-deploy上使用ceph-deploy install ceph-monitor时会报缺少包的Error。
7 使用ceph-deploy进行部署
[root@ceph-admin opt]mkdir /mycluster && cd /mycluster
[root@ceph-admin mycluster] ceph-deploy install ceph-monitor
在节点ceph-admin上使用ceph-deploy工具部署ceph-osd01、ceph-osd02步骤如ceph-monitor【配置ceph源、安装相关rpm包】
============================================================================
※※遇到问题:
使用rpm-firefly版本部署ceph时会出现包依赖的错误,在使用ceph-deploy install ceph-monitor,有关librados2和librbd1,现象如下:
Error: Package: ceph-common-0.80.10-0.el6.x86_64(Ceph)
Require: librados2 = 0.80.10-0.el6
Available: librados2-0.80.10-rc1.el6.x86_64(Ceph)
librados2 = 0.80-rc1.0.el6
..........
该问题可能是firefly版本的bug,换成hammer版本后没有遇见该问题。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步