资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Ceph 是加州大学 Santa Cruz 分校的 Sage Weil(DreamHost 的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自 2007 年毕业之后,Sage 开始全职投入到 Ceph 开 发之中,使其能适用于生产环境。Ceph 的主要目标是设计成基于 POSIX 的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。2010 年 3 月,Linus Torvalds 将 Ceph client 合并到内 核 2.6.34 中。关于 Ceph 的详细介绍见: Ceph:一个 Linux PB 级分布式文件系统本文是在 Centos6.7 上对 Ceph 的部署的详细指南。首先对部署环境进行说明:IP Hostname ceph 磁盘 备注10.201.26.121 ceph01 20g adm, mon, osd010.201.26.122 ceph02 20g osd110.201.26.123 ceph03 20g osd210.201.26.121 cephclient 挂载点:/cephfs ceph 客户端Ceph 的文件系统作为一个目录挂载到客户端 cephclient 的/cephfs 目录下,可以像操作普通目录一样对此目录进行操作。1. 安装前准备 (root 用户)参考文档:http:/docs.openfans.org/ceph/ceph4e2d658765876863/ceph-1/installation30105feb901f5b8988c53011/preflight3010988468c030111.1 在每台机添加 hosts修改文件/etc/hosts (或者/etc/sysconfig/network),添加以下内容:10.201.26.121 ceph0110.201.26.122 ceph0210.201.26.123 ceph031.2 每个 Ceph 节点上创建一个用户# adduser ceph# passwd ceph密码统一设为: ceph1.3 在每个 Ceph 节点中为用户增加 root 权限# echo ceph ALL = (root) NOPASSWD:ALL | sudo tee /etc/sudoers.d/ceph# chmod 0440 /etc/sudoers.d/ceph1.4 关闭防火墙等服务# service iptables stop# chkconfig iptables off /关闭开机启动防火墙每台机器节点都需要修改/etc/selinux/config 文件将 SELINUX=enforcing 改为 SELINUX=disabled2. CEPH 部署设置( root 用户操作)增加 Ceph 资料库至 ceph-deploy 管理节点. 之后,安装 ceph-deploy安装 EPEL 软件源(单台机操作即可):# rpm -Uvh https:/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm# yum update -y安装 ceph 依赖# rpm -Uvh http:/ceph.com/rpm-hammer/el6/noarch/ceph-release-1-0.el6.noarch.rpm# yum install ceph-deploy -y否则会出现以下问题:3. 数据节点磁盘挂载(root 用户)在 ceph01、ceph02、ceph03 上分别挂载了一块 20g 大小的磁盘作为 ceph 的数据存储测试使用。需要将它们分区,创建 xfs 文件系统。3.1 分区(三台机),创建 xfs 文件系统# parted /dev/sdb(parted) mklabel gpt(parted) mkpart primary xfs 0% 100%(parted) quit# mkfs.xfs /dev/sdb1 如果出现以下问题:是因为 xfs 在默认的系统安装上是不被支持的,需要自己手动安装默认的包。先修过 yum 的配置文件# vim /etc/yum.repos.d/CentOS-Base.repocentosplusenabled=1 /把 0 改为 1# yum install -y xfsprogs kmod-xfs /安装软件包然后再执行 mkfs.xfs /dev/sdb1 就可以了。4. 存储集群搭建(ceph 用户)集群规模:1 个管理节点, 1 个监控节点, 3 个数据节点。 4.0 免密码登陆(三台机)在每台机上运行以下命令:$ ssh-keygen -t rsa -P (回车)执行完这个命令后,会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)下面从 admin 节点开始使用 ceph-deploy4.1 在 admin 上创建集群目录(ceph01)$ mkdir ceph-cluster$ cd ceph-cluster4.2 创建集群(ceph01)$ ceph-deploy new ceph014.3 安装 ceph(ceph01)$ ceph-deploy install ceph01 ceph02 ceph03此命令将会按顺序在 3 台机上安装 ceph如果报错:RuntimeError: Failed to execute command: rpm -Uvh -replacepkgs http:/ceph.com/rpm-hammer/el6/noarch/ceph-release-1-0.el6.noarch.rpm执行以下命令再重新执行一遍:$ rpm -e ceph-release如果报错:INFO Running command: sudo rpm -Uvh -replacepkgs https:/download.ceph.com/rpm-infernalis/el6/noarch/ceph-release-1-0.el6.noarch.rpmWARNIN curl: (22) The requested URL returned error: 404 Not FoundDEBUG Retrieving https:/download.ceph.com/rpm-infernalis/el6/noarch/ceph-release-1-0.el6.noarch.rpmWARNIN error: skipping https:/download.ceph.com/rpm-infernalis/el6/noarch/ceph-release-1-0.el6.noarch.rpm - transfer failedERROR RuntimeError: command returned non-zero exit status: 1ERROR RuntimeError: Failed to execute command: rpm -Uvh -replacepkgs https:/download.ceph.com/rpm-infernalis/el6/noarch/ceph-release-1-0.el6.noarch.rpm这是因为在 centos6 中,没有 infernalis 这个版本的 rpm 包因为暂时没有找到在哪里修改这个版本信息,故采用手动安装(三台机都需要)$ sudo yum install -y yum-plugin-priorities$ sudo rpm -Uvh http:/ceph.com/rpm-hammer/el6/noarch/ceph-release-1-0.el6.noarch.rpm$ sudo yum -y install ceph 如果报错:DEBUG You could try running: rpm -Va -nofiles -nodigestERROR RuntimeError: command returned non-zero exit status: 1ERROR RuntimeError: Failed to execute command: yum -y install ceph执行一遍一下命令再重新执行一遍:$ rpm -Va -nofiles nodigest4.4 创建并初始化监控节点( ceph01)$ ceph-deploy mon create-initial执行此命令后会初始化 mon 结点,并且在 mon 结点生成 ceph.conf 等文件,ceph.conf 文件中声明了mon 结点等信息如果报错:在 mon 节点(ceph01)上手动执行以下命令:$ sudo yum install redhat-lsb然后再执行 ceph-deploy mon create-initial查看一下 Ceph 存储节点的硬盘情况:$ ceph-deploy disk list ceph01$ ceph-deploy disk list ceph02$ ceph-deploy disk list ceph03如果报错:ERROR RuntimeError: remote connection got closed, ensure requiretty is disabled for ceph02需要在 mdsnode,osdnode1,osdnode2 三个节点中使用 leadorceph 用户的身份执行 sudo visudo 命令,然后修改Defaults requiretty 为 Defaults:ceph !requiretty4.5 添加数据节点(ceph01)(为了快速安装,本例中为每个 Ceph OSD 守护进程使用单个目录而非单个磁盘 。使用 ceph-deply osd 命令可查看在分离的磁盘/分区上创建 OSD 和日志的方法。登陆 Ceph 节点, 并为每个 Ceph OSD守护进程创建单个目录。)# ssh rootceph01# mkdir /data# mkdir /data/osd0# chmod -R 777 /data/# exit# ssh rootceph02# mkdir /data# mkdir /data/osd1# chmod -R 777 /data/# exit# ssh rootceph03# mkdir /data# mkdir /data/osd2# chmod -R 777 /data/# exit4.6 挂载磁盘(三台机)将各个磁盘分别挂载到对应的目录(ceph01 、ceph02 、ceph03)$ sudo mount /dev/sdb1 /data/osd0(另外两个节点类似,不过是 osd1,osd2 )4.7 在管理节点准备 OSD(ceph01)$ ceph-deploy osd prepare ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd24.8 激活 OSD(ceph01)(注意如果 osd 的目录所在磁盘是 ext4 格式的文件系统会报错,需要进行额外的设置)$ ceph-deploy osd activate ceph01:/data/osd0 ceph02:/data/osd1 ceph03:/data/osd2如果报错:是
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号