
004.Ceph块设备基础使用
发布日期:2021-05-09 03:41:57
浏览次数:17
分类:博客文章
本文共 3806 字,大约阅读时间需要 12 分钟。
一 基础准备
- 参考《002.Ceph安装部署》文档部署一个基础集群;
- 新增节点主机名及IP在deploy节点添加解析:
1 [root@deploy ~]# echo "172.24.8.75 cephclient" >>/etc/hosts
- 配置国内yum源:
1 [root@cephclient ~]# yum -y update 2 [root@cephclient ~]# rm /etc/yum.repos.d/* -rf 3 [root@cephclient ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 4 [root@cephclient ~]# yum -y install epel-release 5 [root@cephclient ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup 6 [root@cephclient ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup 7 [root@cephclient ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
二 块设备
2.1 添加普通用户
1 [root@cephclient ~]# useradd -d /home/cephuser -m cephuser 2 [root@cephclient ~]# echo "cephuser" | passwd --stdin cephuser #cephclient节点创建cephuser用户 3 [root@cephclient ~]# echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser 4 [root@cephclient ~]# chmod 0440 /etc/sudoers.d/cephuser 5 [root@deploy ~]# su - manager 6 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.75
2.2 安装ceph-client
1 [root@deploy ~]# su - manager 2 [manager@deploy ~]$ cd my-cluster/ 3 [manager@deploy my-cluster]$ vi ~/.ssh/config 4 Host node1 5 Hostname node1 6 User cephuser 7 Host node2 8 Hostname node2 9 User cephuser 10 Host node3 11 Hostname node3 12 User cephuser 13 Host cephclient 14 Hostname cephclient #新增cephclient节点信息 15 User cephuser 16 [manager@deploy my-cluster]$ ceph-deploy install cephclient #安装Ceph
注意:若使用ceph-deploy部署的时候出现安装包无法下载,可在部署时候指定ceph.repo为国内源:
1 ceph-deploy install cephclient --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
1 [manager@deploy my-cluster]$ ceph-deploy admin cephclient
提示:为方便后期deploy节点管理cephclient,在CLI中使用命令中简化相关key的输出,可将key复制至相应节点。ceph-deploy 工具会把密钥环复制到/etc/ceph目录,要确保此密钥环文件有读权限(如 sudo chmod +r /etc/ceph/ceph.client.admin.keyring )。
2.3 创建pool
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytestpool 64
2.4 初始化pool
1 [root@cephclient ~]# ceph osd lspools 2 [root@cephclient ~]# rbd pool init mytestpool
2.5 创建块设备
1 [root@cephclient ~]# rbd create mytestpool/mytestimages --size 4096 --image-feature layering
2.6 确认验证
1 [root@cephclient ~]# rbd ls mytestpool 2 mytestimages 3 [root@cephclient ~]# rbd showmapped 4 id pool image snap device 5 0 mytestpool mytestimages - /dev/rbd0 6 [root@cephclient ~]# rbd info mytestpool/mytestimages
2.7 将image映射为块设备
1 [root@cephclient ~]# rbd map mytestpool/mytestimages --name client.admin 2 /dev/rbd0
2.8 格式化设备
1 [root@cephclient ~]# mkfs.ext4 /dev/rbd/mytestpool/mytestimages 2 [root@cephclient ~]# lsblk
2.9 挂载并测试
1 [root@cephclient ~]# sudo mkdir /mnt/ceph-block-device 2 [root@cephclient ~]# sudo mount /dev/rbd/mytestpool/mytestimages /mnt/ceph-block-device/ 3 [root@cephclient ~]# cd /mnt/ceph-block-device/ 4 [root@cephclient ceph-block-device]# echo 'This is my test file!' >> test.txt 5 [root@cephclient ceph-block-device]# ls 6 lost+found test.txt
2.10 自动map
1 [root@cephclient ~]# vim /etc/ceph/rbdmap 2 # RbdDevice Parameters 3 #poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring 4 mytestpool/mytestimages id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
2.11 开机挂载
1 [root@cephclient ~]# vi /etc/fstab 2 #…… 3 /dev/rbd/mytestpool/mytestimages /mnt/ceph-block-device ext4 defaults,noatime,_netdev 0 0
2.12 rbdmap开机启动
1 [root@cephclient ~]# systemctl enable rbdmap.service 2 [root@cephclient ~]# df -hT #查看验证
提示:若出现开机后依旧无法自动挂载,rbdmap也异常,可如下操作:
1 [root@cephclient ~]# vi /usr/lib/systemd/system/rbdmap.service 2 [Unit] 3 Description=Map RBD devices 4 WantedBy=multi-user.target #需要新增此行 5 #……
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月20日 11时04分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
统计学之变异系数与是非标志
2021-05-13
统计学之偏度系数和峰度系数
2021-05-13
力扣数据库:删除重复的电子邮箱
2021-05-13
leetcode 102 剑指Offer 32 二叉树的层次遍历
2021-05-13
关于继承的一些基本知识
2021-05-13
如何批量下载新浪微博相册,一键下载微博相册原图
2021-05-13
抖音发布黄金时间段,抖音上热门最佳时间
2021-05-13
我的图床~
2021-05-13
MySQL 实战 45 讲笔记 | 事务隔离和 MVCC
2021-05-13
自学C++编程,掌握这三项技能就可以工作了
2021-05-13
HTTP 常见状态码
2021-05-14
Thymeleaf sec:authorize 标签不生效
2021-05-14
js回车键登录
2021-05-14
Iterable与Iterator
2021-05-14
API_Net官方代码之训练网络
2021-05-14
Python机器学习(五十二)SciPy 基础功能
2021-05-14
Python机器学习(六十五)Matplotlib 入门
2021-05-14
关于WebView当前地址问题的疑惑
2021-05-14
Python机器学习(九十二)Pandas 统计
2021-05-14
项目实战从0到1之hive(24)企业级数据仓库构建(六):数仓理论及数仓搭建
2021-05-14