第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
上一篇我们建立了"分层全景图"。本篇放大最底层的 第 ① 层:物理基础设施。
云计算常说"资源池化",被池化的资源其实就三类:计算(CPU/内存)、存储(磁盘)、网络(带宽/连接) 。
这三类资源在物理上分别由 服务器、存储设备、网络设备 提供。
本篇解决:这些硬件长什么样、关键技术是什么、每类技术解决什么问题、哪些是同类。
文章目录
- [第 2 篇 · 云的地基:服务器、存储、网络三大基础设施](#第 2 篇 · 云的地基:服务器、存储、网络三大基础设施)
-
- 一、服务器:一切服务的载体
-
- [1. 服务器是什么](#1. 服务器是什么)
- [2. 服务器的三种硬件形态](#2. 服务器的三种硬件形态)
- [3. 服务器的核心硬件](#3. 服务器的核心硬件)
-
- (1)CPU------性能的首要指标
- [(2)内存------CPU 与硬盘之间的桥梁](#(2)内存——CPU 与硬盘之间的桥梁)
- (3)硬盘------五类盘的对比(同类)
- [(4)RAID 卡、网卡、电源/风扇](#(4)RAID 卡、网卡、电源/风扇)
- [4. 服务器的两大关键管理技术](#4. 服务器的两大关键管理技术)
- 二、存储:数据如何被安全保存
-
- [1. 存储架构的演进](#1. 存储架构的演进)
- [2. ★ RAID:多块盘如何组合](#2. ★ RAID:多块盘如何组合)
-
- [常见 RAID 级别对比(核心,必背)](#常见 RAID 级别对比(核心,必背))
- [3. 存储的三种组网形态:DAS / NAS / SAN(同类对比)](#3. 存储的三种组网形态:DAS / NAS / SAN(同类对比))
-
- 关键概念:LUN
- [华为 OceanStor 的存储组织(对应实验)](#华为 OceanStor 的存储组织(对应实验))
- [4. 存储协议家族(同类辨析)](#4. 存储协议家族(同类辨析))
- [5. 块存储 / 文件存储 / 对象存储(三种数据服务形态)](#5. 块存储 / 文件存储 / 对象存储(三种数据服务形态))
- [6. 集中式存储 vs 分布式存储](#6. 集中式存储 vs 分布式存储)
- [7. 存储多路径](#7. 存储多路径)
- 三、网络:设备如何互联与通信
-
- [1. 网络是什么](#1. 网络是什么)
- [2. ★ OSI 七层模型 vs TCP/IP 模型](#2. ★ OSI 七层模型 vs TCP/IP 模型)
- [3. 数据的封装与解封装](#3. 数据的封装与解封装)
- [4. IP 地址与子网](#4. IP 地址与子网)
- [5. MAC 地址与 ARP](#5. MAC 地址与 ARP)
- [6. 交换机(二层设备)](#6. 交换机(二层设备))
- [7. 路由器(三层设备)](#7. 路由器(三层设备))
- [8. ★ VLAN:把一个交换机逻辑隔离](#8. ★ VLAN:把一个交换机逻辑隔离)
- [9. 常用协议与服务](#9. 常用协议与服务)
-
- [传输层:TCP vs UDP(同类)](#传输层:TCP vs UDP(同类))
- 应用层常见协议
- NAT(网络地址转换)
- [10. 网络架构](#10. 网络架构)
-
- 园区网典型四层架构
- [云数据中心:Spine-Leaf 架构(资料延伸,重点)](#云数据中心:Spine-Leaf 架构(资料延伸,重点))
- 四、本篇总结:三大资源如何被"池化"
一、服务器:一切服务的载体
1. 服务器是什么
服务器(Server)也是计算机的一种,但它比普通 PC 运行更快、负载更高、更稳定、价格更贵。它是为网络中的用户提供服务(文件、数据库、Web、应用等)的计算机。
服务器与普通 PC 的本质区别,体现在五大设计目标(RASUM):
| 指标 | 英文 | 含义 |
|---|---|---|
| R 可靠性 | Reliability | 能连续无故障运行多长时间 |
| A 可用性 | Availability | 正常运行时间占总时间的百分比(如 99.99%) |
| S 可扩展性 | Scalability | 硬件可加配、软件可支持更多系统 |
| U 易用性 | Usability | 软硬件易于维护和修复 |
| M 可管理性 | Manageability | 可远程监控、告警、智能处理故障 |
2. 服务器的三种硬件形态
#mermaid-svg-TmvX2xgRsyrLMdLw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TmvX2xgRsyrLMdLw .error-icon{fill:#552222;}#mermaid-svg-TmvX2xgRsyrLMdLw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TmvX2xgRsyrLMdLw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TmvX2xgRsyrLMdLw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TmvX2xgRsyrLMdLw .marker.cross{stroke:#333333;}#mermaid-svg-TmvX2xgRsyrLMdLw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TmvX2xgRsyrLMdLw p{margin:0;}#mermaid-svg-TmvX2xgRsyrLMdLw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster-label text{fill:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster-label span{color:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster-label span p{background-color:transparent;}#mermaid-svg-TmvX2xgRsyrLMdLw .label text,#mermaid-svg-TmvX2xgRsyrLMdLw span{fill:#333;color:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw .node rect,#mermaid-svg-TmvX2xgRsyrLMdLw .node circle,#mermaid-svg-TmvX2xgRsyrLMdLw .node ellipse,#mermaid-svg-TmvX2xgRsyrLMdLw .node polygon,#mermaid-svg-TmvX2xgRsyrLMdLw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TmvX2xgRsyrLMdLw .rough-node .label text,#mermaid-svg-TmvX2xgRsyrLMdLw .node .label text,#mermaid-svg-TmvX2xgRsyrLMdLw .image-shape .label,#mermaid-svg-TmvX2xgRsyrLMdLw .icon-shape .label{text-anchor:middle;}#mermaid-svg-TmvX2xgRsyrLMdLw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TmvX2xgRsyrLMdLw .rough-node .label,#mermaid-svg-TmvX2xgRsyrLMdLw .node .label,#mermaid-svg-TmvX2xgRsyrLMdLw .image-shape .label,#mermaid-svg-TmvX2xgRsyrLMdLw .icon-shape .label{text-align:center;}#mermaid-svg-TmvX2xgRsyrLMdLw .node.clickable{cursor:pointer;}#mermaid-svg-TmvX2xgRsyrLMdLw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TmvX2xgRsyrLMdLw .arrowheadPath{fill:#333333;}#mermaid-svg-TmvX2xgRsyrLMdLw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TmvX2xgRsyrLMdLw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TmvX2xgRsyrLMdLw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TmvX2xgRsyrLMdLw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TmvX2xgRsyrLMdLw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TmvX2xgRsyrLMdLw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster text{fill:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw .cluster span{color:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TmvX2xgRsyrLMdLw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TmvX2xgRsyrLMdLw rect.text{fill:none;stroke-width:0;}#mermaid-svg-TmvX2xgRsyrLMdLw .icon-shape,#mermaid-svg-TmvX2xgRsyrLMdLw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TmvX2xgRsyrLMdLw .icon-shape p,#mermaid-svg-TmvX2xgRsyrLMdLw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TmvX2xgRsyrLMdLw .icon-shape .label rect,#mermaid-svg-TmvX2xgRsyrLMdLw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TmvX2xgRsyrLMdLw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TmvX2xgRsyrLMdLw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TmvX2xgRsyrLMdLw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 同类:按形态划分
同类:按形态划分
塔式服务器
像立式大机箱
扩展槽/硬盘多
适合小企业、入门
机架服务器
扁平抽屉式,1U/2U/4U
装进标准19英寸机柜
数据中心主流
刀片服务器
一块块插板
插进专用机箱
高密度、高性能计算
U(Unit):机架高度单位,1U = 1.75 英寸(约 4.445 cm)。U 数越小越薄、密度越高。
3. 服务器的核心硬件
一台服务器的关键部件:CPU、内存、硬盘、RAID 卡、网卡、电源、风扇、主板。
(1)CPU------性能的首要指标
- CPU 是运算和控制核心,由运算器(ALU)、控制器、寄存器组成。
- 服务器 CPU 有两大指令集架构(同类的两大阵营):
| 架构 | 类型 | 特点 | 代表 |
|---|---|---|---|
| x86 | CISC(复杂指令集) | 生态成熟、通用、性价比高,数据中心主流 | Intel 至强 Xeon、AMD EPYC |
| ARM | RISC(精简指令集) | 低功耗、多核、自主可控 | 华为鲲鹏 Kunpeng、飞腾、AWS Graviton |
CISC 指令多而复杂,RISC 指令少而精、执行效率高。云计算规模下 ARM 因多核低功耗正在快速崛起(如华为 TaiShan 服务器基于鲲鹏)。
频率概念:主频 (内部运算速度,GHz)、外频 (主板基准频率)、倍频 = 主频 ÷ 外频 、总线频率(影响 CPU 与内存交换速度)。
(2)内存------CPU 与硬盘之间的桥梁
- 内存是 CPU 能直接寻址的主存储器,临时存放运算数据,速度远快于硬盘。
- 程序必须先调入内存才能运行。
- 配置原则:同一台服务器用相同型号的 DIMM;按 CPU 均衡对称插内存,才能获得最佳性能(不平衡会降速)。
(3)硬盘------五类盘的对比(同类)
| 类型 | 接口/转速 | 特点 | 年故障率 |
|---|---|---|---|
| SATA | 串行,7200 转 | 容量大、便宜,适合大容量冷数据 | ~2% |
| SAS | 串行,1万/1.5万转 | 高性能、高可靠、兼容 SATA,企业级 | <2% |
| NL-SAS | 串行,7200 转 | "企业级 SATA",大容量、用于分级存储 | ~2% |
| SSD | 固态,无机械结构 | 极快、低延迟、最贵 | 最低 |
| NVMe SSD | PCIe 直连 | 走 PCIe 通道,速度数倍于普通 SSD | 最低 |
衡量硬盘性能的两个核心指标:
- IOPS :每秒读写次数,适合随机小 I/O(如数据库 OLTP);
- 吞吐量 / 带宽(MB/s) :单位时间传输的数据量,适合顺序大 I/O(如视频编辑)。
参考量级(差异巨大):SATA 盘约 330 IOPS / 200 MB/s,而 NVMe SSD 可达约 30 万 IOPS / 3500 MB/s。
(4)RAID 卡、网卡、电源/风扇
- RAID 卡(阵列卡):把多块硬盘组合成阵列,提升性能与可靠性,自带处理器(详见存储章节)。
- 网卡(NIC):服务器接入网络的部件,形态有板载网卡、PCIe 标卡、灵活 IO 卡、Mezz 卡(刀片专用)。
- 电源 / 风扇 :均支持冗余。电源冗余如 1+1(各担 50%,坏一个另一个担 100%)、2+1。
4. 服务器的两大关键管理技术
(1)BMC / IPMI------带外管理的核心
这是初学者最容易忽略但极其重要的功能:服务器关机、操作系统挂了,你仍然能远程管理它。
- IPMI(智能平台管理接口) :开放标准的硬件管理接口规格,不依赖操作系统进行底层硬件管理。
- BMC(主板管理控制器):IPMI 的核心,是一块独立芯片,负责采集温度/电压/风扇/电源状态、远程开关机、远程控制台(KVM over IP)、告警。
- 各厂商的 BMC 实现(同类):
- 华为 iBMC(基于自研 Hi1710 芯片)
- Dell iDRAC
- HPE iLO
- 浪潮 ISBMC
带外管理 vs 带内管理:通过业务网络、依赖操作系统的管理叫"带内"(如 SSH);通过独立 BMC 网口、独立硬件的管理叫"带外"。服务器运维主要靠带外管理,因为它在系统崩溃时依然可用。
(2)BIOS
- BIOS(基本输入输出系统):固化在主板上的程序,是操作系统内核与硬件之间的桥梁。
- 功能:开机检测与初始化硬件(POST) 、引导操作系统、电源管理、硬件诊断。
- 新版标准是 UEFI(传统 BIOS 的升级,支持更大磁盘、图形化、更快启动)。
(3)热插拔与冗余
- 热插拔(Hot-Swap):不关机、不断电即可更换硬盘、网卡、电源等部件,是高可用的基础。
- 冗余(Redundancy):关键部件(电源、风扇、网卡、甚至 CPU)做备份,单个故障不影响业务。
二、存储:数据如何被安全保存
数据是用户最重要的资产。存储技术的核心永远围绕两个目标:让数据存取更快(性能) 和 让数据不丢失(可靠/冗余)。
1. 存储架构的演进
#mermaid-svg-2h139gHmW8u4amFo{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-2h139gHmW8u4amFo .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-2h139gHmW8u4amFo .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-2h139gHmW8u4amFo .error-icon{fill:#552222;}#mermaid-svg-2h139gHmW8u4amFo .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-2h139gHmW8u4amFo .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-2h139gHmW8u4amFo .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-2h139gHmW8u4amFo .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-2h139gHmW8u4amFo .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-2h139gHmW8u4amFo .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-2h139gHmW8u4amFo .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-2h139gHmW8u4amFo .marker{fill:#333333;stroke:#333333;}#mermaid-svg-2h139gHmW8u4amFo .marker.cross{stroke:#333333;}#mermaid-svg-2h139gHmW8u4amFo svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-2h139gHmW8u4amFo p{margin:0;}#mermaid-svg-2h139gHmW8u4amFo .edge{stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .section--1 rect,#mermaid-svg-2h139gHmW8u4amFo .section--1 path,#mermaid-svg-2h139gHmW8u4amFo .section--1 circle,#mermaid-svg-2h139gHmW8u4amFo .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section--1 text{fill:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth--1{stroke-width:17;}#mermaid-svg-2h139gHmW8u4amFo .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-0 rect,#mermaid-svg-2h139gHmW8u4amFo .section-0 path,#mermaid-svg-2h139gHmW8u4amFo .section-0 circle,#mermaid-svg-2h139gHmW8u4amFo .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-2h139gHmW8u4amFo .section-0 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-0{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-0{stroke-width:14;}#mermaid-svg-2h139gHmW8u4amFo .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-1 rect,#mermaid-svg-2h139gHmW8u4amFo .section-1 path,#mermaid-svg-2h139gHmW8u4amFo .section-1 circle,#mermaid-svg-2h139gHmW8u4amFo .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-1 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-1{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-1{stroke-width:11;}#mermaid-svg-2h139gHmW8u4amFo .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-2 rect,#mermaid-svg-2h139gHmW8u4amFo .section-2 path,#mermaid-svg-2h139gHmW8u4amFo .section-2 circle,#mermaid-svg-2h139gHmW8u4amFo .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-2 text{fill:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-2{stroke-width:8;}#mermaid-svg-2h139gHmW8u4amFo .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-3 rect,#mermaid-svg-2h139gHmW8u4amFo .section-3 path,#mermaid-svg-2h139gHmW8u4amFo .section-3 circle,#mermaid-svg-2h139gHmW8u4amFo .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-3 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-3{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-3{stroke-width:5;}#mermaid-svg-2h139gHmW8u4amFo .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-4 rect,#mermaid-svg-2h139gHmW8u4amFo .section-4 path,#mermaid-svg-2h139gHmW8u4amFo .section-4 circle,#mermaid-svg-2h139gHmW8u4amFo .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-4 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-4{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-4{stroke-width:2;}#mermaid-svg-2h139gHmW8u4amFo .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-5 rect,#mermaid-svg-2h139gHmW8u4amFo .section-5 path,#mermaid-svg-2h139gHmW8u4amFo .section-5 circle,#mermaid-svg-2h139gHmW8u4amFo .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-5 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-5{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-5{stroke-width:-1;}#mermaid-svg-2h139gHmW8u4amFo .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-6 rect,#mermaid-svg-2h139gHmW8u4amFo .section-6 path,#mermaid-svg-2h139gHmW8u4amFo .section-6 circle,#mermaid-svg-2h139gHmW8u4amFo .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-6 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-6{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-6{stroke-width:-4;}#mermaid-svg-2h139gHmW8u4amFo .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-7 rect,#mermaid-svg-2h139gHmW8u4amFo .section-7 path,#mermaid-svg-2h139gHmW8u4amFo .section-7 circle,#mermaid-svg-2h139gHmW8u4amFo .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-7 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-7{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-7{stroke-width:-7;}#mermaid-svg-2h139gHmW8u4amFo .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-8 rect,#mermaid-svg-2h139gHmW8u4amFo .section-8 path,#mermaid-svg-2h139gHmW8u4amFo .section-8 circle,#mermaid-svg-2h139gHmW8u4amFo .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-8 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-8{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-8{stroke-width:-10;}#mermaid-svg-2h139gHmW8u4amFo .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-9 rect,#mermaid-svg-2h139gHmW8u4amFo .section-9 path,#mermaid-svg-2h139gHmW8u4amFo .section-9 circle,#mermaid-svg-2h139gHmW8u4amFo .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-9 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-9{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-9{stroke-width:-13;}#mermaid-svg-2h139gHmW8u4amFo .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-10 rect,#mermaid-svg-2h139gHmW8u4amFo .section-10 path,#mermaid-svg-2h139gHmW8u4amFo .section-10 circle,#mermaid-svg-2h139gHmW8u4amFo .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-10 text{fill:black;}#mermaid-svg-2h139gHmW8u4amFo .node-icon-10{font-size:40px;color:black;}#mermaid-svg-2h139gHmW8u4amFo .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .edge-depth-10{stroke-width:-16;}#mermaid-svg-2h139gHmW8u4amFo .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2h139gHmW8u4amFo .lineWrapper line{stroke:black;}#mermaid-svg-2h139gHmW8u4amFo .disabled,#mermaid-svg-2h139gHmW8u4amFo .disabled circle,#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:lightgray;}#mermaid-svg-2h139gHmW8u4amFo .disabled text{fill:#efefef;}#mermaid-svg-2h139gHmW8u4amFo .section-root rect,#mermaid-svg-2h139gHmW8u4amFo .section-root path,#mermaid-svg-2h139gHmW8u4amFo .section-root circle{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-2h139gHmW8u4amFo .section-root text{fill:#ffffff;}#mermaid-svg-2h139gHmW8u4amFo .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-2h139gHmW8u4amFo .edge{fill:none;}#mermaid-svg-2h139gHmW8u4amFo .eventWrapper{filter:brightness(120%);}#mermaid-svg-2h139gHmW8u4amFo :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 单硬盘/JBOD 一堆盘简单串联,只增容量,无保护 DAS 直连存储 盘直接挂在服务器上,数据分散、利用率低 存储网络 SAN/NAS 存储独立出来,通过网络共享给多台服务器 统一存储 同时支持 SAN(块) 和 NAS(文件) 分布式存储 用通用服务器+软件构建存储池,线性扩展,适合云 云存储 虚拟化、多租户、块/文件/对象一体,按需弹性 存储架构演进
2. ★ RAID:多块盘如何组合
RAID(独立磁盘冗余阵列) :把多块物理硬盘按一定方式组合成一个逻辑硬盘,目的是提升性能、提供数据冗余,或两者兼有。
RAID 有两种基本数据保护手段:
- 条带化(Striping) :数据切成小块分散到多块盘并行读写 → 提升性能。
- 镜像(Mirroring) :数据完整复制到另一块盘 → 提供冗余。
- 奇偶校验(XOR 异或) :相同为 0、相异为 1,用校验值在盘坏后重建数据。
常见 RAID 级别对比(核心,必背)
| 级别 | 组成原理 | 最少盘数 | 可用容量 | 容错(允许坏几块) | 特点 / 场景 |
|---|---|---|---|---|---|
| RAID 0 | 纯条带,无校验 | 2 | N 块盘之和 | 0 块(坏一块全丢) | 速度最快、不安全,临时数据 |
| RAID 1 | 纯镜像 | 2 | 一半(1 份容量) | 每组允许坏 1 块 | 最可靠、容量利用率低,系统盘 |
| RAID 5 | 条带 + 分布式校验 | 3 | (N-1) 块盘 | 允许坏 1 块 | 兼顾性能与容量,最常用 |
| RAID 6 | 条带 + 双校验(P+Q) | 4 | (N-2) 块盘 | 允许坏 2 块 | 大容量盘、重要数据 |
| RAID 10 | 先镜像(1)再条带(0) | 4 | 一半 | 每组允许坏 1 块 | 又快又安全、成本高,数据库 |
容量计算示例:4 块 1TB 盘做 RAID 5,可用 3TB;做 RAID 6,可用 2TB;做 RAID 10,可用 2TB;做 RAID 0,可用 4TB。
RAID 热备与重构:
- 热备盘(Hot Spare) :RAID 组里一块盘坏了,备用盘自动顶替。
- 全局热备:一块备盘为所有 RAID 组共享;
- 专用热备:只服务某一个 RAID 组。
- 重构(Rebuild):坏盘后,利用冗余数据(镜像/校验)在新盘上重建数据。
重要认知 :RAID 防的是"磁盘物理故障 ",不能替代备份!误删、病毒、人为破坏(盘没坏、数据被改)时 RAID 无能为力。所以还需要备份、容灾。
3. 存储的三种组网形态:DAS / NAS / SAN(同类对比)
这是存储领域最核心的分类,判断依据是"存储怎么连服务器、给服务器的是块还是文件"。
#mermaid-svg-q5DtSwg8JaGfOsZE{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-q5DtSwg8JaGfOsZE .error-icon{fill:#552222;}#mermaid-svg-q5DtSwg8JaGfOsZE .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-q5DtSwg8JaGfOsZE .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-q5DtSwg8JaGfOsZE .marker{fill:#333333;stroke:#333333;}#mermaid-svg-q5DtSwg8JaGfOsZE .marker.cross{stroke:#333333;}#mermaid-svg-q5DtSwg8JaGfOsZE svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-q5DtSwg8JaGfOsZE p{margin:0;}#mermaid-svg-q5DtSwg8JaGfOsZE .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster-label text{fill:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster-label span{color:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster-label span p{background-color:transparent;}#mermaid-svg-q5DtSwg8JaGfOsZE .label text,#mermaid-svg-q5DtSwg8JaGfOsZE span{fill:#333;color:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE .node rect,#mermaid-svg-q5DtSwg8JaGfOsZE .node circle,#mermaid-svg-q5DtSwg8JaGfOsZE .node ellipse,#mermaid-svg-q5DtSwg8JaGfOsZE .node polygon,#mermaid-svg-q5DtSwg8JaGfOsZE .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-q5DtSwg8JaGfOsZE .rough-node .label text,#mermaid-svg-q5DtSwg8JaGfOsZE .node .label text,#mermaid-svg-q5DtSwg8JaGfOsZE .image-shape .label,#mermaid-svg-q5DtSwg8JaGfOsZE .icon-shape .label{text-anchor:middle;}#mermaid-svg-q5DtSwg8JaGfOsZE .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-q5DtSwg8JaGfOsZE .rough-node .label,#mermaid-svg-q5DtSwg8JaGfOsZE .node .label,#mermaid-svg-q5DtSwg8JaGfOsZE .image-shape .label,#mermaid-svg-q5DtSwg8JaGfOsZE .icon-shape .label{text-align:center;}#mermaid-svg-q5DtSwg8JaGfOsZE .node.clickable{cursor:pointer;}#mermaid-svg-q5DtSwg8JaGfOsZE .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-q5DtSwg8JaGfOsZE .arrowheadPath{fill:#333333;}#mermaid-svg-q5DtSwg8JaGfOsZE .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-q5DtSwg8JaGfOsZE .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-q5DtSwg8JaGfOsZE .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-q5DtSwg8JaGfOsZE .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-q5DtSwg8JaGfOsZE .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-q5DtSwg8JaGfOsZE .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster text{fill:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE .cluster span{color:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-q5DtSwg8JaGfOsZE .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-q5DtSwg8JaGfOsZE rect.text{fill:none;stroke-width:0;}#mermaid-svg-q5DtSwg8JaGfOsZE .icon-shape,#mermaid-svg-q5DtSwg8JaGfOsZE .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-q5DtSwg8JaGfOsZE .icon-shape p,#mermaid-svg-q5DtSwg8JaGfOsZE .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-q5DtSwg8JaGfOsZE .icon-shape .label rect,#mermaid-svg-q5DtSwg8JaGfOsZE .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-q5DtSwg8JaGfOsZE .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-q5DtSwg8JaGfOsZE .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-q5DtSwg8JaGfOsZE :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} SAN 存储区域网络(块级)
FC 或 iSCSI
FC 或 iSCSI
服务器A
存储阵列
(划分LUN)
服务器B
NAS 网络附加存储(文件级)
以太网 NFS/CIFS
以太网 NFS/CIFS
服务器A
NAS存储
(自带文件系统)
服务器B
DAS 直连存储
SCSI/SAS/FC 直连
服务器
磁盘/阵列
| 对比项 | DAS | NAS | SAN |
|---|---|---|---|
| 连接方式 | SCSI/SAS/FC 直连 | 以太网(IP) | FC 网络 / IP 网络 |
| 数据类型 | 块级 | 文件级 | 块级 |
| 文件系统在哪 | 服务器上 | NAS 存储上 | 服务器上 |
| 典型协议 | SCSI、SAS | NFS、CIFS/Samba | FC、iSCSI |
| 典型应用 | 任何、单机 | 文件共享、文件服务器 | 数据库、关键业务 |
| 优点 | 简单、兼容性好 | 易安装、成本低、可共享 | 高性能、高扩展、高可用 |
| 缺点 | 难管理、扩展差、利用率低 | 性能较低 | FC-SAN 昂贵、配置复杂 |
SAN 又分两类(同类):
- FC-SAN :用专用光纤网络 + FC 交换机,性能最高、成本高、配置复杂。
- IP-SAN :用以太网 + iSCSI 协议,复用成熟 IP 网络,成本低、扩展远,典型如视频监控。
关键概念:LUN
- LUN(逻辑单元号) :在 SAN 存储阵列中划分出来的一块"逻辑磁盘"。服务器看到的 LUN 就像一块本地裸硬盘,可以分区、格式化。
- 它是被分配的对象,不是独立产品。
华为 OceanStor 的存储组织(对应实验)
#mermaid-svg-szpM5WyZsQLdEwOz{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-szpM5WyZsQLdEwOz .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-szpM5WyZsQLdEwOz .error-icon{fill:#552222;}#mermaid-svg-szpM5WyZsQLdEwOz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-szpM5WyZsQLdEwOz .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-szpM5WyZsQLdEwOz .marker{fill:#333333;stroke:#333333;}#mermaid-svg-szpM5WyZsQLdEwOz .marker.cross{stroke:#333333;}#mermaid-svg-szpM5WyZsQLdEwOz svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-szpM5WyZsQLdEwOz p{margin:0;}#mermaid-svg-szpM5WyZsQLdEwOz .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-szpM5WyZsQLdEwOz .cluster-label text{fill:#333;}#mermaid-svg-szpM5WyZsQLdEwOz .cluster-label span{color:#333;}#mermaid-svg-szpM5WyZsQLdEwOz .cluster-label span p{background-color:transparent;}#mermaid-svg-szpM5WyZsQLdEwOz .label text,#mermaid-svg-szpM5WyZsQLdEwOz span{fill:#333;color:#333;}#mermaid-svg-szpM5WyZsQLdEwOz .node rect,#mermaid-svg-szpM5WyZsQLdEwOz .node circle,#mermaid-svg-szpM5WyZsQLdEwOz .node ellipse,#mermaid-svg-szpM5WyZsQLdEwOz .node polygon,#mermaid-svg-szpM5WyZsQLdEwOz .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-szpM5WyZsQLdEwOz .rough-node .label text,#mermaid-svg-szpM5WyZsQLdEwOz .node .label text,#mermaid-svg-szpM5WyZsQLdEwOz .image-shape .label,#mermaid-svg-szpM5WyZsQLdEwOz .icon-shape .label{text-anchor:middle;}#mermaid-svg-szpM5WyZsQLdEwOz .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-szpM5WyZsQLdEwOz .rough-node .label,#mermaid-svg-szpM5WyZsQLdEwOz .node .label,#mermaid-svg-szpM5WyZsQLdEwOz .image-shape .label,#mermaid-svg-szpM5WyZsQLdEwOz .icon-shape .label{text-align:center;}#mermaid-svg-szpM5WyZsQLdEwOz .node.clickable{cursor:pointer;}#mermaid-svg-szpM5WyZsQLdEwOz .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-szpM5WyZsQLdEwOz .arrowheadPath{fill:#333333;}#mermaid-svg-szpM5WyZsQLdEwOz .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-szpM5WyZsQLdEwOz .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-szpM5WyZsQLdEwOz .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-szpM5WyZsQLdEwOz .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-szpM5WyZsQLdEwOz .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-szpM5WyZsQLdEwOz .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-szpM5WyZsQLdEwOz .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-szpM5WyZsQLdEwOz .cluster text{fill:#333;}#mermaid-svg-szpM5WyZsQLdEwOz .cluster span{color:#333;}#mermaid-svg-szpM5WyZsQLdEwOz div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-szpM5WyZsQLdEwOz .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-szpM5WyZsQLdEwOz rect.text{fill:none;stroke-width:0;}#mermaid-svg-szpM5WyZsQLdEwOz .icon-shape,#mermaid-svg-szpM5WyZsQLdEwOz .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-szpM5WyZsQLdEwOz .icon-shape p,#mermaid-svg-szpM5WyZsQLdEwOz .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-szpM5WyZsQLdEwOz .icon-shape .label rect,#mermaid-svg-szpM5WyZsQLdEwOz .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-szpM5WyZsQLdEwOz .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-szpM5WyZsQLdEwOz .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-szpM5WyZsQLdEwOz :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 物理硬盘
硬盘域 Disk Domain
(把盘分组)
存储池 Storage Pool
(按RAID策略组织)
LUN 逻辑磁盘
(从池中划分)
LUN组
主机(用IQN标识)
主机组
映射视图
(把LUN组和主机组对应)
实验流程(华为 OceanStor 基础使用):
- 配置业务接口 IP(存储和主机通信的网口);
- 建硬盘域 → 存储池(选 RAID 策略)→ LUN → LUN 组;
- 建主机(填主机的 IQN 启动器)→ 主机组;
- 建映射视图,把 LUN 组和主机组映射起来;
- 主机端用 iSCSI 发起程序发现、登录目标,重新扫描即可看到新磁盘。
4. 存储协议家族(同类辨析)
| 协议 | 作用 | 承载 | 类型 |
|---|---|---|---|
| SCSI | 主机与本地磁盘通信的原始接口/命令集 | 本地总线 | 块 |
| iSCSI | 把 SCSI 命令封装进 TCP/IP 传输,用以太网做 SAN | IP 网络 | 块 |
| FC | 光纤通道,专用高速存储网络 | 光纤 | 块 |
| FCoE | 把 FC 帧封装进以太网,一根线同时跑 LAN 和 SAN | 以太网 | 块 |
| FCIP | 用 IP 隧道连接两个异地 FC SAN | IP 网络 | 块 |
| NFS | 网络文件系统(类 Unix 共享文件) | IP 网络 | 文件 |
| CIFS/Samba | Windows 风格的网络文件共享 | IP 网络 | 文件 |
iSCSI 的两个角色:
- Initiator(发起端) :客户端,生成 SCSI 命令并封装成 iSCSI 报文,用唯一的 IQN 标识;
- Target(目标端):存储端,解析命令并执行读写。
Linux 端使用 iSCSI 的关键命令(对应实验):
bash
# 安装发起程序
yum install -y iscsi-initiator-utils
# 修改本机 IQN(/etc/iscsi/initiatorname.iscsi)
# 发现目标
iscsiadm -m discovery -t st -p 192.168.108.20
# 登录目标
iscsiadm -m node -T <目标IQN> -p 192.168.108.20 -l
# 之后 lsblk 即可看到新盘,格式化、挂载即可
# 持久化挂载要用 UUID + _netdev 选项(依赖网络)
5. 块存储 / 文件存储 / 对象存储(三种数据服务形态)
| 形态 | 组织方式 | 访问方式 | 扩展性 | 典型场景 |
|---|---|---|---|---|
| 块存储 | 直接给裸磁盘,开销最小、最快 | iSCSI/FC | 扩展困难 | 数据库、虚拟机磁盘 |
| 文件存储 | 目录树 + 文件,带文件系统 | NFS/CIFS | 受目录树限制(几十 PB) | 文件共享、企业内部 |
| 对象存储 | 扁平命名空间,对象 = 数据 + 元数据 + 唯一 Key | HTTP/RESTful API | 近乎无限 | 互联网、图片视频、备份归档 |
对象存储是云时代的主流(AWS S3、阿里云 OSS、华为 OBS),它综合了块的高速访问和文件的共享,且天然适合互联网。
6. 集中式存储 vs 分布式存储
| 对比 | 集中式存储 | 分布式存储 |
|---|---|---|
| 形态 | 一套专用存储设备(可能几个机柜) | 多台通用服务器 + 软件 |
| 扩展 | 纵向加硬盘框,控制器性能是瓶颈 | 横向加节点,容量/性能线性扩展(可达数千节点) |
| 管理 | 部署简单、无分布式协作问题 | 软件复杂,但资源弹性、利用率高 |
| 适用 | 传统企业关键业务 | 云计算、大规模、海量数据 |
华为 RAID 2.0+(块级虚拟化) :把硬盘切成 4MB 的 CK(存储块),不同盘的 CK 按 RAID 策略组成 CKG,再切成 8KB 的 Grain 分配给 LUN。
好处:数据打散到所有盘,无热点、负载均衡 ;坏盘时所有盘一起参与重构(多对多),重构速度快、风险窗口小。
7. 存储多路径
- 服务器通常用多条链路连同一台存储(防止单条链路/网卡故障)。
- 多路径软件负责:故障时自动切换路径(高可用),并在多条路径间负载均衡。
- 类比:网卡绑定(bonding),都是"用多条路防止单点故障"。
三、网络:设备如何互联与通信
网络是一切平台、服务互联的基础。理解网络的钥匙是 OSI 分层模型 和 IP 地址。
1. 网络是什么
- 网络通信:终端设备之间通过计算机网络传递数据。
- 网络的最小构成:网卡、传输介质(网线/光纤)、交换/路由设备。
- 互联网(Internet)是世界最大的计算机网络,前身是 1969 年的 ARPAnet。
2. ★ OSI 七层模型 vs TCP/IP 模型
OSI 是理解网络的"理论框架",TCP/IP 是互联网实际使用的"事实标准"。
| OSI 七层(自上而下) | 职责 | 数据单元 | TCP/IP 对应 |
|---|---|---|---|
| 7 应用层 | 给应用程序提供网络接口 | Data 数据 | 应用层 |
| 6 表示层 | 数据格式转换、加密、编码 | 数据 | 应用层 |
| 5 会话层 | 建立/管理/终止会话 | 数据 | 应用层 |
| 4 传输层 | 端到端传输、流量控制、重传 | Segment 段 | 传输层 |
| 3 网络层 | 逻辑地址(IP)、路由转发 | Packet 包 | 网络层 |
| 2 数据链路层 | 成帧、MAC 地址、差错检测 | Frame 帧 | 数据链路层 |
| 1 物理层 | 传输比特流、电气机械规范 | Bit 比特 | 物理层 |
记忆口诀(自下而上):物 数 网 传 会 表 应("物数网传会表应")。
3. 数据的封装与解封装
发送方自上而下逐层加头部 (封装),接收方自下而上逐层拆头部(解封装):
#mermaid-svg-FaUkyLbDBKrRBXNC{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-FaUkyLbDBKrRBXNC .error-icon{fill:#552222;}#mermaid-svg-FaUkyLbDBKrRBXNC .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-FaUkyLbDBKrRBXNC .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-FaUkyLbDBKrRBXNC .marker{fill:#333333;stroke:#333333;}#mermaid-svg-FaUkyLbDBKrRBXNC .marker.cross{stroke:#333333;}#mermaid-svg-FaUkyLbDBKrRBXNC svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-FaUkyLbDBKrRBXNC p{margin:0;}#mermaid-svg-FaUkyLbDBKrRBXNC .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster-label text{fill:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster-label span{color:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster-label span p{background-color:transparent;}#mermaid-svg-FaUkyLbDBKrRBXNC .label text,#mermaid-svg-FaUkyLbDBKrRBXNC span{fill:#333;color:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC .node rect,#mermaid-svg-FaUkyLbDBKrRBXNC .node circle,#mermaid-svg-FaUkyLbDBKrRBXNC .node ellipse,#mermaid-svg-FaUkyLbDBKrRBXNC .node polygon,#mermaid-svg-FaUkyLbDBKrRBXNC .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-FaUkyLbDBKrRBXNC .rough-node .label text,#mermaid-svg-FaUkyLbDBKrRBXNC .node .label text,#mermaid-svg-FaUkyLbDBKrRBXNC .image-shape .label,#mermaid-svg-FaUkyLbDBKrRBXNC .icon-shape .label{text-anchor:middle;}#mermaid-svg-FaUkyLbDBKrRBXNC .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-FaUkyLbDBKrRBXNC .rough-node .label,#mermaid-svg-FaUkyLbDBKrRBXNC .node .label,#mermaid-svg-FaUkyLbDBKrRBXNC .image-shape .label,#mermaid-svg-FaUkyLbDBKrRBXNC .icon-shape .label{text-align:center;}#mermaid-svg-FaUkyLbDBKrRBXNC .node.clickable{cursor:pointer;}#mermaid-svg-FaUkyLbDBKrRBXNC .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-FaUkyLbDBKrRBXNC .arrowheadPath{fill:#333333;}#mermaid-svg-FaUkyLbDBKrRBXNC .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-FaUkyLbDBKrRBXNC .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-FaUkyLbDBKrRBXNC .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-FaUkyLbDBKrRBXNC .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-FaUkyLbDBKrRBXNC .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-FaUkyLbDBKrRBXNC .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster text{fill:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC .cluster span{color:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-FaUkyLbDBKrRBXNC .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-FaUkyLbDBKrRBXNC rect.text{fill:none;stroke-width:0;}#mermaid-svg-FaUkyLbDBKrRBXNC .icon-shape,#mermaid-svg-FaUkyLbDBKrRBXNC .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-FaUkyLbDBKrRBXNC .icon-shape p,#mermaid-svg-FaUkyLbDBKrRBXNC .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-FaUkyLbDBKrRBXNC .icon-shape .label rect,#mermaid-svg-FaUkyLbDBKrRBXNC .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-FaUkyLbDBKrRBXNC .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-FaUkyLbDBKrRBXNC .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-FaUkyLbDBKrRBXNC :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 到达接收方后反向解封装
应用数据 Data
- TCP头 = Segment 段
- IP头 = Packet 包
- 以太网头 + FCS尾 = Frame 帧
转为比特流 Bit 在介质传输
最终交给应用程序
- **二层设备(交换机)**只看二层头(MAC)做"交换";
- **三层设备(路由器)**看三层头(IP)做"路由"。
4. IP 地址与子网
- IP 地址:网络中标识设备接口的逻辑地址,用于寻址。
- IPv4 为 32 bit,点分十进制(如 192.168.10.1),范围 0.0.0.0 ~ 255.255.255.255。
- IP 地址 = 网络部分 + 主机部分 ,由子网掩码 区分。
- 掩码连续的 1 对应网络位,连续的 0 对应主机位。
- 写法:
192.168.10.1/24(/24 表示前 24 位是网络位,掩码 255.255.255.0)。
有类地址(A/B/C/D/E)
| 类别 | 范围 | 默认掩码 | 用途 |
|---|---|---|---|
| A 类 | 0.0.0.0 ~ 127.255.255.255 | /8 | 大型网络(主机多) |
| B 类 | 128.0.0.0 ~ 191.255.255.255 | /16 | 中型网络 |
| C 类 | 192.0.0.0 ~ 223.255.255.255 | /24 | 小型网络(主机少) |
| D 类 | 224.0.0.0 ~ 239.255.255.255 | ------ | 组播 |
| E 类 | 240.0.0.0 ~ 255.255.255.255 | ------ | 研究保留 |
私网地址(必须记住)
私网地址只能在内部网络使用、可重复,不同私网通过 NAT 访问互联网:
- A 类:
10.0.0.0 ~ 10.255.255.255 - B 类:
172.16.0.0 ~ 172.31.255.255 - C 类:
192.168.0.0 ~ 192.168.255.255
可用地址数与子网划分
- 主机位为 n 位时,总地址数 2ⁿ,可用地址数 = 2ⁿ − 2 (减去网络地址和广播地址)。
- 例:/24 网络可用 254 个地址。
- 子网划分(VLSM 可变长子网掩码) :把一个大网络切成多个小子网,按需分配、避免浪费。
- 例:C 类网络要 20 个子网、每个 5 台主机,需借 5 位做子网(2⁵=32 个子网),剩 3 位主机位(每子网 6 个可用地址)。
特殊地址
| 地址 | 含义 |
|---|---|
| 255.255.255.255 | 有限广播(本网段所有主机,不被路由器转发) |
| 0.0.0.0 | 任意网络 / 本机(也是缺省路由) |
| 127.0.0.1 | 环回地址,测试本机 |
| 169.254.x.x | DHCP 获取失败时的自动私有地址 |
5. MAC 地址与 ARP
- MAC 地址 :网卡的物理地址,48 bit / 12 位十六进制 (如 00-1E-10-DD-DD-02),出厂固化、全球唯一。
- 前 24 位是 OUI 厂商代码,后 24 位由厂商分配。
- 分单播、组播(第 8 bit 为 1)、广播(FF-FF-FF-FF-FF-FF)。
- ARP(地址解析协议) :已知对方 IP ,求其 MAC 地址。
- 主机先查本地 ARP 缓存,没有就广播 ARP 请求,目标主机单播 ARP 回复。
为什么同时需要 IP 和 MAC? IP 基于网络拓扑分配、可变,用于跨网段路由;MAC 基于厂商固化、不变,用于同网段实际交付。网卡坏了换网卡不用改 IP;主机换网络改 IP 不用换网卡。
6. 交换机(二层设备)
- 交换机 :距离终端最近,用于终端接入、在同网段内 基于 MAC 地址转发数据帧。
- 工作原理:
- MAC 地址学习:收到帧,把"源 MAC ↔ 接收端口"记入 MAC 地址表;
- 查表按目的 MAC 转发。
- 对帧的三种处理行为:
- 转发(Forwarding):MAC 表查到目的端口,点对点送出;
- 泛洪(Flooding):未知单播 / 广播帧,从除入端口外所有端口送出;
- 丢弃(Discarding):目的端口就是入端口,丢弃。
- 每个端口是一个独立冲突域 (交换机隔离冲突域);但所有端口默认属于一个广播域(交换机不隔离广播)。
- 动态 MAC 表项有老化时间(如华为默认 300 秒),过期删除。
7. 路由器(三层设备)
- 路由器 :工作在网络层,连接不同网段 ,基于 IP 地址和路由表选择路径、转发数据包。
- 功能:维护路由表、运行路由协议、路径选择、隔离广播域、广域网接入、NAT。
- 路由条目包含:目的网络、掩码、出接口、下一跳。
- 路由分类:
- 直连路由:接口配置 IP 并 up 后自动生成;
- 静态路由:管理员手动配置,适合简单稳定网络,不能自动适应拓扑变化;
- 缺省路由(默认路由) :
0.0.0.0/0,匹配不到任何路由时使用,常用于企业出口; - 动态路由(由路由协议自动学习,如 OSPF/BGP,本课程未展开)。
网关(Gateway):本网段的"出口",主机访问其他网段时把数据交给网关。网关的本质是主机上的一条默认路由,下一跳指向网关设备。
8. ★ VLAN:把一个交换机逻辑隔离
VLAN(虚拟局域网) :把一个物理 LAN 在逻辑上划分成多个隔离的广播域。VLAN 内可通信、VLAN 间默认隔离,单播/组播/广播只在本 VLAN 内转发。
解决的问题:
- 传统交换机所有端口默认互通,无法控制(如 B 不能访问 A);
- 广播范围大、安全性差、效率低。
VLAN 帧(802.1Q) :在以太网帧中插入 4 字节 Tag,包含:
- TPID(0x8100 标识这是 802.1Q 帧)、PRI(优先级 QoS)、CFI、VLAN ID(1~4094)。
三种端口类型(同类,按用途):
| 端口 | 用途 | 能否通多 VLAN | 收发 Tag 规则 |
|---|---|---|---|
| Access | 连 PC/服务器等终端 | 只属于 1 个 VLAN | 进:无 Tag 帧打 PVID;出:剥 Tag |
| Trunk | 交换机之间互联 | 通多个 VLAN | 出:仅 PVID 对应 VLAN 剥 Tag,其余带 Tag |
| Hybrid | 灵活(华为默认) | 通多个 VLAN | 可手动指定哪些 VLAN 带 / 不带 Tag |
PVID(Port VLAN ID):端口的缺省 VLAN,无 Tag 帧进入时被打上 PVID。默认 PVID=1。
VLAN 划分方式:基于接口(最常用)、基于 MAC、基于 IP 子网、基于协议、基于策略。
9. 常用协议与服务
传输层:TCP vs UDP(同类)
| 对比 | TCP | UDP |
|---|---|---|
| 连接 | 面向连接(先建立连接) | 无连接 |
| 可靠性 | 可靠(确认、重传、流量/拥塞控制) | 不可靠(靠上层保证) |
| 头部开销 | 20~60 字节 | 8 字节 |
| 适用 | 文件传输、网页、要求可靠 | 视频/语音、实时、效率优先 |
应用层常见协议
| 协议 | 作用 |
|---|---|
| HTTP/HTTPS | 访问网页(超文本传输) |
| DNS | 域名解析为 IP |
| DHCP | 自动分配 IP / 网关 / DNS |
| FTP / TFTP | 文件传输 |
| Telnet | 远程登录(明文,不安全) |
| SSH | 安全远程登录(加密,替代 Telnet) |
| ICMP | 网络控制 / 诊断(ping 基于它) |
NAT(网络地址转换)
- 实现私网 IP ↔ 公网 IP 的转换,缓解公网 IP 不足、隐藏内部网络。
- 私有网络必须通过 NAT 才能访问互联网。
10. 网络架构
园区网典型四层架构
#mermaid-svg-8JqXBJpVSYCotaxP{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-8JqXBJpVSYCotaxP .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-8JqXBJpVSYCotaxP .error-icon{fill:#552222;}#mermaid-svg-8JqXBJpVSYCotaxP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-8JqXBJpVSYCotaxP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-8JqXBJpVSYCotaxP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-8JqXBJpVSYCotaxP .marker.cross{stroke:#333333;}#mermaid-svg-8JqXBJpVSYCotaxP svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-8JqXBJpVSYCotaxP p{margin:0;}#mermaid-svg-8JqXBJpVSYCotaxP .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-8JqXBJpVSYCotaxP .cluster-label text{fill:#333;}#mermaid-svg-8JqXBJpVSYCotaxP .cluster-label span{color:#333;}#mermaid-svg-8JqXBJpVSYCotaxP .cluster-label span p{background-color:transparent;}#mermaid-svg-8JqXBJpVSYCotaxP .label text,#mermaid-svg-8JqXBJpVSYCotaxP span{fill:#333;color:#333;}#mermaid-svg-8JqXBJpVSYCotaxP .node rect,#mermaid-svg-8JqXBJpVSYCotaxP .node circle,#mermaid-svg-8JqXBJpVSYCotaxP .node ellipse,#mermaid-svg-8JqXBJpVSYCotaxP .node polygon,#mermaid-svg-8JqXBJpVSYCotaxP .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-8JqXBJpVSYCotaxP .rough-node .label text,#mermaid-svg-8JqXBJpVSYCotaxP .node .label text,#mermaid-svg-8JqXBJpVSYCotaxP .image-shape .label,#mermaid-svg-8JqXBJpVSYCotaxP .icon-shape .label{text-anchor:middle;}#mermaid-svg-8JqXBJpVSYCotaxP .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-8JqXBJpVSYCotaxP .rough-node .label,#mermaid-svg-8JqXBJpVSYCotaxP .node .label,#mermaid-svg-8JqXBJpVSYCotaxP .image-shape .label,#mermaid-svg-8JqXBJpVSYCotaxP .icon-shape .label{text-align:center;}#mermaid-svg-8JqXBJpVSYCotaxP .node.clickable{cursor:pointer;}#mermaid-svg-8JqXBJpVSYCotaxP .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-8JqXBJpVSYCotaxP .arrowheadPath{fill:#333333;}#mermaid-svg-8JqXBJpVSYCotaxP .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-8JqXBJpVSYCotaxP .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-8JqXBJpVSYCotaxP .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-8JqXBJpVSYCotaxP .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-8JqXBJpVSYCotaxP .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-8JqXBJpVSYCotaxP .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-8JqXBJpVSYCotaxP .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-8JqXBJpVSYCotaxP .cluster text{fill:#333;}#mermaid-svg-8JqXBJpVSYCotaxP .cluster span{color:#333;}#mermaid-svg-8JqXBJpVSYCotaxP div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-8JqXBJpVSYCotaxP .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-8JqXBJpVSYCotaxP rect.text{fill:none;stroke-width:0;}#mermaid-svg-8JqXBJpVSYCotaxP .icon-shape,#mermaid-svg-8JqXBJpVSYCotaxP .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-8JqXBJpVSYCotaxP .icon-shape p,#mermaid-svg-8JqXBJpVSYCotaxP .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-8JqXBJpVSYCotaxP .icon-shape .label rect,#mermaid-svg-8JqXBJpVSYCotaxP .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-8JqXBJpVSYCotaxP .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-8JqXBJpVSYCotaxP .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-8JqXBJpVSYCotaxP :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 终端用户/PC
接入层
(二层交换机,终端接入)
汇聚层
(汇聚接入流量、策略)
核心层
(高速转发、路由)
出口层
(路由器/防火墙,连Internet)
云数据中心:Spine-Leaf 架构(资料延伸,重点)
传统三层架构(核心-汇聚-接入)在东西向流量(服务器之间)大、要求高时存在带宽和延迟瓶颈。云数据中心普遍采用 Spine-Leaf(叶脊)两层架构:
#mermaid-svg-KLD3azhe1m0qxoKX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-KLD3azhe1m0qxoKX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-KLD3azhe1m0qxoKX .error-icon{fill:#552222;}#mermaid-svg-KLD3azhe1m0qxoKX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-KLD3azhe1m0qxoKX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-KLD3azhe1m0qxoKX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-KLD3azhe1m0qxoKX .marker.cross{stroke:#333333;}#mermaid-svg-KLD3azhe1m0qxoKX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-KLD3azhe1m0qxoKX p{margin:0;}#mermaid-svg-KLD3azhe1m0qxoKX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-KLD3azhe1m0qxoKX .cluster-label text{fill:#333;}#mermaid-svg-KLD3azhe1m0qxoKX .cluster-label span{color:#333;}#mermaid-svg-KLD3azhe1m0qxoKX .cluster-label span p{background-color:transparent;}#mermaid-svg-KLD3azhe1m0qxoKX .label text,#mermaid-svg-KLD3azhe1m0qxoKX span{fill:#333;color:#333;}#mermaid-svg-KLD3azhe1m0qxoKX .node rect,#mermaid-svg-KLD3azhe1m0qxoKX .node circle,#mermaid-svg-KLD3azhe1m0qxoKX .node ellipse,#mermaid-svg-KLD3azhe1m0qxoKX .node polygon,#mermaid-svg-KLD3azhe1m0qxoKX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-KLD3azhe1m0qxoKX .rough-node .label text,#mermaid-svg-KLD3azhe1m0qxoKX .node .label text,#mermaid-svg-KLD3azhe1m0qxoKX .image-shape .label,#mermaid-svg-KLD3azhe1m0qxoKX .icon-shape .label{text-anchor:middle;}#mermaid-svg-KLD3azhe1m0qxoKX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-KLD3azhe1m0qxoKX .rough-node .label,#mermaid-svg-KLD3azhe1m0qxoKX .node .label,#mermaid-svg-KLD3azhe1m0qxoKX .image-shape .label,#mermaid-svg-KLD3azhe1m0qxoKX .icon-shape .label{text-align:center;}#mermaid-svg-KLD3azhe1m0qxoKX .node.clickable{cursor:pointer;}#mermaid-svg-KLD3azhe1m0qxoKX .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-KLD3azhe1m0qxoKX .arrowheadPath{fill:#333333;}#mermaid-svg-KLD3azhe1m0qxoKX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-KLD3azhe1m0qxoKX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-KLD3azhe1m0qxoKX .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KLD3azhe1m0qxoKX .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-KLD3azhe1m0qxoKX .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KLD3azhe1m0qxoKX .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-KLD3azhe1m0qxoKX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-KLD3azhe1m0qxoKX .cluster text{fill:#333;}#mermaid-svg-KLD3azhe1m0qxoKX .cluster span{color:#333;}#mermaid-svg-KLD3azhe1m0qxoKX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-KLD3azhe1m0qxoKX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-KLD3azhe1m0qxoKX rect.text{fill:none;stroke-width:0;}#mermaid-svg-KLD3azhe1m0qxoKX .icon-shape,#mermaid-svg-KLD3azhe1m0qxoKX .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KLD3azhe1m0qxoKX .icon-shape p,#mermaid-svg-KLD3azhe1m0qxoKX .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-KLD3azhe1m0qxoKX .icon-shape .label rect,#mermaid-svg-KLD3azhe1m0qxoKX .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KLD3azhe1m0qxoKX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-KLD3azhe1m0qxoKX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-KLD3azhe1m0qxoKX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Leaf 叶节点(接入/汇聚合一)
Spine 脊节点(核心交换层)
Spine1
Spine2
Spine3
Leaf1
(接服务器)
Leaf2
Leaf3
Leaf4
- 每个 Leaf 与每个 Spine 全互联 ,服务器之间最多经过 2 台设备(Leaf→Spine→Leaf),延迟稳定、无阻塞;
- 扩容只需加 Spine(提带宽)或加 Leaf(提容量),水平扩展,天然匹配云计算大规模、东西向流量大的特点。
- 云网络还广泛使用 VXLAN(在三层网络上"叠加"出大规模二层网络,解决 VLAN 只有 4094 个、无法跨三层的问题)。
四、本篇总结:三大资源如何被"池化"
#mermaid-svg-tPpPT6VeRUx8kChb{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-tPpPT6VeRUx8kChb .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-tPpPT6VeRUx8kChb .error-icon{fill:#552222;}#mermaid-svg-tPpPT6VeRUx8kChb .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-tPpPT6VeRUx8kChb .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-tPpPT6VeRUx8kChb .marker{fill:#333333;stroke:#333333;}#mermaid-svg-tPpPT6VeRUx8kChb .marker.cross{stroke:#333333;}#mermaid-svg-tPpPT6VeRUx8kChb svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-tPpPT6VeRUx8kChb p{margin:0;}#mermaid-svg-tPpPT6VeRUx8kChb .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-tPpPT6VeRUx8kChb .cluster-label text{fill:#333;}#mermaid-svg-tPpPT6VeRUx8kChb .cluster-label span{color:#333;}#mermaid-svg-tPpPT6VeRUx8kChb .cluster-label span p{background-color:transparent;}#mermaid-svg-tPpPT6VeRUx8kChb .label text,#mermaid-svg-tPpPT6VeRUx8kChb span{fill:#333;color:#333;}#mermaid-svg-tPpPT6VeRUx8kChb .node rect,#mermaid-svg-tPpPT6VeRUx8kChb .node circle,#mermaid-svg-tPpPT6VeRUx8kChb .node ellipse,#mermaid-svg-tPpPT6VeRUx8kChb .node polygon,#mermaid-svg-tPpPT6VeRUx8kChb .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-tPpPT6VeRUx8kChb .rough-node .label text,#mermaid-svg-tPpPT6VeRUx8kChb .node .label text,#mermaid-svg-tPpPT6VeRUx8kChb .image-shape .label,#mermaid-svg-tPpPT6VeRUx8kChb .icon-shape .label{text-anchor:middle;}#mermaid-svg-tPpPT6VeRUx8kChb .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-tPpPT6VeRUx8kChb .rough-node .label,#mermaid-svg-tPpPT6VeRUx8kChb .node .label,#mermaid-svg-tPpPT6VeRUx8kChb .image-shape .label,#mermaid-svg-tPpPT6VeRUx8kChb .icon-shape .label{text-align:center;}#mermaid-svg-tPpPT6VeRUx8kChb .node.clickable{cursor:pointer;}#mermaid-svg-tPpPT6VeRUx8kChb .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-tPpPT6VeRUx8kChb .arrowheadPath{fill:#333333;}#mermaid-svg-tPpPT6VeRUx8kChb .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-tPpPT6VeRUx8kChb .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-tPpPT6VeRUx8kChb .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tPpPT6VeRUx8kChb .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-tPpPT6VeRUx8kChb .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tPpPT6VeRUx8kChb .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-tPpPT6VeRUx8kChb .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-tPpPT6VeRUx8kChb .cluster text{fill:#333;}#mermaid-svg-tPpPT6VeRUx8kChb .cluster span{color:#333;}#mermaid-svg-tPpPT6VeRUx8kChb div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-tPpPT6VeRUx8kChb .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-tPpPT6VeRUx8kChb rect.text{fill:none;stroke-width:0;}#mermaid-svg-tPpPT6VeRUx8kChb .icon-shape,#mermaid-svg-tPpPT6VeRUx8kChb .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tPpPT6VeRUx8kChb .icon-shape p,#mermaid-svg-tPpPT6VeRUx8kChb .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-tPpPT6VeRUx8kChb .icon-shape .label rect,#mermaid-svg-tPpPT6VeRUx8kChb .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tPpPT6VeRUx8kChb .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-tPpPT6VeRUx8kChb .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-tPpPT6VeRUx8kChb :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 物理资源
服务器 = 计算(CPU/内存)
存储 = 数据(磁盘/RAID)
网络 = 连接(带宽/路由)
下一步:用虚拟化技术
把它们抽象成资源池(第3篇)
请记住这些"同类"关系,避免混淆:
- 服务器形态:塔式 / 机架 / 刀片;
- CPU 架构:x86(CISC) / ARM(RISC);
- 硬盘:SATA / SAS / NL-SAS / SSD / NVMe;
- 存储组网:DAS / NAS / SAN;SAN 又分 FC-SAN / IP-SAN;
- 数据形态:块 / 文件 / 对象;
- 网络设备:交换机(二层/MAC) / 路由器(三层/IP);
- VLAN 端口:Access / Trunk / Hybrid;
- 传输协议:TCP / UDP。
下一篇 :硬件是"死的",如何让一台物理服务器变成多台、让分散的硬件变成统一管理的"资源池"?
我们进入 第 ②③ 层:操作系统与虚拟化------讲清楚 KVM、QEMU、libvirt、ESXi、vCenter、OpenStack、热迁移、快照这些技术各自的位置和原理。