环境准备


准备三个节点,每个节点两个磁盘,DNS,免密登陆,ntp。

如果安装失败可使用如下的命令将已有的配置擦除然后从头安装:

ceph-deploy purge ceph0{1,2,3}
ceph-deploy purgedata ceph0{1,2,3}
ceph-deploy forgetkeys

配置DNS:

cat >> /etc/hosts <<EOF
192.168.1.159 ceph01
192.168.1.160 ceph02
192.168.1.161 ceph03
EOF

配置免秘钥:

ssh-keygen
ssh-copy-id root@ceph01
ssh-copy-id root@ceph02
ssh-copy-id root@ceph03



开始安装


配置ceph yum源:

cat > /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=Ceph packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
enabled=1
gpgcheck=1
priority=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
enabled=1
gpgcheck=1
priority=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS/
enabled=0
gpgcheck=1
priority=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
 
EOF

设置当前yum源 priority 选项所需的依赖包:使当前的 ceph yum 源的优先级高于其它的

yum -y install yum-plugin-priorities

安装ceph-deploy工具:在ceph01上执行

yum install ceph-deploy -y

安装yum源:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

创建工作目录:后面的操作都要在这个目录进行

mkdir -p /data/ceph/deploy
cd /data/ceph/deploy

安装ceph集群:

ceph-deploy install --no-adjust-repos ceph01 ceph02 ceph03

查看版本:

ceph -v

在 ceph01 上执行以下命令创建 MON 集群:

ceph-deploy new ceph01 ceph02 ceph03
ceph-deploy mon create ceph01 ceph02 ceph03
ceph-deploy mon create-initial

查看 MON 状态:

ceph mon_status

对磁盘进行 prepare 和 activate:

格式: ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]

node-name:表示待创建 OSD 的目标 Ceph 节点

data-disk:表示 OSD 的数据盘

journal-disk:表示日志盘,它可以是一个单独的磁盘,后者 OSD 数据盘上的一个分区,或者一个 SSD 磁盘上的分区。

比如:ceph-deploy osd prepare osdserver1:sdb:/dev/ssd 表示在 osdserver1 上使用 sdb 磁盘做数据盘和 /dev/ssd 分区做日志分区来创建一个 OSD 守护进程。


在每个节点上创建目录和设置属主:

mkdir -pv /data/osd
mkdir -pv /data/osd2
chown -R ceph:ceph /var/lib/ceph/osd
chown -R ceph:ceph /data/osd
chown -R ceph:ceph /data/osd2

执行 prepare 和 activate:

ceph-deploy --overwrite-conf osd prepare ceph01:/data/osd:/dev/sdb ceph02:/data/osd:/dev/sdb ceph03:/data/osd:/dev/sdb
ceph-deploy --overwrite-conf osd activate ceph01:/data/osd:/dev/sdb ceph02:/data/osd:/dev/sdb ceph03:/data/osd:/dev/sdb

ceph-deploy --overwrite-conf osd prepare ceph01:/data/osd2:/dev/sdc ceph02:/data/osd2:/dev/sdc ceph03:/data/osd2:/dev/sdc
ceph-deploy --overwrite-conf osd activate ceph01:/data/osd2:/dev/sdc ceph02:/data/osd2:/dev/sdc ceph03:/data/osd2:/dev/sdc

将 Admin key 复制到其余各个节点,然后安装 MDS 集群

ceph-deploy admin ceph01 ceph02 ceph03
ceph-deploy mds create ceph01 ceph02

查看 MDS 集群,比如查看状态:

ceph mds stat

查看 OSD 状态:

ceph osd tree

查看集群状态:

ceph -s


挂载使用


创建存储:

ceph osd pool create cephfs_data 128

创建阿云数据存储:

ceph osd pool create cephfs_metadata 64

创建CephFS:

ceph fs new cephfs cephfs_metadata cephfs_data

查看CephFS:

ceph fs ls

查看key:

cat ceph.client.admin.keyring

创建挂载目录:

mkdir /mnt/mycephfs

挂载:

mount -t ceph 192.168.1.159:6789,192.168.1.160:6789,192.168.1.161:6789:/ /mnt/mycephfs/ -o name=admin,secret=AQCkEqdcDDmGFhAApsOL1tz/Iue8hjbAAbQ79g==

查看:

df -h

卸载:

umount /mnt/mycephfs/