猜你喜欢
每天5分钟玩转OpenStack

每天5分钟玩转OpenStack

书籍作者:CloudMan ISBN:9787302455318
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3441
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书是一本OpenStack的教程和参考。读者在学习的过程中,可以跟着教程进行操作,在实践中掌握 OpenStack 的核心技能。在之后的工作中,则可以将本教程作为参考书,按需查找相关知识点。
  本书共分为两大部分。第一部分介绍虚拟化和云计算基础知识,重点讲解 KVM 的理论和实践。第二部分首先介绍 OpenStack 架构,演示如何搭建 OpenStack 环境,然后逐一详细讲解 OpenStack 各个核心模块,包括 Keystone、 Glance、Nova、Cinder 和 Neutron。
  本书适合OpenStack初学者、云计算技术人员、云计算研究人员等使用,也适合高校和培训学校相关专业的师生教学参考。

前言
写在最前面
  这是一个 OpenStack 教程,有下面两个特点:
  系统讲解 OpenStack。从架构到各个组件;从整体到细节逐一讨论。
  重实践并兼顾理论。主要从实际操作的角度带着大家学习 OpenStack。
  为啥要写这个
  简单回答是:因为 OpenStack 学习难度大,但如果掌握了,价值会很大。
  先做一个自我介绍吧。
  本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,2005年之前是搞上层应用开发的,那时候 Java 比较火,所以 J2EE 相关的技术搞得比较多。后来入职一家大型IT公司,公司的产品从中间件到操作系统,从服务器到存储,从虚拟化到云计算都有涉及。
  本人所在的部门是专门做 IT 基础设施实施服务的,项目涉及服务器、存储、网络、虚拟化、云各个方面,而且这个部门的重要任务是为公司在IT市场最新和最热门的领域开疆扩土。比如前几年的虚拟化,这两年的云计算和大数据。
  可以说部门的这个定位非常符合我的技术偏好。我对新技术长期保持着浓厚的兴趣和学习热情,所以在这个部门一待就是十几年,而且一直搞技术,虽然现在的头衔是架构师,平时还是一直坚持实际动手操作,否则会没有安全感。
  好,现在回到OpenStack这个主题。
  本人是在2013年开始接触 OpenStack,虽然具备比较扎实的技术功底,在经过一段时间的学习后,还是感觉 OpenStack 这个东西上手不太容易,个人认为有以下几个原因:
  1. OpenStack 涉及的知识领域极广
  可以说涵盖了IT基础设施的所有范围,计算、存储、网络、虚拟化、高可用、安全、灾备无所不包,即便是像我这种每天都在这个领域工作的人也感觉压力颇大。
  2. OpenStack 是一个平台,不是一个具体的实施方案
  OpenStack的各个组件都采用Driver的架构,支持各种具体的实现技术。比如 OpenStack 的存储服务Cinder只定义了上层抽象API,具体的实现交给下面的各种Driver,比如基于LVM的iSCSI Driver,EMC、IBM等商业存储产品的Driver,或者是开源的分布式存储软件,比如Ceph、GlusterFS的Driver。
  正是因为这种架构上的灵活性,使得初学者在学习OpenStack的时候不会像学习其他具体软件产品那样容易上手。
  3. OpenStack 本身是一个分布式系统
  大多数搞 IT 的对分布式计算都不会太熟悉,直接冲进来会被 OpenStack 繁多的组件以及它们之间的交互方式搞得云里雾里。
  虽然 OpenStack 学习曲线比较陡峭,掌握起来难度较大,但 OpenStack 目前已经是 IaaS 云的事实标准,而且前途一片光明,对于我们搞 IT 的如果能啃下这个骨头,必定能大大提升自身的竞争力。
  写给谁看
  这套教程的目标读者包括:
  1. OpenStack初学者
  我学习OpenStack也是经历了一个艰辛曲折的过程,其主要原因在于没有找到一个系统讲解OpenStack的教程,大部分资料都比较分散,对于初学者无法有机地串起来。也正是因为这个原因,让我萌发了编写这样一套教程的想法,能够让初学者少走弯路,系统地学习、掌握和实践 OpenStack。
  2. OpenStack 实施工程师
  之前说了,我在公司的职位是架构师,但骨子里我更把自己定位成一位能到一线攻城拔寨的实施工程师。所以这个教程也是针对 OpenStack 的实施人员,让他们能够通过学习真正掌握部署OpenStack 的知识、技能以及故障排查技巧。
  3. 我自己
  写这个教程同时也是对自己这几年学习和实践 OpenStack 的一个总结。我觉得:对于知识,只有把它写出来并能够让其他人理解才能真正说明自己掌握了这项知识。
  包含哪些内容
  本书两大块内容,如下图所示。
  1. 预备知识
  因为面向初学者,首先会有虚拟化和云计算的“预备知识”,会介绍 KVM、IaaS 等技术。
  2. OpenStack核心
  这是主要内容,包含OpenStack的架构和各个核心组件。将会通过大量的案例、操作步骤、截图、日志来帮助大家理解 OpenStack 各组件是如何工作的。其目标是让各位可以根据客户的需求进行配置和调整。
  怎样的编写方式
  在当下这个共享经济时代,我觉得应该用互联网的方式来分享知识和心得。这个教程会通过我的微信公众号(cloudman6)每周一、周三、周五定期发布。
  用公众号我觉得有两个好处:
  (1)可以随时随地查看和浏览已推送的内容。
  (2)可以通过公众号跟我互动,提出问题和建议 。
  为啥叫《每天5分钟玩转 OpenStack》
  为了降低学习的难度并且考虑到移动端碎片化阅读的特点,每次推送的内容大家只需要花5分钟就能看完(注意,这里说的是看完,有时候要完全理解可能需要更多时间哈),每次的内容只包含1~3个知识点,这也是我把教程命名为《每天5分钟玩转 OpenStack》的原因。虽然是碎片化推送,但整个教程是系统、连贯和完整的,只是化整为零了。
  好了,今天这5分钟算是开了个头,下面我们正式开始玩转 OpenStack。
  编 者
  2016年10月

目录
第一篇 预备知识
第 1 章 虚拟化 2
1.1 1型虚拟化 2
1.2 2型虚拟化 2
1.3 KVM 3
1.3.1 基本概念 3
1.3.2 KVM实操 4
1.4 KVM 虚拟化原理 11
1.4.1 CPU 虚拟化 11
1.4.2 内存虚拟化 12
1.4.3 存储虚拟化 13
1.5 网络虚拟化 19
1.5.1 Linux Bridge 19
1.5.2 VLAN 28
1.5.3 Linux Bridge + VLAN = 虚拟交换机 35
第 2 章 云 计 算 36
2.1 基本概念 36
2.2 云计算和 OpenStack 38
第二篇 OpenStack 核心
第 3 章 OpenStack 架构 41
3.1 Conceptual Architecture 41
3.2 Logical Architecture 42
第 4 章 搭建实验环境 45
4.1 部署拓扑 45
4.2 物理资源需求 46
4.3 网络规划 47
4.4 部署 DevStack 47
第 5 章 Identity Service——Keystone 55
5.1 概念 55
5.1.1 User 55
5.1.2 Credentials 57
5.1.3 Authentication 57
5.1.4 Token 57
5.1.5 Project 58
5.1.6 Service 59
5.1.7 Endpoint 60
5.1.8 Role 60
5.2 通过例子学习 62
5.2.1 第1步 登录 62
5.2.2 第2步 显示操作界面 62
5.2.3 第3步 显示image列表 63
5.2.4 Troubleshoot 64
第 6 章 Image Service——Glance 65
6.1 理解 Image 65
6.2 理解 Image Service 66
6.3 Glance 架构 66
6.4 Glance 操作 69
6.4.1 创建 image 70
6.4.2 删除 image 72
6.5 如何使用 OpenStack CLI 74
6.6 如何 Troubleshooting 77
第 7 章 Compute Service——Nova 79
7.1 Nova架构 80
7.1.1 架构概览 80
7.1.2 物理部署方案 82
7.1.3 从虚机创建流程看 nova-* 子服务如何协同工作 84
7.1.4 OpenStack 通用设计思路 85
7.2 Nova 组件详解 88
7.2.1 nova-api 88
7.2.2 nova-scheduler 90
7.2.3 nova-compute 97
7.2.4 nova-conductor 104
7.3 通过场景学习 Nova 105
7.3.1 看懂 OpenStack 日志 105
7.3.2 Launch 108
7.3.3 Shut Off 108
7.3.4 Start 112
7.3.5 Soft/Hard Reboot 114
7.3.6 Lock/Unlock 114
7.3.7 Terminate 115
7.3.8 Pause/Resume 116
7.3.9 Suspend/Resume 118
7.3.10 Rescue/Unrescue 119
7.3.11 Snapshot 122
7.3.12 Rebuild 125
7.3.13 Shelve 128
7.3.14 Unshelve 130
7.3.15 Migrate 133
7.3.16 Resize 139
7.3.17 Live Migrate 144
7.3.18 Evacuate 150
7.3.19 Instance 操作总结 154
7.4 小节 156
第 8 章 Block Storage Service ——Cinder 157
8.1 理解 Block Storage 157
8.2 理解 Block Storage Service 157
8.2.1 Cinder 架构 158
8.2.2 物理部署方案 159
8.2.3 从volume创建流程看cinder-*子服务如何协同工作 160
8.2.4 Cinder 的设计思想 161
8.2.5 Cinder组件详解 163
8.2.6 通过场景学习 Cinder 170
8.3 小节 220
第 9 章 Networking Service ——Neutron 221
9.1 Neutron 概述 221
9.1.1 Neutron 功能 221
9.1.2 Neutron 网络基本概念 222
9.2 Neutron 架构 224
9.2.1 物理部署方案 227
9.2.2 Neutron Server 228
9.2.3 Neutron 如何支持各种 network provider 229
9.2.4 ML2 Core Plugin 231
9.2.5 Service Plugin / Agent 234
9.2.6 小结 235
9.3 为Neutron 准备物理基础设施 237
9.3.1 1控制节点 + 1 计算节点的部署方案 237
9.3.2 配置多个网卡区分不同类型的网络数据 238
9.3.3 网络拓扑 239
9.3.4 安装和配置节点 240
9.4 Linux Bridge 实现 Neutron 网络 244
9.4.1 配置 linux-bridge mechanism driver 244
9.4.2 初始网络状态 245
9.4.3 了解Linux Bridge 环境中的各种网络设备 247
9.4.4 local network 248
9.4.5 flat network 262
9.4.6 DHCP 服务 270
9.4.7 vlan network 274
9.4.8 Routing 285
9.4.9 vxlan network 307
9.4.10 Securet Group 321
9.4.11 Firewall as a Service 328
9.4.12 Load Balancing as a Service 337
9.5 Open vSwitch 实现 Neutron 网络 358
9.5.1 网络拓扑 358
9.5.2 配置 openvswitch mechanism driver 359
9.5.3 初始网络状态 360
9.5.4 了解 Open vSwitch 环境中的各种网络设备 362
9.5.5 local network 362
9.5.6 flat network 377
9.5.7 vlan network 386
9.5.8 Routing 399
9.5.9 vxlan network 411
9.6 总结 421
写在最后 422

产品特色