大多数 Ceph 用户不会直接往 Ceph 存储集群里存储对象,他们通常会使用 Ceph 块设备、 Ceph 文件系统、或 Ceph 对象存储这三大功能中的一个或多个。
前提条件
先完成存储集群快速入门 ,并确保 Ceph 存储集群处于 active + clean 状态,这样才能使用 Ceph 块设备。
Ceph 块设备也叫 RBD 或 RADOS 块设备。
可以在虚拟机上运行 ceph-client 节点,但是不能在与 Ceph 存储集群(除非它们也用 VM )相同的物理节点上执行下列步骤。
这里采用新添加一台主机来操作,还需要进行预检工作,具体查看网址:https://www.cnblogs.com/sanduzxcvbnm/p/15080342.html
添加hosts解析,ntp时间同步,升级内核版本,普通用户免登录,关闭卸载firewalld,关闭selinux
安装 Ceph
1.确认你使用了合适的内核版本,详情见操作系统推荐(http://docs.ceph.org.cn/start/os-recommendations)
lsb_release -a
uname -r
2.在管理节点上,通过 ceph-deploy 把 Ceph 安装到 ceph-client 节点
$ cd my_cluster
$ ceph-deploy install ceph-client
3.在管理节点上,用 ceph-deploy 把 Ceph 配置文件和 ceph.client.admin.keyring 拷贝到 ceph-client
$ ceph-deploy admin ceph-client
ceph-deploy 工具会把密钥环复制到ceph-client主机的 /etc/ceph
目录,要确保此密钥环文件有读权限(如 sudo chmod +r /etc/ceph/ceph.client.admin.keyring )。
# 在ceph-client主机上操作
$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
配置块设备
1.在 ceph-client 节点上创建一个块设备 image
# 前提条件,已经创建名为rbd的pool
# 命令示例: rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]
$ rbd create foo --size 4096 -m node1 -k /etc/ceph/ceph.client.admin.keyring
2.在 ceph-client 节点上,把 image 映射为块设备
# 命令示例: sudo rbd map foo --name client.admin [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]
$ sudo rbd map foo --name client.admin -m node1 -k /etc/ceph/ceph.client.admin.keyring
/dev/rbd0
3.在 ceph-client 节点上,创建文件系统后就可以使用块设备了,此命令可能耗时较长
# 命令示例: sudo mkfs.ext4 -m0 /dev/rbd/rbd/foo
$ sudo mkfs.ext4 -m0 /dev/rbd0
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=16 blocks, Stripe width=16 blocks
262144 inodes, 1048576 blocks
0 blocks (0.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
4.在 ceph-client 节点上挂载此文件系统
$ sudo mkdir /mnt/ceph-block-device
$ sudo mount /dev/rbd0 /mnt/ceph-block-device
$ cd /mnt/ceph-block-device
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
rbd0 251:0 0 4G 0 disk /mnt/ceph-block-device
有个疑问,使用的pool,创建命令是:ceph osd pool create rbd 128 128
这里创建块设备后的大小是4G,有待进一步研究。