
本书是面向高等职业院校数据、云计算及计算机类相关专业的标准化教材,兼顾完善的理论性和较强的实用性。全书以云计算环境下虚拟化技术的应用为核心,项目一介绍了虚拟化和云计算的基本原理和常用概念;项目二~项目七以虚拟化软件KVM为基础,重点讲解了服务器虚拟化、网络虚拟化、存储虚拟化及虚拟机管理相关知识;项目八介绍OpenStack私有云平台,项目九和项目十介绍腾讯公有云服务,项目十一介绍从私有云服务迁移到公有云。读者通过对本书的学习,可以了解虚拟化技术的背景和原理,掌握KVM下创建管理虚拟机的方法,了解网络虚拟化与存储虚拟化的相关方法,掌握OpenStack私有云平台搭建和部署方法和技巧,掌握腾讯公有云基本操作并能将应用迁移上云。
国家职业教育专业教学资源库建设项目是教育部、财政部为深化高职院校教育教学改革,加强专业与课程建设,推动优质教学资源共建共享,提高人才培养质量而启动的建设项目。2019 年,深圳信息职业技术学院作为国家职业教育计算机信息管理专业教学资源库项目的联合主持单位,承建了大量的资源建设任务。本书既是建设项目的重要成果之一,又是资源库课程开发成果和资源整合应用实践的重要载体。 1.本书特色 本书内容包括开源虚拟化技术及公有云技术。本书选用红帽公司的 Red Hat Enterprise Linux 8 作为平台,采用“项目导向,任务驱动”的方式编辑内容,注重理论与实践相结合,配有 PPT、教案、实操视频等。参与本书编写的教师有丰富的云计算基础架构和虚拟化技术教学实践经验。公有云案例选用本书开发合作企业腾讯云计算(北京)有限责任公司的实际案例。 2.参考学时 本书参考学时为 60 学时,其中讲授学时为 30 学时。各个项目的参考学时参见下面的学时分配表。 本书由陈宝文担任主编,陆芸婷、刘婷婷、宋安担任副主编。其中,陈宝文撰写项目一至项目六,刘婷婷撰写项目七,陆芸婷撰写项目八。此外,宋安负责校对全部书稿。在此,感谢电子工业出版社各位编辑对本书的出版给予的帮助和支持。本书在编写过程中参考了大量书籍和互联网资料,并得到了相关职业学院教师的支持,在此对相关作者和教师表示感谢。由于编者水平有限,书中难免出现不足之处,请读者不吝指出,以帮助编者进一步完善本书的内容。
项目一 认识云计算与虚拟化 ........................................................ 1 学习目标 ....................................................................................................... 1 项目描述 ....................................................................................................... 1 相关知识 ....................................................................................................... 2 1.1 云计算概述 ........................................................................................ 2 1.2 虚拟化概述 ........................................................................................ 5 1.3 主流虚拟化技术................................................................................. 7 1.4 VMware Workstation 概述............................................................... 15 项目实践 ..................................................................................................... 15 任务 1-1 VMware Workstation 的安装 ................................................... 15 任务 1-2 使用 VMware Workstation 部署虚拟机 .................................... 23 课后练习 ..................................................................................................... 33 项目二 Qemu-kvm 的安装和配置 .............................................. 34 学习目标 ..................................................................................................... 34 项目描述 ..................................................................................................... 34 相关知识 ..................................................................................................... 35 2.1 KVM 及功能列表 ............................................................................. 35 2.2 KVM 工具集合................................................................................. 36 2.3 Qemu-kvm ...................................................................................... 36 项目实践 ..................................................................................................... 38 任务 2-1 使用 SSH 远程登录 Linux 服务器 ............................................ 38 任务 2-2 配置 VNC 环境并远程登录 Linux 服务器 ................................. 42 任务 2-3 Qemu-kvm 虚拟化环境的搭建 ................................................ 45 任务 2-4 使用 qemu-img 命令创建虚拟机硬盘并安装虚拟机 ................. 48 课后练习 ..................................................................................................... 50 项目三 libvirt 创建和管理虚拟机 ................................................. 51 学习目标 ..................................................................................................... 51 项目描述 ..................................................................................................... 51 相关知识 ..................................................................................................... 52 3.1 libvirt 简介 ....................................................................................... 52 3.2 libvirt 框架 ....................................................................................... 53 3.3 网桥 ................................................................................................ 54 项目实践 ..................................................................................................... 54 任务 3-1 安装 libvirt 软件包 ................................................................... 54 任务 3-2 使用 virt-install 命令创建虚拟机 .............................................. 55 任务 3-3 客户机 XML 配置文件格式及配置信息 .................................... 56 任务 3-4 使用 virsh 命令创建和管理虚拟机 ........................................... 60 任务 3-5 使用 virsh 命令管理网络 ......................................................... 65 任务 3-6 使用 virsh 命令管理存储池 ...................................................... 68 任务 3-7 使用 virsh 命令静态迁移虚拟机............................................... 74 任务 3-8 使用 virsh 命令动态迁移虚拟机............................................... 77 课后练习 ..................................................................................................... 79 项目四 virt-manager 创建和管理虚拟机 .................................... 81 学习目标 ..................................................................................................... 81 项目描述 ..................................................................................................... 81 相关知识 ..................................................................................................... 82 virt-manager 简介 .................................................................................... 82 项目实践 ..................................................................................................... 82 任务 4-1 使用 virt-manager 远程连接服务器 ......................................... 82 任务 4-2 使用 virt-manager 创建和管理虚拟机 ...................................... 86 任务 4-3 使用 virt-manager 管理存储池 ................................................ 91 任务 4-4 使用 virt-manager 动态迁移虚拟机 ......................................... 97 课后练习 ................................................................................................... 105 项目五 虚拟网络的配置和管理 ................................................ 106 学习目标 ................................................................................................... 106 项目描述 ................................................................................................... 106 相关知识 ................................................................................................... 107 5.1 传统网络和虚拟网络 ..................................................................... 107 5.2 虚拟网络模式 ................................................................................ 108 5.3 虚拟网络设备 veth-pair ................................................................. 109 5.4 分布式虚拟交换机 ......................................................................... 109 5.5 GRE 协议及原理 ........................................................................... 110 项目实践 ................................................................................................... 111 任务 5-1 使用 veth 连接两个 namespace ............................................ 111 任务 5-2 实现桥接网络模型 ................................................................. 112 任务 5-3 完成 NAT 网络模型 ............................................................... 114 任务 5-4 在 RHEL8 中安装 Open vSwitch ........................................... 118 任务 5-5 熟悉 Open vSwitch 管理网桥的相关命令 .............................. 120 任务 5-6 使用 Open vSwitch 创建 GRE 隧道网络 ............................... 120 课后练习 ................................................................................................... 124 项目六 网络存储的搭建和使用 ................................................. 126 学习目标 ................................................................................................... 126 项目描述 ................................................................................................... 126 相关知识 ................................................................................................... 127 6.1 主流的存储架构技术 ..................................................................... 127 6.2 分布式存储技术 ............................................................................ 128 项目实践 ................................................................................................... 131 任务 6-1 安装 Openfiler ....................................................................... 131 任务 6-2 使用 Openfiler 搭建 NFS 存储............................................... 137 任务 6-3 使用 Openfiler 搭建 iSCSI 存储............................................. 144 任务 6-4 HDFS 安装配置和使用.......................................................... 154 任务 6-5 MooseFS 的安装、配置和使用 ............................................. 159 课后练习 ................................................................................................... 166 项目七 Docker 技术 ................................................................. 167 学习目标 ................................................................................................... 167 项目描述 ................................................................................................... 167 相关知识 ................................................................................................... 168 7.1 Docker 架构 .................................................................................. 168 7.2 管理数据的方式 ............................................................................ 170 7.3 Dockerfile ...................................................................................... 171 项目实践 ................................................................................................... 173 任务 7-1 Docker 的安装和配置 ............................................................ 173 任务 7-2 Docker 命令行的操作 ............................................................ 175 任务 7-3 Docker 的数据管理 ............................................................... 180 任务 7-4 使用 Dockerfile 构建 Web 镜像 ............................................. 183 任务 7-5 Docker 镜像的发布 ............................................................... 185 课后练习 ................................................................................................... 188 项目八 腾讯云服务 .................................................................. 189 学习目标 ................................................................................................... 189 项目描述 ................................................................................................... 189 相关知识 ................................................................................................... 190 8.1 腾讯云概述 .................................................................................... 190 8.2 腾讯云产品 .................................................................................... 190 8.3 云 API 概述 ................................................................................... 196 项目实践 ................................................................................................... 197 任务 8-1 云服务器的创建和配置.......................................................... 197 任务 8-2 云数据库的创建和配置.......................................................... 203 任务 8-3 云存储的配置与管理 ............................................................. 212 任务 8-4 云网络的配置与管理 ............................................................. 221 任务 8-5 云服务器 API 的调用 ............................................................. 233 课后练习 ................................................................................................... 237