容器部署ceph存储
【摘要】 容器部署ceph存储
1,创建目录
所有节点都要创建
mkdir /data/ceph/{etc,lib,logs}
chown -R 167:167 /data/ceph/ #docker内用户id是167,这里进行授权
2,系统参数调整
系统性能优化:
vm.min_free_kbytes:min下的内存是保留给内核使用的;当到达min,会触发内存的direct reclaim。对于线上128G的内存的机器,可以考虑将min设置为512M左右。因为,太大了,可能会导致内存的浪费;
当然如果只有40G的物理机,更不要考虑把min设置超过1G了,这样会导致频繁的触发内存回收。
vm.dirty_background_ratio:指定当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存。
vm.dirty_ratio:则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存),在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。
通常情况下,vm.dirty_ratio的值要大于vm.dirty_background_ratio的值。
kernel.hung_task_timeout_secs:文件系统把数据从缓存转到外存进程等待IO的等待时间,默认是120s。如果超过了这个时间就会打印相关堆栈信息,这里我们取消120秒的时间限制。
还有调整系统IO调度策略也可以提升性能,有三种调度策略:
CFQ (Completely Fair Scheduler(完全公平调度器))(cfq):它是许多Linux 发行版的默认调度器;它将由进程提交的同步请求放到多个进程队列中,然后为每个队列分配时间片以访问磁盘。
Noop调度器(noop):基于先入先出(FIFO)队列概念的Linux内核里最简单的I/O调度器。此调度程序最适合于SSD。
截止时间调度器(deadline):尝试保证请求的开始服务时间。
IO调度策略我们已经在部署OSD的脚本里面设置好了,磁盘都是SSD的,所以使用的Noop调度器。
部署:
1,启动MON
在ceph001上启动mon
修改ceph配置文件,添加
vim /data/ceph/etc/ceph.conf
成功启动后会生成配置文件,在文件后面追加下面配置。
拷贝数据到其他所有节点相同位置,注意修改权限。
# scp -r /data/ceph ceph0[xx].aibee.cn:/data/
2,启动MGR
mgr是ceph自带的仪表盘监控,可以部署到多个节点实现多活。在ceph001,ceph003,ceph005上执行下面脚本。
start_mgr.sh
ceph在mimic版本使用的是v2版本的dashboard,默认是有证书和用户管理的。通过下面配置可以启用。
访问https://[mgr-host]:8443,使用aibee用户登陆就能看到集群的状态并能简单操作集群。
dashboard用户要想操作rgw的bucket,需要执行下面操作
3,启动OSD
我们每一块盘作为一个OSD,从sda到sdx一共24个盘。在所有节点上执行下面的脚本启动osd。
如果有某一个osd启动失败,在清理对应的磁盘后需要手动执行docker命令启动osd。
成功执行后,会看到所有的osd已经加入ceph集群,执行docker exec mon ceph -s可以看到osd: 240 osds: 240 up, 240 in
4,启动RGW
在ceph001,ceph003,ceph005上执行下面脚本启动对象存储
以上执行完以后,执行docker exec mon ceph -s 查看集群状态
services:
mon: 3 daemons, quorum ceph001,ceph003,ceph005
mgr: ceph005(active), standbys: ceph003, ceph001
osd: 240 osds: 240 up, 240 in
rgw: 3 daemons active
5,启动MDS
mds是cephfs的进程。在ceph002,ceph004,ceph006上执行下面脚本启动cephfs。
由于我们-e CEPHFS_CREATE=1 在成功执行后回自动创建两个pool,即cephfs_data,cephfs_metadata。也可以设置-e CEPHFS_CREATE=0,就需要在启动mds服务后手动创建pool。
至此,ceph的所有功能都开启,执行docker exec mon ceph -s就能看到对应的服务状态。
services:
mon: 3 daemons, quorum ceph001,ceph003,ceph005
mgr: ceph005(active), standbys: ceph003, ceph001
mds: cephfs-1/1/1 up {0=ceph002=up:active}, 2 up:standby
osd: 240 osds: 240 up, 240 in
rgw: 3 daemons active
Zap a device
有时您可能想从磁盘上销毁分区表。为此,您可以使用Zap_设备方案,其工作方式如下
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)