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

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

  

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

  1. 10.10.105.78 monster
  2. 127.0.0.1 localhost

2、创建目录ceph并进入

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

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

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

4、安装ceph-deploy

  1. sudo apt-get install ceph-deploy

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

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

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

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

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

  1. ceph-deploy install monster

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

7、创建一个集群监视器

  1. ceph-deploy mon create monster

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

  1. ceph-deploy gatherkeys monster

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

  1. ceph-deploy osd prepare monster:/srv/ceph/osd0
  2. ceph-deploy osd prepare monster:/srv/ceph/osd1

10、激活OSD

  1. sudo ceph-deploy osd activate monster:/srv/ceph/osd0
  2. 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 密钥到其他节点

  1. ceph-deploy admin monster

12、验证

  1. sudo ceph health
  2. 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. WCF使用泛型方法的问题

    public IList getModelList(string type, string SQL, List<string> list){ try { IList Mlist = new ...

  2. sql 添加修改说明

    --为字段a2添加描述信息 EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'table', N'表 ...

  3. yii2.0用户登录,退出判断(摘录)

    文章来源:http://blog.sina.com.cn/s/blog_88a65c1b0101ix13.html 判断用户是否登录 在 Yii2.0 里面,判断用户是否已经登录,我们用下面的代码即可 ...

  4. Android SDK Tools和Android SDK Platform-tools

    SDK Platform 可以理解为版本,因此有 SDK Platform 7,SDK Platform 8等等Android SDK Tools 是各个版本都可通用的工具文件夹,里面有draw9pa ...

  5. NullPointerException at android.widget.AbsListView.obtainView at android.widget.ListView.makeAndAddView

    使用ExpandableListView的时候,报如下错.网上搜索发现原来是在CommonNumberQueryAdapter的getGroupView()方法里返回的是null,注意细节哦!!! 1 ...

  6. ubuntu vps 安装java

    Introduction Java is a programming technology originally developed by Sun Microsystems and later acq ...

  7. 奇怪的float

    我在项目的实践中遇到了这样的一个问题 <div class="main"> <p>aaaa</p> <p>bbbb</p> ...

  8. DOJO官方API翻译或解读-dojo/_base/lang --hitch()

    hitch() hitch() 是一个函数,会在给定的上下中执行给定一个执行函数.hitch允许你去控制一个函数如何执行,往往在异步操作中起作用. 我们常常会写出这样的代码:(博主:这个代码意图在&q ...

  9. Git的安装和使用记录

    Git是目前世界上最先进的分布式版本控制系统(没有之一),只用过集中式版本控制工具的我,今天也要开始学习啦.廖雪峰的git教程我觉得很详细了,这里记录一下步骤以及我终于学会用Markdown了,真的是 ...

  10. 淡扯javascript编程思想

    一.面向对象-OOD   虽然js面向对象的编程思想已经老话常谈了,但了为了文章的完整性,我还是把它加了进来,尽量以不太一样的方式讲述(虽然也没什么卵不一样的). 1.面向对象,首先得有类的概念,没有 ...