---
title: 云计算 - Linux集群
published: 2023-05-18
description: ''
image: 'https://hexoimage.pages.dev/file/2369b0203a6961af7cd62.jpg'
tags: [云计算, 笔记]
category: '笔记'
draft: false 
lang: ''
---

<meta name="referrer" content="no-referrer"/>

## 概述

> - 群集基础

- [Linux群集概述](https://www.atdunbg.xyz/2023/05/18/cloud_linux_5/#jump0)
- pacemaker+ corosync+ pcS
  - 演示:无共享存储的Web群集构建
  - 演示:基于NFS共享存储的Web群集构建
- 使用Linux-IO构建iSCSI存储
  - 演示:基于SAN共享存储的MySQL群集构建
- DRBD
  - 演示:基于DRBD的MySQL群集构建
- GFS2
  - 演示:基于DRBD+ GFS2的Active/Active的Web群集构建

## Linux群集概述

### 什么是群集?

> 集群是将-组计算机和存储设备组成在一起,作为一个整体系统来提供用户访问
> 集群中计算机共同来提供:
> \* 分担进程的负载
> \* 自动恢复集群中的一个或多个组件的失败

#### 群集术语

| 术语           | 描述                                                         |
| -------------- | ------------------------------------------------------------ |
| 节点           | 参与群集的服务器                                             |
| 资源           | 托管在集群中设备或服务,被应用程序或最终用户直接或间接地访问  |
| 故障转移群集   | 一种高可用性集群类型。 在一一个时刻 ,资源只能单个服务器所拥有 |
| 负载平衡       | 负荷由由多个节点分担处理的集群类型                           |
| 容错           | 集群的一个关键组件,能够在硬件或软件出现问题时还能继续运作    |
| 计划停机时间   | 由于更新或其他维护操作,应用程序不可用的时间                  |
| 非计划停机时间 | 由于组件失败,关键应用程序不可用的时间                        |

#### 群集类型

| 群集类型            | 描述                                                     |
| ------------------- | -------------------------------------------------------- |
| 高可用(HA)群集      | 如果正在运行服务器遭遇失败,由其他的节点提供备份          |
| 负载平衡群集        | 将传入的网络请求分布到各个节点进行处理                   |
| 高性能计算(HPC)群集 | 计算任务分布在多个节点                                   |
| 网格计算群集        | 独立的节点完成的被分派来任务或集群中其余部分分解的来工作 |

#### 群集实现

| 群集分类     | 描述                                                         |
| ------------ | ------------------------------------------------------------ |
| 共享设备群集 | 在节点之间共享数据和其他资源 如果两个系统必须访问相同的数据,这些数据必须从磁盘读两次或从一个系统复制到另外一系统 |
| 无共享群集   | 无共享群集在每个节点有单独的资源 一个时刻仅有一个节点访问特定的资源 失败时,其他节点会取得对象的所有权 |

#### 群集优势

> - [可用性](https://www.atdunbg.xyz/2023/05/18/cloud_linux_5/#jump1)(Availability)
>   - 集群增加的处于可操作状态的时间百分比
>     可伸缩性(Scalability)
>   - 群集通过根据需要逐步增加资源,来满足所有处理能力或可用性要求
>     [可管理性](https://www.atdunbg.xyz/2023/05/18/cloud_linux_5/#jump2)(Manageability)
>   - 集群使配置、更新和添加等管理更加容易

### 什么是可用性?

> 通过以下方式提高系统的可用性百分比:
> \* 增加平均失效到达时间(MTTF mean time to failure)
> \* 减少平均恢复时间(MTTR mean time to recover)

| 可用性等级    | 每年宕机时间 |
| ------------- | ------------ |
| 2个9(99%)     | 3.7天        |
| 3个9(99.9%)   | 8.8小时      |
| 4个9(99.99%)  | 53分钟       |
| 5个9(99.999%) | 5.3分钟      |

![img](https://s1.vika.cn/space/2023/05/18/298bd8f921fd456faf3872592767d38c)

![img](https://s1.vika.cn/space/2023/05/18/a788cc241cf24b1593966835dd442fee)

### 什么是可扩展性?

> 提高可扩展性的方式有:

- Scaling up
  - 向一个节点添加更多的资源,如内存、CPU和磁盘
- Scaling out
  - 添加更多的节点以分担负荷
- Consolidation
  - 通过将多个服务器负载迁移到一个服务器或少量的高配置的计算机,让少量的服务器承担更多的负荷。

### 什么是集群的可管理性?

> - 群集通过以下方式来提高和可管理性:

- 灾难恢复
  - 集群帮助应用程序的从灾难中进行恢复
- 更新管理
  - 集群使应用程序、操作系统在升级更新时,仍然可用

### 微软SQL Server故障转移群集工作原理

![img](https://s1.vika.cn/space/2023/05/18/e8479b027112405a99d62344a30e90c1)

### 网络负载平衡( NLB)群集

> - 为网络服务提供可扩展性
> - 增强接收TCP和UDP流量的网络相关应用程序的可用性
> - 包含所有活动节点
> - 运行需要实现负荷平衡的基于IP的应用程序或服务副本,在每个节点保存所需的数据

### 什么是群集化的服务和资源?

> - 群集化的服务
>   - 安装在故障转移群集以实现高可用的服务或应用程序
>   - 在一个活动节点上,也可被移动到其它节点
> - 资源
>   - 组成群集化服务的组件
>   - 在一个时间,只能运行在一个节点之 上
>   - 当一个节点失效时,可以被移动到别个一个节点
>   - 包含的组件有共享磁盘,主机名和IP地址等

### 故障转移群集和网络

> - 故障转移群集使用以下网络:
>   - 公共网络:用于客户与群集服务之间的通信
>   - 私有网络:用于节点之间的通信
>   - 存储网络:与外部存储系统通信

- 一个网络可同时支持客户与节点间通信
- 推荐使用多网以提供增强的性能和冗余

### 什么是仲裁(Quorum)?

> 在故障转移集群,仲裁定义足够的可用集群成员提供服务
>
> - 仲裁(Quorum):
>   - 基于投票(vote)的
>   - 根据不同仲裁模式，可使用节点,文件共享或共享磁盘用来投票
>   - 当有足够的票数时,允许故障转移群集保持在线

- 合法:
  - total nodes < 2 * active_ nodes

### 微软群集仲裁模式类型

| 仲裁模式               | 描述                                                         |
| ---------------------- | ------------------------------------------------------------ |
| 节点多数模式           | 仅有群集中的节点有vote 当超过半数的节点在线时,才满足Quorum要求 |
| 节点和磁盘多数模式     | 群集中的节点和见证(witness)磁盘有vote 当超过半数的vote在线时,才满足Quorum要求 |
| 节点和文件共享多数模式 | 群集中的节点和见证(witness)文件共享有vote 当超过半数的vote在线时,才满足Quorum要求 |
| 非多数:仅磁盘模式      | 仅quorum共享磁盘有vote 当共享磁盘在线时,才满足Quorum要求     |
