0、如果先前安装过ceph,则先卸载

sudo stop ceph-all                                                                         //停止所有CEPH进程
ceph-deploy uninstall [{ceph-node}] //卸载所有ceph程序
ceph-deploy purge [[ceph-node} [{ceph-node}] //删除ceph相关的包
ceph-deploy purgedata {ceph-node} [{ceph-node}] // 删除ceph相关的包
ceph-deploy forgetkeys //删除key

  

1、修改/etc/hosts,使主机名对应本机的IP地址(若选择回环地址127.0.0.1貌似解析不了域名)。注:以下主机名都为monster,读者需将其改为自己的主机名

10.10.105.78    monster
127.0.0.1 localhost

2、创建目录ceph并进入

3、准备两个块设备(可以是硬盘也可以是LVM卷),这里我们使用LVM

   dd if=/dev/zero of=ceph-volumes.img bs=1M count=8192 oflag=direct
sgdisk -g --clear ceph-volumes.img
sudo vgcreate ceph-volumes $(sudo losetup --show -f ceph-volumes.img)
sudo lvcreate -L2G -nceph0 ceph-volumes
sudo lvcreate -L2G -nceph1 ceph-volumes
sudo mkfs.xfs -f /dev/ceph-volumes/ceph0
sudo mkfs.xfs -f /dev/ceph-volumes/ceph1
mkdir -p /srv/ceph/{osd0,osd1,mon0,mds0}
sudo mount /dev/ceph-volumes/ceph0 /srv/ceph/osd0
sudo mount /dev/ceph-volumes/ceph1 /srv/ceph/osd1

  根据上面的命令我们创建了两个虚拟磁盘ceph0和ceph1并分别挂载到/srv/ceph/osd0和/srv/ceph/osd1目录下

4、安装ceph-deploy

sudo apt-get install ceph-deploy

5、创建工作目录,进入并创建集群

   mkdir ceph-cluster
cd ceph-cluster
ceph-deploy new monster //创建一个新集群,并写入CLUSTER.conf和keyring等等

  因为我们是在单节点上工作,因此需要修改一下配置文件

echo "osd crush chooseleaf type = 0" >> ceph.conf
echo "osd pool default size = 1" >> ceph.conf
echo "osd journal size = 100" >> ceph.conf

6、安装Ceph基本库(ceph,ceph-common, ceph-fs-common, ceph-mds)

ceph-deploy install monster

  不过我通过上面的方法安装好像有点问题......于是直接apt-get install ceph也行

7、创建一个集群监视器

ceph-deploy mon create monster

8、收集远程节点上的密钥到当前文件夹

ceph-deploy gatherkeys monster

9、增加OSD,就在我们挂载虚拟磁盘的目录

ceph-deploy osd prepare monster:/srv/ceph/osd0
ceph-deploy osd prepare monster:/srv/ceph/osd1

10、激活OSD

sudo ceph-deploy osd activate monster:/srv/ceph/osd0
sudo ceph-deploy osd activate monster:/srv/ceph/osd1

  [ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph-disk -v activate --mark-init upstart --mount /srv/ceph/osd0

  激活时遇到如上所示的错误时,使用命令 sudo chown ceph:ceph /srv/ceph/osd0解决(不过之前做过osd的磁盘,遇到这个问题用这种方法貌似解决不了....)

11、复制 admin 密钥到其他节点

ceph-deploy admin monster

12、验证

sudo ceph health
sudo ceph osd tree

  

Ubuntu 14.04 单机安装 CEPH的更多相关文章

  1. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  2. Ubuntu 14.04中安装最新版Eclipse

    Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区    作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...

  3. Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter

    [注释]试用了一下,果然很强大,牛逼 一款功能强大的屏幕截图软件——Shutter,Shutter最基本的就是截图功能了,在设计上可以自由选定区域,同时选定之 后依然可以通过上下左右四个地方来改变选区 ...

  4. 翻译:在Ubuntu 14.04上安装FTP服务器的方法

    说明: 1.原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/ 2.今天要做一个网络日志的迁移程序,搬 ...

  5. 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

    当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...

  6. Ubuntu 14.04 下安装 OpenCV

    参考: Installation in Linux Error compiling OpenCV, fatal error: stdlib.h: No such file or directory 图 ...

  7. Ubuntu 14.04 上安装 Gurobi

    参考: Installing Gurobi 7 on Linux Ubuntu 14.04 上安装 Gurobi 1.在gurobi上创建一个账户,并登陆: 2.从gurobi optimizer上下 ...

  8. 怎样在Ubuntu 14.04中安装Java(转)

    想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...

  9. ubuntu 14.04 lts安装教程:u盘安装ubuntu 14.04 lts步骤

    绿茶小编带来了ubuntu 14.04 lts安装教程,下文详细讲解了u盘安装ubuntu 14.04 lts的步骤,很简单,只需要一个工具就能够轻松使用u盘安装ubuntukylin 14.04系统 ...

随机推荐

  1. 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile

    [源码下载] 与众不同 windows phone (36) - 8.0 新的瓷贴: FlipTile, CycleTile, IconicTile 作者:webabcd 介绍与众不同 windows ...

  2. Docker源码编译

    官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐.以下以1.8.2版本为例. 1.pull d ...

  3. 四、MyBatis主配置文件

    //备注:该博客引自:http://limingnihao.iteye.com/blog/1060764 在定义sqlSessionFactory时需要指定MyBatis主配置文件: Xml代码 收藏 ...

  4. java入门基础知识点总结

    JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...

  5. ahjesus C# Flags 位域略说

    class Program { [Flags] public enum Week { [Description("星期一")] Monday = << , [Descr ...

  6. python3.5.2爬虫

    话不多说,都在代码里 #下载斗鱼颜值栏目主播照片 #author:ives #date:2016-8-28 21:58 #e-mail:renhanlinbsl@163.com import urll ...

  7. 用js枚举实现简易菜单效果

    用js枚举实现简易菜单效果,左侧显示菜单,右侧显示用户选择的菜单,一图胜千言,还是直接来张效果图吧: 以下是代码: <DOCTYPE html> <html> <head ...

  8. angularjs的双向数据绑定

    数据绑定有两个方向: 数据 → 界面:我们使用scope对象的$watch()方法监听数据的变化,来更新界面. <html> <head> <title>监听数据& ...

  9. 详解HTML5中rel属性的prefetch预加载功能使用

    在HTML5中,有个很有用但常被忽略的特性,就是预先加载(prefetch),它的原理是: 利用浏览器的空闲时间去先下载用户指定需要的内容,然后缓存起来,这样用户下次加载时,就直接从缓存中取出来,效率 ...

  10. arcgis andriod 长按获得当前信息

    // 长按显示鼠标点坐标及比例尺 private class myLongPressListener implements OnLongPressListener { private static f ...