云计算

云计算

1:什么是云计算?

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

2:云计算的服务类型

2.1 IAAS 基础设施即服务(infrastructure as an service) 虚拟机 ecs openstack

2.2 PAAS 平台即服务(platform as an service ) php,java docker容器

2.3 SAAS 软件即服务(soft as an service ) 企业邮箱服务 cdn服务 rds数据库 开发+运维

3:为什么要用云计算

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

大公司:闲置服务器计算资源,虚拟机,出租(超卖)

64G 服务器 64台1G 320台1G 64台 大公司自己的业务 264台 租出去

国企,银行

公有云:方便不安全;谁都可以使用

私有云:安全不方便;自己搭建,公司内部可以使用

混合云:私有云+公有云

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

4.1:什么是虚拟化?

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

4.2 :虚拟化软件的差别

linux虚拟化软件: qemu 软件纯模拟全虚拟化软件,读写特别慢!AIX,兼容性好!

xen(半) :读写性能特别好,需要使用专门修改之后的内核,兼容性差! redhat 5.5 xen kvm

KVM(linux): 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核 centos6 kvm 性能较好,兼容较好

vmware workstations: 图形界面

virtual box: 图形界面 Oracle

4.3 安装kvm虚拟化管理工具

KVM:Kernel-based Virtual Machine,内核虚拟化软件

yum install libvirt virt-install qemu-kvm -y
  • libvirt 作用:虚拟机的管理软件 libvirt: kvm,xen,qemu,lxc....

  • virt virt-install virt-clone 作用:虚拟机的安装工具和克隆工具

  • qemu-kvm qemu-img (qcow2,raw)作用:管理虚拟机的虚拟磁盘

环境要求:

​ centos 7.4 7.6 vmware 宿主机 kvm虚拟机

内存4G,cpu开启虚拟化

IP:10.0.0.11
#更新yum源
echo  '192.168.37.20  mirrors.aliyun.com' >>/etc/hosts
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

4.4:安装一台kvm虚拟机

分发软件TightVNC或者VNC-Viewer-6.19.325 宿主机

微软的远程桌面

vnc:远程的桌面管理工具 向日葵 微软的远程桌面

systemctl start libvirtd.service 
systemctl status libvirtd.service   #自动是开机自启状态

10.0.0.11 宿主机

建议虚拟机内存不要低于1024M,否则安装系统特别慢!

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

#命令解释
--os-type=linux    系统类型 
--os-variant rhel7 系统版本 
--name centos7     虚拟机的名字  
--memory 1024      虚拟机的内存,默认单位MB
--vcpus 1          虚拟cpu的核数 
--disk /opt/centos2.raw,format=raw,size=10     指定硬盘的路径,硬盘格式,大小默认单位G
--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso       指定是光盘安装
--network network=default   使用默认NAT的网络 
--graphics vnc,listen=0.0.0.0  显示器vnc那个网段的都能使用  
--noautoconsole     无实际含义,可以不加

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

virsh list              #仅看到正在运行的
virsh list --all        #查看所有的虚拟机(包括查看进程ps -ef(qemu-kvm)和/etc/libvirt/qemu/下的配置文件)
virsh start centos7     #启动指定虚拟机centos7
virsh shutdown centos7  #仅能关机有系统的虚拟机
virsh destroy centos7   #拔电源关机
virsh reboot centos7    #重启,有系统的
virsh nvcdisplay centos7    #查看该虚拟机的vnc端口,可以用vnc通过端口连接

virsh undefine centos7_1    #删除,先destroy,如果装一半磁盘也要清理,undefine只删虚拟机的配置文件,磁盘文件手动清理
virsh dumpxml centos7       #备份配置文件

virsh define vm_centos7.xml #导入配置文件(恢复前提磁盘文件存在)

domrename           #重命名
virsh domrename centos7 web01

virsh edit web01        #编辑虚拟机的配置文件,有语法检测
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
    ...
    <source file='/opt/web01.raw'/>
    
suspend         #挂起,会暂停时间
virsh suspend web01
resume          #恢复
virsh resume web01

autostart       #开机自启,配置后会创建一个软链接,xx 
virsh autostart web01
[root@oldboy opt]# ll /etc/libvirt/qemu/autostart/
lrwxrwxrwx 1 root root 27 Nov 27 15:09 web01.xml -> /etc/libvirt/qemu/web01.xml

autostart --disalbe     #取消开机自启,相当于删除软链接
创建软链接相当于开机自启
ln -s /etc/libvirt/qemu/web01.xml /etc/libvirt/qemu/autostart/

libvirtd

console 控制台 登录

centos7的kvm虚拟机:
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
reboot

console
模拟生产故障:关机 虚拟机消失,关一台少一台
原因:虚拟机在运行时被 undefine 删除配置文件
方法:
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 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
将 --cdrom xxx.iso 改为  --boot hd 即可
意思是将从镜像文件读取改为从磁盘读取

4.6:kvm虚拟机虚拟磁盘格式转换和快照管理

raw格式:裸格式,占用空间较大,不支持快照,不方便传输,读写性能好  总50G 占用50G,传输50G 
qcow2(copy on write):占用空间小,支持快照,性能比raw差,方便传输    总50G 占用2G,传输2G

qemu 写时的复制 qcow qcow2

#安装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

#安装qcow2格式的磁盘
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/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 info,create,resize,convert

qemu-img info web01.qcow2   #查看磁盘信息
qemu-img create -f raw test.raw 2G  #创建一块大小为2G的raw格式的磁盘
qemu-img resize test.qcow2 +20G     #给硬盘增加20G的大小,不建议减小硬盘
qemu-img convert -f raw -O qcow2 wang.raw wang.qcow2            #磁盘格式转换
rm -fr #删除
#virsh edit 修改虚拟机的配置文件
<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 destroy web01 
virsh start web01

4.6.2快照管理

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

virsh snapshot-create web01

[root@kvm01 opt]# virsh snapshot-create web01 
Domain snapshot 1574852395 created

[root@kvm01 opt]# virsh snapshot-list web01 

[root@kvm01 opt]# virsh snapshot-delete web01 --snapshotname 1574852395 
Domain snapshot 1574852395 deleted

创建快照时创建别名
[root@kvm01 opt]# virsh snapshot-create-as web01 --name diyici
Domain snapshot diyici created

还原快照
[root@kvm01 opt]# virsh snapshot-revert web01 --snapshotname diyici 

4.7: kvm虚拟机克隆

4.7.1:完整克隆

自动挡:

[root@kvm01 opt]# virt-clone -o web01 -n web02 --auto-clone

手动挡:

[root@kvm01 opt]# cp web02.qcow2 web03.qcow2 
[root@kvm01 opt]# virsh dumpxml web02 >web03.xml
[root@kvm01 opt]# vim web03.xml 
#修改虚拟机的名字
<name>web03</name>
#删除虚拟机uuid,每个虚拟机的唯一标识,删除之后,再导入让自动生成
<uuid>5107d8a8-f606-401e-9289-b82ea3bdd72b</uuid>
#删除mac地址,每个虚拟机的唯一标识,删除之后,再导入让自动生成
<mac address='52:54:00:34:db:b4'/>
#修改磁盘路径
<source file='/opt/web03.qcow2'/>

[root@kvm01 opt]# virsh define web03.xml 

4.7.2:链接克隆

手动:

创建引用磁盘,raw不支持备份文件
[root@kvm01 opt]# qemu-img create -f qcow2 -b web01.qcow2 web06.qcow2
Formatting 'web06.qcow2', fmt=qcow2 size=10737418240 backing_file='web01.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 

复制配置文件
[root@kvm01 opt]# cp web03.xml web06.xml 

修改配置
[root@kvm01 opt]# vim web06.xml 
#修改主机名称
#删除uuid
#删除mac地址
#修改disk地址

导入配置文件
[root@kvm01 opt]# virsh define web06.xml 

连接克隆的磁盘,他不同于其他磁盘,因为连接克隆是克隆虚拟机的当前状态,所以磁盘的容量只有几K

[root@kvm01 opt]# qemu-img info web06.qcow2 
image: web06.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)       #实际大小
disk size: 448K                             #现在状态下的大小
cluster_size: 65536
backing file: web01.qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false

全自动链接克隆脚本:

需求:

  • 随便找一个作为模板机克隆

  • 查看模板机是否存在

  • 所有虚拟机磁盘文件在一个目录下,和上一个虚拟机放在一起

[root@kvm01 ~]# cat linkclone.sh
#!/bin/bash
read -p "请输入模板机路径:" old
read -p "请输入克隆机名称:" new

#创建引用磁盘
if [ -f /etc/libvirt/qemu/${old}.xml ];then
qemu-img create -f qcow2 -b /opt/${old}.qcow2 /opt/${new}.qcow2 1>/dev/null

#复制配置文件
cp /opt/${old}.xml /opt/${new}.xml
sed -in "/<name/s/${old}/${new}/g" /opt/${new}.xml

#修改配置
#sed -in '/<uuid/d' /opt/${new}.xml
#sed -in "/mac/d" /opt/${new}.xml
sed -in '/<uuid/d' /opt/${new}.xml
sed -in '/<mac address/d' /opt/${new}.xml
sed "/opt\/${old}.qcow2/s/${old}/${new}/g" /opt/${new}.xml -i

#导入
virsh define /opt/${new}.xml
else
    echo "模板机不存在"
fi

4.8:kvm虚拟机的桥接网络

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

4.8.1:创建桥接网卡

创建桥接网卡命令 
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 we03 --memory 1024 --vcpus 1 --disk /opt/we03.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:启动虚拟机,测试虚拟机网络

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

echo 'TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="10.0.0.102"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.254"
DNS1="223.5.5.5"'  >/etc/sysconfig/network-scripts/ifcfg-eth0

4.9:热添加技术

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

4.9.1 kvm热添加硬盘

临时生效 vdb指定的要增加的盘符

virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2

永久生效

virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
宿主机
[root@kvm01 opt]# qemu-img create -f qcow2 web03_add01.qcow2 10G
[root@kvm01 opt]# virsh attach-disk web03 /opt/web03_add01.qcow2 vdb --subdriver qcow2 --config

虚拟机
[root@localhost ~]# fdisk -l
[root@localhost ~]# mkfs.xfs /dev/vdb 
[root@localhost ~]# mount /dev/vdb /mnt

临时剥离硬盘

virsh detach-disk web01 vdb

永久剥离硬盘

virsh detach-disk web01 vdb --config

磁盘扩容

磁盘里面分为inode和block,分别存放的是数据属性和存储实际数据

虚拟机,卸载分区
[root@localhost ~]# umount /mnt/

宿主机
[root@kvm01 opt]# virsh detach-disk web03 vdb
[root@kvm01 opt]# qemu-img resize /opt/web03_add01.qcow2 +10G
[root@kvm01 opt]# virsh attach-disk web03 /opt/web03_add01.qcow2 vdb --subdriver qcow2

虚拟机
 mount /dev/vdb /mnt
#更新扩容盘的信息
[root@localhost ~]# xfs_growfs /dev/vdb 

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

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

#临时添加,重启后无
virsh attach-interface web03 --type bridge --source br0 --model virtio
#virtio:不加这个参数添加的网卡为enss,加上就是eth

#加上--config 永久添加
virsh attach-interface web03 --type bridge --source br0 --model virtio --config 

#摘除,ifconfig看网卡的mac地址
virsh detach-interface web03 --type bridge --mac 52:54:00:16:3e:6c

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

#临时热修改内存 
virsh setmem web03 512M

#永久热修改内存
virsh setmem web03 1024M --config

#调整虚拟机内存最大值
virsh setmaxmem web04 4G

#手动调整
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>

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 

#热添加cpu核数 
virsh setvcpus web04 2 

#永久添加cpu核数 
virsh setvcpus web04 2 --config

#添加cpu最大核心
virsh setvcpus web03 --maximum 4 --config 

#或者手动修改配置文件
 <vcpu placement='static' current='1'>4</vcpu>
 
#虚拟机检验
[root@localhost ~]# lscpu |head -5
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1

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

迁移的假如是链接克隆的虚拟机,最好把源主机也迁移过去。已创建快照的虚拟机不允许导出、克隆、迁移操作

冷迁移kvm虚拟机:配置文件,磁盘文件

冷迁移,就是将虚拟机先关机再进行迁移。其原理可以使用scp实现

准备环境:

###两边宿主机环境必须保持一致
yum install libvirt virt-install qemu-kvm -y
virsh iface-bridge eth0 br0
systemctl restart libvirtd

操作:

1.关闭需克隆的虚拟机
2.virsh dumpxml web03 >/opt/web03.xml      #备份配置文件
3.scp -rp /opt/web03.qcow2 /opt/web03.xml 10.0.0.99:/opt

kvm02 操作
virsh define /opt/web03.xml  #导入配置文件
virsh start web03
virsh console web03  #检查是否能进入系统

热迁移kvm虚拟机:配置文件,nfs共享

热迁移,就是不关闭虚拟机,虚拟机在迁移的过程中仍然保持着原来的状态。

1):kvm虚拟机热迁移 1:两边的环境(桥接网卡)

主机名 ip 内存 网络 软件需求 虚拟化
kvm01 10.0.0.11 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
kvm02 10.0.0.12 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
nfs01 10.0.0.31 1G nfs

2:操作

#nfs配置
[root@nfs ~]# cat /etc/exports
/vm 10.0.0.0/24(rw,async,no_all_squash,no_root_squash)

[root@nfs ~]# mkdir /vm
[root@nfs ~]# systemctl restart nfs

###两边宿主机环境一致
yum install libvirt virt-install qemu-kvm -y
virsh iface-bridge eth0 br0
systemctl restart libvirtd
mount -t nfs 10.0.0.31:/vm /opt

echo "10.0.0.100 kvm01
10.0.0.99 kvm02" >>/etc/hosts

###kvm01操作
#迁移并保留源虚拟机
virsh migrate --live --verbose web02 qemu+ssh://10.0.0.99/system --unsafe

#永久迁移并删除源虚拟机
virsh migrate --live --verbose web02 qemu+ssh://10.0.0.99/system --unsafe --persistent --undefinesource

#命令解释
live:在线迁移,热迁移的意思
verbose:迁移的时候显示进度
unsafe:关闭保护机制,虚拟机在热迁移的时候会有一些数据还没有存放在磁盘,迁移过去会提示安全问题
persistent:永久迁移
undefinesource:将迁移过去的虚拟机顺便删除了

5: ESXI虚拟化系统

5.1 安装ESXI

5.1.1创建虚拟机

一路回车,直到

按F11

5.2启动ESXI

5.3 安装ESXI客户端

一路下一步就行

安装完成

5.4使用客户端连接EXSI服务端

连接成功界面

5.5了解ESXI的常用配置

开启ssh功能

5.6安装一台ESXI虚拟机

5.7 将kvm虚拟机迁移到esxi上

kvm宿主机:

qemu-img convert -f qcow2 oldimage.qcow2 -O vmdk newimage.vmdk

#可能不需要

vmkfstools -i oldimage.vmdk newimage.vmdk -d thin

5.8 将ESXI虚拟机迁移到kvm上

将虚拟机导出ova文件

virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test -of qcow2

kvm宿主机 2000台 查看每一个宿主机有多少台虚拟机? 查看每一个宿主机还剩多少资源? 查看每一台宿主机,每一个虚拟机的ip地址?

excel 资产管理 cmdb

kvm管理平台,数据库工具

信息:宿主机,总配置,剩余的总配置 虚拟机的信息,配置信息,ip地址,操作系统

带计费功能的kvm管理平台,openstack ceilometer计费 ecs IAAS层 自动化管理kvm宿主机,云主机定制化操作

服务器, 20核心 1T内存 96T

资源浪费,linux环境特别乱,,kvm虚拟机

6.使用脚本自动化部署openstack M版

部署openstack 克隆一台openstack模板机:

all-in-one环境

4G内存,开启虚拟化,挂载centos7.6的光盘

虚拟机开机之后,修改ip地址为10.0.0.11

上传脚本openstack-mitaka-autoinstall.sh到/root目录 上传镜像:cirros-0.3.4-x86_64-disk.img到/root目录 上传配置文件:local_settings到/root目录 上传openstack_rpm.tar.gz到/root下, tar xf openstack_rpm.tar.gz -C /opt/

sh /root/openstack-mitaka-autoinstall.sh 大概10-30分钟左右 访问http://10.0.0.11/dashboard 域:default 用户名:admin 密码:ADMIN_PASS

注意: 在windows系统上修改host解析(10.0.0.11 controller)

添加node节点: 修改ip地址 hostnamectl set-hostname compute1 重新登录让新主机名生效 上传openstack_rpm.tar.gz到/root下, tar xf openstack_rpm.tar.gz -C /opt/ 上传脚本 openstack_node_autoinstall.sh

修改脚本中的Hostname主机名

sh openstack_node_autoinstall.sh

openstack controller主控制节点,node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机

7:一步一步部署一个openstack集群

7.1 openstack基础架构

7.1:准备环境

主机名称 角色 ip 内存
controller 控制节点 10.0.0.11 3G或4G
compute1 计算节点 10.0.0.31 1G

注意:主机之间相互host解析

7.1.1 时间同步

#服务端,controller节点
vim  /etc/chrony.conf
allow  10.0.0.0/24
systemctl  restart   chronyd

#客户端,compute1节点
vim  /etc/chrony.conf
server 10.0.0.11 iburst
systemctl  restart   chronyd

验证:同时执行date

7.1.2:配置yum源,并安装客户端

#所有节点
#配置过程:
cd /opt/
rz -E
tar xf openstack_ocata_rpm.tar.gz 
cd /etc/yum.repos.d/
mv  *.repo   /tmp
mv /tmp/CentOS-Base.repo .
vi   openstack.repo
[openstack]
name=openstack
baseurl=file:///opt/repo
enable=1
gpgcheck=0

#验证:
yum clean all
yum install python-openstackclient -y

7.1.3:安装数据库

#控制节点
yum install mariadb mariadb-server python2-PyMySQL -y
##openstack所有组件使用python开发,openstack在连接数据库需要用到python2-PyMySQL模块
#修改mariadb配置文件
vi  /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
#启动数据库
systemctl start mariadb
systemctl enable mariadb
#数据库安全初始化
mysql_secure_installation
回车
n
一路y

7.1.3 安装消息队列rabbitmq

#控制节点
#安装消息队列
yum install rabbitmq-server
#启动rabbitmq
systemctl start rabbitmq-server.service 
systemctl enable rabbitmq-server.service
#在rabbitmq创建用户
rabbitmqctl add_user openstack 123456
#为刚创建的openstack授权
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

7.1.4 安装memcache缓存

#控制节点
#安装memcache
yum install memcached python-memcached  -y
##python-memcached是python连接memcache的模块插件
#配置
vim /etc/sysconfig/memcached
##修改最后一行
OPTIONS="-l 0.0.0.0"
#启动服务
systemctl start memcached
systemctl enable memcached

7.2 安装keystone服务

#创库授权
##登录mysql
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'  IDENTIFIED BY '123456';
#安装keystone服务
yum install openstack-keystone httpd mod_wsgi -y
##httpd配合mod_wsgi插件调用python项目
#修改keystone配置文件
cp /etc/keystone/keystone.conf{,.bak}
grep -Ev '^$|#' /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
#完整配置文件如下:
[root@controller ~]# vi /etc/keystone/keystone.conf
[DEFAULT]
[assignment]
[auth]
[cache]
[catalog]
[cors]
[cors.subdomain]
[credential]
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
[domain_config]
[endpoint_filter]
[endpoint_policy]
[eventlet_server]
[federation]
[fernet_tokens]
[healthcheck]
[identity]
[identity_mapping]
[kvs]
[ldap]
[matchmaker_redis]
[memcache]
[oauth1]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
[policy]
[profiler]
[resource]
[revoke]
[role]
[saml]
[security_compliance]
[shadow_users]
[signing]
[token]
provider = fernet
[tokenless_auth]
[trust]
#校验md5
md5sum /etc/keystone/keystone.conf
85d8b59cce0e4bd307be15ffa4c0cbd6  /etc/keystone/keystone.conf
#同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
##切到普通用户下,使用指定的shell执行某一条命令
##检查数据是否同步成功
mysql keystone -e 'show tables;'|wc -l
#初始化令牌凭据
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
#初始化keystone身份认证服务
keystone-manage bootstrap --bootstrap-password 123456 \
  --bootstrap-admin-url http://controller:35357/v3/ \
  --bootstrap-internal-url http://controller:5000/v3/ \
  --bootstrap-public-url http://controller:5000/v3/ \
  --bootstrap-region-id RegionOne
#配置httpd
#小优化
echo "ServerName controller" >>/etc/httpd/conf/httpd.conf
#在httpd下添加keystone站点配置文件
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
#启动httpd等效于keystone
systemctl start httpd
systemctl enable httpd
#声明环境变量
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
#验证keystone是否正常
openstack user list
#创建service的项目
openstack project create --domain default \
  --description "Service Project" service
#修改/root/.bashrc文件
vi  /root/.bashrc
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

=====================================看html文件=========================================

7.3 安装glance服务

功能:管理镜像模板机

xxxxxxxxxx

119

1

1:创库授权

2

CREATE DATABASE glance;

3

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \

4

  IDENTIFIED BY '123456';

5

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \

6

  IDENTIFIED BY '123456';

7


8

2:keystone上创建用户,关联角色

9

openstack user create --domain default --password 123456 glance

10

openstack role add --project service --user glance admin

11


12

3:keystone上创建服务,注册api地址

13

openstack service create --name glance \

14

  --description "OpenStack Image" image

15

openstack endpoint create --region RegionOne \

16

  image public http://controller:9292

17

openstack endpoint create --region RegionOne \

18

  image internal http://controller:9292

19

openstack endpoint create --region RegionOne \

20

  image admin http://controller:9292

21


22

4:安装服务软件包

23

yum install openstack-glance -y

24


25

5:修改配置文件(连接数据库,keystone授权)

26

##glance-api 上传下载删除

27

##glance-registry  修改镜像的属性  x86  根分区大小

28

#修改glance-api配置文件

29

cp /etc/glance/glance-api.conf{,.bak}

30

grep -Ev '^$|#' /etc/glance/glance-api.conf.bak >/etc/glance/glance-api.conf

31

vim /etc/glance/glance-api.conf

32

[DEFAULT]

33

[cors]

34

[cors.subdomain]

35

[database]

36

connection = mysql+pymysql://glance:123456@controller/glance

37

[glance_store]

38

stores = file,http

39

default_store = file

40

filesystem_store_datadir = /var/lib/glance/images/

41

[image_format]

42

[keystone_authtoken]

43

auth_uri = http://controller:5000

44

auth_url = http://controller:35357

45

memcached_servers = controller:11211

46

auth_type = password

47

project_domain_name = default

48

user_domain_name = default

49

project_name = service

50

username = glance

51

password = 123456

52

[matchmaker_redis]

53

[oslo_concurrency]

54

[oslo_messaging_amqp]

55

[oslo_messaging_kafka]

56

[oslo_messaging_notifications]

57

[oslo_messaging_rabbit]

58

[oslo_messaging_zmq]

59

[oslo_middleware]

60

[oslo_policy]

61

[paste_deploy]

62

flavor = keystone

63

[profiler]

64

[store_type_location_strategy]

65

[task]

66

[taskflow_executor]

67

##校验

68

md5sum /etc/glance/glance-api.conf

69

a42551f0c7e91e80e0702ff3cd3fc955  /etc/glance/glance-api.conf

70


71

##修改glance-registry.conf配置文件

72

cp /etc/glance/glance-registry.conf{,.bak} 

73

grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak >/etc/glance/glance-registry.conf

74

vim /etc/glance/glance-registry.conf

75

[DEFAULT]

76

[database]

77

connection = mysql+pymysql://glance:123456@controller/glance

78

[keystone_authtoken]

79

auth_uri = http://controller:5000

80

auth_url = http://controller:35357

81

memcached_servers = controller:11211

82

auth_type = password

83

project_domain_name = default

84

user_domain_name = default

85

project_name = service

86

username = glance

87

password = 123456

88

[matchmaker_redis]

89

[oslo_messaging_amqp]

90

[oslo_messaging_kafka]

91

[oslo_messaging_notifications]

92

[oslo_messaging_rabbit]

93

[oslo_messaging_zmq]

94

[oslo_policy]

95

[paste_deploy]

96

flavor = keystone

97

[profiler]

98

##校验

99

md5sum /etc/glance/glance-registry.conf

100

5b28716e936cc7a0ab2a841c914cd080  /etc/glance/glance-registry.conf

101


102

6:同步数据库(创表)

103

su -s /bin/sh -c "glance-manage db_sync" glance

104

mysql glance -e 'show tables;'|wc -l

105

7:启动服务

106

systemctl enable openstack-glance-api.service \

107

  openstack-glance-registry.service

108

systemctl start openstack-glance-api.service \

109

  openstack-glance-registry.service

110

#验证端口

111

netstat -lntup|grep -E '9191|9292'

112

8:命令行上传镜像

113

wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

114

openstack image create "cirros"   --file cirros-0.3.5-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public

115

##验证

116

ll /var/lib/glance/images/

117

#或

118

openstack image list

119


7.4 安装nova服务

7.4.1 控制节点安装nova服务

1:创库授权

xxxxxxxxxx

15

1

 CREATE DATABASE nova_api;

2

 CREATE DATABASE nova;

3

 CREATE DATABASE nova_cell0;

4

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \

5

  IDENTIFIED BY '123456';

6

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \

7

  IDENTIFIED BY '123456';

8

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \

9

  IDENTIFIED BY '123456';

10

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \

11

  IDENTIFIED BY '123456';

12

GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \

13

  IDENTIFIED BY '123456';

14

GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \

15

  IDENTIFIED BY '123456';

2:keystone上创建用户,关联角色

xxxxxxxxxx

5

1

openstack user create --domain default --password 123456 nova

2

openstack role add --project service --user nova admin

3

#placement 追踪云主机的资源使用具体情况

4

openstack user create --domain default --password 123456 placement

5

openstack role add --project service --user placement admin

3:keystone上创建服务,http访问地址(api地址)

xxxxxxxxxx

8

1

openstack service create --name nova --description "OpenStack Compute" compute

2

openstack endpoint create --region RegionOne   compute public http://controller:8774/v2.1

3

openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1

4

openstack endpoint create --region RegionOne  compute admin http://controller:8774/v2.1

5

openstack service create --name placement --description "Placement API" placement

6

openstack endpoint create --region RegionOne placement public http://controller:8778

7

openstack endpoint create --region RegionOne placement internal http://controller:8778

8

openstack endpoint create --region RegionOne placement admin http://controller:8778

4:安装服务软件包

xxxxxxxxxx

3

1

yum install openstack-nova-api openstack-nova-conductor \

2

  openstack-nova-console openstack-nova-novncproxy \

3

  openstack-nova-scheduler openstack-nova-placement-api -y

5:修改配置文件(连接数据库,keystone授权)

xxxxxxxxxx

110

1

#修改nova配置文件

2

vim /etc/nova/nova.conf

3

[DEFAULT]

4

##启动nova服务api和metadata的api

5

enabled_apis = osapi_compute,metadata

6

##连接消息队列rabbitmq

7

transport_url = rabbit://openstack:123456@controller

8

my_ip = 10.0.0.11

9

#启动neutron网络服务,禁用nova内置防火墙

10

use_neutron = True

11

firewall_driver = nova.virt.firewall.NoopFirewallDriver

12

[api]

13

auth_strategy = keystone

14

[api_database]

15

connection = mysql+pymysql://nova:123456@controller/nova_api

16

[barbican]

17

[cache]

18

[cells]

19

[cinder]

20

[cloudpipe]

21

[conductor]

22

[console]

23

[consoleauth]

24

[cors]

25

[cors.subdomain]

26

[crypto]

27

[database]

28

connection = mysql+pymysql://nova:123456@controller/nova

29

[ephemeral_storage_encryption]

30

[filter_scheduler]

31

[glance]

32

api_servers = http://controller:9292

33

[guestfs]

34

[healthcheck]

35

[hyperv]

36

[image_file_url]

37

[ironic]

38

[key_manager]

39

[keystone_authtoken]

40

auth_uri = http://controller:5000

41

auth_url = http://controller:35357

42

memcached_servers = controller:11211

43

auth_type = password

44

project_domain_name = default

45

user_domain_name = default

46

project_name = service

47

username = nova

48

password = 123456

49

[libvirt]

50

[matchmaker_redis]

51

[metrics]

52

[mks]

53

[neutron]

54

[notifications]

55

[osapi_v21]

56

[oslo_concurrency]

57

lock_path = /var/lib/nova/tmp

58

[oslo_messaging_amqp]

59

[oslo_messaging_kafka]

60

[oslo_messaging_notifications]

61

[oslo_messaging_rabbit]

62

[oslo_messaging_zmq]

63

[oslo_middleware]

64

[oslo_policy]

65

[pci]

66

#追踪虚拟机使用资源情况

67

[placement]

68

os_region_name = RegionOne

69

project_domain_name = Default

70

project_name = service

71

auth_type = password

72

user_domain_name = Default

73

auth_url = http://controller:35357/v3

74

username = placement

75

password = 123456

76

[quota]

77

[rdp]

78

[remote_debug]

79

[scheduler]

80

[serial_console]

81

[service_user]

82

[spice]

83

[ssl]

84

[trusted_computing]

85

[upgrade_levels]

86

[vendordata_dynamic_auth]

87

[vmware]

88

#vnc的连接信息

89

[vnc]

90

enabled = true

91

vncserver_listen = $my_ip

92

vncserver_proxyclient_address = $my_ip

93

[workarounds]

94

[wsgi]

95

[xenserver]

96

[xvp]

97

#修改httpd配置文件

98

vi  /etc/httpd/conf.d/00-nova-placement-api.conf

99

在16行</VirtualHost>这一行上面增加以下内容

100

<Directory /usr/bin>

101

   <IfVersion >= 2.4>

102

      Require all granted

103

   </IfVersion>

104

   <IfVersion < 2.4>

105

      Order allow,deny

106

      Allow from all

107

   </IfVersion>

108

</Directory>

109

#重启httpd

110

systemctl restart httpd

6:同步数据库(创表)

xxxxxxxxxx

6

1

su -s /bin/sh -c "nova-manage api_db sync" nova

2

su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

3

su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

4

su -s /bin/sh -c "nova-manage db sync" nova

5

#检查

6

nova-manage cell_v2 list_cells

7:启动服务

xxxxxxxxxx

8

1

systemctl enable openstack-nova-api.service \

2

  openstack-nova-consoleauth.service openstack-nova-scheduler.service \

3

  openstack-nova-conductor.service openstack-nova-novncproxy.service

4

systemctl start openstack-nova-api.service \

5

  openstack-nova-consoleauth.service openstack-nova-scheduler.service \

6

  openstack-nova-conductor.service openstack-nova-novncproxy.service

7

#检查

8

openstack compute service list

7.4.2计算节点安装nova服务

1:安装

xxxxxxxxxx

1

1

yum install openstack-nova-compute -y

2:配置

xxxxxxxxxx

90

1

#修改配置文件/etc/nova/nova.conf

2

vim /etc/nova/nova.conf

3

[DEFAULT]

4

enabled_apis = osapi_compute,metadata

5

transport_url = rabbit://openstack:123456@controller

6

my_ip = 10.0.0.31

7

use_neutron = True

8

firewall_driver = nova.virt.firewall.NoopFirewallDriver

9

[api]

10

auth_strategy = keystone

11

[api_database]

12

[barbican]

13

[cache]

14

[cells]

15

[cinder]

16

[cloudpipe]

17

[conductor]

18

[console]

19

[consoleauth]

20

[cors]

21

[cors.subdomain]

22

[crypto]

23

[database]

24

[ephemeral_storage_encryption]

25

[filter_scheduler]

26

[glance]

27

api_servers = http://controller:9292

28

[guestfs]

29

[healthcheck]

30

[hyperv]

31

[image_file_url]

32

[ironic]

33

[key_manager]

34

[keystone_authtoken]

35

auth_uri = http://controller:5000

36

auth_url = http://controller:35357

37

memcached_servers = controller:11211

38

auth_type = password

39

project_domain_name = default

40

user_domain_name = default

41

project_name = service

42

username = nova

43

password = 123456

44

[libvirt]

45

[matchmaker_redis]

46

[metrics]

47

[mks]

48

[neutron]

49

[notifications]

50

[osapi_v21]

51

[oslo_concurrency]

52

lock_path = /var/lib/nova/tmp

53

[oslo_messaging_amqp]

54

[oslo_messaging_kafka]

55

[oslo_messaging_notifications]

56

[oslo_messaging_rabbit]

57

[oslo_messaging_zmq]

58

[oslo_middleware]

59

[oslo_policy]

60

[pci]

61

[placement]

62

os_region_name = RegionOne

63

project_domain_name = Default

64

project_name = service

65

auth_type = password

66

user_domain_name = Default

67

auth_url = http://controller:35357/v3

68

username = placement

69

password = 123456

70

[quota]

71

[rdp]

72

[remote_debug]

73

[scheduler]

74

[serial_console]

75

[service_user]

76

[spice]

77

[ssl]

78

[trusted_computing]

79

[upgrade_levels]

80

[vendordata_dynamic_auth]

81

[vmware]

82

[vnc]

83

enabled = True

84

vncserver_listen = 0.0.0.0

85

vncserver_proxyclient_address = $my_ip

86

novncproxy_base_url = http://controller:6080/vnc_auto.html

87

[workarounds]

88

[wsgi]

89

[xenserver]

90

[xvp]

3:启动

systemctl start libvirtd openstack-nova-compute.service systemctl enable libvirtd openstack-nova-compute.service

4:控制节点上验证

openstack compute service list

5:在控制节点上

发现计算节点:

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

7.5 安装neutron服务

7.5.1 在控制节点上安装neutron服务

1:创库授权

xxxxxxxxxx

5

1

CREATE DATABASE neutron;

2

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \

3

  IDENTIFIED BY 'NEUTRON_DBPASS';

4

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \

5

  IDENTIFIED BY 'NEUTRON_DBPASS';

2:keystone上创建用户,关联角色

xxxxxxxxxx

2

1

openstack user create --domain default --password NEUTRON_PASS neutron

2

openstack role add --project service --user neutron admin

3:keystone上创建服务,http访问地址(api地址)

xxxxxxxxxx

8

1

 openstack service create --name neutron \

2

  --description "OpenStack Networking" network

3

 openstack endpoint create --region RegionOne \

4

  network public http://controller:9696

5

openstack endpoint create --region RegionOne \

6

  network internal http://controller:9696

7

openstack endpoint create --region RegionOne \

8

  network admin http://controller:9696

4:安装服务软件包

#选择网络选项1

xxxxxxxxxx

2

1

yum install openstack-neutron openstack-neutron-ml2 \

2

  openstack-neutron-linuxbridge ebtables -y

5:修改配置文件(连接数据库,keystone授权)

xxxxxxxxxx

105

1

#修改neutron.conf

2

vim /etc/neutron/neutron.conf

3

[DEFAULT]

4

core_plugin = ml2

5

service_plugins =

6

transport_url = rabbit://openstack:123456@controller

7

auth_strategy = keystone

8

notify_nova_on_port_status_changes = true

9

notify_nova_on_port_data_changes = true

10

[agent]

11

[cors]

12

[cors.subdomain]

13

[database]

14

connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

15

[keystone_authtoken]

16

auth_uri = http://controller:5000

17

auth_url = http://controller:35357

18

memcached_servers = controller:11211

19

auth_type = password

20

project_domain_name = default

21

user_domain_name = default

22

project_name = service

23

username = neutron

24

password = NEUTRON_PASS

25

[matchmaker_redis]

26

[nova]

27

auth_url = http://controller:35357

28

auth_type = password

29

project_domain_name = default

30

user_domain_name = default

31

region_name = RegionOne

32

project_name = service

33

username = nova

34

password = 123456

35

[oslo_concurrency]

36

lock_path = /var/lib/neutron/tmp

37

[oslo_messaging_amqp]

38

[oslo_messaging_kafka]

39

[oslo_messaging_notifications]

40

[oslo_messaging_rabbit]

41

[oslo_messaging_zmq]

42

[oslo_middleware]

43

[oslo_policy]

44

[qos]

45

[quotas]

46

[ssl]

47

##修改ml2_conf.ini

48

vim /etc/neutron/plugins/ml2/ml2_conf.ini

49

[DEFAULT]

50

[ml2]

51

type_drivers = flat,vlan

52

tenant_network_types =

53

mechanism_drivers = linuxbridge

54

extension_drivers = port_security

55

[ml2_type_flat]

56

flat_networks = provider

57

[ml2_type_geneve]

58

[ml2_type_gre]

59

[ml2_type_vlan]

60

[ml2_type_vxlan]

61

[securitygroup]

62

enable_ipset = true

63

##编辑linuxbridge_agent.ini

64

vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

65

[DEFAULT]

66

[agent]

67

[linux_bridge]

68

physical_interface_mappings = provider:eth0

69

[securitygroup]

70

enable_security_group = true

71

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

72

[vxlan]

73

enable_vxlan = false

74

##编辑dhcp_agent.ini

75

vim /etc/neutron/dhcp_agent.ini

76

[DEFAULT]

77

interface_driver = linuxbridge

78

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

79

enable_isolated_metadata = true

80

[agent]

81

[ovs]

82

##编辑

83

vim /etc/neutron/metadata_agent.ini

84

[DEFAULT]

85

nova_metadata_ip = controller

86

metadata_proxy_shared_secret = METADATA_SECRET

87

[agent]

88

[cache]

89

####编辑控制节点。nova配置文件

90

vim  /etc/nova/nova.conf

91

[neutron]

92

url = http://controller:9696

93

auth_url = http://controller:35357

94

auth_type = password

95

project_domain_name = default

96

user_domain_name = default

97

region_name = RegionOne

98

project_name = service

99

username = neutron

100

password = NEUTRON_PASS

101

service_metadata_proxy = true

102

metadata_proxy_shared_secret = METADATA_SECRET

103

#再次验证控制节点nova配置文件

104

md5sum /etc/nova/nova.conf

105

2c5e119c2b8a2f810bf5e0e48c099047  /etc/nova/nova.conf

6:同步数据库(创表)

xxxxxxxxxx

3

1

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

2

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \

3

  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

7:启动服务

xxxxxxxxxx

9

1

systemctl restart openstack-nova-api.service

2

systemctl enable neutron-server.service \

3

  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

4

  neutron-metadata-agent.service

5

systemctl restart neutron-server.service \

6

  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

7

  neutron-metadata-agent.service

8

#验证方法

9

openstack  network  agent list

7.5.2 在计算节点上安装neutron服务

1:安装

xxxxxxxxxx

1

1

yum install openstack-neutron-linuxbridge ebtables ipset

2:配置

xxxxxxxxxx

50

1

#修改neutron.conf

2

vim /etc/neutron/neutron.conf

3

[DEFAULT]

4

transport_url = rabbit://openstack:123456@controller

5

auth_strategy = keystone

6

[agent]

7

[cors]

8

[cors.subdomain]

9

[database]

10

[keystone_authtoken]

11

auth_uri = http://controller:5000

12

auth_url = http://controller:35357

13

memcached_servers = controller:11211

14

auth_type = password

15

project_domain_name = default

16

user_domain_name = default

17

project_name = service

18

username = neutron

19

password = NEUTRON_PASS

20

[matchmaker_redis]

21

[nova]

22

[oslo_concurrency]

23

lock_path = /var/lib/neutron/tmp

24

[oslo_messaging_amqp]

25

[oslo_messaging_kafka]

26

[oslo_messaging_notifications]

27

[oslo_messaging_rabbit]

28

[oslo_messaging_zmq]

29

[oslo_middleware]

30

[oslo_policy]

31

[qos]

32

[quotas]

33

[ssl]

34

##linux_agent配置文件

35

scp -rp 10.0.0.11:/etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini

36

##在计算节点上,再次修改nova.conf

37

vim  /etc/nova/nova.conf

38

[neutron]

39

url = http://controller:9696

40

auth_url = http://controller:35357

41

auth_type = password

42

project_domain_name = default

43

user_domain_name = default

44

region_name = RegionOne

45

project_name = service

46

username = neutron

47

password = NEUTRON_PASS

48

#校验

49

md5sum /etc/nova/nova.conf

50

91cc8aa0f7e33d7b824301cc894e90f1  /etc/nova/nova.conf

3:启动

xxxxxxxxxx

3

1

systemctl restart openstack-nova-compute.service

2

systemctl enable neutron-linuxbridge-agent.service

3

systemctl start neutron-linuxbridge-agent.service
  • 7.6 安装dashboard服务

    #计算节点安装dashboard

    1:安装

xxxxxxxxxx

1

1

yum install openstack-dashboard -y

2:配置

rz local_settings

cat local_settings >/etc/openstack-dashboard/local_settings

3:启动

systemctl start httpd

4: 访问dashboard

访问:http://10.0.0.31/dashboard

  • 7.7 启动一台云主机

xxxxxxxxxx

13

1

#创建网络

2

neutron net-create --shared --provider:physical_network provider --provider:network_type flat WAN

3

neutron subnet-create --name subnet-wan --allocation-pool \

4

start=10.0.0.100,end=10.0.0.200 --dns-nameserver 223.5.5.5 \

5

--gateway 10.0.0.254 WAN 10.0.0.0/24

6

#创建硬件配置方案

7

openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

8

#上传秘钥对

9

ssh-keygen -q -N "" -f ~/.ssh/id_rsa

10

openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

11

#安全组开放ping和ssh

12

openstack security group rule create --proto icmp default

13

openstack security group rule create --proto tcp --dst-port 22 default
  • 7.8 安装块存储cinder服务 云硬盘服务

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容