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
然后界面版安装操作系统
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}.qcow23#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 出现
按F2,选择网卡配置
配置好了
5.2连接
5.2安装一台ESXI虚拟机
方式一、通过导入OVA文件创建虚拟机
方式二、使用镜像创建虚拟机
上传ios镜像
创建虚拟机
配置服务器
正常安装即可
克隆虚拟机
1.开启ssh服务
ssh连接
#进入虚拟机文件夹中
df -h
cd ****
mkdir web02
cp web01/web01.vmx web02/web02.vmx
vmfstools -i web01/web01.vmdk web02/web02.vmdk
#修改vmx文件
将所有的web01改为web02
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.创建项目 ---限制资源
2.创建用户 --分配权限
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