Skip to content

Linux-磁盘管理

磁盘结构

物理结构

  • 机械硬盘(HDD, Hard Disk Drive)
    • 组成:由盘片、磁头、主轴电机、控制电路等机械部件构成。
    • 读写原理:通过磁头在高速旋转的盘片上移动进行磁记录。
    • 特点:容量大、成本低,但速度较慢(受转速影响,如5400/7200/10000 RPM)、易受震动损坏。
  • 固态硬盘(SSD, Solid State Drive)
    • 组成:由NAND闪存芯片、主控、缓存等电子元件构成,无机械部件。
    • 读写原理:通过电信号直接访问存储单元。
    • 特点:速度快、抗震、低功耗,但寿命受写入次数限制(TBW参数),单位容量成本较高。
  • 混合硬盘(SSHD, Solid State Hybrid Drive)
    • 结合HDD和SSD:用小容量闪存缓存频繁访问数据,提升性能,同时保留大容量机械存储。
对比项机械硬盘(HDD)固态硬盘(SSD)
存储原理磁性盘片 + 机械磁头读写NAND闪存芯片(无机械部件)
读写速度较慢(100-200 MB/s,随机访问延迟高)极快(500-7000 MB/s,随机访问延迟极低)
抗震性差(机械部件易受震动损坏)强(无活动部件,耐冲击)
噪音有(盘片旋转和磁头移动声)无(完全静音)
功耗较高(需驱动电机)较低(无机械运动,更省电)
发热量较高(机械摩擦产生热量)较低(主控和闪存芯片发热较小)
寿命较长(磁记录无写入次数限制)有限(NAND闪存有擦写次数限制,但足够家用)
容量大(单盘可达20TB+)较小(主流1TB-4TB,大容量价格高)
价格(每GB)低(适合大容量存储)高(但价格持续下降)
接口SATA、SASSATA、NVMe(PCIe)、M.2、U.2
启动时间较慢(需等待盘片加速)瞬间启动(无机械延迟)
碎片影响明显(碎片化会降低性能)几乎无影响(无磁头寻道问题)
适用场景大容量存储、冷数据备份、NAS系统盘、游戏、高性能计算、笔记本电脑
  • 选HDD:需要大容量、低成本存储(如电影、备份)。
  • 选SSD:追求速度、响应时间(如操作系统、游戏、生产力工具)。
  • 混合方案:SSD(系统+常用软件) + HDD(数据存储)是性价比之选。

接口类型

并口

特点
  • 多线传输:同时使用多根数据线(如8/16/32根)并行传输数据,每个时钟周期可发送多位数据。
  • 高带宽(理论):早期因并行传输被认为速度更快。
  • 信号干扰:由于多线并行,容易产生串扰(Crosstalk)时钟偏移(Skew),影响稳定性。
  • 短距离适用:长距离传输时信号衰减严重,故主要用于机内连接。
硬盘接口
PATA(Parallel ATA,又称IDE)
  • 用途:早期机械硬盘(HDD)和光驱接口。
  • 带宽:最高 133 MB/s(ATA-7标准)。
  • 连接方式:40/80针排线,支持主从设备(Master/Slave跳线设置)。
  • 缺点:线缆宽大(影响机箱散热)、速度受限、不支持热插拔。
SCSI(Parallel SCSI)
  • 用途:企业级服务器、工作站存储。
  • 带宽:最高 320 MB/s(Ultra320 SCSI)。
  • 特点:支持多设备串联(Daisy Chain)、高延迟但稳定性强。
IEEE 1284(并口打印机接口)
  • 用途:老式打印机、扫描仪。
  • 速度:约 2 MB/s(EPP/ECP模式)。

串口

特点
  • 单线/差分传输:数据按位依次传输(如1根数据线+时钟线),或使用差分信号(如LVDS)抗干扰。
  • 高频率低延迟:通过提高时钟频率弥补单线带宽限制,实际速度远超并口。
  • 抗干扰强:差分信号(如PCIe、SATA)适合长距离和高速传输。
  • 简化布线:线缆更细(如SATA仅7针),支持热插拔。
硬盘接口
SATA(Serial ATA)
  • 用途:取代PATA,成为HDD/SSD主流接口。
  • 带宽
    • SATA I:1.5 Gbps(~150 MB/s)
    • SATA II:3 Gbps(~300 MB/s)
    • SATA III:6 Gbps(~600 MB/s)
  • 优势:线缆小巧、支持热插拔(部分主板需配置)。
SAS(Serial Attached SCSI)
  • 用途:企业级存储,兼容SATA(但SATA设备不能用于SAS接口)。
  • 带宽
    • SAS 12Gbps(~1200 MB/s)
    • SAS 24Gbps(新一代)
  • 特点:双端口冗余、高可靠性、支持全双工。
PCIe/NVMe
  • 用途:高性能SSD(如M.2 NVMe、U.2)。
  • 带宽
    • PCIe 3.0 x4:4 GB/s
    • PCIe 4.0 x4:8 GB/s
    • PCIe 5.0 x4:16 GB/s
  • 优势:直接连接CPU,超低延迟,适合高速存储。
USB(串行通信)
  • 用途:外接存储设备(移动硬盘、U盘)。
  • 带宽
    • USB 3.2 Gen 2x2:20 Gbps(~2.5 GB/s)
    • USB4(雷电3兼容):40 Gbps

并口 vs 串口对比表

对比项并口(Parallel)串口(Serial)
传输方式多根数据线同时传输单根数据线按位传输
典型接口PATA(IDE)、Parallel SCSISATA、SAS、PCIe/NVMe、USB
带宽上限低(PATA 133 MB/s,SCSI 320 MB/s)高(NVMe PCIe 4.0 x4 可达 8 GB/s)
抗干扰能力差(易受串扰影响)强(差分信号抗干扰)
线缆复杂度宽大(如40/80针IDE排线)细小(如SATA 7针、M.2无缆线)
适用场景早期硬盘、老式外设现代SSD、高速外设、企业存储
发展趋势已被淘汰(SATA/NVMe取代)主流(未来向PCIe 5.0/6.0演进)

总结

  • 并口(PATA/SCSI):早期技术,受限于信号干扰和带宽,已被串口取代。
  • 串口(SATA/SAS/NVMe):现代主流,凭借高速度、低延迟和抗干扰优势,成为存储接口标准。
  • 未来趋势:PCIe 5.0/6.0和NVMe协议将进一步推动串口存储性能提升。

Linux 磁盘分区表示

磁盘设备命名

  • IDE 硬盘(旧式)/dev/hdX
    • 例如:/dev/hda(第一块 IDE 硬盘),/dev/hdb(第二块 IDE 硬盘)。
  • SATA/SCSI/SAS/NVMe 硬盘(现代)/dev/sdX
    • 例如:/dev/sda(第一块 SATA/SCSI 硬盘),/dev/sdb(第二块)。
  • NVMe SSD/dev/nvmeXnY
    • 例如:/dev/nvme0n1(第一块 NVMe 硬盘),/dev/nvme0n1p1(第一个分区)。

分区命名

  • 主分区/扩展分区/dev/sdXNX 是磁盘字母,N 是分区号,1~4)
    • 例如:/dev/sda1(第一块硬盘的第一个主分区)。
  • 逻辑分区/dev/sdXNN 从 5 开始)
    • 例如:/dev/sda5(第一块硬盘的第一个逻辑分区)。

磁盘命名的区别

设备名接口类型典型用途
/dev/sdaSATA/SCSI/SAS第一块普通硬盘(系统盘)
/dev/sdbSATA/SCSI/SAS第二块普通硬盘(数据盘)
/dev/nvme0n1NVMe SSD高速固态硬盘(现代电脑)
/dev/hdaIDE(旧式)老式机械硬盘

文件系统分类

Windows 常用文件系统

文件系统最大卷/文件大小特点
FAT32卷: 2TB 文件: 4GB- 兼容性极强(U盘、游戏机、车载设备等) - 不支持大文件(如高清视频)
exFAT卷: 128PB 文件: 16EB- 专为闪存设计(U盘、SD卡) - 支持大文件,无日志功能,跨平台兼容
NTFS卷: 256TB 文件: 16EB- Windows 默认文件系统 - 支持日志、加密、压缩、权限控制 - macOS/Linux 需额外驱动写入

Linux 常用文件系统

文件系统特点
ext4- Linux 默认文件系统 - 支持日志、大文件(16TB)、快照 - 稳定性高
XFS- 高性能(适合大文件/服务器) - 动态扩展,但收缩困难
Btrfs- 支持写时复制(COW)、快照、RAID - 适合数据完整性要求高的场景
ZFS- 高级文件系统(整合卷管理) - 支持数据去重、压缩、快照(需高资源)

macOS 常用文件系统

文件系统特点
APFS- macOS 默认文件系统(SSD优化) - 支持加密、快照、空间共享
HFS+- 旧版 macOS 文件系统 - 兼容性较好但逐渐被淘汰

通用/网络文件系统

文件系统用途
ISO 9660光盘标准格式(兼容所有系统)
UDF可擦写光盘/蓝光文件系统
NFS网络文件系统(Linux/Unix 间共享)
SMB/CIFSWindows 网络共享协议(跨平台文件访问)

对比总结

选择依据推荐文件系统
Windows 系统盘NTFS
Linux 系统盘ext4(通用)、XFS(大文件)
macOS 系统盘APFS
U盘/SD卡exFAT(跨平台)、FAT32(老旧设备)
网络共享NFS(Linux)、SMB(Windows/macOS)
高性能存储XFS(Linux)、NTFS(Windows)、APFS(macOS)

注意事项

  • 跨平台兼容性:exFAT 是 Windows/macOS/Linux 通用选择。
  • 日志功能:NTFS/ext4/XFS 等支持日志,意外断电时数据更安全。
  • SSD 优化:APFS(macOS)、F2FS(Linux/Android)可延长闪存寿命。

磁盘分区管理(MBR和GPT)

MBR(Master Boot Record,主引导记录)

MBR是Master Boot Record的简称,也就是主引导记录,是位于磁盘最前边的一段引导(Loader)代码,主要用来引导操作系统的加载与启动。MBR 中包含硬盘的主引导程序和硬盘分区表。分区表有 4 个分区记录区,每个分区记录区占 16 个字节,共 64 字节。446 字节存放主引导程序,2 字节校验。

主分区可以直接使用,而逻辑分区必须包含在扩展分区内。

特点

项目MBR 的限制
最大磁盘容量2TB(受限于32位寻址)
分区数量最多4个主分区,或3主分区+1扩展分区(扩展分区内可再分逻辑分区)
兼容性广泛兼容(所有BIOS系统、Windows/Linux旧版本)
安全性无冗余校验,分区表损坏可能导致数据丢失
主导位置硬盘的第一个扇区(512字节)。引导代码(446字节),分区表(64字节,最多4个主分区),签名(2字节,0x55AA)

何时使用主分区?

  1. 系统关键分区(如 /boot//efi 等),因为某些引导加载程序(如 GRUB)可能要求这些分区是主分区。
  2. 分区数量 ≤ 4,不需要额外逻辑分区时。
  3. 需要直接引导的分区(如 Windows 的 C: 盘通常必须是主分区)。

示例

  • /dev/sda1/boot(主分区)
  • /dev/sda2/(主分区)
  • /dev/sda3/home(主分区)
  • /dev/sda4 → 扩展分区(用于逻辑分区)

何时使用逻辑分区?

  1. 需要超过 4 个分区(因为 MBR 只允许 4 个主分区)。
  2. 数据存储分区(如 /data/backup 等非关键分区)。
  3. 不需要引导的分区(逻辑分区通常不用于 /boot/)。

示例

  • /dev/sda4 → 扩展分区(不直接使用)
    • /dev/sda5/data(逻辑分区)
    • /dev/sda6/backup(逻辑分区)
    • /dev/sda7swap(逻辑分区)

MBR管理硬盘 - fdisk

语法格式
bash
fdisk [选项] <磁盘设备>
常见交互选项
bash
m   查看帮助菜单
p   打印当前分区表
n   新建分区
d   删除分区
t   修改分区类型(如 82=swap, 83=Linux)
w   保存并退出
q   不保存退出
输出示例解析
磁盘整体信息
bash
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3A1B2C3D-4E5F-6789-ABCD-EF0123456789
字段说明
Disk /dev/sda磁盘设备名(这里是第一块 SATA 硬盘)。
238.5 GiB磁盘总容量(GiB = Gibibyte,约 238.5 GB)。
256060514304 bytes磁盘总字节数。
500118192 sectors总扇区数(每个扇区默认 512 字节)。
Disk model磁盘型号(部分硬盘会显示厂商信息,如 Samsung SSD 860)。
Units计算单位(这里显示扇区大小,1 sector = 512 bytes)。
Sector size逻辑扇区/物理扇区大小(通常相同,高级硬盘可能不同,如 4K 对齐)。
I/O size最小/最佳 I/O 操作大小(影响性能)。
Disklabel type分区表类型(gptdos(即 MBR))。
Disk identifier磁盘的唯一标识符(GPT 是 UUID,MBR 是随机生成的 16 进制码)。
分区详细信息
Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624   2050047    999424   488M Linux filesystem
/dev/sda3  2050048 500117503 498067456 237.5G Linux filesystem
字段说明
Device分区设备名(如 /dev/sda1)。
Start分区的起始扇区(从磁盘开头计算的偏移量)。
End分区的结束扇区。
Sectors该分区占用的扇区数(End - Start + 1)。
Size分区大小(自动换算为易读单位,如 512M、237.5G)。
Type分区类型: - EFI System(UEFI 启动分区) - Linux filesystem(普通 Linux 分区) - Linux swap(交换分区) - Microsoft basic data(Windows NTFS/FAT)
注意事项
  1. 数据风险:误操作会导致数据丢失,操作前务必确认设备名
  2. 生效需重启:部分操作需要 partprobe 或重启生效
  3. GPT 磁盘:如需操作 GPT 分区表,建议使用 gdiskparted
  4. SSD 对齐:现代 SSD 建议使用 -u=sectors 参数确保对齐
扩展知识
  • 分区后需用 mkfs 格式化文件系统
  • 使用 blkid 查看新分区的 UUID
  • 通过 /etc/fstab 实现自动挂载

常见问题

(1)为什么第一个分区从 2048 扇区开始?
  • 早期磁盘从 63 扇区开始,但现代系统默认 1MB 对齐(2048 × 512B = 1MB),避免 SSD 性能下降。
(2)如何判断磁盘是 MBR 还是 GPT?
  • 查看 Disklabel type

    sudo fdisk -l /dev/sda | grep "Disklabel"

    输出可能是 dos(MBR)或 gpt

(3)如何查看分区的文件系统类型?
  • 使用 blkid 命令:

    sudo blkid /dev/sda1

    输出示例:

    /dev/sda1: UUID="1234-5678" TYPE="vfat" PARTUUID="abcd-efgh"
    • TYPE="vfat" 表示 FAT32(常见于 EFI 分区)。
    • TYPE="ext4" 表示 Linux ext4 分区。

GPT(GUID Partition Table,GUID 分区表)

GPT磁盘是指使用GUID分区表的磁盘,GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准

特点

项目GPT 的优势
最大磁盘容量支持 9.4ZB(1ZB = 10亿TB,理论无实际限制)
分区数量最多 128 个主分区(Windows 默认限制)
兼容性需 UEFI 启动(现代操作系统均支持,如 Win8+/Linux/macOS)
安全性支持 CRC 校验,分区表损坏可恢复
功能扩展支持 >2TB 磁盘,适合 NVMe SSD 和大容量存储
引导位置保护性MBR(第一个扇区,兼容旧系统),主GPT头(第二个扇区),分区表(随后的多个扇区),备份分区表和GPT头(磁盘末尾)

GPT 分区适用场景

推荐所有新系统使用 GPT,特别是:

  • UEFI 引导的计算机(必须使用 GPT)。
  • 大容量磁盘(>2TB)
  • 需要多个分区(>4)

示例

  • /dev/nvme0n1p1/boot/efi(ESP 分区,FAT32)
  • /dev/nvme0n1p2/(ext4)
  • /dev/nvme0n1p3/home(ext4)
  • /dev/nvme0n1p4swap
  • /dev/nvme0n1p5/data(可以继续增加,无限制)

GPT管理硬盘

parted - 语法格式
bash
parted [选项] <磁盘设备> [命令]
交互模式常用命令
命令功能示例
print显示当前分区表print
mklabel创建分区表类型mklabel gpt
mkpart新建分区mkpart primary ext4 1MiB 10GiB
resizepart调整分区大小resizepart 2 20GiB
rm删除分区rm 3
unit设置单位unit GB
quit退出quit
注意事项
  1. 数据安全
    • 操作前务必备份数据
    • 调整分区大小需文件系统支持(如 ext4/xfs
  2. 单位规范
    • 建议使用 MiB/GiB 避免歧义(1MiB=1048576B
    • 起始位置从 1MiB 开始以保证对齐
  3. 与文件系统的关系
    • parted 只操作分区表,格式化需用 mkfs
    • 调整大小后可能需要 resize2fs/xfs_growfs

MBR vs GPT 对比表

对比项MBRGPT
最大磁盘容量2TB9.4ZB(理论值)
分区数量4个主分区(或扩展分区+逻辑分区)128个主分区(Windows 默认)
启动模式仅支持 BIOS(Legacy)需 UEFI(但可通过 CSM 兼容 BIOS 启动)
数据安全性无校验,易损坏CRC 校验,冗余备份
兼容性兼容所有老系统需现代系统(Win8+/Linux/macOS)
适用场景旧电脑、小容量磁盘新硬件、大容量 SSD/HDD

文件系统与LVM

创建文件系统

语法格式

bash
mkfs [选项] 分区设备
mkfs.[文件类型] 分区设备
# 文件类型常用ext4或xfs

查看分区设备信息

语法格式

bash
blkid [选项] 分区设备

swap交换分区

定义

交换分区是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。当系统物理内存不够用时,操作系统会将内存中暂时不用的数据保存到交换分区上,从而腾出内存空间供其他程序使用,相当于一块临时的“虚拟内存”。

作用

  • 释放内存空间 :当物理内存使用完毕后,系统会将一些暂时不用的进程credential 交换到交换分区中,为其他正在运行的进程腾出物理内存空间,避免系统因内存不足而无法正常运行。
  • 提高系统稳定性 :在系统内存紧张的情况下,交换分区可以作为一种应急缓冲,防止因内存耗尽而导致系统崩溃或出现“application is out of memory”等错误,增强了系统的稳定性和可靠性。
  • 平衡内存使用 :通过调整 swappiness 参数,可以控制内核使用交换分区的积极程度,从而平衡系统的内存使用策略,以适应不同的应用场景和性能需求。

配置方法

  • 创建交换分区 :可以使用fdisk等工具对磁盘进行分区操作,创建一个专门用于交换的分区,然后使用mkswap命令将该分区格式化为交换分区格式,例如mkswap /dev/sdb2
  • 创建交换文件 :使用dd命令创建一个指定大小的空文件,如sudo dd if=/dev/zero of=/var/swap bs=1M count=1024创建一个1GB大小的交换文件,再使用mkswap命令将其格式化为交换分区文件,最后使用swapon命令启用该交换文件。
  • 启用交换分区 :对于分区,使用swapon命令即可启用交换分区,如swapon /dev/sdb2。对于文件,同样使用swapon命令启用,如swapon /var/swap
  • 设置开机自动挂载 :编辑/etc/fstab文件,添加相应的挂载信息,使得交换分区或交换文件在系统启动时自动挂载。例如,对于交换分区,可添加UUID=device_UUID none swap defaults 0 0;对于交换文件,可添加/swapfile none swap sw 0 0

注意事项

  • 大小设置 :通常建议交换分区的大小为物理内存的 2 倍左右,但具体大小应根据系统实际负载、运行情况及未来可能的应用来综合考虑。例如,4GB 或 4GB 以下内存的系统,最少需要 2GB 交换分区;大于 4GB 而小于 16GB 内存的系统,最少需要 4GB 交换分区。
  • 性能影响 :由于硬盘的读写速度远低于内存,频繁地使用交换分区会导致系统性能下降,因此在实际使用中应尽量避免过度依赖交换分区,可通过增加物理内存等方式来提升系统性能。
  • 安全与备份 :交换分区中的数据在系统重启后会丢失,因此重要数据不应存储在交换分区中。同时,为了确保系统的正常运行,应定期备份交换分区的相关配置信息。

操作命令

free - 查看内存和交换空间使用情况

free 命令用于显示系统的物理内存和交换空间使用情况,包括总内存、已用内存、空闲内存等信息。

语法格式
bash
free [选项]
输出字段说明
              total        used        free      shared  buff/cache   available
Mem:        8169348     2345232     3412345      123456     2411771     5123456
Swap:       2097148           0     2097148
  • total: 总内存量
  • used: 已使用内存(包括buffers/cache)
  • free: 完全空闲内存
  • shared: 共享内存
  • buff/cache: 缓存和缓冲区使用的内存
  • available: 估计可用于启动新应用的内存

mkswap – 初始化交换分区或文件

mkswap 命令用于将磁盘分区或文件初始化为Linux交换空间(swap area),这是虚拟内存系统的重要组成部分。

bash
mkswap [选项] 设备/文件 [大小]

注意事项

  1. 交换分区/文件创建后需要swapon才能生效

  2. 交换文件大小建议为物理内存的1-2倍

  3. 生产环境建议使用专用交换分区而非文件

  4. 使用free -hswapon --show验证交换空间状态

  5. 永久生效需在/etc/fstab中添加条目:

    bash
    /swapfile none swap sw 0 0

swapon – 启用交换空间

swapon 是 Linux 系统中用于激活交换空间(swap space)的命令,将指定的设备或文件作为虚拟内存使用。通常用于系统内存不足时扩展可用内存。

bash
swapon [选项] [设备/文件]
注意事项
  1. 需要 root 权限执行

  2. 交换文件/分区需先通过 mkswap 初始化

  3. 永久生效需在/etc/fstab添加配置:

    /swapfile none swap sw 0 0
  4. 使用 swapoff 命令可停用交换空间

  5. 生产环境建议交换空间大小为物理内存的1-2倍

swapoff - 停止交换空间

swapoff 是 Linux 系统中用于 停用交换空间(swap space) 的命令,可以释放交换分区或交换文件占用的资源。通常在调整交换空间或维护系统时使用。

bash
swapoff [选项] [设备/文件]
注意事项
  1. 需要 root 权限(使用 sudo 执行)。
  2. 确保系统有足够的内存,否则停用交换空间可能导致 OOM(内存不足)错误。
  3. 永久停用交换空间 需要修改 /etc/fstab,删除或注释掉对应的 swap 行。
  4. 重新启用交换空间 可使用 swapon 命令。

LVM 逻辑卷

LVM(Logical Volume Manager)是一种灵活的磁盘管理技术,它提供了一种逻辑层面的磁盘管理方式,允许用户将多个物理磁盘组合成逻辑卷,从而实现更灵活的存储管理

LVM 的基本概念

  • 物理卷(Physical Volume, PV):物理卷是 LVM 管理的最小物理单元,可以是一个磁盘或磁盘分区。物理卷被格式化为 LVM 可以识别的格式后,可以被添加到卷组中。
  • 卷组(Volume Group, VG):卷组是物理卷的容器,可以包含一个或多个物理卷。卷组提供了存储空间池,用于创建逻辑卷。
  • 逻辑卷(Logical Volume, LV):逻辑卷是卷组中划分出来的虚拟存储设备,可以被格式化为文件系统并挂载使用。逻辑卷的大小可以动态调整,这是 LVM 灵活性的体现。

相关命令

命令作用
pvcreate创建物理卷
pvremove移除物理卷
pvs / pvdisplay查看物理卷信息
vgcreate创建卷组
vgs/vgscan/vgdisplay查看卷组信息
vgreduce从卷组移除物理卷
vgextend扩容卷组
lvcreate创建逻辑卷
lvs/lvdisplay查看逻辑卷
lvextent扩容逻辑卷
lvresize动态调整逻辑卷(LV)的容量支持 扩展收缩 操作
lvremove删除逻辑卷
resize2fs在线格式化ext格式文件系统。调整ext文件系统
xfs_growfs在线格式化xfs格式文件系统。扩展XFS文件系统

使用缓存卷提高性能

LVM 支持使用缓存卷来提高逻辑卷的性能。以下是使用缓存卷的步骤:

  1. 创建缓存池。使用 lvcreate 命令创建缓存池。例如:

    bash
    lvcreate --type cache-pool --name datalv-cache /dev/sdd

    这条命令使用 /dev/sdd 磁盘创建一个缓存池,命名为 datalv-cache

  2. 将缓存池附加到逻辑卷。使用 lvcreate 命令将缓存池附加到逻辑卷。例如:

    bash
    lvcreate --type cache --name datalv-cached --cache-pool datalv-cache /dev/datavg/datalv

    这条命令将缓存池 datalv-cache 附加到逻辑卷 datalv,创建一个缓存卷 datalv-cached

  3. 挂载缓存卷并使用。例如:

    bash
    mkdir /mnt/cached-data
    mount /dev/datavg/datalv-cached /mnt/cached-data

调整性能设置

可以调整 LVM 的性能设置,以优化逻辑卷的性能。例如,可以调整 I/O 调度算法和缓存策略。以下是调整性能设置的示例:

  1. 调整 I/O 调度算法。可以使用 ionice 命令调整逻辑卷的 I/O 调度优先级。例如:

    bash
    ionice -c 2 -n 0 -p $(pidof process_name)

    这条命令将指定进程的 I/O 调度优先级设置为实时级别。

  2. 调整缓存策略。可以使用 lvchange 命令调整缓存策略。例如:

    bash
    lvchange --poll y /dev/datavg/datalv

    这条命令启用对逻辑卷 datalv 的轮询,以提高其性能。

最佳实践和注意事项

  • 备份数据:在进行任何 LVM 操作之前,建议备份重要数据,以防止操作失误导致数据丢失。
  • 监控空间使用:定期监控卷组和逻辑卷的空间使用情况,以避免空间不足导致的问题。
  • 性能优化:根据实际需求调整 LVM 的性能设置,以获得最佳的存储性能。
  • 快照管理:合理设置快照卷的大小,并及时删除不再需要的快照卷,以释放空间。