openstack安装详解
- 格式:docx
- 大小:1.27 MB
- 文档页数:7
本帖最后由cryboy2001 于2014-08-15 14:52 编辑目录1、云计算与openstack介绍传统的信息中心云计算介绍openstack介绍物理架构2、openstack架构3、安装openstack方法4、使用openstack5、openstack配置文件6、管理openstack7、详解openstack计算资源池存储资源池网络资源池Glance镜像资源池前端界面Keystone认证管理(不管会不会写完,象openstack一样,先把框架搞大点)一、云计算与openstack介绍1、传统的信息中心。
当然下面画的很简单(自己画的),如果加上多个出口、设备冗余、线路冗余、服务器集群就会复杂。
云计算就是用虚拟技术实现以下功能,如果理解了下面的网络功能,要理解openstack会很简单的,在openstack中都有与下面图中对应的模块。
缺点:1、部署应用时间长,工作量大,至少几个月2、资源利用率,有的服务器资源不够用,有的服务器大量资源浪费。
2、管理复杂3、扩展麻烦,灵活性差。
等等,这些也是云计算的优点。
2、云计算介绍云计算(Cloud Computing )是网格计算(Grid Computing )、分布式计算(Distributed Computing )、并行计算(Parallel Computing )、效用计算(Utility Computing )、网络存储(Network Storage Technologies )、虚拟化(Virtualization )、负载均衡(Load Balance )等传统计算机技术(如以上图)和网络技术发展融合的产物。
个人理解:把一堆功能小的设备,整合成一大个功能强大设备,再把这个强大的设备划分成小设备,然后按你的需要买给你。
公用云(Public Cloud)、私有云(Private Cloud)、混合云(Hybrid Cloud)云计算解决方案:VMware vSphere、微软云计算解决方案、亚马逊AWS、OpenStack 等等3、openstack介绍OpenStack是一个NASA和Rackspace2010年6月合作成立的,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
花了几天时间尝试在VMWare Workstation的Ubuntu虚拟机中安装OpenStack,多次失败,最后还是用DevStack安装成功,这里记录一下最后总结的安装步骤和一些问题的解决方法。
创建虚拟机创建虚拟机时的一些注意事项:1.虚拟机的Type选择Custom,以自己定制一些选项;2.“Install from”选择“I will install operating system later”,这样能够自己控制Ubuntu的安装过程;3.Guest operating system选择Linux,V ersion选择“Ubuntu 64-bit”(64位虚拟机需要硬件支持;如果无法创建64位虚拟机,请选择Ubuntu);4.“Network connection”选择“Use bridged networking”,这样虚拟机将连接到你的物理网络,方便管理;其余的设置使用默认项就可以。
安装Ubuntu Server 12.10安装镜像下载从/download/server下载安装镜像,这里需要的是Ubuntu Server版本,而不是Desktop版本;如果能够用BT下载,建议到/download/desktop/alternative-downloads 下载.torrent种子进行下载,速度会比直接HTTP下载快;如果需要安装64位的Ubuntu,请下载ubuntu-12.10-server-amd64.iso,否则请下载ubuntu-12.10-server-i386.iso。
安装Ubuntu Server1.回到VMWare Workstation中,编辑在上一步中创建的虚拟机的属性,在Hardware列表中选中“CD/DVD”,在右侧设置中确认选中了“Connect at power on”,在“Connection”中选中“Use ISO image file:”,点击“Browse…”选择上一部下载的ISO镜像文件,点击OK保存设置。
openstack的安装和部署1.什么是云计算1:什么是云计算?云计算是通过虚拟化技术去实现的,它是⼀种按量付费的模式!2:为什么要⽤云计算?⼩公司:1年,20⼈+,500w,招⼀个运维,15k,(10台*1.5w,托管IDC机房,8k/年,带宽 100M,5个公⽹ip, 10k/⽉), 买10台云主机,600*10=6000⼤公司:举⾏活动,加集群,把闲置时间出租,超卖(kvm)16G,kvm,64G(ksm),⾦牌⽤户(200w+/⽉)3:云计算有哪些功能?虚拟机的管理平台(计费)kvm:1000宿主机(agent),虚拟出2w虚拟机,虚拟机的详细情况:硬件资源,ip情况统计?虚拟机管理平台:每台虚拟机的管理,都⽤数据库来统计4:云计算的服务类型IAAS 基础设施即服务 ECS云主机⾃⼰部署环境,⾃⼰管理代码和数据infrastructure as an servicePAAS(docker) 平台即服务提供软件的运⾏环境,java ,python,go, c#,nodejs ⾃⼰管理代码和数据platfrom as an serviceSAAS 软件即服务企业邮箱,cdn,rdssoftware as an serviceopenstack实现的是云计算IAAS,开源的云计算平台,apache 2.0,阿⾥云(飞天云平台)2.openstack (soa架构)云平台(keystone认证服务,glance镜像服务,nova计算服务,neutron⽹络服务,cinder存储服务,horizon web界⾯)每个服务:数据库,消息队列,memcached缓存,时间同步⾸页/index.html秒杀/miaosha/index.html会员:/plus/index.html登录:/login/indexnginx+php +mysql(500张表)SOA(拆业务,把每⼀个功能都拆成⼀个独⽴的web服务,每⼀个独⽴的web服务,⾄少拥有⼀个集群)微服务架构:亿级⽤户开源的微服框架阿⾥开源的dubbospring boot⾃动化代码上线 Jenkins + gitlab ci⾃动化代码质量检查 sonarqube官⽹:openstack 版本A-Z 开头3.虚拟机规划controller:内存3G,cpu开启虚拟化,ip:10.0.0.11compute01:内存1G,cpu开启虚拟化(必开),ip:10.0.0.31host解析,[root@controller ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.11 controller10.0.0.31 computer1[root@controller ~]# scp -rp /etc/hosts 10.0.0.31 /etc/hosts4.配置yum源1.挂载光盘[root@computer1 ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only[root@controller ~]# mount /dev/cdrom /mntmount: /dev/sr0 is write-protected, mounting read-only#查看(如果有内容代表挂载成功)[root@computer1 ~]# ll /mnttotal 686-rw-rw-r-- 1 root root 14 Nov 26 2018 CentOS_BuildTagdrwxr-xr-x 3 root root 2048 Nov 26 2018 EFI-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPLdrwxr-xr-x 3 root root 2048 Nov 26 2018 imagesdrwxr-xr-x 2 root root 2048 Nov 26 2018 isolinuxdrwxr-xr-x 2 root root 2048 Nov 26 2018 LiveOSdrwxrwxr-x 2 root root 663552 Nov 26 2018 Packagesdrwxrwxr-x 2 root root 4096 Nov 26 2018 repodata-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root 2883 Nov 26 2018 TRANS.TBL[root@controller ~]# scp -rp openstack_rpm.tar.gz 10.0.0.31:/optrz 上传openstack_rpm.tar.gz到/opt,并解压⽣成repo配置⽂件root@controller opt]# vim/etc/yum.repos.d/local.repo[local]name=localbaseurl=file:///mntgpgcheck=0[openstack]name=openstackbaseurl=file:///opt/repogpgcheck=0root@controller opt]#echo 'mount /dev/cdrom /mnt' >>/etc/rc.localroot@controller opt]# chmod +x /etc/rc.d/rc.local[root@controller opt]# scp -rp /etc/yum.repos.d/local.repo 10.0.0.31:/etc/yum.repos.d/local.repo [root@computer1 opt]# vim /etc/yum.repos.d/local.repo[root@computer1 opt]# echo 'mount /dev/cdrom /mnt' >>/etc/rc.local[root@computer1 opt]# chmod +x /etc/rc.d/rc.local#注意:两台都要配2.安装基础服务在所有节点上执⾏:a:时间同步[root@controller opt]# yum install -y chrony[root@computer1 opt]# yum install -y chrony#编辑控制节点配置⽂件[root@controller opt]# vim /etc/chrony.conf1.将 server iburst 改成server iburst另三⾏删掉2.将 #allow 192.168.0.0/1改成allow 10.0.0.0/24#重启服务[root@controller opt]# vim /etc/chrony.confsystemctl restart chronyd#编辑计算节点[root@computer1 opt]# vim /etc/chrony.conf将 server iburst 改成server 10.0.0.11 iburst另三⾏删掉[root@computer1 opt]# systemctl restart chronyd5.安装openstack客户端和openstack-selinux1.在所有节点上执⾏[root@control ~]# yum install python-openstackclient openstack-selinux -y[root@computer1 ~]# yum install python-openstackclient openstack-selinux -y查看官⽅⽂档6.安装数据库以及安全初始化2.仅控制节点执⾏:[root@control ~]# yum install mariadb mariadb-server python2-PyMySQL -y在官⽅⽂档上有https:///mitaka/zh_CN/install-guide-obs/environment-sql-database.html3.创建并编辑 /etc/f.d/f[root@control ~]# cat /etc/f.d/f[mysqld]bind-address = 10.0.0.11 # 值为控制节点的管理⽹络IP地址以使得其它节点可以通过管理⽹络访问数据库default-storage-engine = innodb #默认存储引擎innodb_file_per_table #为每个表独⽴表空间⽂件max_connections = 4096 #最⼤连接数collation-server = utf8_general_ci # 默认字符集character-set-server = utf84.启动mariadb 并加⼊开机⾃启[root@control ~]# systemctl start mariadb[root@control ~]# systemctl enable mariadb5. 为了保证数据库服务的安全性,运⾏[root@control ~]# mysql_secure_installation ⼀定要执⾏要不然后⾯时间同步会有坑脚本。
项目一 OpenStack安装云计算技术OpenStack云计算平台能力CAPACITY 要求了解云计算的概念、架构和模式,以及主流的云计算平台了解OpenStack项目,调查OpenStack的应用情况理解OpenStack的架构,了解OpenStack的物理部署了解OpenStack部署工具,掌握OpenStack的快捷安装方法内容导航CONTENTS任务一了解云计算任务二了解OpenStack项目任务三理解OpenStack架构任务四部署与安装OpenStack任务说明01OPTION02OPTION03OPTION了解OpenStack部署拓扑了解OpenStack部署工具准备OpenStack安装环境04OPTION使用Packstack安装器安装OpenStack知识引入•什么是虚拟化•虚拟化是云计算的基础。
•虚拟化是指计算元件在虚拟的而不是真实的硬件基础上运行。
•虚拟化将物理资源转变为具有可管理性的逻辑资源,以消除物理结构之间的隔离,将物理资源融为一个整体。
虚拟化是一种简化管理和优化资源的解决方案。
知识引入•什么是云计算•云(Cloud)是网络、互联网的一种比喻说法。
•云计算是提供虚拟化资源的模式。
•云计算提供的是IT资源租用服务。
•云计算是IT系统架构不断发展的产物。
知识引入•云计算架构知识引入云计算部署模式公有云(Public Cloud)私有云(Private Cloud )混合云(Hybrid Cloud )知识引入•裸金属云•裸金属云(Bare Metal Cloud)是一种提供物理服务器服务的云产品。
•裸金属云没有虚拟机管理程序(Hypervisor)。
•裸金属云支持的处理器ØIntelØPOWERØARMØGPUØFPGA•随着容器技术的兴起,物理服务器正成为更多用户的选择。
•Amazon 公司的AWS(Amazon Web Services )•Microsoft 公司的Azure •阿里云(AliCloud )了解商用云计算平台任务实现11项目一 OpenStack安装任务一 了解云计算开源云计算平台OpenStack OpenNebula Eucalyptus CloudStack任务实现项目一 OpenStack安装12 内容导航CONTENTS任务一了解云计算任务二了解OpenStack项目任务三理解OpenStack架构任务四部署与安装OpenStack任务说明01OPTION 02OPTION 03OPTION 了解OpenStack的概念了解OpenStack项目的组成了解OpenStack版本演变04OPTION 了解OpenStack基金会与社区05OPTION 调查OpenStack的应用情况知识引入•什么是OpenStack•OpenStack是一系列开源软件项目的组合。
实验二:认证服务Keystone的安装、配置实验目的本次实验的目的是为了让学生通过实际安装配置Keystone来加深对Keystone组件的理解。
(本次实验Keystone安装在controller上)实验内容配置认证服务配置apache服务创建服务实体和API端点创建一个domain,projects、users、roles验证操作创建OpenStack脚本实验步骤①、首先输入密码123456,登录进入虚拟机。
②、然后单击Terminal,进入命令行界面。
③、由于所有步骤与操作均需要在root权限下执行,所以需要切换到root用户下:su输入密码:1234561. 配置认证服务(CONTROLLER下)以root用户身份进入数据库(本环境中默认MYSQL数据库密码为123456):mysql -u root -p创建keystone数据库:CREATE DATABASE keystone;赋予keystone相关权限(替换KEYSTONE_DBPASS为你自己的密码,如123456):GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';退出数据库:quit生成一个20位随机值作为初始配置期间管理令牌并记录下来:openssl rand -hex 10例如:我们这里生成的值为34755335fed9c5827e34禁用keystone自动启动:echo "manual" > /etc/init/keystone.override安装软件包keystone apache2 libapache2-mod-wsgi:apt-get install keystone apache2 libapache2-mod-wsgi编辑/etc/keystone/keystone.conf:gedit /etc/keystone/keystone.conf在[DEFAULT]下面添加(替换ADMIN_TOKEN为之前生成的20位随机数,例如本例中生成的34755335fed9c5827e34),记得把注释的#去掉。
openstack(kilo版)安装配置文档写在前面:本文档所有指令在拷贝的时候注意空格和换行,由于文档的排版原因可能会出现自动换行等误差。
一、实验环境物理机器上的3台虚拟机分别模拟控制节点、网络节点、计算节点。
采用VMware虚拟机管理软件,首先建立一个模板,在上面安装第五部分所涉及到的基本组件,分别克隆出3台虚拟机作为控制、网络、计算节点。
虚拟机操作系统为Ubuntu 14.04.3,openstack版本为kilo版。
所需各部分组件均采用apt-get自动安装。
二、openstack的两种常用上网方式1、在官方文档的三个网卡基础上,我们使用第四个网卡上网(NAT 方式或桥接方式均可)。
另外三个网卡采用host-only方式。
2、使用管理网络上网。
本文采用第二种方式对网络进行配置,即将管理网络根据自己的网络环境配置成可上网的IP地址段(NAT和host-only均可)。
由于对第一种方式进行尝试时最终会遇到ping不通外网的情况,所以不建议尝试。
具体可见/thread-13508-1-1.html三、各节点的网络配置各节点建立好以后,根据openstack-install-guide-apt-kilo官方文档对各节点进行网络配置。
本例采用OpenStack Networking (neutron)方式进行网络配置。
使用OpenStack网络(neutron)的架构样例中,需要一个控制节点、一个网络节点以及至少一个计算节点。
控制节点包含一个在管理网络上的网络接口。
网络节点在包含一个在管理网络上的网络接口,一个在实例隧道网络上的网络接口和一个在外部网络上的网络接口。
计算节点包含一个在管理网络上的网络接口和一个在实例隧道网络上的接口。
所以此时需要在虚拟机管理界面添加虚拟网络,由于采用第二部分提到的第二种方式(即管理网络上网),所以网络分配如下:◆管理网络使用 192.168.109.0/24 带有网关 192.168.109.2◆实例隧道网络使用 10.0.1.0/24 无网关◆外部通道网络使用192.168.109.0/24 带有网关192.168.109.2首先需要配置管理网络采用NAT方式上网:VMware默认VMnet8为NAT模式,打开系统的网络适配器设置,可以看到VMnet8的网络配置信息,如下图:这个ip地址,因个人而异,也就是说不同网络,不同环境,这个ip变化的概率是很大的。
OpenStack是一套用来管理虚拟机的平台软件。
它不是一个单一的软件,而是集成了很多个组件用来协同合作。
简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。
类似的,红帽也有virsh 这种管理虚拟机的程序。
在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。
如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。
在本篇文章里,我将介绍采用ec2兼容认证的方式。
所有组件安装在一台controller 上。
关键字定义控制端:类似vcenter的管理系统。
节点:类似安装了esx的服务器。
nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。
glance组件:用来管理镜像。
环境准备ubuntu 11.10,服务器双网卡步骤安装完基本的操作系统后$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install bridge-utils #安装网桥软件配置网络接口在这里我的架构是eth0连接了外网,即我們可以访问的网口。
eth1做了网桥,和节点之间通过一个交换机连接。
这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。
$ sudo vi /etc/network/interfacesauto eth0iface eth0 inet staticaddress 192.168.200.21netmask 255.255.255.0network 192.168.200.0broadcast 192.168.200.255gateway 192.168.200.10auto br100iface br100 inet staticbridge_ports eth1bridge_stp offbridge_maxwait 0bridge_fd 0address 10.200.200.2netmask 255.255.255.0$ sudo /etc/init.d/networking restart初期准备工作做好,接下来就是要安装关于nova,glance等组件$ sudo apt-get install -y rabbitmq-server #安装MQ消息組件$ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖$ sudo apt-get install nova-volume nova-vncproxy nova-apinova-ajax-console-proxy$ sudo apt-get install nova-doc nova-scheduler nova-objectstore$ sudo apt-get install nova-network nova-compute$ sudo apt-get install glance安装euca2ools和unzip$ sudo apt-get install -y euca2ools unzip接下来我们安装数据库,这裡我选择了MySQL,其实个人觉得PostgreSQL更好。
OpenStack安装手册目录OpenStack安装手册 (1)一、安装环境 (4)1、示例架构 (4)2、网络 (4)3、安全 (5)4、主机网络配置 (5)5、NTP (7)6、安装OpenStack包 (9)7、安装数据库 (10)8、消息队列 (11)9、缓存令牌 (12)二、认证服务 (12)在控制节点上配置。
(13)1、前提条件 (13)配置Apache服务器 (15)3、创建一个域、项目、用户和角色 (16)4、验证操作 (17)1、前提条件 (20)2、安装并配置组件 (22)5、验证操作 (24)四、计算服务 (25)1、安装和配置控制节点 (25)∙安装并配置组件 (26)∙完成安装 (30)3、安装并配置计算节点 (30)∙安装并配置组件 (30)∙验证操作 (33)一、安装环境1、示例架构根据官方文档,本文架构采用一个控制节点和一个计算节点。
(The example architecture requires at least twonodes (hosts) to launch a basic virtual machine or instance. )控制节点运行认证服务、镜像服务、计算服务的管理部分、网络服务的管理部分、各种网络代理以及Dashboard,还包括一些基础服务如数据库、消息队列以及NTP。
计算节点上运行计算服务中管理实例的管理程序部分。
默认情况下,计算服务使用KVM。
还运行网络代理服务,用来连接实例和虚拟网络以及通过安全组给实例提供防火墙服务。
2、网络∙公有网络公有网络选项以尽可能简单的方式通过layer-2(网桥/交换机)服务以及VLAN网络的分割来部署OpenStack网络服务。
实际上,它将虚拟网络桥接到物理网络,并依靠物理网络基础设施提供layer-3服务(路由)。
另外,DHCP服务为实例提供IP地址。
∙私有网络私有网络选项扩展了公有网络选项,增加了layer-3(路由)服务,使用VXLAN类似的方式。
Centos6.4 Openstack 部署
官方推荐环境配置:
Step 0: Prerequisites
Software: Red Hat Enterprise Linux (RHEL) 6.4, or the equivalent version of one of the RHEL-based Linux distributions such as CentOS, Scientific Linux, etc., or Fedora 19 or later. See also RDO
repository info for details on required repositories. Please name the host with a fully qualified domain name rather than a short-form name to avoid DNS issues with Packstack.
Hardware: Machine with at least 2GB RAM, processors with hardware virtualization extensions, and at least one network adapter.
看了人家的要求果断放弃6.3,弃暗投明6.4
环境部署:VM+Centos6.4(64bit)(免费的水用谁知道它的好^_^)
看了源代码版的安装虚拟机的一篇配置方法(照抄了)
应用(没用的都关了吧,省的更新一大推没用的,留一个firfox足以)
因为要用到mysql数据库(Mysql全起之,嘿嘿)
高可用: 虽然暂时没用到,但是作为云端管理,高可用是必须的啊,先起了在说
虚拟化: windows的在BIOS里面起,这里给起来
这里以后就等待安装的完成吧
系统装完后,分之IP
对于远程连接工具,推荐个(Xmanager 4),比VNC好多了(用VNC的兄弟们弃暗投明吧)
下面开始进安装了
后面的一系列操作都要用到代理,这里果断设置了
一设置网络代理
echo "proxy=http://10.66.20.55:808 " >> /etc/yum.conf
也可以在这弄
二安装epel源
rpm -Uvh /epel/6/x86_64/epel-release-6-8.noarch.rpm
这里值的注意的是,由于我们采用http代理的方式,这里需在进入epel里面将HTTPS方式去掉(不去掉在prepare server阶段会报错哦~~)
三由于默认使用base的源在后面stackpack --allinone 会报错这里选用国内的中科院提供base源( 群里@北京-普通人介绍的呢)
首先备份CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载对应版本的CentOS-Base.repo, 放入/etc/yum.repos.d/
这是CentOS 6的:
wget /wiki/_export/code/mirrors/help/centos?codeblock=2下载完成后:
运行yum makecache生成缓存,运行yum update升级软件包
这里以上就是准备环境下面开始就是正式安装的步骤了
一:安装RDO软件
yum install -y http://rdo.Fedora /rdo-release.rpm
二:安装一个叫packstack的部署包
yum install -y openstack-packstack
三:一键自动安装
packstack --allinone
执行后需要输入密码,一键安装截图如下:(接下来输入系统密码后就是漫长的等待了)
这里就可以进行访问了(不能访问的同学,防火墙关了去吧,要不你有自己有能耐把端口都设置好了)
安装完毕,可以通过OpenStack的网络管理接口Horizon进行访问,地址如:
http://$YOURIP/dashboard ,用户名为admin,密码可以在
/root/ 下的keystonerc_admin文件中找到到。
(没错就是下面你看到的IS_PASSWORD=后面那一长串)
亲们登录成功了,下面以后就自己玩去吧(别忘了赶紧把虚拟机做了快照啊- -!)。