安装Ceph luminous
 
实验环境
三台服务器,每台服务器都有4块硬盘,每台服务器都将自己的第一块硬盘作为系统盘,剩下的做ceph
 
一、在所有服务器上操作
#使用阿里源
yum install wget -y
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo #删除阿里内网地址
#创建ceph源
echo '#阿里ceph源
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
gpgcheck=0
#'>/etc/yum.repos.d/ceph.repo
yum clean all && yum makecache #生成缓存
#关闭selinux、防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0
 
二、只在node1上操作
三台服务器分别为node1 node2 node3   其中我们在node1上面安装ceph官方的自动化部署工具,也就是说我们只需要操作node1即可完成部署
 
#添加服务器主机名
echo '
10.0.0.11    node1
10.0.0.22    node2
10.0.0.33    node3
10.0.0.44    node4
10.0.0.55    node5
10.0.0.66    node6
'>>/etc/hosts
 
#创建秘钥
ssh-keygen
ssh-copy node2
ssh-copy node3
 
#将node1的hosts文件发送到其他服务器上面
scp /etc/hosts node2:/etc
scp /etc/hosts node3:/etc
 
三、开始在node1上安装ceph
#安装ceph-deploy配置工具
yum install -y ceph-deploy
yum install python-setuptools
 
#创建配置目录
mkdir /etc/ceph
cd /etc/ceph/
 
#初始化Mon配置
ceph-deploy new node1
 
# #修改冗余份数为2,日志大小2G
# #配置网络,单网卡忽略
echo '
public network = 10.0.0.0/24
cluster network = 10.0.0.0/24
 
mon_clock_drift_allowed = 2    
osd_journal_size = 4086
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128
osd pool default size = 2
osd pool default min size = 1
rbd_default_features = 1
client_quota = true
'>>./ceph.conf
 
#安装Ceph
ceph-deploy install node1 node2 node3
#yum install -y ceph ceph-radosgw #实际上是安装这2个rpm
 
#初始化monitor和key
cd /etc/ceph/
ceph-deploy --overwrite-conf mon create-initial
 
#创建osd
ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdc node1
ceph-deploy osd create --data /dev/sdd node1
ceph-deploy osd create --data /dev/sdb node2
ceph-deploy osd create --data /dev/sdc node2
ceph-deploy osd create --data /dev/sdd node2
ceph-deploy osd create --data /dev/sdb node3
ceph-deploy osd create --data /dev/sdc node3
ceph-deploy osd create --data /dev/sdd node3
 
#拷贝配置及密钥
ceph-deploy admin node1 node2 node3
chmod 644 /etc/ceph/ceph.client.admin.keyring
 
#创建mon
ceph-deploy --overwrite-conf mon create node1
ceph-deploy --overwrite-conf admin node1
 
#添加mgr
#ceph 12开始,monitor必须添加mgr
ceph-deploy mgr create node1:mon_mgr
 
#启用dashboard (在node1节点)
ceph mgr module enable dashboard
 
web访问http://10.0.0.11:7000   即可看到ceph的运行情况
 
#查看相关命令
ceph health
ceph -s
ceph osd tree
 
ceph df
ceph mon stat
ceph osd stat
ceph pg stat
 
ceph osd lspools
ceph auth list
 
Ceph L版与openstack Pike对接
 
环境opestack Pike的controller、computer、cinder三个节点已经安装完毕,并且能够正常的使用
 
node4为controller
node5为computer和cinder
 
一、环境准备,所有openstack主机都要操作
#所有openstack节点都添加主机名
#添加服务器主机名
echo '
10.0.0.11    node1
10.0.0.22    node2
10.0.0.33    node3
10.0.0.44    node4
10.0.0.55    node5
10.0.0.66    node6
'>>/etc/hosts
 
#创建ceph源
echo '#阿里ceph源
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
gpgcheck=0
#'>/etc/yum.repos.d/ceph.repo
yum clean all && yum makecache #生成缓存
#关闭selinux、防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0
 
#将glance组件的节点安装ceph客户端
yum install python-rbd
 
#将nova和cinder组件的节点安装ceph客户端
yum install ceph-common
 
#创建POOL
ceph osd pool create volumes 128
ceph osd pool create images 128
ceph osd pool create vms 128
 
#初始化POOL
rbd pool init volumes
rbd pool init images
rbd pool init vms
 
#将ceph的配置文件导入到各个openstack节点上
ssh node4 tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf
ssh node5 tee /etc/ceph/ceph.conf </etc/ceph/ceph.conf
 
#创建ceph用户和密钥
ceph auth get-or-create client.glance mon 'profile rbd' osd 'profile rbd pool=images'
ceph auth get-or-create client.cinder mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd-read-only pool=images'
ceph auth get-or-create client.cinder-backup mon 'profile rbd' osd 'profile rbd pool=backups'
 
#查询用户,写入文件
ceph auth get-or-create client.glance | ssh node4  tee /etc/ceph/ceph.client.glance.keyring
ssh node4 chown glance:glance /etc/ceph/ceph.client.glance.keyring
ceph auth get-or-create client.cinder | ssh node5  tee /etc/ceph/ceph.client.cinder.keyring
ssh node5  chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder-backup | ssh node5  tee /etc/ceph/ceph.client.cinder-backup.keyring
ssh node5  chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring
ceph auth get-key client.cinder | ssh node5 tee client.cinder.key
 
ceph与glance对接
#更改glance默认存储为ceph
#修改/etc/glance/glance-api.conf文件,添加一下内容
[DEFAULT]
default_store = rbd
show_image_direct_url = True
 
[glance_store]
#stores = file,http
#default_store = file
#filesystem_store_datadir = /var/lib/glance/images/
stores = rbd
default_store = rbd
rbd_store_pool = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8
 
#重启服务
systemctl restart openstack-glance-api openstack-glance-registry
 
注意:在glance节点你需要查看/etc/ceph目录下是否有glance秘钥
 
ceph与nova对接,在computer节点上操作
#密钥加进libvirt
uuidgen
cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
  <uuid>ff2e1190-30f5-4849-9c1c-886b1e1ee181</uuid>
  <usage type='ceph'>
    <name>client.cinder secret</name>
  </usage>
</secret>
EOF
 
virsh secret-define --file secret.xml
 
virsh secret-set-value --secret ff2e1190-30f5-4849-9c1c-886b1e1ee181 --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
 
virsh secret-list
UUID                                  用量
--------------------------------------------------------------------------------
ff2e1190-30f5-4849-9c1c-886b1e1ee181  ceph client.cinder secret
 
在computer节点的ceph配置文件里添加一下内容
ls -l /etc/ceph/
#ceph
echo '
[client]
rbd cache = true
rbd cache writethrough until flush = true
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok
log file = /var/log/qemu/qemu-guest-$pid.log
rbd concurrent management ops = 20
[client.cinder]
keyring = /etc/ceph/ceph.client.cinder.keyring
'>>/etc/ceph/ceph.conf
 
mkdir -p /var/run/ceph/guests/ /var/log/qemu/
chown qemu:libvirt /var/run/ceph/guests /var/log/qemu/
 
#使用ceph存储,在/etc/nova/nova.conf添加以下内容
[libvirt]
virt_type = qemu
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_secret_uuid = 'ff2e1190-30f5-4849-9c1c-886b1e1ee181'
disk_cachemodes="network=writeback"
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
libvirt_inject_password = false
libvirt_inject_key = false
libvirt_inject_partition = -2
 
#重启服务
systemctl restart libvirtd.service openstack-nova-compute.service
 
 
ceph与cinder对接
 
#修改/etc/cinder/cinder.conf配置文件,注意:将之前的lvm的配置都删掉
[DEFAULT]
#enabled_backends = lvm
enabled_backends = ceph
 
[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
rbd_user = cinder
rbd_secret_uuid = ff2e1190-30f5-4849-9c1c-886b1e1ee181
 
 
#重启服务   
systemctl restart openstack-cinder-volume.service
 
 
 
 

最新Ceph L版与openstack Pike对接的更多相关文章

  1. OpenStack Pike超详细搭建文档 LinuxBridge版

    前言 搭建前必须看我 本文档搭建的是分布式P版openstack(1 controller + N compute + 1 cinder)的文档. openstack版本为Pike. 搭建的时候,请严 ...

  2. CentOS7.2非HA分布式部署Openstack Pike版 (实验)

    部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...

  3. openstack pike与ceph集成

    openstack pike与ceph集成 Ceph luminous 安装配置 http://www.cnblogs.com/elvi/p/7897178.html openstack pike 集 ...

  4. 分布式存储ceph——(2)openstack对接ceph存储后端

    ceph对接openstack环境 一.使用rbd方式提供存储如下数据: (1)image:保存glanc中的image: (2)volume存储:保存cinder的volume:保存创建虚拟机时选择 ...

  5. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  6. openstack pike 单机 一键安装 shell

    #openstack pike 单机  centos 一键安装 shell #openstack pike 集群高可用  安装部署 汇总 http://www.cnblogs.com/elvi/p/7 ...

  7. 手贱的回忆录 --- L版openrc密码修改(OS_PASSWORD)

    ---恢复内容开始--- 刚刚部署完L版,发现默认登录的管理员账号在41.42.43的openrc文件中,登录名是admin,登录密码却是一串随机码,于是想修改一个简单易记的密码,手贱的把OS_PAS ...

  8. openstack pike 使用 openvswitch + vxlan

    # openstack pike 使用 openvswitch + vxlan# openstack pike linuxbridge-agent 换为 openvswitch-agent #open ...

  9. 配置Ceph集群为OpenStack后端存储

    配置Ceph存储为OpenStack的后端存储 1  前期配置 Ceph官网提供的配置Ceph块存储为OpenStack后端存储的文档说明链接地址:http://docs.ceph.com/docs/ ...

随机推荐

  1. 第十六章节 BJROBOT 开机自启动服务【ROS全开源阿克曼转向智能网联无人驾驶车】

    1.把小车平放在地板上,用资料里的虚拟机,打开一个终端 ssh 过去主控端运行rosrun robot_upstart install znjrobot/launch/bringup.launch 2 ...

  2. Pytest测试框架(五):pytest + allure生成测试报告

    Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...

  3. intel英特尔NUC主机bug大清除案例

    如果你的NUC进入HDMI无法在显示器显示,可以参考此文章的思路,尝试排除各种问题.接下来我讲述一下我的NUCbug清除历程. 我的NUC激动时刻 我的NUC是这个型号,直接上图了:英特尔(Intel ...

  4. ios iphone 崩溃字符记录

    如题,近日iphone被爆出有一串字符可引发系统错误 (بٍٍٍٍََُُُِّّّْرٍٍٍٍََُُِِّّّْآٍٍٍَُّ بٍٍٍٍََُُُِّّّْرٍٍٍٍََُُِِّّّْآٍٍٍ ...

  5. Linux tar压缩和解压

    经常会忘记 tar 压缩和解压命令的使用,故记下来. 1. 打包压缩 tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz格式的压缩包 tar -jcvf pack.tar. ...

  6. Python基础语法5-控制流语句

  7. RCE - Pikachu

    概述: 远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器.防火墙.入侵检测等设备的web管理界面上 一般会给用户提供一个ping操 ...

  8. CTF------pwn笔记

    地址:http://pwnable.kr/play.php 题目: 使用MobaXterm连接(当然也可以使用别的软件进行连接,用的顺手就行) 连接成功后所以"ls"命令查看目录 ...

  9. python—打开图像文件报错

    今天使用python打开一张图像文件的时候报错了 UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illeg ...

  10. Java 迭代器的使用 Iterator

    Java的集合类可以使用for ... each循环 List Set Queue Deque 我们以List为例 其实一个java编译器并不知道如何遍历一个List 编译器只是把一个for ... ...