安装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
- OpenStack Pike超详细搭建文档 LinuxBridge版
前言 搭建前必须看我 本文档搭建的是分布式P版openstack(1 controller + N compute + 1 cinder)的文档. openstack版本为Pike. 搭建的时候,请严 ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- openstack pike与ceph集成
openstack pike与ceph集成 Ceph luminous 安装配置 http://www.cnblogs.com/elvi/p/7897178.html openstack pike 集 ...
- 分布式存储ceph——(2)openstack对接ceph存储后端
ceph对接openstack环境 一.使用rbd方式提供存储如下数据: (1)image:保存glanc中的image: (2)volume存储:保存cinder的volume:保存创建虚拟机时选择 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- openstack pike 单机 一键安装 shell
#openstack pike 单机 centos 一键安装 shell #openstack pike 集群高可用 安装部署 汇总 http://www.cnblogs.com/elvi/p/7 ...
- 手贱的回忆录 --- L版openrc密码修改(OS_PASSWORD)
---恢复内容开始--- 刚刚部署完L版,发现默认登录的管理员账号在41.42.43的openrc文件中,登录名是admin,登录密码却是一串随机码,于是想修改一个简单易记的密码,手贱的把OS_PAS ...
- openstack pike 使用 openvswitch + vxlan
# openstack pike 使用 openvswitch + vxlan# openstack pike linuxbridge-agent 换为 openvswitch-agent #open ...
- 配置Ceph集群为OpenStack后端存储
配置Ceph存储为OpenStack的后端存储 1 前期配置 Ceph官网提供的配置Ceph块存储为OpenStack后端存储的文档说明链接地址:http://docs.ceph.com/docs/ ...
随机推荐
- Amazing 2020
Amazing 2020 Intro 2020 转眼即逝,2020 是比较艰辛的一年,因为疫情原因,很多人的工作以及生活都多多少少受到了一些影响. 引用网上盛传的一句话--2020 实"鼠& ...
- 关于char是否能表示一个中文
char是可以表示中文的 这个问题点有3个考核点 1 char是多少位的 2 java用的是什么方式表示字符 3 Unicode是用多少位表示的 1的答案是16位的,2的答案是Unicode,3的答案 ...
- gcc/g++命令参数
在windows环境下,我们运行一程序,只需要在VS中点击运行按键即可,VS帮我们做完了程序的预处理.编译.汇编.链接阶段 但是在linux环境下,我们只能借助gcc/g++完成这一系列的操作 -o参 ...
- jq 右键菜单在弹出菜单前如果需要显示与否的判断相关操作
菜单插件(ContextMenu)接收一个额外的参数对象来设置菜单项的样式和绑定鼠标事件. 菜单插件(ContextMenu)支持一下参数设置: bindings 包含id的对象:函数组. 当关联的菜 ...
- java 多态 向上造型
最近在读java 编程思想,在读多态一章时,遇到了一个问题,在此记录一下. 1 package main.demo; 2 3 class Super{ 4 public int filed =0; 5 ...
- 十、scala、spark集群搭建
spark集群搭建: 1.上传scala-2.10.6.tgz到master 2.解压scala-2.10.6.tgz 3.配置环境变量 export SCALA_HOME=/mnt/scala-2. ...
- 杭电OJ2007----平方和与立方和(易错题)
Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和. Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成. Out ...
- AtCoder Beginner Contest 188 F - +1-1x2 思维题
题目描述 给你两个数 \(x\),\(y\) 可以对 \(x\) 进行 \(+1,-1\) 或 \(\times 2\) 的操作 问最少操作多少次后变为 \(y\) \(x,y \leq 10^{18 ...
- Openstack Nova 控制服务 和 计算服务 (六)
Openstack Nova 控制服务 和 计算服务 (六) 引用: https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/nova.htm ...
- Java开发手册之数据库规约
1.不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关. 2.cou ...