每天5分钟玩转OpenStack第二章

上传人:仙*** 文档编号:74951202 上传时间:2022-04-14 格式:DOC 页数:11 大小:1.15MB
收藏 版权申诉 举报 下载
每天5分钟玩转OpenStack第二章_第1页
第1页 / 共11页
每天5分钟玩转OpenStack第二章_第2页
第2页 / 共11页
每天5分钟玩转OpenStack第二章_第3页
第3页 / 共11页
资源描述:

《每天5分钟玩转OpenStack第二章》由会员分享,可在线阅读,更多相关《每天5分钟玩转OpenStack第二章(11页珍藏版)》请在装配图网上搜索。

1、终于正式进入 OpenStack 部分了。 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱。OpenStack 已经走过了 6 个年头。 每半年会发布一个版本,版本以字母顺序命名。现在已经到第 12 个版本 Liberty(字母 L)。 OpenStack最初只有两个模块(服务),现在已经有 20+(见下图),每个模块作为独立的子项目开发。 面对如此庞大的阵容,作为初学者我们如何起步呢? 这也是 CloudMan 写这个系列教程的初衷: 通过实际操作帮助初学者由浅入深地学习和实践 OpenStack,并最终具备实施 OpenStack 的能力。我们会把学习的

2、重点放在 OpenStack 最核心的地方。 那什么是核心呢?请看下图作为 IaaS 层的云操作系统,OpenStack 为虚拟机提供并管理三大类资源:计算、网络和存储。这三个就是核心,所以我们的学习重点就是: 搞清楚 OpenStack 是如何对计算、网络和存储资源进行管理的。 在 20+ 模块中,管理这三类资源的核心模块其实不多,这几个模块就是我们的重点了。要达到这个目的,我们自然需要研究 OpenStack 的整体架构。 架构里哪些核心模块负责管理计算资源、网络资源和存储资源?模块之间如何协调工作? 同时我们会构建一个实验环境,进到各个模块的内部,通过实际操作真正理解和掌握 OpenSt

3、ack。好,下面我们就从架构开始吧。OpenStack 架构架构是个好东西,它能帮助我们站在高处看清楚事物的整体结构,避免过早地进入细节而迷失方向。下图是 OpenStack 的 Conceptual Architecture中间菱形是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。Neutron:为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物理网络连接。Glance:管理 VM

4、 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。Cinder:为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘。Swift:提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。Keystone:为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack 上的每一个操作都必须通过 Keystone 的审核。Ceilometer:提供 O

5、penStac k监控和计量服务,为报警、统计或计费提供数据。Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。在上面的这些服务中,哪些是 OpenStack 的核心服务呢? 核心服务就是如果没有它,OpenStack 就跑不起来。 很显然Nova 管理计算资源,是核心服务。Neutron 管理网络资源,是核心服务。Glance 为 VM 提供 OS 镜像,属于存储范畴,是核心服务。Cinder 提供块存储,VM怎么也得需要数据盘吧,是核心服务。Swift 提供对象存储,不是必须的,是可选服务。Keystone 认证服务,没它 OpenStack 转不起来,

6、是核心服务。Ceilometer 监控服务,不是必须的,可选服务。Horizon 大家都需要一个操作界面吧。现在核心服务有了,接下来我们将镜头拉近点,看看核心服务内部的组成结构。 Logical Architecture在 Logical Architecture 中,可以看到每个服务又由若干组件组成。 以 Neutron 为例,包含Neutron Server、Neutron plugins 和 Neutron agentsNetwork provider消息队列 Queue数据库 Neutron Database在后面 Neutron 章节我们会展开学习这些组件。这里想要强调一点: 上面是

7、 Logical Architecture,描述的是 Neutron 服务各个组成部分以及各组件之间的逻辑关系。 而在实际的部署方案上,各个组件可以部署到不同的物理节点上。OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。 这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。 当然从另一个角度讲,这也使得 OpenStack 比一般系统复杂,学习难度也更大。在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境。毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率。因为是我们

8、自己学习用的实验环境,CloudMan 推荐使用 DevStack http:/docs.openstack.org/developer/devstack/DevStack 丰富的选项让我们能够灵活地选取和部署想要的 OpenStack 服务,非常适合学习和研究。部署拓扑首先我们来设计 OpenStack 的部署拓扑。OpenStack 是一个分布式系统,由若干不同功能的节点(Node)组成:控制节点(Controller Node) 管理 OpenStack,其上运行的服务有 Keystone、Glance、Horizon 以及 Nova 和 Neutron 中管理相关的组件。 控制节点也运

9、行支持 OpenStack 的服务,例如 SQL 数据库(通常是 MySQL)、消息队列(通常是 RabbitMQ)和网络时间服务 NTP。 网络节点(Network Node) 其上运行的服务为 Neutron。 为 OpenStack 提供 L2 和 L3 网络。 包括虚拟机网络、DHCP、路由、NAT 等。 存储节点(Storage Node) 提供块存储(Cinder)或对象存储(Swift)服务。 计算节点(Compute Node) 其上运行 Hypervisor(默认使用 KVM)。 同时运行 Neutron 服务的 agent,为虚拟机提供网络支持。 这几类节点是从功能上进行的

10、逻辑划分,在实际部署时可以根据需求灵活配置,比如:在大规模OpenStack生产环境中,每类节点都分别部署在若干台物理服务器上,各司其职并互相协作。这样的环境具备很好的性能、伸缩性和高可用性。在最小的实验环境中,可以将 4 类节点部署到一个物理的甚至是虚拟服务器上。麻雀虽小五脏俱全,通常也称为 All-in-One 部署。在我们的实验环境中,为了使得拓扑简洁同时功能完备,我们用两个虚拟机:devstack-controller:控制节点 + 网络节点 + 块存储节点 + 计算节点devstack-compute:计算节点物理资源需求CPU 和内存供参考。如果是在自己的 PC 机上创建虚机部署,

11、资源可能达不到,可以适当调整。网络规划网络上规划了三个网络:Management Network:用于 OpenStack 内部管理用,比如各服务之间通信。 这里使用 eth0 VM(Tenant)Network:OpenStack 部署的虚拟机所使用的网络。 OpenStack 支持多租户(Tenant),虚机是放在 Tenant 下的,所以叫 Tenant Network。 这里使用 eth1 External Network:一般来说,Tenant Network 是内部私有网络,只用于 VM 之间通信,与其他非 VM 网络是隔离的。 这里我们规划了一个外部网络(External Net

12、work),通过 devstak-controller 的 eth2 连接。 Neutron 通过 L3 服务让 VM 能够访问到 External Network。 对于公有云,External Network 一般指的是 Internet。 对于企业私有云,External Network 则可以是 Intranet 中的某个网络。本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点创建虚拟机按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机安装操作系统安装 Ubuntu 14.04,并配置 eth0 的 IP de

13、vstack-controller 192.168.104.10 devstak-compute 192.168.104.11下载代码下载 devstack 代码,并切换到 stable/liberty 分支apt-get install git -y git clone https:/git.openstack.org/openstack-dev/devstack -b stable/liberty配置 stack 用户创建 stack 用户devstack/tools/create-stack-user.sh为方便起见,将devstack目录放到/opt/stack下,并设置权限mv de

14、vstack /opt/stack chown -R stack:stack /opt/stack/devstack切换到 stack 用户su stack cd devstack编写运行配置文件在 /opt/stack/devstack 目录下,创建 local.conf。devstack-controllerlocal|localrcMULTI_HOST=trueHOST_IP=192.168.104.10 # management & api network LOGFILE=/opt/stack/logs/stack.sh.log# Credentials ADMIN_PASSWORD=

15、admin MYSQL_PASSWORD=secret RABBIT_PASSWORD=secret SERVICE_PASSWORD=secret SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz# enable neutron-ml2-vlan disable_service n-net enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn Q_AGENT=linuxbridge ENABLE_TENANT_VLANS=True TENANT_VLAN_RANG

16、E=3001:4000 PHYSICAL_NETWORK=defaultLOG_COLOR=False LOGDIR=$DEST/logs SCREEN_LOGDIR=$LOGDIR/screendevstack-computelocal|localrcMULTI_HOST=true HOST_IP=192.168.104.11 # management & api network# Credentials ADMIN_PASSWORD=admin MYSQL_PASSWORD=secret RABBIT_PASSWORD=secret SERVICE_PASSWORD=secret SERV

17、ICE_TOKEN=abcdefghijklmnopqrstuvwxyz# Service information SERVICE_HOST=192.168.104.10 MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST GLANCE_HOSTPORT=$SERVICE_HOST:9292 Q_HOST=$SERVICE_HOST KEYSTONE_AUTH_HOST=$SERVICE_HOST KEYSTONE_SERVICE_HOST=$SERVICE_HOSTCEILOMETER_BACKEND=mongodb DATABASE_TYP

18、E=mysqlENABLED_SERVICES=n-cpu,q-agt,neutron Q_AGENT=linuxbridge ENABLE_TENANT_VLANS=True TENANT_VLAN_RANGE=3001:4000 PHYSICAL_NETWORK=default# vnc config NOVA_VNC_ENABLED=True NOVNCPROXY_URL=http:/$SERVICE_HOST:6080/vnc_auto.html VNCSERVER_LISTEN=$HOST_IP VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LIS

19、TENLOG_COLOR=False LOGDIR=$DEST/logs SCREEN_LOGDIR=$LOGDIR/screen另外,为了加快安装速度,还可以加上下面的配置使用国内的 devstack 镜像站点# use TryStack git mirror GIT_BASE= NOVNC_REPO= SPICE_REPO=开始部署分别在 devstack-controller 和 devstak-compute 上执行命令./stack.sh会输出各项操作的结果。 日志会写到 stack.sh.log 文件。 整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相

20、关信息。devstack-controlle 上的输出devstack-compute 上的输出验证 OpenStack下面验证 OpenStack 已经正常运行 浏览器访问 http:/192.168.104.10/(devstack-controller 的 IP) admin/admin 登录点击 System-System Information,确保各个服务的状态正常这里 cinder-volume 的状态是 “Down”,这是因为我们还没有配置 cinder,后面会让它 Up 起来。启动 OpenStack如果重启了系统,OpenStack 不会自动启动,可以运行下面命令cd de

21、vstack ./rejoin-stack.sh运行成功后,OpenStack 的每个服务都在一个 screen 中以进程方式运行。 使用 screen 有几个好处:可以方便的在不同服务之间切换和查看日志。 因为OpenStack的服务很多,每个服务都有自己的日志文件。 查找日志是一件非常麻烦的事情,screen可以帮我们提高效率。当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的 screen 窗口 Ctrl+C,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。下面是 screen 常用命令 在 screen 中执行 Ctrl+a+n 切换到下一个窗口

22、Ctrl+a+p 切换到前一个窗口(与 Ctrl+a+n 相对) Ctrl+a+0.9 切换到窗口 0.9 Ctrl+a+d 暂时断开(detach)当前 screen 会话,但不中断 screen 窗口中程序的运行在 shell 中执行 screen -ls 列出当前所有的 session screen -r stack 回到 devstack 这个 session删除自动创建的网络Devstack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需将其删除删除 Router Admin-System-Routers删除 Network Admin-System-Networks至此,我们得到了一个干净的 OpenStack 环境。 后面会在这个环境中实践各个模块。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!