openstack 安装

环境准备

主机名称 IP地址 最小资源配置
openstack 192.168.1.10 2CPU,8G内存
nova01 192.168.1.11 2CPU,3G内存
nova02 192.168.1.12 2CPU,3G内存
repo 192.168.1.250 2CPU,1G内存

上传 RHEL7-extras.iso、RHEL7OSP-10.iso 到功能服务器[repo]

功能服务器安装配置

时间源服务器

[root@repo ~]# yum install -y chrony
[root@repo ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server ntp.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
local stratum 10
[root@repo ~]# systemctl enable chronyd
[root@repo ~]# systemctl restart chronyd
[root@repo ~]# ss -ltun  # 查看 123 端口是否被监听成功

网络yum源服务器

[root@repo ~]# yum install -y vsftpd
[root@repo ~]# systemctl enable --now vsftpd
[root@repo ~]# mkdir -p /var/ftp/{extras,openstack}
[root@repo ~]# cd /var/iso
[root@repo ~]# mount -t iso9660 -o ro,loop RHEL7-extras.iso /var/ftp/extras
[root@repo ~]# mount -t iso9660 -o ro,loop RHEL7OSP-10.iso /var/ftp/openstack
# 在openstack上验证
[root@openstack ~]# curl ftp://192.168.1.250/extras/
[root@openstack ~]# curl ftp://192.168.1.250/openstack/

openstack 实验架构图例

#mermaid-svg-PRuZOXKZioQtD2Sj .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .label text{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .node rect,#mermaid-svg-PRuZOXKZioQtD2Sj .node circle,#mermaid-svg-PRuZOXKZioQtD2Sj .node ellipse,#mermaid-svg-PRuZOXKZioQtD2Sj .node polygon,#mermaid-svg-PRuZOXKZioQtD2Sj .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-PRuZOXKZioQtD2Sj .node .label{text-align:center;fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .node.clickable{cursor:pointer}#mermaid-svg-PRuZOXKZioQtD2Sj .arrowheadPath{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-PRuZOXKZioQtD2Sj .flowchart-link{stroke:#333;fill:none}#mermaid-svg-PRuZOXKZioQtD2Sj .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-PRuZOXKZioQtD2Sj .edgeLabel rect{opacity:0.9}#mermaid-svg-PRuZOXKZioQtD2Sj .edgeLabel span{color:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-PRuZOXKZioQtD2Sj .cluster text{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-PRuZOXKZioQtD2Sj .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-PRuZOXKZioQtD2Sj text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-PRuZOXKZioQtD2Sj .actor-line{stroke:grey}#mermaid-svg-PRuZOXKZioQtD2Sj .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-PRuZOXKZioQtD2Sj #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .sequenceNumber{fill:#fff}#mermaid-svg-PRuZOXKZioQtD2Sj #sequencenumber{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj #crosshead path{fill:#333;stroke:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .messageText{fill:#333;stroke:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-PRuZOXKZioQtD2Sj .labelText,#mermaid-svg-PRuZOXKZioQtD2Sj .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-PRuZOXKZioQtD2Sj .loopText,#mermaid-svg-PRuZOXKZioQtD2Sj .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-PRuZOXKZioQtD2Sj .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-PRuZOXKZioQtD2Sj .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-PRuZOXKZioQtD2Sj .noteText,#mermaid-svg-PRuZOXKZioQtD2Sj .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-PRuZOXKZioQtD2Sj .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-PRuZOXKZioQtD2Sj .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-PRuZOXKZioQtD2Sj .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-PRuZOXKZioQtD2Sj .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .section{stroke:none;opacity:0.2}#mermaid-svg-PRuZOXKZioQtD2Sj .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-PRuZOXKZioQtD2Sj .section2{fill:#fff400}#mermaid-svg-PRuZOXKZioQtD2Sj .section1,#mermaid-svg-PRuZOXKZioQtD2Sj .section3{fill:#fff;opacity:0.2}#mermaid-svg-PRuZOXKZioQtD2Sj .sectionTitle0{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .sectionTitle1{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .sectionTitle2{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .sectionTitle3{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-PRuZOXKZioQtD2Sj .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .grid path{stroke-width:0}#mermaid-svg-PRuZOXKZioQtD2Sj .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-PRuZOXKZioQtD2Sj .task{stroke-width:2}#mermaid-svg-PRuZOXKZioQtD2Sj .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .taskText:not([font-size]){font-size:11px}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-PRuZOXKZioQtD2Sj .task.clickable{cursor:pointer}#mermaid-svg-PRuZOXKZioQtD2Sj .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-PRuZOXKZioQtD2Sj .taskText0,#mermaid-svg-PRuZOXKZioQtD2Sj .taskText1,#mermaid-svg-PRuZOXKZioQtD2Sj .taskText2,#mermaid-svg-PRuZOXKZioQtD2Sj .taskText3{fill:#fff}#mermaid-svg-PRuZOXKZioQtD2Sj .task0,#mermaid-svg-PRuZOXKZioQtD2Sj .task1,#mermaid-svg-PRuZOXKZioQtD2Sj .task2,#mermaid-svg-PRuZOXKZioQtD2Sj .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutside0,#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutside2{fill:#000}#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutside1,#mermaid-svg-PRuZOXKZioQtD2Sj .taskTextOutside3{fill:#000}#mermaid-svg-PRuZOXKZioQtD2Sj .active0,#mermaid-svg-PRuZOXKZioQtD2Sj .active1,#mermaid-svg-PRuZOXKZioQtD2Sj .active2,#mermaid-svg-PRuZOXKZioQtD2Sj .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-PRuZOXKZioQtD2Sj .activeText0,#mermaid-svg-PRuZOXKZioQtD2Sj .activeText1,#mermaid-svg-PRuZOXKZioQtD2Sj .activeText2,#mermaid-svg-PRuZOXKZioQtD2Sj .activeText3{fill:#000 !important}#mermaid-svg-PRuZOXKZioQtD2Sj .done0,#mermaid-svg-PRuZOXKZioQtD2Sj .done1,#mermaid-svg-PRuZOXKZioQtD2Sj .done2,#mermaid-svg-PRuZOXKZioQtD2Sj .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-PRuZOXKZioQtD2Sj .doneText0,#mermaid-svg-PRuZOXKZioQtD2Sj .doneText1,#mermaid-svg-PRuZOXKZioQtD2Sj .doneText2,#mermaid-svg-PRuZOXKZioQtD2Sj .doneText3{fill:#000 !important}#mermaid-svg-PRuZOXKZioQtD2Sj .crit0,#mermaid-svg-PRuZOXKZioQtD2Sj .crit1,#mermaid-svg-PRuZOXKZioQtD2Sj .crit2,#mermaid-svg-PRuZOXKZioQtD2Sj .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-PRuZOXKZioQtD2Sj .activeCrit0,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCrit1,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCrit2,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-PRuZOXKZioQtD2Sj .doneCrit0,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCrit1,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCrit2,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-PRuZOXKZioQtD2Sj .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-PRuZOXKZioQtD2Sj .milestoneText{font-style:italic}#mermaid-svg-PRuZOXKZioQtD2Sj .doneCritText0,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCritText1,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCritText2,#mermaid-svg-PRuZOXKZioQtD2Sj .doneCritText3{fill:#000 !important}#mermaid-svg-PRuZOXKZioQtD2Sj .activeCritText0,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCritText1,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCritText2,#mermaid-svg-PRuZOXKZioQtD2Sj .activeCritText3{fill:#000 !important}#mermaid-svg-PRuZOXKZioQtD2Sj .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-PRuZOXKZioQtD2Sj g.classGroup text .title{font-weight:bolder}#mermaid-svg-PRuZOXKZioQtD2Sj g.clickable{cursor:pointer}#mermaid-svg-PRuZOXKZioQtD2Sj g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-PRuZOXKZioQtD2Sj g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-PRuZOXKZioQtD2Sj .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-PRuZOXKZioQtD2Sj .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-PRuZOXKZioQtD2Sj .dashed-line{stroke-dasharray:3}#mermaid-svg-PRuZOXKZioQtD2Sj #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj .commit-id,#mermaid-svg-PRuZOXKZioQtD2Sj .commit-msg,#mermaid-svg-PRuZOXKZioQtD2Sj .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-PRuZOXKZioQtD2Sj g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-PRuZOXKZioQtD2Sj g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-PRuZOXKZioQtD2Sj g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-PRuZOXKZioQtD2Sj .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-PRuZOXKZioQtD2Sj .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-PRuZOXKZioQtD2Sj .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-PRuZOXKZioQtD2Sj .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-PRuZOXKZioQtD2Sj .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-PRuZOXKZioQtD2Sj .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-PRuZOXKZioQtD2Sj .edgeLabel text{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-PRuZOXKZioQtD2Sj .node circle.state-start{fill:black;stroke:black}#mermaid-svg-PRuZOXKZioQtD2Sj .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-PRuZOXKZioQtD2Sj #statediagram-barbEnd{fill:#9370db}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-state .divider{stroke:#9370db}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-PRuZOXKZioQtD2Sj .note-edge{stroke-dasharray:5}#mermaid-svg-PRuZOXKZioQtD2Sj .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-PRuZOXKZioQtD2Sj .error-icon{fill:#522}#mermaid-svg-PRuZOXKZioQtD2Sj .error-text{fill:#522;stroke:#522}#mermaid-svg-PRuZOXKZioQtD2Sj .edge-thickness-normal{stroke-width:2px}#mermaid-svg-PRuZOXKZioQtD2Sj .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-PRuZOXKZioQtD2Sj .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-PRuZOXKZioQtD2Sj .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-PRuZOXKZioQtD2Sj .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-PRuZOXKZioQtD2Sj .marker{fill:#333}#mermaid-svg-PRuZOXKZioQtD2Sj .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-PRuZOXKZioQtD2Sj {color: rgba(0, 0, 0, 0.75);font: ;}

Windows/真机
nova01
nova02
openstack
nova-computer
管理节点
nova-computer
libvirtd
eth0
br-ex
vm
vm
vm
eth0
br-ex
vm
vm
vm
libvirtd

openstack系统环境安装配置

以下操作,openstack,nova01 都需要做

[root@openstack ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[root@openstack ~]# yum -y remove firewalld-*
[root@openstack ~]# reboot
# 重启后验证
[root@openstack ~]# sestatus
SELinux status:                 disabled
[root@openstack ~]# rpm -qa |grep -i firewalld
[root@openstack ~]#

卸载 NetworkManager

[root@openstack ~]# systemctl stop NetworkManager
[root@openstack ~]# yum remove -y NetworkManager
[root@openstack ~]# systemctl enable --now network

网卡配置文件注解

  • # Generated by dracut initrd # 注释
  • DEVICE=“eth0” # 驱动名称,与ifconfig 看到的名称一致
  • ONBOOT=“yes” # 开机启动
  • NM_CONTROLLED=“no” # 不接受 NetworkManager 控制
  • TYPE=“Ethernet” # 类型
  • BOOTPROTO=“static” # 协议(dhcp|static|none)
  • IPADDR=“192.168.1.10” # IP地址
  • NETMASK=“255.255.255.0” # 子网掩码
  • GATEWAY=“192.168.1.254” # 默认网关

Yum安装源配置

确认软件包总数是 10670

[root@openstack ~]# vim /etc/yum.repos.d/openstack.repo
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://192.168.1.250/extras"
enabled=1
gpgcheck=0[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[root@openstack ~]# yum makecache
[root@openstack ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670

时间服务器配置

[root@openstack ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server 192.168.1.250 iburst
[root@openstack ~]# systemctl restart chronyd
[root@openstack ~]# chronyc sources -v  # 验证配置 ^* 代表成功

主机名与DNS配置

[root@openstack ~]# vim /etc/hosts
192.168.1.10    openstack
192.168.1.11    nova01
192.168.1.12    nova02
192.168.1.250   repo
# 删除所有 search 开头的行
[root@openstack ~]# sed '/^search /d' -i /etc/resolv.conf

nova虚拟环境安装

nova01 安装

[root@nova01 ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[root@nova01 ~]# systemctl enable --now libvirtd
[root@nova01 ~]# virsh version # 验证

packstack工具安装

只需要在 openstack 上安装即可

[root@openstack ~]# yum install -y python-setuptools openstack-packstack

openstack安装

使用应答文件安装,只需要在 openstack 上安装即可

# 创建应答文件
[root@openstack ~]# packstack --gen-answer-file=answer.ini
# 修改应答文件
42:   CONFIG_SWIFT_INSTALL=n                              //存储对象组件
45:   CONFIG_CEILOMETER_INSTALL=n                         //计费模块
49:   CONFIG_AODH_INSTALL=n                               //计费模块
53:   CONFIG_GNOCCHI_INSTALL=n                            //计费模块
75:   CONFIG_NTP_SERVERS=192.168.1.250                    //时间服务器
98:   CONFIG_COMPUTE_HOSTS=192.168.1.11                   //计算节点IP
102:  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11      //网络节点IP
333:  CONFIG_KEYSTONE_ADMIN_PW=a                          //管理员密码
840:  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan          //支持协议
910:  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //网桥设备
921:  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0         //出口网卡
1179: CONFIG_PROVISION_DEMO=n                             //演示模块

做快照!!!
做快照!!!
做快照!!!

安装过程大约 10 ~ 30 分钟不等

[root@openstack ~]# packstack --answer-file=answer.ini

web页面登录

修改 apache 配置

[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf
# 在配置文件倒数第三行添加
WSGIApplicationGroup %{GLOBAL}
[root@openstack ~]# systemctl reload httpd

浏览器访问 http://192.168.1.10/

命令行登录openstack

[root@openstack ~]# openstack user list
Missing value auth-url required for auth plugin password
# 没有登录获取数据失败
[root@openstack ~]# source keystonerc_admin
[root@openstack ~(keystone_admin)]# openstack user list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 0e5367062de6478a9fe2d0456cb5fddb | nova    |
| 27191744bc6349f5b34822c083f7874e | admin   |
| 803074aab6fe49a19b983d9fbb7322be | glance  |
| cf35dd75778d4479965e2f39771956de | neutron |
| d5f4ffae68e54210a6bb29fba36acaaa | cinder  |
+----------------------------------+---------+
# 登录以后获取数据成功

私有云 ——openstack相关推荐

  1. 私有云---openstack

    云分类: 三大服务模式: 公有云介绍: 私有云管理 openstack 实验架构图例  openstack介绍:  组件介绍: openstack初始化 主机名称 IP地址 角色 openstack ...

  2. 银联基于OpenStack的金融私有云建设实践

     银联基于OpenStack的金融私有云建设实践 发表于2015-10-06 17:17| 1390次阅读| 来源CSDN| 1 条评论| 作者中国银联 祖立军 OpenStackSaaS银联金融 ...

  3. VMware迁移到OpenStack私有云要了解的那些事

    VMware和OpenStack经常被描述为相互竞争的两种私有云技术.虽然这两种技术其实可以互补,但一些组织却选择从VMware迁移到OpenStack的私有云上. 让我们来看看这些组织如何能同时使用 ...

  4. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  5. 企业私有云应用之使用OZ制作openstack镜像

    最近工作忙,好久没写博客,现在正好有空介绍一下我这里使用私有云的经验. 现在分享一下如何使用oz自动化制作openstack镜像,下面有我自己制作centos 6.4 6.5 6.7 7.2与ubun ...

  6. 小米基于OpenStack搭建私有云平台技术架构大揭秘!

    摘要: 小米公司OpenStack项目的技术负责人潘晓东分享在使用OpenStack建设小米私有云平台的一些经验和踩过的一些坑,重点探讨在目前OpenStack还不太稳定的情况下,如何建设一个具备企业 ...

  7. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    本文转自网络文章,内容均为非盈利,一切版权原作者所有. 文章内容仅代表原作者独立观点,不代表本账号立场,转载此文章在于个人学习收藏,传递更多知识. 如有侵权,马上删除. 原文作者:世民谈云计算(微信公 ...

  8. 基于openstack安装部署私有云详细图文教程

    本文主要分享的是云计算.openstack的使用.私有云平台建设.云服务器云硬盘的构建和使用.从基本概念入手到私有云建设,信息量非常大.对于openstack的安装部署都是从官方文档中一步步的介绍,内 ...

  9. 瞬联基于OpenStack的私有云解决方案

    前言 不知不觉中已经接触云计算领域一年有余了,从CloudFoundry到OpenStack,从虚拟化到云平台,随着项目的深入发现要学的东西越来越多,但时间却总是不够用,所以也想借这篇博文对过去的20 ...

最新文章

  1. EKL相关(一)、安装环境
  2. 【图论】图,实现图(三种方式),二分图 详解
  3. information_schema系列八(事物,锁)
  4. postgresql数据库基础
  5. win7 32位php安装包下载地址,appserv官方下载|AppServ(php环境安装包)下载v8.6 64位/32位 支持win7/win8/win10_ IT猫扑网...
  6. 4000元性价比主机
  7. nginx https 根据应用不同的标识转发到不同的服务器端口
  8. SQL Server查询语句
  9. eclipse启动tomcat内存溢出解决方式
  10. 【git】结合Gerrit 代码审查工具的操作流程,工作流程
  11. 计算机专业课科目,考研计算机专业课科目有哪些
  12. 微分几何中映射的二度理解
  13. 自监督论文阅读笔记 Synergistic Self-supervised and Quantization Learning
  14. 介绍下微信刷票被禁了怎么办及微信拉票怎么人工买票的方法
  15. multiprocessing.pool详解
  16. 在资源管理器中隐藏指定分区
  17. Windows版Redis和Redis Desktop Manager安装
  18. 手把手教你做一个电子胸牌
  19. Vue3使用axios的配置教程
  20. css textarea行数_超级简单:在一个TextArea中如何限制行数和字符数

热门文章

  1. 给电脑某个程序禁用网络
  2. 01--Spring
  3. vue ajax轮训,VUE前端轮询实现
  4. vi/vim的常用快捷键
  5. Java 教程 目录
  6. 中文分词分类有哪些小黄鸡中文分词案例分析
  7. 新品评测:2021年iPad Pro与2020年、2018年iPad Pro对比
  8. 关于小程序的自定义三级联动与vant组建的三级联动,以及四级联动
  9. 世界国家,省市区,四级联动前台代码以及json数据
  10. 最小生成树 - Prim算法