10分钟从源码编译到部署ceph环境
来源:互联网 发布:鲁西南大数据 编辑:程序博客网 时间:2024/06/07 11:29
最近开始学习ceph相关的技术,在读了一些理论知识后,急切的需要一个环境来实践一下。看了一下官网的安装部署教程,感觉不是很清楚,特别是从源码开始搭建环境。所以这里我整理一个5分钟的教程,希望对大家能有帮助。
OS环境:UOS平台上创建的一个基于centos6.6的虚机,并挂载上一块400G的云盘,这里为了避免sudo,所以直接用root用户创建的,大家在部署生产环境的时候切记不要用root。
1. 从github中下载ceph官方维护的源码:
#git clone https://github.com/ceph/ceph.git
2. configure、make 以及make install
源码下载完成后,cd到源码根目录
#./install-deps //安装一些依赖的包#./autogen.sh#./configure --prefix=/usr/ //这里如果不配置--prefix选项,所有程序默认安装在/usr/local下面,在后面可能会涉及到路径的问题#make; make install
3. 设置PYTHONPATH环境变量,来避免因为python引起的问题
#echo "export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.6/site-packages" >> ~/.bash_profile#source ~/.bash_profile4. 格式化磁盘并未ceph创建相应的分区
# parted /dev/vdcGNU Parted 2.4Using /dev/vdcWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) mklabel gptWarning: The existing disk label on /dev/vdc will be destroyed and all data on this disk will be lost. Do you want tocontinue?Yes/No? Yes(parted) mkpart primary xfs 40G 400G <-------你可以根据自己的需要创建分区,这里这么设置是因为规避一个分区大小和扇区不对齐的问题(parted) quitInformation: You may need to update /etc/fstab.使用lvm在磁盘上创建7个逻辑卷,3个为osd,3个为osd对应的journal,1个为mon
# pvcreate /dev/vdc1# vgcreate ceph /dev/vdc1# lvcreate -n osd.0 -L 100G ceph# lvcreate -n osd.1 -L 100G ceph# lvcreate -n osd.2 -L 100G ceph# lvcreate -n osd.0-journal -L 2G# lvcreate -n osd.1-journal -L 2G# lvcreate -n osd.2-journal -L 2G# lvcreate -n mon.0 -L 20G ceph5. 创建ceph的配置文件/etc/ceph/ceph.conf,并加入一下内容:
[mon] mon data = /data/$name[mon.0] host = cephenv mon addr = 192.168.0.10:6789[osd] osd mkfs type = xfs devs = /dev/ceph/$name osd journal = /dev/ceph/$name-journal osd data = /data/$name host = cephenv[osd.0][osd.1][osd.2][mds][mds.a] host = cephenv6. 使用mkcephfs来部署ceph环境,当然现在官方推荐使用ceph-deploy来部署,有兴趣的可以使用。
# mkcephfs -a -c /etc/ceph/ceph.conf --mkfs# ceph/src/init-ceph -a -c /etc/ceph/ceph.conf start mon# ceph/src/init-ceph -a -c /etc/ceph/ceph.conf start mds# ceph/src/init-ceph -a -c /etc/ceph/ceph.conf start osd如果通过ps -ef能看到osd,mds,mon对应的进程,说明服务启动正常
# ps -ef|grep osdroot 2752 1 1 19:20 ? 00:01:18 ./ceph-osd -i 0 --pid-file /var/run/ceph/osd.0.pid -c /etc/ceph/ceph.conf --cluster cephroot 2921 1 1 19:20 ? 00:00:47 ./ceph-osd -i 1 --pid-file /var/run/ceph/osd.1.pid -c /etc/ceph/ceph.conf --cluster cephroot 3262 1 1 19:20 ? 00:00:55 ./ceph-osd -i 2 --pid-file /var/run/ceph/osd.2.pid -c /etc/ceph/ceph.conf --cluster ceph# ps -ef|grep mondbus 929 1 0 19:11 ? 00:00:00 dbus-daemon --systemroot 1107 1 0 19:12 ? 00:00:00 /usr/bin/qemu-ga --daemonizeroot 2260 1 0 19:17 pts/0 00:00:03 ./ceph-mon -i 0 --pid-file /var/run/ceph/mon.0.pid -c /etc/ceph/ceph.conf --cluster ceph# ps -ef|grep mdsroot 5310 1 0 19:44 ? 00:00:01 /usr/local/bin/ceph-mds -i a --pid-file /var/run/ceph/mds.a.pid -c /etc/ceph/ceph.conf --cluster ceph如果发现哪个没起来,比如mon,可以手工执行如下命令启动:
# ceph/src/ceph-mon -i 0 --pid-file /var/run/ceph/mon.0.pid -c /etc/ceph/ceph.conf --cluster ceph7. 使用ceph命令检查环境状态
[root@cephenv cephfs]# ceph -s cluster 530ed8ff-c965-4830-8636-77861e38a2cd health HEALTH_OK monmap e1: 1 mons at {0=192.168.0.10:6789/0} election epoch 2, quorum 0 0 mdsmap e5: 1/1/1 up {0=a=up:active} osdmap e13: 3 osds: 3 up, 3 in pgmap v295: 756 pgs, 5 pools, 9895 MB data, 2494 objects 10095 MB used, 289 GB / 299 GB avail 756 active+clean8. 创建一个cephfs,并使用ceph-fuse将其mount到某个目录
默认情况下, ceph环境搭建好后,只有一个rbd的pool,而cephfs至少需要额外创建两个pool
# ceph osd pool create cephfs_data 90# ceph osd pool create cephfs_metadata 90# ceph fs new cephfs cephfs_metadata cephfs_data执行如下命令检查cephfs的状态:
# ceph fs lsname: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]# ceph mds state5: 1/1/1 up {0=a=up:active}创建一个mount点,使用ceph-fuse mount cephfs文件系统
#mkdir -p /mnt/cephfs#ceph-fuse -m 192.168.0.10:6789 /mnt/cephfs/至此,一个单结点的ceph环境就搭建好了。
0 0
- 10分钟从源码编译到部署ceph环境
- Ceph 12源码编译部署bluestore
- openWrt从源码下载到编译(开发环境搭建)
- Ceph源码编译
- Ceph源码编译
- 源码编译ceph
- 使用ceph-deploy部署ceph环境
- 使用 Ceph-deploy 快速部署 Ceph 环境
- 直接从github上clone ceph 源码,编译 Ceph 的时候报错的解决方法
- 编译部署ceph-10.2.3
- 编译部署ceph-10.2.3
- 10分钟搞定kettle源码部署
- 10分钟搞定kettle源码部署
- ceph源码编译问题总结
- Android源码从下载到编译全过程
- android源码从下载到编译
- CEPH calamari 监控服务编译部署
- centos7环境下ceph安装部署
- 蓝桥杯练习系统算法提高—最大乘积
- 线程基础—线程的创建
- 利用Bluemix and Bluemix DevOps 服务开发 Node.js应用
- Location:LocationManager的位置获取
- 移动端切图备忘
- 10分钟从源码编译到部署ceph环境
- 前端:两种实现带背景遮罩的弹窗写法
- 边缘检测——cvCanny算子
- 5555555555555555555555555
- 基于Autolayout的动画
- 5555555555555555555555555
- linux静态编译一个驱动进内核(将驱动目录加入)
- 5555555555555555555555555
- 网络客户端提示连接成功但是网页打不开(netsh winsock reset )