{T}

高可用架构 学习笔记(第 2 部分)

2.1 本地高可用

2.1.1 故障类型

生产环境内部故障

code
本地高可用故障类型:

硬件层面
├── 服务器故障(主板、CPU、内存)
├── 硬盘故障(坏道、损坏)
├── 网络适配器故障
└── 电源故障

网络层面
├── 交换机故障
├── 路由器故障
└── 网线断裂

存储层面
├── 存储阵列故障
├── SAN 故障
└── NAS 故障

2.1.2 故障特点

特点说明示例
恢复快可快速恢复磁盘RAID阵列,单盘故障不影响系统
实施简单单点故障易更换更换故障硬件
影响范围小仅局部受影响单个服务节点故障

2.1.3 典型技术方案

1. 磁盘阵列(RAID)

javascript
// RAID 级别对比
const raidLevels = {
  // RAID 0: 条带化(无冗余)
  raid0: {
    name: 'RAID 0',
    minDisks: 2,
    capacity: 'n × 单盘容量',
    reliability: '低(任一盘故障,数据全丢)',
    performance: '读/写性能最高',
    useCase: '临时数据、缓存'
  },
  
  // RAID 1: 镜像
  raid1: {
    name: 'RAID 1',
    minDisks: 2,
    capacity: '单盘容量',
    reliability: '高(允许1盘故障)',
    performance: '读性能提升,写性能略降',
    useCase: '操作系统盘、重要数据'
  },
  
  // RAID 5: 分布式奇偶校验
  raid5: {
    name: 'RAID 5',
    minDisks: 3,
    capacity: '(n-1) × 单盘容量',
    reliability: '较高(允许1盘故障)',
    performance: '读写性能均衡',
    useCase: '数据库、文件服务器'
  },
  
  // RAID 10: RAID 1 + RAID 0
  raid10: {
    name: 'RAID 10',
    minDisks: 4,
    capacity: 'n/2 × 单盘容量',
    reliability: '高(允许每组1盘故障)',
    performance: '读/写性能高',
    useCase: '数据库、高I/O应用'
  }
}

RAID 10 实现示例

code
RAID 10 架构:

        数据写入
            ↓
    ┌───────┴───────┐
    │   RAID 0 条带化  │
    └───────┬───────┘
            │
    ┌───────┴───────┐
    │               │
┌───┴───┐       ┌───┴───┐
│RAID 1 │       │RAID 1 │
│ 镜像1  │       │ 镜像2  │
└───┬───┘       └───┬───┘
    │               │
┌───┴───┐       ┌───┴───┐
│磁盘1   │       │磁盘3   │
│磁盘2   │       │磁盘4   │
└───────┘       └───────┘

特点:
- 磁盘1和磁盘2互为镜像
- 磁盘3和磁盘4互为镜像
- 允许每组镜像中1块磁盘故障
- 读性能提升,写性能略降

2. 网络冗余

code
网络冗余架构:

              互联网
                ↓
        ┌───────┴───────┐
        │  主路由器 A   │
        └───────┬───────┘
                │ HSRP/VRRP
        ┌───────┴───────┐
        │  备路由器 B   │
        └───────┬───────┘
                ↓
        ┌───────┴───────┐
        │   核心交换机   │
        └───────┬───────┘
                │
        ┌───────┴───────┐
        │               │
┌───────┴───────┐ ┌───┴───────┐
│  服务器集群    │ │ 服务器集群  │
└───────────────┘ └───────────┘

关键技术:
- HSRP (Hot Standby Router Protocol)
- VRRP (Virtual Router Redundancy Protocol)
- 链路聚合 (LACP)

3. 电源冗余

code
电源冗余方案:

主电源 ──────┐
             ├──→ 服务器(双电源模块)
备用电源 ─────┘

UPS(不间断电源)
  ├── 稳压
  ├── 停电后持续供电
  └── 给发电机启动预留时间

发电机
  └── 长时间停电时供电