Bootstrap

重生之我要当云原生大师(十八)管理基本存储

目录

一、MBR分区方案和GPT分区方案。

二、什么是交换空间?

三、添加分区、文件系统和持久挂载的流程?

四、创建交换空间的流程?


一、MBR分区方案和GPT分区方案。

1. MBR(Master Boot Record)

MBR 是一种传统的分区方案,自 1983 年以来被广泛使用。

MBR 的特点

  • 分区表位置
    • MBR 存储在磁盘的第一个扇区(512 字节),包含引导代码和分区表。
  • 分区数量
    • 最多支持 4 个主分区。
    • 如果需要更多分区,可以将一个主分区转换为扩展分区,并在其中创建逻辑分区。
  • 分区大小限制
    • 最大支持 2TB 的磁盘。
    • 个分区大小也受限于 2TB。
  • 兼容性
    • 兼容所有主流的操作系统(Windows、Linux、macOS 等)。
  • 引导方式
    • 使用 BIOS 引导系统。
  • 数据存储
    • 分区信息存储在磁盘的第一个扇区,没有备份,损坏后难以恢复。

MBR 的优缺点

  • 优点
    • 兼容性好,支持旧硬件和操作系统。
    • 简单易用,适合小型磁盘。
  • 缺点
    • 分区数量和大小受限。
    • 缺乏冗余,分区表损坏可能导致数据丢失。

2. GPT(GUID Partition Table)

GPT 是一种现代的分区方案,逐渐取代 MBR。

GPT 的特点

  • 分区表位置
    • GPT 存储在磁盘的多个位置,包括主分区表和备份分区表。
  • 分区数量
    • 理论上支持无限数量的分区,但实际受操作系统限制(例如,Windows 支持最多 128 个分区)
  • 分区大小限制
    • 支持超过 2TB 的磁盘。
    • 单个分区大小几乎没有限制(取决于操作系统和文件系统)。
  • 兼容性
    • 需要较新的硬件和操作系统支持(如 UEFI 固件)。
    • Windows 从 Windows Vista 开始支持 GPT。
  • 引导方式
    • 使用 UEFI 引导系统。
  • 数据存储
    • 分区信息存储在多个位置,具有冗余备份,损坏后更容易恢复。

GPT 的优缺点

  • 优点
    • 支持大容量磁盘和更多分区。
    • 具有冗余备份,数据安全性更高。
    • 更适合现代硬件和操作系统。
  • 缺点
    • 兼容性较差,不支持旧硬件和 BIOS 引导。
    • 配置相对复杂。

3. MBR 和 GPT 的对比

特性

MBR

GPT

最大磁盘大小

2TB

几乎无限制(取决于操作系统)

最大分区数量

4 个主分区(或 3 主分区 + 1 扩展分区)

理论上无限,实际受操作系统限制

分区表备份

兼容性

兼容所有操作系统和 BIOS

需要 UEFI 和较新的操作系统

引导方式

BIOS

UEFI

数据安全性

较低,分区表损坏后难以恢复

较高,分区表有冗余备份


4. 如何选择分区方案

  • 选择 MBR 的情况
    • 磁盘容量小于 2TB。
    • 使用旧硬件或 BIOS 引导。
    • 需要兼容旧操作系统。
  • 选择 GPT 的情况
    • 磁盘容量大于 2TB。
    • 使用 UEFI 引导和现代操作系统。
    • 需要更多分区或更高的数据安全性。
二、什么是交换空间?

交换空间(Swap Space)是 Linux 系统中用于扩展物理内存(RAM)的一种机制。当系统的物理内存不足时,操作系统会将部分内存中的数据暂时存储到交换空间中,从而释放物理内存供其他进程使用。交换空间可以是磁盘上的一个分区(Swap Partition)或一个文件(Swap File)。


1. 交换空间的作用

  • 扩展内存
    • 当物理内存不足时,交换空间可以作为虚拟内存使用,防止系统因内存耗尽而崩溃。
  • 休眠支持
    • 交换空间用于存储系统休眠时的内存数据。
  • 内存管理
    • 操作系统可以将不常用的内存页移动到交换空间,以提高物理内存的利用率。

2. 交换空间的类型

  • 交换分区(Swap Partition)
    • 磁盘上的一个独立分区,专门用于交换空间。
    • 性能较好,适合长期使用。
  • 交换文件(Swap File)
    • 磁盘上的一个普通文件,用作交换空间。
    • 灵活性高,适合临时扩展内存或无法创建交换分区的情况。

3. 交换空间的大小

  • 推荐大小
    • 对于物理内存较小的系统(如 2GB 或更少),交换空间通常为物理内存的 2 倍。
    • 对于物理内存较大的系统(如 8GB 或更多),交换空间可以设置为物理内存的 1 倍或更少。
    • 如果系统需要支持休眠功能,交换空间应至少等于物理内存大小。
三、添加分区、文件系统和持久挂载的流程?

1. 添加分区

使用 fdisk 或 parted 创建分区

  1. 列出当前磁盘:

sudo fdisk -l

  1. 打开磁盘进行分区(例如 /dev/sdb):

sudo fdisk /dev/sdb

  1. 在 fdisk 交互界面中:
    • 输入 n 创建新分区。
    • 选择分区类型(主分区 p 或扩展分区 e)。
    • 设置分区大小(例如 +10G)。
    • 输入 w 保存并退出。
  2. 重新加载分区表:

sudo partprobe /dev/sdb


2. 创建文件系统

使用 mkfs 创建文件系统

  1. 查看新分区的设备名称(例如 /dev/sdb1):

sudo fdisk -l /dev/sdb

  1. 创建文件系统(例如 ext4):

sudo mkfs.ext4 /dev/sdb1

  1. 如果需要创建其他类型的文件系统:
    • XFS:

sudo mkfs.xfs /dev/sdb1

    • Btrfs:

sudo mkfs.btrfs /dev/sdb1


3. 临时挂载分区

使用 mount 挂载分区

  1. 创建挂载点目录:

sudo mkdir /mnt/mydata

  1. 挂载分区:

sudo mount /dev/sdb1 /mnt/mydata

  1. 验证挂载:

df -h


4. 持久挂载分区

编辑 /etc/fstab 实现持久挂载

  1. 获取分区的 UUID:

sudo blkid /dev/sdb1

输出示例:

/dev/sdb1: UUID="1234-5678-90AB-CDEF" TYPE="ext4"

  1. 编辑 /etc/fstab 文件:

sudo vi /etc/fstab

  1. 添加以下行(以 UUID 为例):

UUID=1234-5678-90AB-CDEF  /mnt/mydata  ext4  defaults  0  2

或者使用设备名称:

/dev/sdb1  /mnt/mydata  ext4  defaults  0  2

  1. 保存并退出编辑器。
  2. 测试 /etc/fstab 配置是否正确:

sudo mount -a

如果没有错误,表示配置正确。

  1. 验证挂载:

df -h

四、创建交换空间的流程?

1. 创建交换分区

步骤 1:创建分区

  1. 使用 fdisk 或 parted 创建新分区:

sudo fdisk /dev/sdX

    • 输入 n 创建新分区。
    • 选择分区类型(主分区 p 或扩展分区 e)。
    • 设置分区大小(例如 +2G)。
    • 输入 t 更改分区类型,选择 Linux swap(类型代码为 82)。
    • 输入 w 保存并退出。
  1. 重新加载分区表:

sudo partprobe /dev/sdX

步骤 2:格式化交换分区

  1. 使用 mkswap 格式化分区为交换空间:

sudo mkswap /dev/sdX#

其中 /dev/sdX# 是新创建的分区(例如 /dev/sdb1)。

步骤 3:启用交换分区

  1. 启用交换分区:

sudo swapon /dev/sdX

  1. 验证交换分区是否启用:

sudo swapon --show

或:

free -h

步骤 4:持久化配置

  1. 编辑 /etc/fstab 文件,添加以下行:

/dev/sdX#  none  swap  sw  0  0

  1. 保存并退出编辑器。
  2. 测试配置是否正确:

sudo mount -a

;