1.什么是云计算

云计算是一种按量付费的模式!云计算的底层是通过虚拟化技术来实现的!

2.云计算的服务类型

IAAS 基础设施即服务  虚拟机 ecs云主机
PAAS平台即服务  python ,java 容器
SAAS软件即服务,企业邮箱服务,cdn,redis数据库

3.为什么要用云计算

小公司:
#10台  20w+ idc  5w + 100M   10W, 10台云主机,前期投入小,扩展灵活,风险小

大公司:
#闲置服务器计算资源,虚拟机,出租(超卖)
#64G 服务器  64台1G   320台1G      64台  大公司自己的业务   264台  租出去

国企,银行
#公有云:  谁都可以租
#私有云:  只有公司内部使用
#混合云: 有自己的私有云 + 租的公有云

4.云计算的基础KVM虚拟化

宿主机:
内存4G+  纯净的系统CentOS-7(关闭selinux,firewalld和NetworkManager)

4.1.什么是虚拟化?

虚拟化,通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统的技术。

4.2 .linux虚拟化软件

KVM(linux)

全虚拟机,它有硬件支持cpu,内置在linux内核模块,而且不需要使用专门的内核   centos6 kvm 性能较好,兼容较好

4.3.安装kvm虚拟化管理工具

主机名 ip地址 内存 虚拟机
kvm01 10.0.0.11 4G cpu开启vt虚拟化
kvm02 10.0.0.12 4G cpu开启vt虚拟化

测试是否开启的虚拟化

lsmod |grep kvm
#yum install libvirt virt-install qemu-kvm -y

libvirt 作用:

虚拟机的管理软件 libvirt: kvm,xen,qemu,lxc....

virt-install virt-clone 作用:

虚拟机的安装工具和克隆工具 

qemu-kvm qemu-img (qcow2,raw)作用:

管理虚拟机的虚拟磁盘

环境要求:

centos 7.4   7.6  7.8(不要使用7.5)
vmware   宿主机  kvm虚拟机
内存4G,cpu开启虚拟化

iP:10.0.0.11

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装软件包

yum install libvirt virt-install qemu-kvm -y

下载镜像

wget https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-Minimal.iso

4.4.安装一台kvm虚拟机

启动服务

systemctl start libvirtd.service 
systemctl enable libvirtd.service 

创建

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos7.raw,format=raw,size=10 --cdrom /opt/CentOS-7.0-1406-x86_64-Minimal.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
--virt-type kvm    #虚拟化的类型(qemu) 
--os-type=linux    #系统类型 
--os-variant rhel7 #系统版本 
--name centos7     #虚拟机的名字 (必须唯一)
--memory 1024      #虚拟机的内存
--vcpus 1          #虚拟cpu的核数 
--disk /opt/centos2.raw,format=raw,size=10(必须唯一) 
--cdrom /opt/CentOS-7.0-1406-x86_64-Minimal.iso
--network network=default   #使用默认NAT的网络 
--graphics vnc,listen=0.0.0.0   #用vnc展示
--noautoconsole #(可有可无)

vnc 下载之后 连接 ip:5900

然后界面版安装操作系统

KVM openstack

4.5.kvm虚拟机的virsh日常管理和配置

列表list(--all) 
开机start 
关机shutdown(虚拟机有系统) 
拔电源关机destroy 
重启reboot(虚拟机有系统)

备份xml配置文件

#默认生成 /etc/libvirt/qemu/centos7.xml
virsh dumpxml centos7 >/opt/kvm_centos7.xml

raw:俗称裸格式,占用空间比较大,不支持快照功能,不方便传输 ,读写性能较好
在 /opt下的 centos7.raw
#备份这两个文件足以

删除虚拟机

virsh shutdown centos7 #关闭
virsh undefine  centos7 #删除

恢复虚拟机

virsh define /opt/kvm_centos7.xml

修改配置文件,禁止直接vim

virsh edit centos7

修改虚拟机的名字

#必须关机从命名,
virsh domrename  centos7  centos7.6

查看进程

ps -ef |grep qemu

挂起suspend

恢复resume

挂起之后会导致虚拟机和宿主机时间不同会造成业务故障
systemctl   restart     chronyd  
#或者定时任务中同步
#ntpdate ntp.aliyun.com  

查询vnc端口号

virsh  vncdisplay  虚拟机名字

虚拟机开机启动

前提:systemctl enable libvirtd;

virsh autostart centos7

取消开机启动

virsh autostart --disable centos7

console 控制台 登录

centos7的kvm虚拟机:
#备份内核配置
cp /boot/grub2/grub.cfg  /tmp/
#修改,重启
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot

登录

virsh console  centos7

其实可以在host 中加入虚拟机IP,别名 SSH登录也可

4.6.kvm虚拟机虚拟磁盘管理和快照管理

raw:  俗称裸格式,占用空间比较大,不支持快照功能,不方便传输 ,读写性能较好

qcow2: qcow(copy on write)占用空间小,支持快照,性能比raw差一点,方便传输 
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

4.6.1磁盘工具的常用命令

#查看命令信息
qemu-img convert  -f raw     -O qcow2
qemu-img  
#查看虚拟磁盘信息
qemu-img info  /opt/centos7.raw 
#创建一块qcow2格式的虚拟硬盘
qemu-img create -f qcow2 /opt/centos76.qcow2 5G
#调整磁盘磁盘容量
qemu-img  resize  /opt/centos76.qcow2 +2G
qemu-img  resize  /opt/centos76.qcow2 10G #只能增不能减 会丢数据
#raw转qcow2 
qemu-img convert  -f raw   -O qcow2   centos7.raw   centos7.qcow2
#修改配置文件指定硬盘
virsh edit centos7
<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/data/centos2.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
#virsh start web01	启动 进系统测试

4.6.2快照管理

#创建快照
virsh snapshot-create-as centos7 --name centos7_20201
#查看快照
virsh snapshot-list centos7
#还原快照
virsh snapshot-revert centos7 --snapshotname centos7_20201 
#删除快照
virsh snapshot-delete centos7 --snapshotname centos7_20201


#raw不支持做快照,qcow2支持快照,并且快照就保存在qcow2的磁盘文件中

4.7.kvm虚拟机克隆

4.7.1. 完整克隆

自动挡:

virt-clone --auto-clone -o centos7 -n web02 (完整克隆) 

手动挡:

qemu-img convert -f qcow2 -O qcow2 -c centos7.qcow2 web02.qcow2
# - -c除去快照 压缩
virsh dumpxml centos7 >web02.xml
vim web02.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址mac add
#修改磁盘路径disk
virsh define web02.xml 
virsh start web02

4.7.2.链接克隆

a:生成虚拟机磁盘文件

 qemu-img  create  -f qcow2  -b  /opt/web01.qcow2   /opt/web03.qcow2

b:生成虚拟机的配置文件

virsh dumpxml web01 >web03.xml
vim web03.xml
#修改虚拟机的名字
<name>web03</name>
#删除虚拟机uuid
<uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid>
#删除mac地址
<mac address='52:54:00:4e:5b:89'/>
#修改磁盘路径
<source file='/opt/web03.qcow2'/>

c:导入虚拟机并进行启动测试

virsh define web03.xml 
virsh start web03

全自动链接克隆脚本:

[root@kvm01 scripts]# cat link_clone.sh 
#!/bin/bash
old_vm=$1
new_vm=$2
#a:生成虚拟机磁盘文件
old_disk=`virsh dumpxml $old_vm|grep "<source file"|awk -F"'" '{print $2}'`
disk_tmp=`dirname $old_disk`
qemu-img create -f qcow2 -b $old_disk  ${disk_tmp}/${new_vm}.qcow2
#b:生成虚拟机的配置文件
virsh dumpxml $old_vm >/tmp/${new_vm}.xml
#修改虚拟机的名字
sed -ri "s#(<name>)(.*)(</name>)#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#删除虚拟机uuid
sed -i '/<uuid>/d' /tmp/${new_vm}.xml
#删除mac地址
sed -i '/<mac address/d' /tmp/${new_vm}.xml
#修改磁盘路径
sed -ri "s#(<source file=')(.*)('/>)#\1${disk_tmp}/${new_vm}.qcow2\3#g" /tmp/${new_vm}.xml
#c:导入虚拟机并进行启动测试
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}

4.8.kvm虚拟机的桥接网络

默认的虚拟机网络是NAT模式,网段192.168.122.0/24

4.8.1:创建桥接网卡

宿主机eth0配置文件更改,才能创建桥接模式

TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="xxx.xxx.xxx.xxx"
PREFIX="24"
GATEWAY="xxx.xxx.xxx.xxx"
DNS1="223.5.5.5"

创建桥接网卡命令

 virsh iface-bridge eth0 br0

取消桥接网卡命令

virsh iface-unbridge br0

4.8.2 新虚拟机使用桥接模式

默认NAT模式

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

桥接模式

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

4.8.3 将已有虚拟机网络修改为桥接模式

a:关机状态下修改虚拟机配置文件:

例如:virsh edit centos7

<interface type='bridge'>
  <source bridge='br0'/>

b:启动虚拟机,测试虚拟机网络

virsh start centos7
#如果上层没有开启dhcp,需要手动配置ip地址,IPADDR,NATMASK.GATEWAY,DNS1

4.9. 热添加技术

热添加硬盘、网卡、内存、cpu

4.9.1 kvm热添加硬盘

添加硬盘

qemu-img create -f qcow2 /opt/centos76_01.qcow2 5G

临时立即生效

virsh attach-disk centos /opt/centos76_01.qcow2 vdb --subdriver qcow2
#raw格式 不需要指定 --subdriver qcow2

永久生效(需要重启)

virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
#raw格式 不需要指定 --subdriver qcow2 

临时剥离硬盘

virsh detach-disk centos7 vdb

永久剥离硬盘

virsh detach-disk web01 vdb --config

挂载硬盘

#查看硬盘
fdisk -l
#格式化
mkfs.xfs /dev/vdb
#挂载
mount /dev/vdb   /mnt 

扩容:

#在虚拟机里把扩容盘的挂载目录,卸载掉 
umount /mnt
#在宿主机上剥离硬盘
virsh detach-disk web01 vdb 
#在宿主机上调整容量
qemu-img resize /opt/web01_01.qcow2  8G
#在宿主机上再次附加硬盘
virsh attach-disk web01 /data/web01_01.qcow2 vdb --subdriver qcow2 
#在虚拟机里再次挂载扩容盘 在虚拟机里用xfs_growfs更新扩容盘超级块信息
mount  /dev/vdb  /mnt 
xfs_growfs  /dev/vdb

4.9.2 kvm虚拟机在线热添加网卡

#临时生效
virsh attach-interface web04  --type bridge --source br0 --model virtio 
#加配置文件
virsh attach-interface web04  --type bridge --source br0 --model virtio  --config
ip a  #查看mac
#删除网卡
virsh detach-interface web04 --type bridge --mac 52:54:00:35:d3:71
#查看配置文件的mac 
virsh detach-interface web04 --type bridge --mac 52:54:00:35:23:71   --config

4.9.3 kvm虚拟机在线热添加内存

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
---maxmemory #指定最大内存

临时热减内存

virsh  setmem web04 1024M  

永久减内存

virsh  setmem web04 1024M --config

调整虚拟机内存最大值

#关机
virsh setmaxmem web04 4G   #默认永久
#然后增加
virsh  setmem web04 2G  
virsh  setmem web04 2G --config

4.9.4 kvm虚拟机在线热添加cpu

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 
#maxvcpus最大盒数

热添加cpu核数

 virsh setvcpus web04 4 

永久添加cpu核数

virsh setvcpus web04 4 --config

调整虚拟机cpu的最大值

virsh setvcpus web01  --maximum 4 --config

4.10.virt-manager和kvm虚拟机热迁移(共享的网络文件系统)

4.11.冷迁移kvm虚拟机:

注意环境一致

kvm01 
#虚拟机关机
#迁移配置文件,磁盘文件

kvm02
#导入
virsh define vm_web01.xml
#创建桥接网卡
virsh iface-bridge eth0 br0
#启动
virsh start web01

4.12.热迁移kvm虚拟机:

配置文件,nfs共享,不停机迁移

1.实现共享存储(nfs)kvm01和kvm02都执行

yum  install nfs-utils rpcbind  -y

vim /etc/exports
/data  10.0.0.0/24(rw,async,no_root_squash,no_all_squash

systemctl start rpcbind  nfs

#kvm01和kvm02
mount -t nfs 10.0.0.31:/data /opt

登录改网卡文件

TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="xxx.xxx.xxx.xxx"
PREFIX="24"
GATEWAY="xxx.xxx.xxx.xxx"
DNS1="223.5.5.5"

2.在线热迁移

#临时迁移
virsh migrate --live --verbose centos7 qemu+ssh://10.0.0.11/system --unsafe
#永久迁移
virsh migrate --live --verbose centos7 qemu+ssh://10.0.0.100/system --unsafe --persistent --undefinesource

加host 解析

10.0.0.11    kvm01
10.0.0.12   kvm02

5.ESXI虚拟化系统

5.1 安装ESXI

一路回车,直到 按F11 出现

KVM openstack

按F2,选择网卡配置

KVM openstack

配置好了

KVM openstack

5.2连接

KVM openstack

5.2安装一台ESXI虚拟机

方式一、通过导入OVA文件创建虚拟机

KVM openstack

方式二、使用镜像创建虚拟机

上传ios镜像

KVM openstack

创建虚拟机

KVM openstack

配置服务器

KVM openstack

KVM openstack

正常安装即可

克隆虚拟机

1.开启ssh服务

KVM openstack

ssh连接

#进入虚拟机文件夹中
df -h
cd   ****
mkdir web02
cp  web01/web01.vmx   web02/web02.vmx
vmfstools -i web01/web01.vmdk   web02/web02.vmdk
#修改vmx文件
将所有的web01改为web02

KVM openstack

5.7 将kvm虚拟机迁移到esxi上

kvm宿主机:

#将qcow2格式转换为 vmdk格式
qemu-img convert -f qcow2 web01.qcow2 -O vmdk web01.vmdk
#scp  发送到esxi上

#可能不需要

#后置被 转换为精简制备 在esxi
vmkfstools  -i  web01.vmdk  web01.vmdk -d thin

5.8 将ESXI虚拟机迁移到kvm上

将虚拟机导出ova文件

物理机转换为虚拟机  p2v
虚拟机转换为虚拟机  v2v
虚拟机转换为云主机  v2c
云主机转换为云主机  c2c
yum install  virt-v2v
virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test  -of qcow2

virsh define  /opt/test/centos7.xml

#改为桥接模式
virsh edit centos7
把nat 该我br0
listen='0.0.0.0' 
#启动
virsh  start centos7
kvm宿主机 2000台 查看每一个宿主机有多少台虚拟机? 查看每一个宿主机还剩多少资源? 查看每一台宿主机,每一个虚拟机的ip地址?
excel 资产管理  cmdb
kvm管理平台,数据库工具
信息:宿主机,总配置,剩余的总配置     虚拟机的信息,配置信息,ip地址,操作系统  
带计费功能的kvm管理平台,openstack  	ceilometer计费   ecs   IAAS层 自动化管理kvm宿主机,云主机定制化操作
服务器, 20核心  1T内存    96T
资源浪费,linux环境特别乱,,kvm虚拟机

6.部署一个openstack集群

6.1 DevStack

DevStack 在相当长一段时间内,DevStack仍将是众多开发者的首选安装工具。该方式主要是通过配置一个安装脚本,执行Shell命令来安装OpenStack的开发环境,支持CentOS、Debian等系列系统

6.2 RDO

RDO RDO是由Red Hat红帽开源的一个自动化部署OpenStack的工具,支持单节点(all-in-one)和多节点(multi-node)部署。但RDO只支持CentOS系列操作系统。需要注意的是,该项目并不属于OpenStack官方社区项目。

6.3Kolla

Kolla是具有广阔应用前景和市场的一个自动化部署工具。相比于其他部署工具,Kolla完全革新地使用了Docker容器技术,将每一个OpenStack服务运行在不同的Docker容器中。

6.4packstack

上古工具,最为简单

7.使用openstack

7.1开通帐号

1.创建项目 ---限制资源

KVM openstack

2.创建用户 --分配权限

KVM openstack

7.2增加计算资源

添加node节点:

1.修改ip地址 
2.hostnamectl set-hostname compute1 
3.重新登录让新主机名生效 
4.上传openstack_rpm.tar.gz到/root下, 
5.tar xf openstack_rpm.tar.gz -C /opt/ 
6.mount  /dev/cdrom  /mnt
7.上传脚本openstack_compute_install.sh
8.sh openstack_compute_install.sh

openstack  controller主控制节点,node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机  
#!/bin/bash

#ip地址
IP=`ifconfig eth0|awk -F "[ ]+"  'NR==2{print $3}'`

#增加控制节点的host解析
echo '10.0.0.11 controller' >>/etc/hosts

#挂载光盘
mount /dev/cdrom /mnt &>/dev/null
if [ $? -ne 0 ];then
   umount /mnt &>/dev/null
   mount /dev/cdrom /mnt &>/dev/null
   if [ $? -ne 0 ];then
      echo "mount: no medium found on /dev/sr0"
      exit 7
   fi
fi
k
#yum源配置
mkdir -p /etc/yum.repos.d/test
\mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/test
echo '[openstack]
name=openstack
baseurl=file:///opt/repo
gpgcheck=0

[local]
name=local
baseurl=file:///mnt
gpgcheck=0' >/etc/yum.repos.d/openstack.repo

#时间同步配置
sed -i '/^server/d' /etc/chrony.conf
sed -i '3i server 10.0.0.11 iburst' /etc/chrony.conf 
systemctl restart chronyd

#安装openstack客户端
yum install python-openstackclient.noarch  -y

#nova-compute
yum install openstack-nova-compute -y
yum install openstack-utils.noarch -y
\cp /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
openstack-config --set /etc/nova/nova.conf  DEFAULT enabled_apis  osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf  DEFAULT rpc_backend  rabbit
openstack-config --set /etc/nova/nova.conf  DEFAULT auth_strategy  keystone
openstack-config --set /etc/nova/nova.conf  DEFAULT my_ip  $IP
openstack-config --set /etc/nova/nova.conf  DEFAULT use_neutron  True
openstack-config --set /etc/nova/nova.conf  DEFAULT firewall_driver  nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf  glance api_servers  http://controller:9292
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_uri  http://controller:5000
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_url  http://controller:35357
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  memcached_servers  controller:11211
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_type  password
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  project_domain_name  default
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  user_domain_name  default
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  project_name  service
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  username  nova
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  password  NOVA_PASS
openstack-config --set /etc/nova/nova.conf  oslo_concurrency lock_path  /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_host  controller
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_userid  openstack
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_password  RABBIT_PASS
openstack-config --set /etc/nova/nova.conf  libvirt  virt_type qemu
openstack-config --set /etc/nova/nova.conf  libvirt  cpu_mode none
openstack-config --set /etc/nova/nova.conf  vnc enabled  True
openstack-config --set /etc/nova/nova.conf  vnc vncserver_listen  0.0.0.0
openstack-config --set /etc/nova/nova.conf  vnc vncserver_proxyclient_address  '$my_ip'
openstack-config --set /etc/nova/nova.conf  vnc novncproxy_base_url  http://controller:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf  neutron url  http://controller:9696
openstack-config --set /etc/nova/nova.conf  neutron auth_url  http://controller:35357
openstack-config --set /etc/nova/nova.conf  neutron auth_type  password
openstack-config --set /etc/nova/nova.conf  neutron project_domain_name  default
openstack-config --set /etc/nova/nova.conf  neutron user_domain_name  default
openstack-config --set /etc/nova/nova.conf  neutron region_name  RegionOne
openstack-config --set /etc/nova/nova.conf  neutron project_name  service
openstack-config --set /etc/nova/nova.conf  neutron username  neutron
openstack-config --set /etc/nova/nova.conf  neutron password  NEUTRON_PASS

#5:安装neutron-linuxbridge-agent
yum install openstack-neutron-linuxbridge ebtables ipset -y
\cp /etc/neutron/neutron.conf{,.bak}
grep -Ev '^$|#' /etc/neutron/neutron.conf.bak >/etc/neutron/neutron.conf
openstack-config --set /etc/neutron/neutron.conf  DEFAULT rpc_backend  rabbit
openstack-config --set /etc/neutron/neutron.conf  DEFAULT auth_strategy  keystone
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_uri  http://controller:5000
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_url  http://controller:35357
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken memcached_servers  controller:11211
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_type  password
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken project_domain_name  default
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken user_domain_name  default
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken project_name  service
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken username  neutron
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken password  NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf  oslo_concurrency lock_path  /var/lib/neutron/tmp
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_host  controller
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_userid  openstack
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_password  RABBIT_PASS

\cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}
grep '^[a-Z\[]' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak >/etc/neutron/plugins/ml2/linuxbridge_agent.ini
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  linux_bridge physical_interface_mappings  provider:eth0
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  securitygroup enable_security_group  True
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  vxlan enable_vxlan  False

#启动服务
systemctl start  libvirtd openstack-nova-compute neutron-linuxbridge-agent
systemctl enable  libvirtd openstack-nova-compute neutron-linuxbridge-agent

7.3手动管理虚拟机

yum  install  libvirt -y 

7.4上传镜像

KVM openstack

相关文章: