• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    基于CentOS的OpenStack环境部署详细教程(OpenStack安装)

    效果展示:


    环境准备controller节点:

    6GB

    4H

    60GB/30GB/30GB

    compute节点

    6GB

    4H

    60G/60G

    admin节点(ceph admin管理节点)

    2GB

    4H

    60GB/6GB

    OpenStack简介

    OpenStack是一个开源的云平台管理项目,可以用于构建公有云或私有云平台,提供了基础设施及服务(Iaas)的解决方案,OpenStack是一个云操作系统,通过数据中心可控制计算、存储、网络等资源池,OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面,通过OpenStack可以启动、分配和管理虚拟机资源,所有的管理也都可以通过前端界面完成。

    OpenStack核心组件Nova

    计算管理服务,管理虚拟机实例的整个生命周期,负责虚拟机的创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁,资源分配等操作,通过API对外提供服务,使用KeyStone来进行身份验证,使用Horizon作为其管理接口,使用Glance提供其镜像,这样使得Nova可管理计算资源、网络和认证。

    Neutron

    网络管理服务,为多租户环境下的每个租户提供独立的网络环境,Neutron为整个OpenStack环境提供网络支持,可以定义Network,Subent(子网),Router(路由),配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN等,并且支持众多流行的网络管理插件,如:OpenvSwitch。

    Cinder

    块存储服务,支持不同的存储后端,包括ceph,glusterfs等,它是存储虚拟机以及虚拟机使用的数据的基础,Cinder提供了块存储设备的访问以及管理,对OpenStack主机,存储以块设备的形式出现,使用ISCSI,NFS,ceph或其他一些专门协议作为后端的连接;Cinder的接口指定了一系列的独立的功能,包括创建卷、删除卷、挂载卷等基本功能,还有一些高级功能如扩展卷、快照、从VM镜像克隆等。

    Swift

    对象存储服务,为OpenStack集群提供跨节点的分布式大规模对象存储服务,它是通过RESTful接口来存储和检索非结构化的数据对象,它是一个高容错可伸缩的存储架构。对象存储是将相应的数据存储为二进制对象,而不是文件,一般通过一条指令就可以存储或检索到整个对象。

    Keystone

    认证管理服务,是OpenStack框架中负责管理身份验证、服务规则和服务令牌功能的模块,管理Domains、Project、Users、Groups、Roles,使用MySQL作为统一的数据库,用户访问资源需要验证用户的身份和权限,服务执行操作也需要进行权限检测,这些都需要通过Keystone来处理,OpenStack服务通过Keystone来注册其Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过KeyStone的身份验证,获得到目标的Endpoint,然后再调用。

    Glance

    镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包括镜像的查找,注册,检索,导入,格式,以及制作相应的模板,它支持多种虚拟机镜像格式,有创建镜像、删除镜像、编辑镜像基本信息的功能,Glance提供RESTfulAPI可以查询虚拟机镜像的metadata以及获取镜像,Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。

    Horizon

    用户交互界面,是OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等

    安装CentOS

    yum install vim

    在cmd窗口输入以下命令查看网段

    ipconfig /all

    修改网卡信息

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.12.18
    PREFIX=24
    GATEWAY=192.168.12.1
    DNS1=192.168.111.2

    重启网络服务

    service network restart

    controller

    ens33 192.168.12.18(提供浮动IP,出网地址)

    ens34 192.168.12.118(内网之间通信)

    compute

    ens33 192.168.12.140(提供浮动IP,出网地址)

    ens34 192.168.12.240(内网之间通信)

    # 立即重启
    shutdown -r now

    初始化各节点

    yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server

    关闭防火墙、networkmanager,iptables,selinux(各个节点操作)

    systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager
    systemctl stop iptables && systemctl disable iptables

    修改selinux

    vim /etc/sysconfig/selinux
    SELINUX=disabled

    修改hosts

    vim /etc/hosts
    192.168.12.118 controller
    192.168.12.240 compute

    修改主机名

    hostnamectl set-hostname controller
    hostnamectl set-hostname compute

    时间同步

    ntpdate cn.pool.ntp.org

    配置无密码登陆,各个节点操作

    ssh-keygen -t rsa 
    #一直回车即可
    ssh-copy-id -i .ssh/id_rsa.pub controller
    ssh-copy-id -i .ssh/id_rsa.pub computer

    用xftp上传openstack离线软件包到root目录下(在controller和compute节点操作)

    在root下创建一个目录openstack,然后把软件包解压到这个目录下

    mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz 

    把openstack目录整体移动到/下(controller和computer节点操作)

    mv openstack /

    重新配置yum源(controller和computer节点都操作)

    cd /etc/yum.repos.d/ 
    mkdir bak 
    mv CentOS-* bak/ 
    mv epel* bak/
    cp bak/CentOS-Base.repo ./

    生成一个新的openstack的yum源

    cat <<EOF > /etc/yum.repos.d/openstack.repo 
    [openstack]
    enable=1
    gpgcheck=0
    baseurl=file:///openstack
    EOF

    清缓存

    yum makecache

    openstack应答文件安装(controller节点操作)

    yum install centos-release-openstack-newton -y
    cd /etc/yum.repos.d 
    mv *.repo bak/ 
    cp bak/openstack.repo ./ 
    cp bak/CentOS-Base.repo ./

    清缓存

    yum makecache
    yum install openstack-packstack -y
    cd /root
    packstack --gen-answer-file=openstack.txt 

    结束后会生成一个应答文件openstack.txt

    修改openstack.txt文件

    修改的内容如下

    CONFIG_DEFAULT_PASSWORD=123456
    CONFIG_SWIFT_INSTALL=n
    CONFIG_NAGIOS_INSTALL=n
    CONFIG_CINDER_VOLUMES_SIZE=10G
    CONFIG_PROVISION_DEMO=n
    CONFIG_LBAAS_INSTALL=y
    CONFIG_NEUTRON_FWAAS=y
    CONFIG_NEUTRON_VPNAAS=y
    CONFIG_CONTROLLER_HOST=192.168.12.118
    CONFIG_COMPUTE_HOSTS=192.168.12.240
    CONFIG_NETWORK_HOSTS=192.168.12.240

    基于应答文件安装组件

    packstack --answer-file=openstack.txt

    安装过程需要查看iptables状态,在controller和computer节点

    systemctl status iptables

    如果发现iptables处于active状态,需要停掉

    systemctl stop iptables

    看到如下说明安装成功

    Installation completed successfully

    启动rabbitmq的管理界面(controller节点操作)

    rabbitmq-plugins enable rabbitmq_management

    在浏览器访问

    192.168.124.200:15672

    账号:guest

    密码:guest

    登陆openstack的dashboad界面

    在浏览器输入:

    192.168.124.200

    账号:admin

    密码:

    获取密码

    cd /root
    cat keystonerc_admin

    KeyStone配置优化

    在controller节点操作

    修改keystone.conf

    vim /etc/keystone/keystone.conf 

    在default字段下面添加如下一行

    memcache_servers = 192.168.12.118:11211

    重启服务

    systemctl restart httpd

    如果OpenStack可以正常访问则代表配置成功

    glance配置优化

    修改glance-api.conf

    vim /etc/glance/glance-api.conf 

    在顶部添加

    memcache_servers = 192.168.12.118:11211

    修改glance-registry.conf

    vim /etc/glance/glance-registry.conf 

    在顶部添加

    memcache_servers = 192.168.12.118:11211

    重启服务

    systemctl restart openstack-glance-api
    systemctl restart openstack-glance-registry

    nova配置优化在controller节点修改

    修改nova.conf

    vim /etc/nova/nova.conf

    在顶部添加memcahce缓存

    memcache_servers = 192.168.12.118:11211

    原来是只有地址,没有http协议,需要加上http协议

    api_servers=http://192.168.12.118:9292 

    在第一行[DEFAULT]下面加上这行

    transport_url=rabbit://guest:guest@192.168.12.118 

    原来的ip改成这个,并且打开注释

    my_ip=192.168.12.118

    原来是0.0.0.0,现在改成这个

    vncserver_listen=192.168.12.118

    原来是主机名,改成这个主机IP

    vncserver_proxyclient_address=192.168.12.118

    上面修改好之后重新启动服务

    systemctl restart openstack-nova-api.service \
    
     openstack-nova-consoleauth.service openstack-nova-scheduler.service \
    
     openstack-nova-conductor.s:ervice openstack-nova-novncproxy.service

    在compute节点修改

    修改配置文件nova.conf

    vim /etc/nova/nova.conf 

    在第一行[DEFAULT]字段加如下一行

    memcache_servers=192.168.12.118:11211

    这行注释打开,变成这个ip地址

    transport_url=rabbit://guest:guest@192.168.12.118

    这行注释打开,ip变成这个主机ip

    api_servers=http://192.168.12.118:9292 

    这行注释打开,变成这个ip地址

    my_ip=192.168.12.240

    这行注释打开,变成这个ip地址

    vncserver_proxyclient_address=192.168.12.240

    这行注释打开,变成这个ip地址

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

    这行注释打开

    virt_type=qemu

    上面修好好了之后重新启动服务

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

    查看日志,没有报错

    cat /var/log/nova/nova-compute.log

    启动之后在controller节点查看日志

    cat /var/log/nova/nova-api.log

    如果没有报错即可

    Neutron配置优化

    在controller节点操作

    修改配置文件neutron.conf

    vim /etc/neutron/neutron.conf

    新增加一行

    memcache_servers = 192.168.12.118:11211

    找到transport_url,新增加一行(消息队列rabbit地址在controller节点上)

    transport_url = rabbit://guest:guest@192.168.12.118

    找到lock_path,改为绝对路径

    lock_path=/var/lib/neutron/tmp

    修改ml2_conf.ini

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

    修改vni_ranges

    vni_ranges = 10:10000

    上面两个文件修改好之后重启服务

    systemctl restart neutron-server

    新开一个端口查看日志,没有报错即可

    tail -f /var/log/neutron/server.log 

    在compute节点操作

    创建一个桥接网卡,桥接到能够访问外网的那个网卡,也就是ens33

    cd /etc/sysconfig/network-scripts
    mkdir bak
    cp ifcfg-ens33 bak/
    vim ifcfg-br-ex

    复制内容到ifcfg-br-ex

    DEVICE=br-ex
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=OVSBridge
    DEVICETYPE=ovs
    USERCTL=yes
    PEERDNS=yes
    IPV6INIT=no
    IPADDR=192.168.12.140
    NETMASK=255.255.255.0
    DNS1=192.168.111.2
    GATEWAY=192.168.12.1
    vim ifcfg-ens33

    将原有内容删除,替换为如下内容

    # 设备名
    DEVICE=ens33
    # 是否开启开机自启
    ONBOOT=yes
    TYPE=OVSPort
    DEVICETYPE=ovs
    #桥接到哪个网卡上
    OVS_BRIDGE=br-ex

    重启网卡

    service network restart

    修改配置文件neutron.conf

    vim /etc/neutron/neutron.conf 

    新增加一行配置文件

    transport_url = rabbit://guest:guest@192.168.12.118

    新增加一行

    memcached_servers=192.168.12.118:11211 

    原来的路径变成这个

    lock_path=/var/lib/neutron/tmp 

    修改三层的和浮动ip相关的配置文件

    cd /etc/neutron
    vim l3_agent.ini

    这行注释去掉

    ovs_integration_bridge = br-int

    这行注释打开

    availability_zone = nova

    修改配置文件metadata_agent.ini

    vim metadata_agent.ini 

    这行注释打开

    nova_metadata_port = 8775

    这行注释打开

    nova_metadata_protocol = http 

    新增加一行

    memcached_servers=192.168.12.118:11211 

    修改配置文件dhcp_agent.ini

    vim dhcp_agent.ini 

    这行注释打开

    ovs_integration_bridge = br-int

    原来是False,需要变成True

    enable_metadata_network = True

    新增加一行

    dhcp_domain = test.localdomain

    原来的注释打开,修改成外网的dns地址

    dnsmasq_dns_servers = 192.168.111.2

    这行注释打开

    dnsmasq_lease_max = 16777216

    这行注释打开

    availability_zone = nova

    上面修改好了之后重启服务

    systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service

    到此这篇关于基于CentOS的OpenStack环境部署(OpenStack安装)的文章就介绍到这了,更多相关CentOS的OpenStack环境部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:Linux parted磁盘分区实现步骤解析
    下一篇:Windows 10 太难用如何定制你的 Ubuntu方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    基于CentOS的OpenStack环境部署详细教程(OpenStack安装) 基于,CentOS,的,OpenStack,环境,