当前位置: 首页 > news >正文

20.管理存储堆栈

一、创建和扩展逻辑卷

(1)物理卷(PV)、卷组(VG)、逻辑卷(LV)

  1. 物理卷(PV,Physical Volume)

    • 物理存储设备(如硬盘分区、SSD、RAID 设备等),经过 LVM 初始化后成为 PV,用于构建卷组。
    • 底层设备需先创建分区(推荐类型为8e,即 Linux LVM)。
  2. 卷组(VG,Volume Group)

    • 由一个或多个 PV 组成的存储池,将分散的物理存储整合为一个统一的逻辑存储池,屏蔽底层物理设备差异。
  3. 逻辑卷(LV,Logical Volume)

    • 从 VG 中划分出的逻辑存储单元,可像普通分区一样格式化并挂载使用,支持动态扩展 / 缩减(需文件系统支持)。

(2)构建LVM存储

     1. 准备物理设备(以分区/dev/sdb1为例)

# 查看磁盘分区(确认设备名)
fdisk -l /dev/sdb# 若未分区,创建分区(类型设为8e)
fdisk /dev/sdb
# 输入n创建新分区,t修改类型为8e,w保存退出

     2. 创建物理卷(PV)

# 初始化物理卷(将分区标记为LVM物理卷)
pvcreate /dev/sdb1# 示例:同时初始化多个设备
pvcreate /dev/sdb1 /dev/sdc1

  3. 创建卷组(VG)

# 创建卷组(vg0为卷组名,包含/dev/sdb1)
vgcreate vg0 /dev/sdb1# 示例:指定PE大小(默认4MB,范围1-65536MB)
vgcreate -s 8M vg0 /dev/sdb1 /dev/sdc1  # PE大小设为8MB

  4. 创建逻辑卷(LV)

# 从vg0中创建20GB的逻辑卷lv_data
lvcreate -L 20G -n lv_data vg0# 示例:按卷组剩余空间的50%创建LV
lvcreate -l 50%FREE -n lv_backup vg0# 示例:使用卷组全部空间创建LV
lvcreate -l 100%VG -n lv_full vg0

  5. 格式化并挂载 LV

# 格式化LV为ext4文件系统(xfs也常用,需注意xfs不支持缩减)
mkfs.ext4 /dev/vg0/lv_data# 创建挂载点并挂载
mkdir /data
mount /dev/vg0/lv_data /data# 永久挂载(写入/etc/fstab)
echo "/dev/vg0/lv_data /data ext4 defaults 0 0" >> /etc/fstab

(3)显示LVM组件状态

    查看物理卷(PV)

pvdisplay      # 详细信息(大小、所属VG等)
pvs            # 简洁信息(设备、大小、状态)

  查看卷组(VG)

vgdisplay vg0  # 详细信息(总大小、剩余空间、包含的PV等)
vgs            # 简洁信息(VG名、大小、剩余空间)

  查看逻辑卷(LV)

lvdisplay /dev/vg0/lv_data  # 详细信息(路径、大小、所属VG等)
lvs                         # 简洁信息(LV名、大小、所属VG)

(4)扩展和缩减LVM存储

1. 扩展逻辑卷(LV)

前提:卷组(VG)有剩余空间,或已添加新 PV 到 VG。

# 步骤1:扩展LV(增加10GB,或扩展至50GB)
lvextend -L +10G /dev/vg0/lv_data  # 增加10GB
# 或 lvextend -L 50G /dev/vg0/lv_data  # 扩展至总容量50GB# 步骤2:扩展文件系统(根据文件系统类型)
# ext4文件系统
resize2fs /dev/vg0/lv_data# xfs文件系统(需先挂载,且只能扩展不能缩减)
xfs_growfs /data  # 需指定挂载点而非设备

  若 VG 空间不足,先扩展 VG

# 新增PV(如/dev/sdc1)并添加到vg0
pvcreate /dev/sdc1
vgextend vg0 /dev/sdc1  # 将新PV加入VG

  2. 缩减逻辑卷(LV)

注意

  • 仅 ext4 等支持缩减,xfs 不支持!
  • 缩减前必须卸载 LV 并检查文件系统完整性。
# 步骤1:卸载LV
umount /data# 步骤2:检查文件系统(ext4)
e2fsck -f /dev/vg0/lv_data  # 强制检查,确保无错误# 步骤3:缩减文件系统(先缩文件系统,再缩LV!)
resize2fs /dev/vg0/lv_data 30G  # 缩至30GB# 步骤4:缩减LV(需与文件系统大小一致)
lvreduce -L 30G /dev/vg0/lv_data# 步骤5:重新挂载
mount /dev/vg0/lv_data /data

(5)删除LVM存储

注意:删除前需卸载 LV,确保数据已备份!

  1. 卸载逻辑卷

umount /data
# 若在/etc/fstab有配置,需删除对应行

  2.删除逻辑卷(LV)

lvremove /dev/vg0/lv_data
# 输入y确认

 3. 删除卷组(VG)

vgremove vg0

4.删除物理卷(PV)

pvremove /dev/sdb1 /dev/sdc1

5.(可选)删除底层分区

fdisk /dev/sdb  # 进入分区工具删除对应分区

二、管理分层存储

(1)存储堆栈

存储堆栈是计算机系统中从物理硬件到用户应用的存储层次结构,各层负责不同功能,共同实现数据的存储与访问。典型分层结构如下:

  1. 物理层(Physical Layer)

    • 底层物理存储设备:硬盘(HDD)、固态硬盘(SSD)、NVMe 设备、RAID 阵列等。
    • 功能:提供原始存储介质,通过硬件接口(如 SATA、PCIe)与上层交互。
  2. 设备层(Device Layer)

    • 对物理设备的抽象与管理:分区(如 MBR/GPT 分区表)、逻辑设备(如 LVM 的 PV)、硬件 RAID 控制器。
    • 功能:将物理设备划分为可管理的逻辑单元,屏蔽硬件细节。
  3. 卷管理层(Volume Layer)

    • 技术:LVM(逻辑卷管理)、Stratis、ZFS、Btrfs 等。
    • 功能:整合多个物理 / 逻辑设备为存储池,动态分配逻辑卷,支持快照、thin provisioning(精简配置)、冗余等高级功能。
  4. 文件系统层(File System Layer)

    • 技术:ext4、XFS、Btrfs、ZFS 等。
    • 功能:管理逻辑卷上的文件组织,提供目录结构、权限控制、数据索引等,使应用可通过文件路径访问数据。

(2)Stratis存储管理

Stratis 是 Red Hat 主导开发的新一代本地存储管理工具,基于 LVM 和 XFS,提供简化的存储池管理、快照、thin provisioning 等功能,旨在替代传统 LVM 的复杂操作。

1. 核心概念
  • 块设备(Block Device):物理存储设备(如/dev/sdb)或分区,作为 Stratis 的底层存储。
  • 池(Pool):由一个或多个块设备组成的存储池,类似于 LVM 的卷组(VG),是 Stratis 管理的基本单元。
  • 文件系统(Filesystem):从池中创建的逻辑存储单元,类似于 LVM 的逻辑卷(LV),自动使用 XFS 格式化,支持动态扩展。
  • 快照(Snapshot):文件系统的只读或可写副本,基于 COW(写时复制)机制,节省空间。
  • Thin Provisioning:允许创建总容量超过池实际空间的文件系统,仅在数据写入时分配实际空间。
2. 安装 Stratis
# RHEL/CentOS 8+ 或 Fedora
dnf install stratis-cli stratisd -y# 启动并启用服务
systemctl enable --now stratisd
3. 基本操作命令及示例

(1)创建存储池(Pool)

# 查看可用块设备(确认未被使用的设备,如/dev/sdb、/dev/sdc)
lsblk# 从单个设备创建池(pool0)
stratis pool create pool0 /dev/sdb# 从多个设备创建池(支持冗余,类似RAID1)
stratis pool create pool0 /dev/sdb /dev/sdc  # 自动配置为镜像模式(冗余)

(2)创建文件系统(Filesystem)

# 从pool0创建文件系统fs_data(大小自动为thin provisioning,初始不占用实际空间)
stratis filesystem create pool0 fs_data# 查看所有池和文件系统
stratis pool list        # 查看池状态(总容量、已用空间等)
stratis filesystem list  # 查看文件系统(所属池、挂载点等)

(3)挂载文件系统

# 创建挂载点
mkdir /stratis_data# 挂载文件系统(使用Stratis的UUID或路径,推荐UUID)
# 查看UUID:stratis filesystem list
mount /dev/stratis/pool0/fs_data /stratis_data# 永久挂载(写入/etc/fstab,使用UUID)
echo "UUID=$(blkid -s UUID -o value /dev/stratis/pool0/fs_data) /stratis_data xfs defaults 0 0" >> /etc/fstab

(4)扩展存储池(添加设备)

当池空间不足时,可添加新块设备扩展:

# 向pool0添加新设备/dev/sdd
stratis pool add-data pool0 /dev/sdd# 查看扩展后的池信息
stratis pool list pool0

(5)管理快照(Snapshot)

# 为fs_data创建只读快照snap1
stratis filesystem snapshot pool0 fs_data snap1# 创建可写快照(-w选项)
stratis filesystem snapshot -w pool0 fs_data snap2# 查看快照
stratis filesystem list pool0  # 快照与原文件系统同属一个池# 挂载快照(与挂载普通文件系统相同)
mkdir /snap1_data
mount /dev/stratis/pool0/snap1 /snap1_data

(6)删除操作

# 卸载文件系统/快照
umount /stratis_data
umount /snap1_data# 删除文件系统/快照
stratis filesystem destroy pool0 fs_data
stratis filesystem destroy pool0 snap1# 删除存储池(需先删除池中所有文件系统)
stratis pool destroy pool0
4. Stratis 与 LVM 的对比优势
  • 简化操作:无需手动创建 PV/VG/LV,一步创建池和文件系统。
  • 自动管理:文件系统自动使用 XFS,支持动态扩展(无需手动调整文件系统)。
  • 高级功能:内置快照、thin provisioning,无需额外配置。
  • 冗余支持:多设备池自动配置镜像(类似 RAID1),提升数据安全性。

三、知识点总结

  1. 分别说明 LVM 中物理卷(PV)、物理区块(PE)、卷组(VG)、逻辑卷(LV)的概念以及它们之间的关系。

 LVM 中物理卷、物理区块、卷组、逻辑卷的概念及关系

物理卷(PV):指经过 LVM 初始化的物理存储设备(如硬盘分区、整个硬盘),是 LVM 的底层存储载体。

物理区块(PE):PV 被划分的最小可分配单元(默认 4MB),是 LVM 中数据分配的基本单位。

卷组(VG):由一个或多个 PV 组合而成的逻辑存储池,将多个 PV 的 PE 统一管理,形成一个可分配的 “资源池”。

逻辑卷(LV):从 VG 中分配部分 PE 形成的逻辑存储单元,可像普通分区一样格式化并挂载使用。

关系:PV 包含多个 PE;多个 PV 组成 VG,VG 统一管理所有 PV 的 PE;LV 从 VG 中分配指定数量的 PE 形成,本质是 PE 的集合。

2.简单说下创建 LVM 存储需要哪几个步骤。

初始化物理设备为 PV(pvcreate 设备路径);

将 PV 加入卷组 VG(vgcreate 卷组名 物理卷路径);

从 VG 中创建逻辑卷 LV(lvcreate -L 大小 -n 逻辑卷名 卷组名);

格式化 LV 并挂载使用(mkfs.文件系统 逻辑卷路径;mount 逻辑卷路径 挂载点)。

3.创建或扩展逻辑卷时,使用-l 和-L 选项来指定大小有什么区别?

-l:按物理区块(PE)数量指定大小(如 -l 100 表示分配 100 个 PE);

-L:按实际存储大小指定(如 -L 10G 表示分配 10GB 空间)。

http://www.dtcms.com/a/529528.html

相关文章:

  • 深圳网站建设黄浦网络-技术差专业3合1网站建设
  • 成都建设招标网站首页一份完整的网站策划方案
  • c端宠物h5系统
  • 推广营销海外网站安平县建设局网站
  • 网站群集约化建设通知网页制作的基本步骤有哪些
  • 基于用户分层的金丝雀式渐进部署
  • 2025文职转行AI管理岗:衔接型认证成为关键路径
  • 帮别人做违法网站会怎么样外贸网站中的搜索产品功能如何实现
  • 绍兴中交水利水电建设有限公司网站网站设计美工排版编辑
  • 网站和虚拟服务器资深的网站建设
  • 泉州专业建站北京网站设计入门
  • 自助建设外贸网站wordpress删除媒体库数据
  • 中国网站的建设网站平台怎么建设
  • 28_AI智能体提示词工程之动态加载意图识别提示词模板的最佳实践
  • 2025年10月25日 AI大事件
  • ai公司起名取名抖音快手微信小程序看广告流量主开源
  • GitHub等平台形成的开源文化正在重塑静态库
  • wordpress知名站点th7 wordpress 汉化
  • 建站平台 在线提交表格功能网站域名备案更改
  • ARM的中断模式与快速中断模式
  • markdown基础语法
  • 网站开发学生鉴定表网络营销与电子商务的关系
  • 深圳 网站wordpress公开课插件
  • 网站首页建设方案北京大兴企业网站建设咨询
  • php网站的html文件放在那个里面的建设网站方法
  • Delphi 自动检测异常状态的封装单元(含源码)—— 3分钟无响应自动报警
  • P3612 [USACO17JAN] Secret Cow Code S
  • 07数据分析:使用 PromQL 进行查询与分析
  • 物流网站哪个好自建网站和第三方平台的区别
  • 哪里有网站建设官网花果园网站建设