欢迎光临
免费的PDF电子书下载网站

OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop PDF下载

编辑推荐

 ;  ; 全面涵盖云计算与虚拟化的入门知识,以及OpenStack的部署、解析与扩展

 ;  ; 深入讲解实用的云计算实现方案、虚拟化技巧及OpenStack的部署方案

 ;  ; 对IT首席技术官、云计算研发和运维等相关人员有很高的参考价值

  涵盖MySQL、RabbitMQ、Keystone、Swift、Glance、Cinder、Quantum、Nova和Dashboard等大部分重要组件的安装

  2种自定义扩展组件可以让读者对OpenStack的使用举一反三

  3种经典部署方式可显著提高部署实战的能力

  14个典型案例深入剖析了OpenStack的内在关键技术

  35个常见错误与分析可以避免读者在进行实际操作时走弯路

  231个Linux Shell脚本完美展现OpenStack的安装、部署流程

  420个Python程序有助于读者深入理解OpenStack的架构实现及通信机制

  所有实例遵循先提出问题,再分析问题,*后用代码实现的写作风格

  对OpenStack用到的关键技术和重要组件提供了具体的源码剖析

  推荐阅读(请点击链接):

  《NoSQL数据库技术实战》 (大数据必读佳品

 ;  ;  ; ;《Linux C程序设计王者归来》 (全面、详细,深入,实用)

  《SQL Server 2012王者归来:基础、安全、开发及性能优化》 (全面、详细,深入、实用)

  《程序员的数学思维修炼(趣味解读)》 (生动有趣)

  《Oracle数据库管理从入门到精通》 (全面,详细,深入)

  《Oracle PL/SQL从入门到精通》(经典畅销书,畅销13500册) ;

内容简介

  本书按照入门、剖析、扩展的讲授方式,由浅入深地介绍了开源云计算平台OpenStack(Grizzly版本)的整体框架、安装部署、源码剖析及扩展开发。本书附带的所有源代码和安装脚本均可以在Github(https://github.com/JiYou/openstack上获得。

  本书共19章,分为4篇。第1篇介绍了云计算常识及虚拟化技术(KVM、Libvirt)必备知识;第2篇着重讲解了OpenStack主要组件的安装部署,以及OpenStack整个框架的参考部署;第3篇主要从源码剖析的角度讲解了Keystone、Swift、Quantum和Nova重要组件的设计思想与实现方法;第4篇介绍了如何利用OpenStack进行扩展开发,包括如何在OpenStack平台上搭建Hadoop,对Nova进行扩展,以及如何开发独立的OpenStack组件。

  本书内容全面,实例众多,实践性强,讲解清晰,适合想要从事开源云OpenStack开发的技术人员阅读。对于IT首席技术官、云计算研发和运维等相关人员,本书有很高的参考价值。

作者简介

  戢友,毕业于华东师范大学,计算机应用技术硕士,研究方向为机器学习与模式识别。就职于英特尔亚太研发有限公司,从事OpenStack与云计算的研发工作。对云计算、云存储、大数据、分布式系统等有强烈的兴趣和长时间的研究。

OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop PDF下载

目录

第1篇 基 础 篇

第1章 OpenStack概述
1.1 云计算简介
1.1.1 什么是云计算
1.1.2 什么是云存储
1.1.3 私有云与公有云
1.2 为什么使用云计算
1.2.1 方案1:简单的服务部署
1.2.2 方案2:分布式服务部署
1.2.3 方案3:基于虚拟化的服务部署
1.2.4 方案4:云计算的解决方案
1.3 OpenStack架构
1.3.1 OpenStack与云计算
1.3.2 OpenStack发展与现状
1.3.3 OpenStack优势
1.3.4 OpenStack学习建议
1.4 OpenStack各个组件及功能
1.4.1 虚拟机管理系统Nova
1.4.2 磁盘存储系统Glance与Swift
1.4.3 虚拟网络管理Quantum
1.4.4 OpenStack三大组件
1.5 小结

第2章 虚拟化技术
2.1 虚拟化技术简介
2.1.1 KVM
2.1.2 Xen
2.1.3 Libvirt
2.2 安装Libvirt虚拟化工具
2.2.1 安装KVM
2.2.2 安装Libvirt
2.3 虚拟机配置文件详解
2.3.1 xml描述hypervisor
2.3.2 虚拟机整体信息
2.3.3 系统信息
2.3.4 硬件资源特性
2.3.5 突发事件处理
2.3.6 raw格式image
2.3.7 qcow2格式image
2.3.8 格式的选择
2.3.9 多个image
2.3.10 虚拟光盘
2.3.11 虚拟网络
2.3.12 vnc配置
2.4 制作image
2.4.1 virt-manager创建image
2.4.2 virsh命令创建image
2.5 快速启动虚拟机
2.5.1 手动安装
2.5.2 直接复制
2.5.3 qcow2快速创建
2.5.4 修改qcow2 image
2.5.5 大批量创建虚拟机
2.6 虚拟机桌面显示
2.6.1 准备工作
2.6.2 创建Windows 7 Image
2.6.3 创建Windows 7虚拟机
2.6.4 spice桌面显示
2.7 常见错误与分析
2.8 小结
2.8.1 常用的virsh命令
2.8.2 磁盘快照管理

第2篇 安 装 篇

第3章 安装Keystone安全认证服务
3.1 Keystone简介
3.2 搭建局域网源
3.2.1 局域网apt-get源搭建方法
3.2.2 局域网python源搭建方法
3.2.3 Ubuntu-12.10局域网源
3.3 搭建MySQL数据库
3.3.1 apt-get安装MySQL
3.3.2 源码安装MySQL
3.4 安装RabbitMQ消息通信服务
3.5 安装Keystone
3.5.1 python源码包的安装
3.5.2 Keystone自动化安装
3.5.3 Keystone客户端使用及测试
3.5.4 Keystone的管理
3.6 常见错误与分析
3.6.1 无法下载python依赖包
3.6.2 Keystone命令运行失败
3.7 小结

第4章 安装Swift存储服务
4.1 Swift基本概念
4.1.1 Swift的特性
4.1.2 Swift的架构
4.1.3 Swift的故障处理
4.1.4 Swift的集群部署
4.2 搭建环境
4.2.1 准备工作
4.2.2 创建Proxy Node
4.2.3 创建Storage Node
4.3 安装Proxy服务
4.3.1 解决依赖关系
4.3.2 注册Swift服务
4.3.3 配置Proxy服务
4.3.4 启动Proxy服务
4.4 安装存储服务
4.4.1 磁盘格式化
4.4.2 同步服务
4.4.3 子服务
4.4.4 启动存储服务
4.5 管理存储服务
4.5.1 使用存储服务
4.5.2 删除存储节点
4.5.3 添加存储节点
4.5.4 添加Proxy节点
4.6 常见错误及分析
4.6.1 Keystone注册用户失败
4.6.2 Proxy服务无法正常启动
4.6.3 存储服务无法使用
4.7 小结
4.7.1 安装Proxy Node
4.7.2 安装Storage Node

第5章 安装Glance镜像服务
5.1 Glance简介
5.2 Glance服务的安装
5.2.1 解决依赖关系
5.2.2 注册Glance服务至Keystone
5.2.3 Glance源码包的安装
5.3 Glance服务的配置
5.3.1 Glance服务的基本配置
5.3.2 使用文件系统存储镜像
5.3.3 使用Swift对象存储服务存储镜像
5.3.4 上传复杂的磁盘镜像
5.3.5 上传磁盘镜像参考脚本
5.4 Glance自动化安装
5.5 常见错误分析
5.5.1 上传磁盘镜像中断的解决方案
5.5.2 openssl出错
5.5.3 上传大磁盘镜像的方法
5.6 小结

第6章 安装Quantum虚拟网络服务
6.1 Open vSwitch虚拟交换机
6.1.1 Open vSwitch简介
6.1.2 GRE隧道模式
6.1.3 VLAN模式
6.2 解决依赖关系
6.3 注册Quantum服务至Keystone
6.4 安装Quantum服务
6.4.1 源码安装Quantum
6.4.2 Quantum Server的配置
6.4.3 配置OVS agent
6.4.4 配置dhcp agent
6.4.5 配置l3 agent
6.5 Quantum自动化安装
6.6 Quantum服务使用及测试
6.6.1 创建内部网络
6.6.2 创建外部网络
6.7 常见错误与分析
6.7.1 虚拟机之间无法通信
6.7.2 dhcp和agent服务启动警告
6.8 小结
6.8.1 Open vSwitch的使用
6.8.2 Quantum的安装

第7章 安装Cinder块存储服务
7.1 Cinder基本概念
7.1.1 Cinder的特性
7.1.2 Cinder的架构
7.1.3 Cinder架构的优缺点
7.2 搭建环境
7.2.1 准备工作
7.2.2 创建API Node
7.2.3 创建Volume存储节点
7.3 安装Cinder API服务
7.3.1 解决依赖关系
7.3.2 注册Cinder服务至Keystone
7.3.3 配置MySQL服务
7.3.4 修改配置文件
7.3.5 运行Cinder API服务
7.4 安装Cinder Volume服务
7.4.1 准备工作
7.4.2 启动Volume服务
7.5 参考部署
7.5.1 单节点部署
7.5.2 多节点部署
7.6 常见错误及分析
7.6.1 虚拟机之间无法通信
7.6.2 cinder客户端命令执行失败
7.6.3 没有额外分区
7.7 小结
7.7.1 安装Cinder API Node
7.7.2 安装Cinder Volume Node

第8章 安装Nova虚拟机管理系统
8.1 Nova基本概念
8.1.1 Nova的特性
8.1.2 Nova的架构
8.1.3 Nova架构的优缺点
8.2 搭建环境
8.2.1 准备工作
8.2.2 创建节点
8.3 安装Nova API服务
8.3.1 准备工作
8.3.2 解决依赖关系
8.3.3 注册Nova服务
8.3.4 配置MySQL服务
8.3.5 修改Nova配置文件
8.4 安装Nova Compute服务
8.4.1 准备工作
8.4.2 解决依赖关系
8.4.3 配置文件
8.4.4 启动服务
8.4.5 检查服务
8.5 参考部署
8.5.1 单节点部署
8.5.2 多节点部署
8.6 客户端使用
8.6.1 环境变量
8.6.2 创建虚拟机
8.7 小结
8.7.1 安装Nova API Node
8.7.2 安装Nova Compute Node

第9章 安装Dashboard Web界面
9.1 Dashboard简介
9.2 Dashboard的安装
9.2.1 解决依赖关系
9.2.2 源码安装Horizon
9.3 Dashboard的配置
9.3.1 local_settings.py文件的配置
9.3.2 secret_key.py文件的修改
9.3.3 Apache2的配置
9.3.4 vncproxy的配置
9.4 Dashboard自动化安装
9.5 Web界面使用及测试
9.5.1 登录Dashboard
9.5.2 使用Dashboard上传镜像
9.5.3 使用Dashboard创建网络
9.5.4 使用Dashboard创建虚拟机
9.6 常见错误分析
9.7 小结

第10章 OpenStack部署示例
10.1 OpenStack单节点部署
10.1.1 单节点部署的特点
10.1.2 准备工作
10.1.3 系统初始化配置
10.1.4 安装OpenStack各组件
10.2 OpenStack多节点部署
10.2.1 多点部署特点
10.2.2 部署流程
10.3 OpenStack实用部署
10.3.1 实用部署特点
10.3.2 部署流程
10.4 常见错误及分析
10.4.1 eth1网卡无法使用
10.4.2 自建源无法使用
10.4.3 客户端命令执行失败
10.5 小结
10.5.1 单节点安装
10.5.2 多节点安装
10.5.3 实用安装

第3篇 剖 析 篇

第11章 OpenStack服务分析
11.1 RESTful API简介
11.2 搭建RESTful API
11.2.1 一个简单的WSGI服务
11.2.2 使用PasteDeploy定制WSGI服务
11.2.3 带过滤器的WSGI服务
11.2.4 利用类来实现过滤器和应用
11.2.5 实现WSGI服务的URL映射
11.3 基于消息通信的RPC调用
11.3.1 AMQP简介
11.3.2 RabbitMQ分析
11.3.3 RPC调用的实现
11.4 小结
11.4.1 RESTful API
11.4.2 RPC调用

第12章 Keystone的安全认证
12.1 Keystone框架结构
12.1.1 Keystone服务端架构
12.1.2 Keystone客户端架构
12.2 用户管理
12.2.1 用户认证
12.2.2 本地认证
12.2.3 用户信息的维护
12.3 多租户机制
12.3.1 租户管理
12.3.2 角色管理
12.3.3 权限管理
12.4 Token管理
12.4.1 Token认证方式
12.4.2 Token的存储
12.5 服务的安全认证
12.6 OpenStack各个模块与Keystone的交互
12.7 小结
12.7.1 Keystone服务器端架构
12.7.2 客户端发送HTTP请求流程
12.7.3 用户认证
12.7.4 访问OpenStack服务的流程

第13章 Swift存储服务
13.1 Swift框架概述
13.2 问题描述
13.3 炮灰方法
13.4 快拳方法
13.4.1 算法原理
13.4.2 算法实现
13.4.3 算法分析
13.4.4 算法破绽
13.5 太极拳
13.5.1 算法原理
13.5.2 算法实现
13.5.3 算法分析
13.5.4 算法升级
13.5.5 算法破绽
13.6 虚实相生
13.6.1 算法原理
13.6.2 算法实现
13.6.3 算法分析
13.6.4 算法升级
13.6.5 算法分析
13.7 扩展
13.7.1 映射中的动与不动
13.7.2 虚节点

前沿

免费在线读

  【前言】
  为什么要写这本书
  云计算已经从概念走向现实,从讨论走向实践。各种各样的云计算平台也层出不穷,基于云计算的应用也不断推出。相对于天价的商业云计算软件,众多的云计算爱好者和公司开始考虑一种易用的开源云计算软件。开源云OpenStack正是在这样的环境下诞生的。在OpenStack诞生之前也有很多的开源云软件,但是OpenStack却成为了当下最热门的开源云平台。这主要得益于OpenStack的优秀特性:灵活的结构、巧妙的模块化设计及极强的扩展性能。但是,OpenStack的入门却有着不低的门槛。除了技术本身的障碍之外,眼花缭乱的安装部署方式、尚待完善的官方文档、良莠不齐的技术博客、炒作概念的各种讨论会等,让希望了解开源云OpenStack的人望而却步。此外,OpenStack版本升级较快,模块变化较大,也给很多研究人员带了很重的学习负担。本书以实践为宗旨,由浅入深,从入门到精通,一点一滴地介绍了OpenStack的核心技术。
  本书以OpenStackGrizzly版本为基础,详细介绍了OpenStack的几个方面:云计算技术的基础、集群搭建、组件剖析及扩展开发。阅读完本书后,读者能够掌握OpenStack实现的技术细节与设计思想,并且将这些技术灵活地运用在云计算的开发中。理解了OpenStack的精髓,无论OpenStack更新到何种版本,学习起来都会游刃有余。
  本书有何特色
  1.讲解了云计算入门所需的虚拟化技术
  为了将读者带入云计算的领域,虚拟化技术是一个绕不开的坎。作者专门介绍了OpenStack用到的虚拟化技术,并编写了大量的实例、程序及脚本供读者参考。
  2.涵盖OpenStack大部分组件
  本书涵盖了MySQL、RabbitMQ、Keystone、Swift、Glance、Cinder、Quantum、Nova和Dashboard重要组件的安装。每一种组件的安装都单独成一个模块,并且介绍了这些组件之间安装部署的相互依赖关系。此外,还提供了多种多样的参考部署方式。通过安装篇提供安装脚本,读者只需要简单地配置,便可以快速地部署相应的服务。此外,本书对OpenStack用到的关键技术和重要组件都有源代码剖析。
  3.案例经典,注重实践
  为了讲解OpenStack的各种技术细节,书中编写了大量的程序和脚本。为了讲解云计算设计思想与实现细节,本书的每一章都设计了经典案例、脚本及代码实现。
  4.循序渐进,由浅入深
  本书从云计算最基本的虚拟化技术入手,由虚拟机、虚拟资源的管理引出开源云OpenStack的实现,由浅入深,层层解开了开源云OpenStack的关键技术与重要组件。
  5.提供完善的技术支持
  本书内容及知识体系
  第1篇基础篇(第1~2章)
  本篇介绍了云计算的基本概念及开源云OpenStack的基本知识。主要包括云计算概念的产生与优势、开源云OpenStack的框架与特点、KVM和Libvirt虚拟化技术的使用。
  第2篇安装篇(第3~10章)
  本篇介绍了OpenStack系统的安装与集成,包含了OpenStack所需组件的安装部署,涵盖MySQL、RabbitMQ、Keystone、Swift、Glance、Cinder、Quantum、Nova及Dashboard。每个组件的安装部署都单独成章,并且给出了OpenStack集群部署的几种常用参考架构。讲解安装的同时,也介绍了OpenStack各个组件之间的相互依赖关系。
  第3篇剖析篇(第11~16章)
  本篇主要介绍了OpenStack重要组件所利用的关键技术。剖析的组件包括Keystone、Swift、Quantum和Nova。此外,还重点介绍了NovaCompute虚拟机管理服务。介绍的OpenStack关键技术包括OpenStackRESTfulAPI的实现、RPC消息通信服务和Swift存储系统设计。介绍这些关键技术时,由浅入深地提供了大量的参考代码与实现细节,逐步剥开了OpenStack关键技术细节的面纱。
  第4篇扩展篇(第17~19章)
  本篇介绍了如何利用OpenStack做二次开发。涵盖的内容有:如何在OpenStack上搭建Hadoop大数据分析系统;Nova扩展开发;添加自定义组件。添加自定义组件时,介绍了如何从基础代码构建一个兼容OpenStack的独立模块。详细介绍了数据库的设计与实现、API接口的添加、模块之间RPC调用。还介绍了将OpenStack的关键技术运用在一个独立开发的模块中。
  如何获得本书资源
  为了方便读者阅读本书,笔者将本书所涉及的所有代码上传于https://github.com/JiYou/openstack。包括的内容如下:
  *本书引用的OpenStackGrizzly版本的源代码、image资源、脚本和python包;
  *剖析OpenStack关键技术细节时所编写的示例;
  *添加自定义组件时,创建的兼容于OpenStack的组件Monitor的整个项目源码和安装脚本;
  *后续勘误与安装脚本的更新。
  适合阅读本书的读者
  *需要入门并且全面学习云计算的人员;
  *希望使用OpenStack开源云的研究人员;
  *需要了解云计算实现技术细节和内部运作机制的程序员;
  *需要利用OpenStack做快速二次开的程序员;
  *开源云OpenStack数据中心的管理员;
  *对云计算感兴趣的公司或个人。
  阅读本书的建议
  *云计算初学者,请务必从一章开始阅读,并且熟练掌握第2章虚拟化技术。熟练的虚拟机管理操作,会给后续的研究与OpenStack系统安装带来极大的方便。此外,还需要基本的Python知识,以及熟练掌握Linux系统,特别是Ubuntu-12.10ServiceEdition的使用。
  *云计算入门者,有一定云计算概念,并且知道如何操作KVM/Libvirt的读者,可以直接阅读安装篇,了解安装OpenStack各个组件的基本流程。
  *注意关键技术。由于OpenStack系统过于庞大,本书也只是挑选了OpenStack重要组件中的关键技术细节进行介绍。理解了这些关键技术细节,读通整个OpenStack项目的代码便绝非难事。
  *一切密秘尽在OpenStack的源码中,正所谓“师傅领进门,修行靠自身”。本书的目的在于将欲入门而不得其要领的人带入OpenStack开发的大门。就如同告诉“挖宝人”宝藏的所在地和挖掘方法一样,本书将读者带入门后,真正的挖掘还需要读者多看源码,多动手实践。
  勘误和支持
  由于笔者水平所限,加之本书的篇幅和编写时间的限制,使得本书写作比较仓促。因此书中可能会出现一些疏漏或者不准确的表述,恳请读者批评与指正。
  致谢
  感谢提供了大量帮助的贺丹,他为本书提供了大篇幅的修改意见。在介绍OpenStack关键技术时,他设计并参与了大量经典案例的编写与检测。本书素材的选取、内容章节的编排、OpenStack重要组件的剖析,他都给予了非常多而且极具参考价值的建议与意见。
  感谢这本书的编辑们,正是由于他们积极而又耐心的帮助,才使得本书的出版成为可能。
  感谢为本书部分章节提出修改意见的刘丹,他对本书安装篇的内容和脚本更正了不少错误。
  感谢我的父母!他们对我的写书工作表示了极大的理解和支持,并给了我无处不在的关怀与照顾。
  感谢我亲爱的老婆杨丹凤!她对于我写书给了极大的鼓励与支持。
  此外,感谢在IntelITFlex部门一起工作的各位Manager和同事们!
  谨以此书献给我最亲爱的家人及众多热爱开源云OpenStack的朋友们!
  最后希望各位读者通过阅读本书,能很好地掌握OpenStack开源云技术,成为这个领域中的“王者”。我将倍感欣慰!所学授之于人,不亦乐乎?最后祝读书快乐!
  【书摘】
  第3章安装Keystone安全认证服务
  早期的OpenStack版本中,并没有Keystone安全认证模块。用户、消息、API调用的认证,都是放在Nova模块中。在后来的开发中,由于有各种各样的模块加入到OpenStack中,安全认证所涉及的面也变得更加广泛,如用户登录、用户消息传递、模块消息通信、服务注册等各不相同的认证。处理这些不同的安全认证变得越来越复杂,于是需要一个模块来处理这些不同的安全认证。Keystone也就应运而生。本章主要介绍MySQL的安装与使用,以及Keystone服务安装及测试。本章主要涉及到的知识点如下。
  MySQL:数据库的介绍与安装。
  RabbitMQ:消息通信服务的介绍与安装。
  Keystone:安全认证服务的介绍与安装。
  3.1Keystone简介
  OpenStack管理了众多的软硬件资源,并且利用这些资源提供云服务。任何资源的管理,都会涉及到安全的管理。就OpenStack而言,安全的管理,分为以下几个方面:用户认证、服务认证和口令认证。无论是私有云还是公有云,都会开放接口给众多的用户。Keystone在对于用户进行认证的同时,也对用户的权限进行了限制。Keystone还会保证OpenStack的服务可以正常注
  册。除此之外,各服务组件之间的消息传递还需要用口令,当口令过期则不再使用此口令。如果把OpenStack比作一个别墅,OpenStack内部的各种服务好比各种房间,用户比作住在别墅里面的人,那么Keystone就是相当于别墅的安全机制。首先,进入别墅的人需要进行身份认证。除此之外,当用户进入到别墅之后,只能进入属于自己可以访问的房间,并不是所有的房间都可以进去(好比Keystone的用户权限管理)。别墅里面的房间都需要进行安全机制的管理(如上锁、刷卡)。此外串门的时候,还需要使用口令1。由于OpenStack所有的服务都需要在Keystone上进行注册,所以OpenStack的安装需要从Keystone入手。
  实际上,在家里面,也经常使用口令。进门的时候会说“我回来了”,进入父母的房间会说“我可以进来么”,人的声音就起到了口令的作用。
  3.2搭建局域网源
  数据中心中的结点,并不能保证都能够正常地访问公共网络。在这些节点上安装服务时,最好的方式是使用离线源。本节介绍如何搭建两种将会在OpenStack中用到的源:deb源和python安装包源。
  3.2.1局域网apt-get源搭建方法
  实际安装部署时,并不能保证每个结点都可以访问网络。因此,建立局域网apt-get源显得非常必要。建立局域网源方法如下。
  1.下载deb包
  假设有两类相同Ubuntu版本的结点:A类结点可以直接访问公共网络;B类结点不能直接访问公共网络。首先需要在A类结点上安装所需要的deb包。比如,如果B类结点需要安装python-dev包,那么需要在A类结点上执行:
  root@A-node#apt-getinstallpython-dev
  如果B类结点需要安装的包非常多,那么只需要将这些包,在A类结点上都执行一遍即可。安装命令执行成功之后,在A结点上收集所有的deb包,放置于/tmp/debs/目录下:
  root@A-node#mkdir-p/tmp/debs/
  root@A-node#cd/var/cache/apt/
  root@A-node#find.-name"*.deb"|xargs-icp-rf{}/tmp/debs/
  2.创建deb结构描述文件
  /tmp/debs目录包含了所需的deb包,可是/tmp/debs目录并不能直接作安装源使用。还需要创建目录结构描述文件Packages.g。创建目录结构描述文件需要利用dpkg-scanpackages
  命令,首先需安装dpkg-dev包:
  root@A-node#apt-getinstall-y--force-yesdpkg-dev
  安装成功之后,可以创建目录描述文件:
  root@A-node#cd/tmp/
  root@A-node#rm-rfdebs/Packages.gz
  root@A-node#dpkg-scanpackagesdebs/|gzip>;debs/Packages.gz
  3.使用局域网源
  此时,/tmp/debs目录已经具备了目录结构描述文件Packages.gz。但是,如何使用呢?答案便是安装Apache服务。
  01root@A-node#apt-getinstall-y--force-yesopenssh-serverbuildessentialgit
  python-devpython-setuptoolspython-piplibxml2-dev
  libxslt1.1libxslt1-devlibgnutls-devlibnl-3-dev
  python-virtualenvlibnspr4-devlibnspr4pkg-config
  apache2unzip
  02[[-e/usr/include/libxml]]&;&;rm-rf/usr/include/libxml
  03ln-s/usr/include/libxml2/libxml/usr/include/libxml
  04[[-e/usr/include/netlink]]&;&;rm-rf/usr/include/netlink
  05ln-s/usr/include/libnl3/netlink/usr/include/netlink
  注意:这里多安装了一些包,是为了在安装python某些源包时,自动解决掉其依赖。比如python-lxml包。
  在A结点上,将/tmp/debs复制至/var/www/目录下。
  root@A-node#cp-rf/tmp/debs/var/www/
  使用方法比较简单,只需要在/etc/apt/sources.list文件中添加如下内容:
  root@B-node#cp-rf/etc/apt/sources.list/etc/apt/sources.list_bak
  /etc/apt/">;root@B-node#echo"debhttp://192.168.111.140debs/">;/etc/apt/
  sources.list
  注意:192.168.111.140是A类结点在局域网内的IP地址。也可以使用主机名。
  3.2.2局域网python源搭建方法
  除了apt-get源之外,还需要建立python安装包的源,以便pip命令安装依赖包使用。如果局域网内的结点不能访问网络,利用pip命令安装依赖包将会失败。那么,如何建立python包源给局域网使用呢?
  1.下载python包
  同理,假设有两类相同环境的Ubuntu结点:A类结点可以直接访问公共网络;B类结点不能直接访问公共网络。需要在A类结点上安装相应的python包,比如:
  root@A-node#pipinstall-rpip-requires--download-cache=/tmp
  pip-requires并不是一个python包,而是一系列python包的列表,内容如下:
  kombu>=0.9.17
  routes>=1.12.3
  执行成功之后,pip会将pip-requires中需要的包都下载至/tmp/目录。在/tmp/目录下的安装包名字显得比较混乱,比如:
  #ls/tmp/
  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fk%2Fkombu%2Fkombu-2.5.10.tar.gz
  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpycrypto%2Froutes-1.12.3.tar.gz
  通过运行如下脚本,可以简化包的名字:
  01#catch.sh
  02#!/bin/bash
  03rm-rf*type*.html
  04fornin`find.-name"http*"`
  05do
  06mv$n${n##*2F}
  07done
  简化之后的结果如下:
  #ls/tmp/
  kombu-2.5.10.tar.gzroutes-1.12.3.tar.gz
  2.建立目录树
  接下来,只需要建立如下目录树:
  root@A-node#tree/tmp/pip
  /tmp/pip
  ├──kombu
  │└──kombu-2.5.10.tar.gz
  ├──routes
  └──routes-1.12.3.tar.gz
  3.Apache服务
  python安装包源的建立,最好的依赖方式还是使用Apache服务来支撑。首先安装好Apache服务:
  root@A-node#apt-getinstallapache2
  root@A-node#cp-rf/tmp/pip/var/www/
  root@A-node#serviceapache2restart
  4.使用局域网python源
  安装某个包时,只需要指定下载服务器即可,比如:
  root@B

  ……

OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:OpenStack开源云王者归来——云计算、虚拟化、Nova、Swift、Quantum与Hadoop