openEuler入门学习教程,从入门到精通,云计算与 Linux 操作系统概述(1)
云计算与Linux操作系统概述 - 知识点详解
1. 传统计算机系统
- 定义与架构:基于物理硬件的独立计算单元,操作系统直接安装在物理服务器上
- 资源分配方式:静态资源分配,硬件资源利用率通常较低(平均10-15%)
- 部署模式:物理设备采购、上架、配置、部署周期长,通常需要数周至数月
- 维护特点:需要专门的运维团队负责硬件维护、软件更新和故障处理
- 局限性:扩展性差、资源利用率低、初期投入成本高、部署灵活性不足
2. 云计算系统
- 核心特征:按需自助服务、广泛的网络接入、资源池化、快速弹性、可度量的服务
- 部署方式:物理资源抽象为虚拟资源池,用户可通过网络按需获取计算资源
- 计费模式:采用"按使用付费"(Pay-as-you-go)模式,降低前期投资
- 运维简化:基础架构由云服务提供商维护,客户专注于业务应用
- 关键优势:成本优化、灵活性高、可扩展性强、可靠性提升、运维简化
3. 云计算的概念
- NIST定义:云计算是一种模型,能够实现无处不在的、便捷的、按需的网络访问,进入可配置的计算资源共享池
- 基本属性:
- 服务导向:以服务形式提供计算能力
- 资源共享:多租户模式实现资源高效利用
- 规模经济:大规模集中部署降低单位成本
- 发展历程:从网格计算、效用计算到现代云计算,2006年AWS推出S3和EC2标志着现代云计算开始
4. 云计算的服务模式
-
IaaS (基础设施即服务)
- 提供虚拟化计算资源,如虚拟机、存储、网络
- 用户负责操作系统、中间件、运行时、数据和应用程序
- 代表产品:AWS EC2、阿里云ECS、Azure Virtual Machines
-
PaaS (平台即服务)
- 提供应用程序开发和部署平台
- 用户只需关注应用程序和数据,无需管理底层基础设施
- 代表产品:Google App Engine、Heroku、阿里云函数计算
-
SaaS (软件即服务)
- 通过互联网提供软件应用
- 用户无需安装和维护软件,通常通过Web浏览器访问
- 代表产品:Office 365、Salesforce、钉钉、企业微信
5. 虚拟化技术
- 定义:将物理资源抽象为虚拟资源的技术,允许多个操作系统共享同一物理硬件
- 类型:
- 服务器虚拟化:单物理服务器运行多个虚拟机
- 存储虚拟化:将多个存储设备整合为单一管理单元
- 网络虚拟化:创建与物理网络解耦的虚拟网络
- 桌面虚拟化:远程交付桌面环境
- 架构:
- Type-1 (裸机型):虚拟机监控程序直接运行在硬件上,如VMware ESXi、KVM、Hyper-V
- Type-2 (寄居型):虚拟机监控程序运行在宿主操作系统上,如VMware Workstation、VirtualBox
- 关键技术:硬件辅助虚拟化(Intel VT-x/AMD-V)、内存管理、I/O虚拟化、实时迁移
6. 集群技术
- 定义:将多台计算机连接起来,作为一个单一系统协同工作
- 类型:
- 高可用集群(HA):确保服务持续可用,节点故障时自动切换
- 负载均衡集群:分发请求到多个节点,提高性能和可扩展性
- 高性能计算集群(HPC):并行处理计算密集型任务
- 关键技术:
- 心跳检测:监控节点健康状态
- 资源管理:协调集群资源分配
- 数据同步:确保节点间数据一致性
- 故障转移:自动将服务从故障节点迁移到健康节点
- 典型实现:Linux-HA、Kubernetes、Hadoop集群
7. 云计算平台
-
公有云:由第三方提供商拥有和运营,通过互联网向公众提供服务
- 国际主流:AWS、Microsoft Azure、Google Cloud Platform
- 国内主流:阿里云、腾讯云、华为云、百度智能云
-
私有云:专为单一组织构建的云基础设施
- 开源方案:OpenStack、CloudStack、oVirt
- 商业方案:VMware vSphere、Nutanix
-
混合云:结合公有云和私有云的优势,实现工作负载灵活部署
-
行业云:针对特定行业的云解决方案,如金融云、医疗云、政务云
8. 云计算相关概念
- 容器技术:轻量级虚拟化技术,Docker是主流实现
- 微服务:将应用拆分为小型、独立部署的服务
- DevOps:开发与运维的融合,强调自动化和协作
- 云原生:基于云环境设计的应用架构,充分利用云特性
- Serverless:开发者无需管理服务器,按执行付费
- 边缘计算:在数据源头附近进行计算,降低延迟
- 多云策略:使用多个云服务提供商避免厂商锁定
9. Linux简介
- 定义:一套免费使用和自由传播的类Unix操作系统
- 地位:云计算基础设施的主要操作系统,支撑全球90%以上的公有云工作负载
10. Linux的基本思想
- “一切皆文件”:硬件设备、进程、网络连接等都以文件形式表示
- 单一职责原则:每个程序只做一件事,并做到最好
- 组合性:通过管道和重定向,将简单工具组合实现复杂功能
- 文本为中心:系统配置和数据多以文本形式存储
- 开放标准:遵循POSIX标准,确保兼容性和可移植性
- 社区驱动:全球开发者协作开发模式
11. Linux的特性
- 开源自由:源代码公开,可自由使用、修改、分发
- 稳定性:服务器通常可连续运行数年无需重启
- 安全性:权限管理严格,漏洞修复快速
- 性能优化:内核针对服务器场景深度优化
- 硬件兼容性:支持从嵌入式设备到超级计算机的各种硬件
- 软件生态:拥有丰富的开源软件生态系统
- 定制性:可根据需求定制内核和系统组件
12. Linux的应用领域
- 服务器领域:Web服务器、数据库服务器、邮件服务器等
- 云计算:云平台底层操作系统,虚拟机宿主机
- 高性能计算:全球Top500超级计算机90%以上运行Linux
- 嵌入式系统:路由器、智能电视、IoT设备
- 移动设备:Android操作系统基于Linux内核
- 桌面环境:办公、开发、多媒体应用
- 安全设备:防火墙、入侵检测系统
- 汽车行业:智能座舱、自动驾驶系统
13. Linux的历史和发展
- 1991年:Linus Torvalds发布Linux 0.01
- 1992年:Linux与GNU软件结合,形成完整操作系统
- 1993年:Slackware发布,第一个广泛使用的Linux发行版
- 1996年:Linux 2.0内核发布,支持SMP(对称多处理)
- 1998年:Microsoft发布"万圣节文件",承认Linux威胁
- 2003年:CentOS发布;Linux 2.6内核发布,重大性能改进
- 2007年:Android发布,基于Linux内核
- 2015年:Docker容器技术迅速普及
- 2019年:IBM收购Red Hat,Linux成为主流企业平台
- 2020年:CentOS转向CentOS Stream引发社区震动
- 2021年:华为开源openEuler,中国Linux生态加速发展
14. Linux内核
- 架构:单体内核,但支持模块化加载
- 核心子系统:
- 进程调度:CFS(完全公平调度器)确保资源公平分配
- 内存管理:虚拟内存、内存分配、交换机制
- 虚拟文件系统:抽象不同文件系统接口,提供统一视图
- 网络子系统:TCP/IP协议栈,网络设备驱动
- 设备驱动:硬件设备控制接口
- 版本命名:主版本.次版本.修订版本(如5.4.0)
- 偶数次版本(2.6.x)表示稳定版本
- 奇数次版本(2.5.x)曾表示开发版(3.0后取消此规则)
- 内核模块:可动态加载的代码片段,扩展内核功能
15. Linux发行版
- 定义:基于Linux内核,整合GNU工具、软件包和配置的完整操作系统
- 核心组件:
- Linux内核
- GNU工具和库
- 包管理系统
- 初始化系统(systemd、SysVinit)
- 桌面环境或服务器配置
- 分类维度:
- 按用户群体:桌面发行版、服务器发行版
- 按更新策略:滚动发行版、固定版本发行版
- 按包管理:RPM系(如Red Hat)、DEB系(如Debian)
16. openEuler/CentOS系列
-
RHEL (Red Hat Enterprise Linux)
- 企业级Linux,采用订阅商业模式
- 长期支持(10年),严格的兼容性保证
- 开发了众多企业级特性:SELinux、cgroups、systemd
-
CentOS
- RHEL的社区克隆版,免费使用
- 2020年12月CentOS 8终止支持,转向CentOS Stream
- CentOS Stream:RHEL的上游开发版,不再是稳定版替代品
-
替代方案:
- Rocky Linux:由CentOS创始人发起,目标是成为RHEL的100%兼容替代
- AlmaLinux:CloudLinux公司发起的RHEL克隆版
- openEuler:华为开源的企业级Linux,支持多样性计算(鲲鹏、昇腾等架构)
- 特色:A-Tune(AI性能调优)、iSula(轻量容器)、毕昇JDK
- 生态:支持openGauss数据库、KubeEdge边缘计算
17. Debian/Ubuntu系列
-
Debian
- 历史最悠久的社区发行版,成立于1993年
- 严格遵循自由软件理念,拥有庞大的社区
- 软件包管理:apt/dpkg系统,超20万个软件包
- 发布周期长但极为稳定,适合服务器环境
-
Ubuntu
- 基于Debian,由Canonical公司主导
- 每6个月发布一个版本,每2年发布一个LTS(长期支持)版本
- 桌面体验优秀,对新手友好
- 云优化:Ubuntu是AWS、Azure、GCP上最常用的Linux发行版
- 生态系统:Snap包格式,Ubuntu One账户体系,商业支持服务
-
衍生版:
- Linux Mint:面向桌面用户的Ubuntu衍生版
- Kubuntu/Xubuntu:不同桌面环境的Ubuntu变体
- Pop!_OS:专注于开发者和创意工作的Ubuntu衍生版
18. FreeBSD
- 起源:源自伯克利软件分发(BSD),与Linux技术路线不同
- 关键区别:
- 许可证:BSD许可证比GPL更宽松,允许闭源商业使用
- 开发模式:单一代码库,整体开发,而非Linux的松散组合
- 技术特点:ZFS文件系统原生支持,jail容器技术,优秀的网络栈
- 应用场景:
- 高性能网络服务器
- 存储系统(使用ZFS)
- Netflix的CDN服务器
- PlayStation、Nintendo Switch等游戏系统
- 中国应用:腾讯、阿里等大型互联网公司用于核心基础设施
19. 开源协议和法律法规
-
GPL (GNU通用公共许可证)
- 核心原则:Copyleft(著佐权),要求衍生作品也必须开源
- GPL v2 vs v3:v3增加了专利授权和DRM限制
- 传染性:动态链接通常不受传染,静态链接通常受传染
- 代表项目:Linux内核(GPL v2)、GNU工具链
-
LGPL (GNU宽通用公共许可证)
- 较GPL宽松,允许非自由软件链接LGPL库
- 适用场景:共享库/动态链接库
- 修改LGPL代码仍需开源,但使用LGPL库的应用不一定需要
-
Apache License 2.0
- 允许自由使用、修改、分发,包括商业闭源使用
- 明确授予专利使用权,防御专利诉讼
- 要求保留版权声明和NOTICE文件
- 代表项目:Android、Kubernetes、Apache HTTP Server
-
BSD许可证
- 极简条款,几乎无限制
- 3-clause BSD要求不使用作者名字进行推广
- 2-clause BSD更宽松,类似MIT许可证
- 代表项目:FreeBSD、OpenBSD、NetBSD
-
MIT许可证
- 最宽松的开源许可证之一
- 仅要求保留版权声明和许可声明
- 允许闭源商业使用,无Copyleft限制
- 代表项目:React、jQuery、Rails
-
木兰许可证
- 中国自主研发的开源许可证
- 木兰宽松许可证:兼容Apache 2.0,适合商业场景
- 木兰公共许可证:类似GPL,具有Copyleft特性
- 意义:降低中国开发者和企业使用开源的法律风险
- 采用项目:openEuler、OpenHarmony部分组件
20. 小结
- 云计算变革:从传统IT架构向按需、弹性、服务化的云架构转变
- Linux地位:成为云计算基础设施的事实标准操作系统
- 开源生态:多样化的开源协议支持不同商业和社区需求
- 中国角色:从使用者到贡献者,openEuler等国产开源项目崛起
- 技术融合:虚拟化、容器、微服务等技术共同构建现代云原生架构
- 未来趋势:边缘计算与中心云协同,AI与云计算深度融合,开源协作模式持续演进
本章内容为理解和使用云计算与Linux系统奠定了基础,后续章节将深入探讨具体的部署、配置和管理技术。
