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