参考文档:http://docs.ceph.com/docs/master/start/quick-start-preflight/#ceph-deploy-setup
# 配置hostname和hosts
$ hostname node1
$ cat /etc/hosts
192.168.10.7 node1
# 配置SSH keys
$ ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub node1
Ubuntu
# 添加Ubuntu源
wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
echo deb http://ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
sudo apt-get update && sudo apt-get install -y ceph-deploy
对于centos,则配置yum源:
# vi /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-hammer/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
yum update && sudo yum install ceph-deploy
开始部署
# init, will generate ceph.conf locally
ceph-deploy new node1
$ vim ceph.conf (此行添加到文件末尾,设置冗余备份为1)
osd pool default size = 1
# install ceph packages
ceph-deploy install node1
# install mon
ceph-deploy --overwrite-conf mon create-initial #init mon
# install osd
ssh node1 mkdir -p /var/local/osd1
ceph-deploy --overwrite-conf osd prepare node1:/var/local/osd1
ceph-deploy osd activate node1:/var/local/osd1
# install mds
ceph-deploy mds create node1
# copy keys and configs
ceph-deploy admin node1
验证RBD功能
ceph osd pool create test 256 256
rbd create rbdtest --size 10 -p test
rados lspools
rados -p test ls
创建账户并授权
ceph osd pool create qemu 256 256
ceph auth get-or-create client.qemu mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=qemu'
ceph auth get-or-create client.qemu | tee /etc/ceph/ceph.client.qemu.keyring
qemu使用
qemu-img create -f raw rbd:test/foo 1G
qemu-img info rbd:test/foo
qemu-system-x86_64 -m 1024 -drive format=rbd,file=rbd:test/foo,cache=writeback