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