This repository has been archived on 2026-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Files
hexo_blog/source/_posts/cloud_linux_5.md
2025-10-12 14:06:44 +08:00

159 lines
6.8 KiB
Markdown

---
title: 云计算 - Linux集群
date: 2023-05-18 12:56
tags: [云计算, 笔记]
categories: 笔记
thumbnail: "https://hexoimage.pages.dev/file/2369b0203a6961af7cd62.jpg"
---
## 概述
> - 群集基础
- [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要求 |