S1_搭建分布式OpenStack集群_01 准备虚拟机
Openstack版本:openstack-queen 版本
一、环境准备
网络规划:
Management + API Network:10.10.11.0/24 eth1 网桥:br1
VM (Tenant Network: 10.10.12.0/24 eth2 网桥:br2
External Network: 10.10.10.0/24 eth0 网桥vbr
集群环境:Centos7.4 x86_64
Controller: 2C + 8G + 50G eth0 eth1 eth2
Compute1:2C + 8G + 50G eth0 eth1
Neutron: 2C + 8G + 50G eth0 eth1
Cinder: 2C + 8G + 50G eth0 eth1
附加节点 为集群提供本地yum源
Yum节点: 2C + 8G + 50G eth0 网桥:br1 IP:10.10.11.200
二、搭建网桥
2.1 创建网桥文件
创建网桥文件:vbr.xml
networks]# cd /etc/libvirt/qemu/networks/
networks]# cat vbr.xml
<network>
<name>vbr</name>
<forward mode='nat'/>
<bridge name='vbr' stp='on' delay='0'/>
<ip address='10.10.10.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.10.10' end='10.10.10.254'/>
</dhcp>
</ip>
</network>
创建网桥文件:br1.xml
networks]# cat br1.xml
<network>
<name>br1</name>
<bridge name='br1' stp='on' delay='0'/>
<ip address='10.10.11.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.11.10' end='10.10.11.254'/>
</dhcp>
</ip>
创建网桥文件:br2.xml
networks]# cat br2.xml
<network>
<name>br2</name>
<uuid>f06b24c9-963b-4239-a75a-25d4814df099</uuid>
<ip address='10.10.12.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.12.10' end='10.10.12.254'/>
</dhcp>
</ip>
</network>
2.2 启用网桥
定义:
networks]# for i in `ls *.xml`
> do
> virsh net-define $i
> done
Network br1 defined from br1.xml
Network br2 defined from br2.xml
Network vbr defined from vbr.xml
启动:
networks]# for i in vbr br1 br2
> do
> virsh net-start $i
> done
开机自启:
networks]# for i in vbr br1 br2
> do
> virsh net-autostart $i
> done
Network vbr marked as autostarted
Network br1 marked as autostarted
Network br2 marked as autostarted
ifconfig 可见:

三、创建4台虚拟机
3.1 准备 镜像模板 + 虚拟机定义文件
提前准备好:node.qcow2 和node.xml 并作对应修改,否则无法使用:
node.xml关键信息:
qemu]# cd /etc/libvirt/qemu/
qemu]# cat node.xml | grep "<name>"
<name>node</name>
qemu]# cat node.xml | grep "<memory"
<memory unit='KiB'>8848000</memory>
qemu]# cat node.xml | grep "<currentMemory"
<currentMemory unit='KiB'>8848000</currentMemory>
qemu]# cat node.xml | grep "<source file"
<source file='/var/lib/libvirt/images/node.img'/>
3.2 创建脚本 build.sh
sh]# ls
build.sh
sh]# cat build.sh
#!/bin/bash
read -p "How many VMs do you want:" Num
for((i=1;i<=$Num;i++));
do
read -p "Name:" name
cd /var/lib/libvirt/images
qemu-img create -f qcow2 -b node.qcow2 $name.img 50G
cd /etc/libvirt/qemu
sed "s,node,$name," node.xml > $name.xml
virsh define $name.xml
done
3.3 创建虚拟机
sh]# bash build.sh
How many dou you want:4
Name:controller
Formatting 'controller.img', fmt=qcow2 size=53687091200 backing_file='node.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Domain controller defined from controller.xml
Name:compute1
Formatting 'compute1.img', fmt=qcow2 size=53687091200 backing_file='node.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Domain compute1 defined from compute1.xml
Name:neutron
Formatting 'neutron.img', fmt=qcow2 size=53687091200 backing_file='node.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Domain neutron defined from neutron.xml
Name:cinder
Formatting 'cinder.img', fmt=qcow2 size=53687091200 backing_file='node.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Domain cinder defined from cinder.xml
sh]# virsh list --all
Id Name State
----------------------------------------------------
1 yum running
- cinder shut off
- compute1 shut off
- controller shut off
- neutron shut off
3.4 根据配置分别给虚拟机添加网卡
打开virt-manager,这里只演示给controller添加网卡:

添加vbr:

添加br1:

添加br2:

其他主机一样,不需要添加vbr,只需要添加br1和br2。
启动虚拟机:
]# for i in controller compute1 neutron cinder
> do
> virsh start $i
> done
S1_搭建分布式OpenStack集群_01 准备虚拟机的更多相关文章
- S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置
一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...
- S1_搭建分布式OpenStack集群_02 虚拟机环境配置
一.配置主机名及hosts和防火墙(只演示一台,其他机器配置方式一样)vim /etc/hosts 加入 10.10.11.11 controller10.10.11.12 compute11 ...
- S1_搭建分布式OpenStack集群_11 虚拟机创建
一.创建网络环境环境变量生效一下创建一个网络:# openstack network create --share --external \--provider-physical-network ph ...
- S1_搭建分布式OpenStack集群_10 cinder 存储节点配置
一.安装配置lvm2安装LVM包:# yum install -y lvm2 启动LVM元数据服务,并将其配置为在系统启动时启动:# systemctl enable lvm2-lvmetad.ser ...
- S1_搭建分布式OpenStack集群_09 cinder 控制节点配置
一.创建数据库创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE cinder;MariaDB [(none ...
- S1_搭建分布式OpenStack集群_08 网络服务(neutron)安装部署
一.数据库配置(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE neutron;MariaDB ...
- S1_搭建分布式OpenStack集群_07 nova服务配置 (计算节点)
一.服务安装(计算节点)安装软件:# yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容:# vim /etc/n ...
- S1_搭建分布式OpenStack集群_06 nova服务配置 (控制节点)
一.创建数据库(控制节点)创建数据库以及用户:# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE nova_api;MariaD ...
- S1_搭建分布式OpenStack集群_05 glance安装配置
一.基本简介 镜像服务(glance)使用户能够发现,注册和检索虚拟机镜像. 它提供了一个REST API,使您可以查询虚拟机镜像元数据并检索实际镜像. 您可以将通过镜像服务提供的虚拟 ...
随机推荐
- 100天搞定机器学习|Day55 最大熵模型
1.熵的定义 熵最早是一个物理学概念,由克劳修斯于1854年提出,它是描述事物无序性的参数,跟热力学第二定律的宏观方向性有关:在不加外力的情况下,总是往混乱状态改变.熵增是宇宙的基本定律,自然的有序状 ...
- Linux 进程间通信(管道、共享内存、消息队列、信号量)
进程通信 : 不同进程之间传播或交换信息 为什么要进程通信呢? 协同运行,项目模块化 通信原理 : 给多个进程提供一个都能访问到的缓冲区. 根据使用场景,我们能划分为以下几种通信 ...
- THUPC&CTS&APIO2019:Far Away
流水账~ THUPC nmdwsmduliu! THUPC Day -INF~Day -2 大概就是自己做题和每周两次的考试,lsy和fcw两个外校的来吊打我们qwqqq THUPC Day -1 Z ...
- java之struts2的ThreadLocal和ActionContext
在之前的学习中,我们知道struts2可以将表单中的数据自动设置到处理类的属性上,还有类型转换等其他功能.那么struts2是怎样做这件事情的呢? struts2完成这些功能是通过拦截器来完成的,并且 ...
- android 常用库的地址--dialog,recycler
android 弹出框 https://github.com/li-xiaojun/XPopup android RecyclerViewAdapter https://github ...
- Java调用WebService方法总结(5)--Axis2调用WebService
Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...
- Jenkins的语法之pipeline
如果不处理,pipeline:stages中任一stage失败,都会致使其以下stage都失败,那么处理方式为: 1.stage在可能出错的地方添加try catch语句 如:try{} catch( ...
- Ruby开发小记
基础点 1.log打印 puts "Hello!" 2.拼接字符 value1 = "today" value2 = "#{value1} is Th ...
- UI5-技术篇-Hybrid App-3-Fiori 百度地图应用
上一次在Jsbin中测试了百度地图应用:UI5-技术篇-Hybrid App-3-jsbin百度地图 ,主要思路:1.加载百度API 2.自定义控件 3.div标签加载地图,本文主要将相关实施过程 ...
- springboot2.1.3+Junit4 单元测试
引入依赖的包: <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core ...