Ceph环境搭建手册
作者:周帆
时间:2017-04-11
GitOSChina:
Ceph中文doc:
论坛:http://bbs.ceph.org.cn/explore/
环境:vmware workstation12 Pro
CentOS7
注:请不要使用低版本的vmware,可能导致centos7安装失败
Centos7镜像下载:
http://mirrors.sohu.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
4.08GB
1.
略
2.
2.1点击新建虚拟机
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9.暂时使用host
Host-only只能确保虚拟机系统与宿主机之间通信
NAT相当于将宿主机看作是一台路由器
2.10
2.11
2.12
2.13
2.14下一步
注意:这时还没有安装操作系统,等会儿需加载
2.15.在虚拟机
2.16.设置好后打开虚拟机
选择第一项
开始
2.17进入系统安装界面
选择中文
点进去
配置网络:
Hostname就是虚拟机的主机名称,centos7默认的网络适配器名为en33
其他的选项可以暂时不用管,点击开始安装
设置root密码
创建用户
安装中…
2.18.
遵循centos的许可协议
完成配置:
安装成功!普通用户为
登录进去
(cepher用户我的密码是123456789)
(root用户我的密码也是123456789)
主界面
一路继续跳过!
3.
3.1安装vm
只有在VMware虚拟机中安装好了VMwareTools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之间自由移动(不用再按ctrl+alt),且虚拟机屏幕也可实现全屏化。可以自由的在宿主机和虚拟机系统中实现复制和粘贴功能
点击
桌面上出现
双击点开它
打开terminal,切换至home目录下,进入cepher用户主目录,
看到压缩包
移动
#mvVMwareTools-10.0.10-4301679.tar.gz /tmp/
#
解压压缩包
#tar –zxvfVMwareTools-10.0.10-4301679.tar.gz
进去解压后的安装目录
#cdvmware-tools-distrib/
执行安装脚本
#./vmware-install.pl
若出现权限不够
执行命令
# suroot
输入root 密码,切换为root账户后 ,发现
由原来的cepher@ceph-admin 变为了root@ceph-admin
一般格式为:[用户名@主机名
再次执行
#./vmware-install.pl
一路回车
安装好后,需要重启
3.2修改网络适配器
参考:http://blog.csdn.net/clevercode/article/details/45935073
搭建ceph集群需要多台虚拟机,同时需要真实物理机和虚拟机之间进行通信
首先排除
再次考虑
所以我们使用
当前使用的是
好处是
修改虚拟机网卡
查看物理机所有网络配置
#ipconfig/all
找到物理机连接的无限网络及描述
桥接到描述为Broadcom 802.11n网络适配器的网络上(不同机器可能描述不同)
附一张我的网络适配器图
打开虚拟机设置,将ceph-admin网络适配器改为
切换到
# cd/etc/sysconfig/network-scripts/
# ls
配置ifcfg-ens33网卡(注:centos7 网卡默认
使用静态
#vimifcfg-ens33
BOOTPROTO=dhcp改为static
ONBOOT=no改为
参考:
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=76761aa8-375f-440e-ad62-8eb6845ff2cb
DEVICE=ens33
ONBOOT=yes
GATEWAY=192.168.1.1
DNS1=114.114.114.114
NETMASK=255.255.255.0
#ip地址
IPADDR=192.168.1.244
#子网掩码,和物理机保持一致
NETMASK=255.255.255.0
#默认网关,和物理机保持一致
GATEWAY=192.168.1.1
查看是否修改成功
#catifcfg-ens33
重启服务
#systemctl
打开浏览器:访问百度http;//www.baidu.com
Ping
说明静态ip配置成功
物理机也通了
系统的安装与网络配置就算完成了基础!
搭建多个只需要按照上面的步骤重复即可
注:分配静态ip时不要重复,否则两台机器ip冲突不能同时上网
4.
Linux系统安装软件的方式一般为:源码安装,二进制安装,以及包管理工具安装
Debian系列为apt-get
Redhat系列一般为rpm和yum
Centos操作系统使用的是 rpm和yum
包管理工具
EG:安装mysql.
由于centos 的yum 源服务器在国外,我们将源修改到国内的163源
http://mirrors.163.com/.help/centos.html
#CentOS-Base.repo
#
# Themirror system uses the connecting IP address of the client andthe
# updatestatus of each mirror to pick mirrors that are updated toand
#geographically close to the client.
# unlessyou are manually picking other mirrors.
#
# If themirrorlist= does not work for you, as a fall back you can trythe
#remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever- Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#releasedupdates
[updates]
name=CentOS-$releasever- Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additionalpackages that may be useful
[extras]
name=CentOS-$releasever- Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additionalpackages that extend functionality of existingpackages
[centosplus]
name=CentOS-$releasever- Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
先备份CentOS-Base.repo文件
#mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
再创建CentOS7-Base-163.repo文件
#touch/etc/yum.repos.d/CentOS7-Base-163.repo
#cd/etc/yum.repos.d/
#ls
将163的源贴到CentOS7-Base-163.repo中
#vim/etc/yum.repos.d/CentOS7-Base-163.repo
生成缓存
#yumclean all
#yummakecache
更新源,就是把最新的软件包信息拿下来
#yumupdate
##这个过程比较慢,吃网速
5.
真实网络拓扑图
ip | Hostname | 备注 |
192.168.1.245 | ceph-admin | 管理节点,mon节点 |
192.168.1.246 | gateway | 网关对象节点 |
192.168.1.247 | ceph-osd1 | Osd1节点 |
192.168.248 | ceph-osd2 | Osd2节点 |
| | |
| | |
下面你可开始你的ceph集群搭建了!可以先参考注意事项
Ceph中文社区
搭建文档
先把网络配置好,yum源该成163的更新后再执行后面的操作!
如果一个人物理机由于性能问题无法同时开四个系统,那就最好找个partner一起搭建,切记,你们的物理机要在同一个局域网内!!
CEPH集群搭建
约定:4个节点的用户名统一为cepher(看个人)
密码为:123456789
root密码也为123456789
1.修改hostname:
#hostnamectlset-hostname xxx
#EG:将主机名改为ceph-admin
#
2.创建用户:sudo表示临时获取root的权限,用户的主目录是/home/cepher,用户名为cepher
#sudo adduser -d/home/cepher -m cepher
(如果你在装系统时已经创建那就不需进行此步骤)
3.设置用户密码:
#sudo passwdcepher
4.设置账户权限
#echo "cepher ALL= (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cepher
(如果说cepher还没有权限,那就切换到root身份进行操作)
#sudo chmod 0440/etc/sudoers.d/cepher
(chomod
完成后,切换回cepher用户执行下列命令:
#sudo yuminstall -y yum-utils && sudo yum-config-manager --add-repohttps://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yuminstall --nogpgcheck -y epel-release && sudo rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm/etc/yum.repos.d/dl.fedoraproject.org*
添加ceph仓库信息
#sudo vim/etc/yum.repos.d/ceph.repo
将以下写入ceph.repo中(ceph 版本为
[Ceph]
name=Cephpackages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
[Ceph-noarch]
name=Cephnoarch packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
[ceph-source]
name=Cephsource packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1
如果你不喜欢vim,或者习惯图形化的文本编辑,
那就执行
#sudo yuminstall gvim –y
说明gvim安装成功
Gvim是linux下图形界面的文本编辑器
继续运行
#sudogvim
保存并退出
ESC
:wq
或者
在管理节点上执行:安装ceph-deploy
#sudo yumupdate && sudo yum install ceph-deploy
在所有
#sudo yuminstall ntp ntpdate ntp-doc
在各
#sudo yuminstall openssh-server
#你的管理节点必须能够通过
将各个节点的主机名
#sudo gvim/etc/hosts
添加以下内容:
192.168.1.245admin
192.168.1.246gateway
192.168.1.247osd1
192.168.1.248osd2
停用防火墙
#sudosystemctl disable firewalld
#
禁用SElinux
#sudo sed-i s'/SELINUX=enforcing/SELINUX=disabled'/g/etc/sysconfig/selinux
在admin机器上生成ssh key:不需要输入任何东西,一路回车
#ssh-keygen
在cepher用户主目录下执行
#ls–la
说明刚才创建ssh公钥和私钥成功了
在
Host192.168.1.245
Hostnameadmin
Usercepher
Host192.168.1.246
Hostnamegateway
Usercepher
Host192.168.1.247
Hostnameosd1
Usercepher
Host192.168.1.248
Hostnameosd2
Usercepher
把公钥拷贝到各
ssh-copy-idcepher@admin
ssh-copy-idcepher@gateway
ssh-copy-idcepher@osd1
ssh-copy-idcepher@osd2
每个节点的cepher用户的~.ssh/会多出authorized_keys文件
每个节点authorized_key的都是
安装#sudo yuminstall yum-plugin-priorities
在admin节点上
#mkdirmy-cluster
#cdmy-cluster
创建集群
创建集群ceph-deploynew {initial-monitor-node(s)}
1.
#ceph-deploynew admin
如果你想重新配置节点,重新安装,就执行
#搽除配置信息
cepy-deploy purgedataadmin
#keyrings失效
Ceph-deployforgetkeys
#连ceph安装包一起删除
Ceph-deploy purge admin
详见
新建集群后my-cluster文件夹下会有三个文件
把
# gvimceph.conf
osd pooldefault size = 2
安装
#ceph-deployinstall admin
例如:ceph-deploy install admin osd1 osd2
配置初始
添加两个
在osd1和
#sudomkdir /var/local/storage1
#sudochmod 777 /var/local/storage1
#sudomkdir /var/local/storage2
#sudochmod 777 /var/local/storage2
然后在admin节点执行(从管理节点执行
#ceph-deployosd prepare osd1:/var/local/storage1osd2:/var/local/storage2
激活osd1 和
#ceph-deployosd activate osd1:/var/local/storage1osd2:/var/local/storage1
用
ceph-deployadmin admin osd1 osd2
确保你对
#sudochmod +r /etc/ceph/ceph.client.admin.keyring
添加
要使用
,在gateway节点上安装radosgw
#ceph-deployinstall –rgw
#ceph-deploy admin gateway
#
从管理节点的工作目录,在
剩下的内容,请参考:
http://docs.ceph.org.cn/start/quick-rgw/
如果你的radosgw安装好并且创建了网关实例,并且服务已启动。
那么你打开浏览器,输入http://gateway:7480
你将看到
你还可以配置gateway节点的ceph.conf文件,加入:
[client.rgw.gateway]
rgw_frontends= civetweb
port=80
rgw_content_length_compat= true
那么,端口就被改为80了civetweb代替了apache作为cephrgw服务前端
………..
修改配置后,重启网关服务
#sudosystemctl restart ceph-radosgw.service
Ceph对象网关搭建完毕后,你就需要简单配置
http://docs.ceph.org.cn/radosgw/config/
然后创建用户
User相关的操作
#
{
}
切记要记住user的accessKey和
…..
Amazon的
开发环境:jdk1.8 idea64 maven3
直接上依赖
http://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk