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,使您可以查询虚拟机镜像元数据并检索实际镜像. 您可以将通过镜像服务提供的虚拟 ...
随机推荐
- ffmpeg 速查手册
ref : http://linux.51yip.com/search/ffmpeg ffmpeg是一个源于Linux的工具软件,是FLV视频转换器,可以轻易地实现FLV向其它格式avi.asf. m ...
- Navicat 连接mysql 报错: Authentication plugin caching_ sha2_password cannot be loaded
出现这个错误的时候, 网上的资料都是修改mysql的登录信息的, ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password ...
- 父元素设置min-height子元素设置100%问题
问题:父元素设置min-height子元素高度设置100%取不到值,这是因为子元素 div设置 height:100%: 只有当父级元素满足min-height:1000px;设置的条件才触发: 浏览 ...
- python超链接抓取工具
python实现自动抓取某站点内所有超链接 (仅供学习使用) 代码部分 #!/usr/bin/python import requests import time import re import s ...
- WIN7U X64环境下的SQL SERVER 2008R2的防火墙配置
测试需要,备忘. CMD下运行,可以把sql server 要用的端口都开好. netsh advfirewall firewall add rule name = SQLPort dir = in ...
- Redis3.2集群部署安装
Redis集群部署安装 Linux版本:CentOS release 6.9 Redis 版本:redis-3.2.12.tar.gz 1.执行解压命令 tar -xzf redis-3.2.12.t ...
- p6.BTC-挖矿难度
挖矿就是不断调整nouce和header中其他可变字段,使得整个block header 的hash值小于等于target,target越小,挖矿难度越大. 出块时间设置为了10分钟,可以尽可能避免同 ...
- CentOS7- ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1548988705
CentOS7重启后,xshell连接,后出现ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1548 ...
- Linux之redis-sentinel
一,Redis-Sentinel介绍 Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或 ...
- python代码组织及模块使用
python代码组织 python和其他编程语言一样,采用包管理代码,一个包中可包含许多模块. 使用模块最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其 ...