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

10分钟学会LVM逻辑卷

华子目录

  • 前言
  • 认识`LVM`
  • `LVM`基本概念
  • `LVM`整体流程
  • `LVM`管理命令
    • pvs,vgs,lvs命令
      • pvs
        • 基本用法
        • 选项
        • 示例
      • vgs
        • 基本用法
        • 选项
        • 示例
      • lvs
      • 基本用法
    • pvcreate,vgcreate,lvcreate命令
      • pvcreate
        • 示例
      • vgcreate
        • 基本用法
        • 示例
        • 选项
      • lvcreate
        • 基本用法
        • 示例
    • pvremove,vgremove,lvremove
      • pvremove
        • 注意事项
        • 基本用法
        • 示例
        • 验证物理卷是否已被移除
      • vgremove
        • 基本用法
        • 注意事项
        • 示例
        • 验证卷组是否已被移除
      • lvremove
        • 基本用法
        • 注意事项
        • 示例
        • 验证逻辑卷是否已被移除
    • vgextend,lvextend
      • vgextend
        • 基本用法
        • 使用示例
        • 注意事项
        • 验证扩展
      • lvextend
      • 基本用法
      • 注意事项
        • 使用示例
        • 验证扩展
    • vgreduce,lvreduce
      • vgreduce
        • 基本用法
        • 常用选项(`一般不用选项`)
        • 使用示例
        • 注意事项
      • lvreduce
        • 基本用法
        • 注意事项
        • 使用步骤
        • 示例
  • 实验
    • 创建lvm逻辑卷
    • 扩容lvm逻辑卷

前言

  • 在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小。而用fdisk对磁盘进行分区后,每个分区大小就已经固定了,如果分区设置的过大,会白白浪费磁盘空间;分区设置的过小,就会导致空间不够用的情况。这个时候,就可以用到LVMLogical Volume Manager逻辑卷管理)。

认识LVM

  • LVMLogical Volume Manager(逻辑卷管理)的简写LVM若干个磁盘或者磁盘分区连接为一个整块卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的在线调整存储卷组大小,并且可以对磁盘存储按照方式进行命名、管理和分配
  • 假设有三块磁盘/dev/sdb/dev/sdc/dev/sdd用来划分逻辑卷LVM模型如图所示:

在这里插入图片描述

  • PE :物理区域
    在这里插入图片描述

LVM基本概念

  • 物理存储设备:指系统的存储设备,如:/dev/hda1、/dev/sda等等。
  • 物理卷:简称pv,物理卷可以是整个硬盘硬盘分区从逻辑上与磁盘分区具有同样功能的设备,是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
  • 卷组:简称vg,可以看成单独的逻辑磁盘,建立在pv之上,一个卷组中至少要包括一个pv,在卷组建立之后可以动态的添加pv卷组中。卷组的名称可以自定义
  • PE 物理区域物理区域是物理卷中可用于分配的最小存储单元物理区域的大小默认为4MB物理区域大小一旦确定将不能更改同一卷组中的所有物理卷的物理区域大小需要一致。
  • 逻辑卷:简称lv逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷逻辑卷建立后可以动态扩展或缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可以属于不同的多个卷组
  • le 逻辑区域逻辑区域逻辑卷中可用于分配的最小存储单元逻辑区域大小取决于逻辑卷所在卷组中的物理区域大小。le的大小和pe的大小一样。

LVM整体流程

物理磁盘分区不分区都行),变成PV物理卷,加入VG卷组,卷组中抽调空间,制作LV逻辑卷,格式化挂载

LVM管理命令

功能pv管理vg管理lv管理
扫描pvscan简写pvs(简单看)vgscan简写vgs(简单看)lvscan简写lvs(简单看)
创建pvcreatevgcreatelvcreate
查看pvdisplay(详细看)vgdisplay(详细看)lvdisplay(详细看)
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce

pvs,vgs,lvs命令

pvs

pvs(Physical Volume Status)命令是LVM(Logical Volume Manager,逻辑卷管理)工具集中的一部分,用于显示系统中物理卷的详细信息。

使用pvs命令时,它会列出系统中所有已配置的物理卷,包括它们的大小、使用情况、卷组(Volume Group, VG)归属、物理卷的状态等信息。这对于了解系统的磁盘配置、空间分配和LVM的整体布局非常有用。

基本用法
pvs

这条命令会列出系统中所有的物理卷及其详细信息。

选项
  • -a, --all:显示所有物理卷,包括未分配给任何卷组的物理卷。
  • -s, --sizes:以更易读的格式显示大小(如 GB 而不是扇区数)。
  • --unit:指定显示大小的单位,如 pvs --unit m 表示以MB为单位显示大小。
示例
  1. 列出所有物理卷

    pvs
    

    输出示例(格式和内容可能有所不同):

    PV         VG       Fmt  Attr PSize   PFree
    /dev/sda2  vg_data  lvm2 a--  19.52g  1.52g
    

    这里显示了名为/dev/sda2的物理卷,它属于名为vg_data的卷组,总大小为19.52GB,剩余空间为1.52GB。

  2. 以MB为单位显示物理卷的大小

    pvs --unit m
    

vgs

vgs(Volume Group Status)命令是LVM(Logical Volume Manager,逻辑卷管理)工具集中的一个工具,用于显示系统中卷组(Volume Groups, VGs)的详细信息。LVM允许系统管理员将多个物理硬盘或分区组合成一个卷组,然后在这个卷组上创建逻辑卷(Logical Volumes, LVs),进而在这些逻辑卷上创建文件系统。vgs命令提供了一种快速查看系统中所有卷组状态的方式。

基本用法
vgs

这条命令会列出系统中所有的卷组及其详细信息,包括卷组名、卷组的大小、卷组中的空闲空间、卷组中的物理卷数量、卷组中的逻辑卷数量等。

选项
  • -a, --all:显示所有卷组,包括空的卷组
  • -o, --output:自定义输出格式。允许你指定要显示的列,如 vgs -o vg_name,vg_size,vg_free
  • -s, --sizes:以更易读的格式显示大小(如 GB 而不是扇区数)。
  • --unit:指定显示大小的单位,如 vgs --unit g 表示以GB为单位显示大小。
示例
  1. 列出所有卷组

    vgs
    

    输出示例(格式和内容可能有所不同):

    VG       #PV #LV #SN Attr   VSize   VFree
    vg_data    1   2   0 wz--n- 19.52g  1.52g
    

    这里显示了名为vg_data卷组,它包含1个物理卷、2个逻辑卷、没有快照(#SN为0),总大小为19.52GB,剩余空间为1.52GB。

  2. 以GB为单位显示卷组的大小

    vgs --unit g
    
  3. 显示卷组的名称和大小

    vgs -o vg_name,vg_size
    

lvs

Linux中的lvscan命令是用于扫描当前系统中存在的所有LVM(Logical Volume Manager,逻辑卷管理)逻辑卷(Logical Volumes, LVs)的工具。

基本用法

lvscan

这条命令会列出系统中所有的逻辑卷及其简要信息,如逻辑卷的名称所属的卷组是否激活等。

pvcreate,vgcreate,lvcreate命令

pvcreate

pvcreate命令是LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一个组成部分,用于将物理硬盘分区 初始化物理卷(Physical Volume, PV)。物理卷是LVM架构中的最底层,它们可以是整个硬盘、硬盘分区或者其他类型的存储设备。一旦物理卷被创建,它们就可以被添加到卷组(Volume Group, VG)中,进而在卷组上创建逻辑卷(Logical Volume, LV)。

示例
  1. 初始化整个磁盘为物理卷

    假设你想要将整个/dev/sdb磁盘初始化为物理卷,你可以运行:

    pvcreate /dev/sdb
    

    请注意,这会删除/dev/sdb上的所有数据,因此请确保在执行此操作之前已经备份了重要数据。

  2. 初始化分区为物理卷

    如果你只想将/dev/sda的第一个分区初始化为物理卷,你可以运行:

    pvcreate /dev/sda1
    

vgcreate

vgcreate 命令是 LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于创建一个新的卷组(Volume Group, VG)。卷组LVM 架构中的一个重要概念,它可以将一个或多个物理卷(Physical Volume, PV组合在一起,以便在逻辑层面上进行统一的磁盘空间管理

基本用法
vgcreate [选项] 卷组名 物理卷路径...
  • 卷组名:你希望创建的卷组名称,该名称在系统中必须是唯一的。
  • 物理卷路径:一个或多个物理卷的设备文件路径,这些物理卷将被加入到新创建的卷组中。
示例

假设你有两个物理卷 /dev/sdb/dev/sdc,并且你想将它们组合成一个名为 my_vg 的卷组,你可以使用以下命令:

vgcreate my_vg /dev/sdb /dev/sdc

这个命令会创建一个新的卷组 my_vg,并将 /dev/sdb/dev/sdc 加入到这个卷组中。

选项
  • -s:设置卷组中物理区域(PE)的大小。物理区域LVM 管理磁盘空间的基本单位。如果不指定,LVM 会选择一个默认大小(通常是 4MB)。
  • -l:设置卷组中可以创建的最大逻辑卷lv数量
  • -p:设置卷组中可以包含的最大物理卷pv数量
  • -L:为新卷组分配的总空间大小。注意,这个选项通常不用于 vgcreate,因为它会尝试根据物理卷的大小来自动确定卷组的大小。

lvcreate

lvcreate 命令是 LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于在卷组(Volume Group, VG)中创建新的逻辑卷(Logical Volume, LV)。逻辑卷LVM 提供给用户的最终磁盘分区,它们可以在不影响数据的情况下进行动态扩展缩减

基本用法
lvcreate [选项] -L <大小> -n <逻辑卷名> <卷组名>

或者

lvcreate [选项] -l <物理扩展区数量> -n <逻辑卷名> <卷组名>
  • -L <大小>:指定逻辑卷大小,单位可以是 K(KB)、M(MB)、G(GB)等。
  • -l <物理扩展区数量>:指定逻辑卷应该包含的物理区域(Physical Extent, PE数量物理区域LVM 管理磁盘空间基本单位
  • -n <逻辑卷名>:指定新创建的逻辑卷名称
  • <卷组名>:指定要在其中创建逻辑卷卷组名称。
示例
  1. 按大小创建逻辑卷

    假设你有一个名为 my_vg 的卷组,并且你想在其中创建一个大小为 10GB 的逻辑卷,名为 my_lv,你可以使用以下命令:

    lvcreate -L 10G -n my_lv my_vg
    
  2. 按物理扩展区数量创建逻辑卷(假设每个 PE 的大小为 4MB):

    如果你想创建一个包含 2560PE(即 10GB,因为 2560 * 4MB = 10GB)的逻辑卷,你可以使用以下命令:

    lvcreate -l 2560 -n my_lv my_vg
    

pvremove,vgremove,lvremove

pvremove

pvremove 命令是 LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于从 LVM 配置中移除(或称为“删除”)一个物理卷(Physical Volume, PV)。

注意事项
  1. 确保数据已备份:在删除物理卷之前,请确保已经备份了其上存储的所有重要数据。因为 pvremove 命令会移除物理卷的所有 LVM 元数据,这可能会导致数据丢失。

  2. 物理卷必须未被使用:物理卷不能是任何活动卷组的一部分,也不能包含任何逻辑卷(LV)或快照。如果物理卷仍在使用中,你需要先从卷组中移除它(使用 vgreduce 命令),或者删除包含它的所有逻辑卷和快照。

  3. 确认设备文件:在执行 pvremove 命令之前,请确保你指定了正确的设备文件。错误的设备文件可能会导致数据丢失或系统不稳定。

  4. 权限要求:通常,你需要 root 权限来执行 pvremove 命令。

基本用法
pvremove /dev/设备名
  • /dev/设备名:要移除的物理卷的设备文件路径。
示例

假设你想从 LVM 配置中移除 /dev/sdb 这个物理卷,你可以使用以下命令:

pvremove /dev/sdb

如果 /dev/sdb 不是一个物理卷,或者它仍在使用中(例如,它是某个卷组的一部分),pvremove 命令将显示错误消息。

验证物理卷是否已被移除

你可以使用 pvspvdisplay 命令来验证物理卷是否已从 LVM 配置中成功移除。如果物理卷已被移除,这些命令将不会列出它。

vgremove

vgremove 命令是 LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于删除(或称为“移除”)一个卷组(Volume Group, VG)。当你不再需要某个卷组中的所有逻辑卷(Logical Volume, LV),并且希望释放这些物理卷(Physical Volume, PV)以便重新用于其他目的时,可以使用 vgremove 命令。

基本用法
vgremove 卷组名
  • 卷组名:要删除的卷组的名称。
注意事项
  1. 确保数据已备份:在删除卷组之前,请确保已经备份了所有重要数据。因为 vgremove 命令会删除卷组及其包含的所有逻辑卷,这可能会导致数据丢失。

  2. 卷组必须为空:在删除卷组之前,你需要先删除或迁移卷组中的所有逻辑卷。如果卷组包含任何逻辑卷,vgremove 命令将拒绝执行。你可以使用 lvremove 命令删除逻辑卷。

  3. 确认卷组名:在执行 vgremove 命令之前,请确保你指定了正确的卷组名。错误的卷组名可能会导致意外的数据丢失或系统不稳定。

  4. 权限要求:通常,你需要 root 权限来执行 vgremove 命令。

示例

假设你想删除名为 my_vg 的卷组,你可以使用以下命令:

vgremove my_vg

如果 my_vg 卷组包含任何逻辑卷,vgremove 命令将显示错误消息,提示你无法删除非空卷组。在这种情况下,你需要先删除或迁移所有逻辑卷,然后再尝试删除卷组。

验证卷组是否已被移除

你可以使用 vgsvgdisplay 命令来验证卷组是否已从 LVM 配置中成功移除。如果卷组已被移除,这些命令将不会列出它。

lvremove

lvremove 命令是 LinuxLVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于删除(或称为“移除”)一个逻辑卷(Logical Volume, LV)。当你不再需要某个逻辑卷,并且想要释放其占用的磁盘空间以便重新分配给其他逻辑卷或用于其他目的时,可以使用 lvremove 命令。

基本用法
lvremove /dev/卷组名/逻辑卷名

或者,更常见的是使用卷组名和逻辑卷名简写形式

lvremove 卷组名/逻辑卷名
  • 卷组名:包含要删除的逻辑卷的卷组的名称。
  • 逻辑卷名:要删除的逻辑卷的名称
注意事项
  1. 确保数据已备份:在删除逻辑卷之前,请确保已经备份了所有重要数据。因为 lvremove 命令会删除逻辑卷及其上的所有数据。

  2. 确认逻辑卷名:在执行 lvremove 命令之前,请确保你指定了正确的逻辑卷名。错误的逻辑卷名可能会导致意外的数据丢失。

  3. 权限要求:通常,你需要 root 权限来执行 lvremove 命令。

  4. 检查挂载点:确保逻辑卷没有被挂载在任何文件系统挂载点上。如果逻辑卷已被挂载,你需要先卸载它(使用 umount 命令)。

示例

假设你想删除名为 my_lv 的逻辑卷,它位于名为 my_vg 的卷组中,你可以使用以下命令:

lvremove /dev/my_vg/my_lv

或者,使用简写形式:

lvremove my_vg/my_lv
验证逻辑卷是否已被移除

你可以使用 lvslvdisplay 命令来验证逻辑卷是否已从 LVM 配置中成功移除。如果逻辑卷已被移除,这些命令将不会列出它。

vgextend,lvextend

vgextend

Linux中的vgextend命令是一个用于动态扩展LVM(Logical Volume Manager,逻辑卷管理)卷组的工具。通过vgextend命令,管理员可以向现有的卷组中添加一个或多个物理卷(Physical Volume, PV),从而增加卷组的总容量

基本用法

vgextend命令的基本语法如下:

vgextend 卷组名 物理卷路径 [物理卷路径...]
  • 卷组名:要扩展的卷组的名称。
  • 物理卷路径一个或多个要添加到卷组中的物理卷设备路径。可以指定多个物理卷,用空格分隔。
使用示例

假设你有一个名为vg2000的卷组,并希望将/dev/sdb2这个物理卷添加到该卷组中,以增加其容量。你可以使用以下命令:

vgextend vg2000 /dev/sdb2

执行成功后,系统会显示类似“Volume group "vg2000" successfully extended”的消息,表示卷组已成功扩展

注意事项
  1. 权限要求:通常,你需要root权限来执行vgextend命令。
  2. 物理卷状态:在将物理卷添加到卷组之前,请确保该物理卷未被其他卷组使用,并且已经通过pvcreate命令初始化为物理卷
  3. 磁盘空间:确保你有足够的空闲磁盘空间来扩展卷组。
  4. 数据备份:虽然vgextend命令本身不会破坏数据,但在进行任何磁盘操作之前,都应该做好数据备份。
验证扩展

扩展卷组后,你可以使用vgdisplay命令来查看卷组的详细信息,包括其容量是否已增加。

lvextend

Linux中的lvextend命令是LVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于扩展(或称为“增加”)一个逻辑卷(Logical Volume, LV)的大小。当你需要为现有的逻辑卷增加更多的存储空间时,可以使用lvextend命令来实现。

基本用法

lvextend -L [+]新大小 /dev/卷组名/逻辑卷名

或者

lvextend -l +le个数 /dev/卷组名/逻辑卷名
  • -L:指定逻辑卷的新大小(以K、M、G、T为单位,例如+10G表示增加10GB)。注意,如果大小前加+,则表示在原有大小基础上增加;如果不加+,则表示设置为指定大小
  • -l:指定逻辑卷要增加的逻辑区域(Logical Extent, le)数量。le是LVM中用于分配存储空间的基本单位,其大小在创建卷组时确定。等同于pe
  • /dev/卷组名/逻辑卷名要扩展的逻辑卷的设备文件路径
  • -r自动调整逻辑卷上的文件系统大小,以使其与逻辑卷的新大小匹配。这个参数非常有用,因为它可以自动完成文件系统扩展的过程,而无需用户手动执行额外的文件系统调整命令(如resize2fsxfs_growfs)。但是,需要注意的是,并非所有的文件系统都支持在线扩展,因此在使用-r参数之前,请确保你的文件系统支持此功能。

注意事项

  1. 确保有足够的空间:在扩展逻辑卷之前,请确保卷组中有足够的未分配空间或额外的物理卷(Physical Volume, PV)可以添加到卷组中。
  2. 文件系统支持:扩展逻辑卷后,不是所有的文件系统都支持在线扩展。例如,ext4xfs支持在线扩展,而FATNTFS不支持
  3. 权限要求:通常,你需要root权限来执行lvextend命令。
使用示例

假设你有一个名为my_lv的逻辑卷,它位于名为my_vg的卷组中,并且你想要为其增加10GB的存储空间。你可以使用以下命令:

lvextend -L +10G /dev/my_vg/my_lv

执行成功后,逻辑卷my_lv的大小将增加10GB。但是,请注意,这并不会自动扩展逻辑卷上的文件系统大小。如果逻辑卷上运行的是ext4或xfs等支持在线扩展的文件系统,你可以使用resize2fs(对于ext4)或xfs_growfs(对于xfs)命令来扩展文件系统大小。

验证扩展

扩展逻辑卷后,你可以使用lvslvdisplay命令来查看逻辑卷的详细信息,包括其新的大小。如果你已经扩展了文件系统,还可以使用df -h命令来查看文件系统的使用情况。

vgreduce,lvreduce

vgreduce

Linux中的vgreduce命令是用于从现有的卷组(Volume Group, VG)中移除物理卷(Physical Volume, PV)的工具。使用vgreduce命令可以缩小卷组的容量,但前提是这些物理卷当前并未卷组中的任何逻辑卷所使用

基本用法
vgreduce [选项] 卷组名 物理卷名...
  • 卷组名:指定要从中移除物理卷的卷组名称。
  • 物理卷名:指定要移除的一个或多个物理卷的名称。可以使用空格分隔多个物理卷名。
常用选项(一般不用选项
  • -a:移除卷组中所有未使用的物理卷。如果没有在命令行中指定物理卷名,则此选项会移除所有空的物理卷。
  • -f:强制执行,覆盖各种检查、确认和保护措施。使用时需要极度谨慎。
使用示例
  1. 移除单个物理卷

    vgreduce myvg /dev/sdb1
    

    这条命令会从名为myvg的卷组中移除/dev/sdb1这个物理卷

  2. 移除所有未使用的物理卷

    vgreduce -a myvg
    

    这条命令会移除myvg卷组中所有未使用物理卷

注意事项
  • 在执行vgreduce命令之前,请确保被移除的物理卷上没有任何正在使用的数据,否则可能会导致数据丢失。
  • 如果物理卷仍在使用中,你需要先使用pvmove命令将数据迁移到卷组中的其他物理卷上,然后再执行vgreduce命令。
  • 在移除物理卷后,如果需要彻底清理LVM配置信息,可以使用pvremove命令来删除物理卷上的LVM标签和元数据。

lvreduce

Linux中的lvreduce命令是用于减小逻辑卷(Logical Volume)大小的工具。当你需要释放一些磁盘空间或重新规划磁盘空间分配时,lvreduce命令就显得非常有用。以下是对lvreduce命令的详细解释:

基本用法
lvreduce -L [新大小] /dev/卷组名/逻辑卷名

或者

lvreduce -l [新LE数] /dev/卷组名/逻辑卷名
  • -L:指定逻辑卷的新大小,可以使用单位(如MB、GB)来明确指定大小。如果大小前加+-,则表示在原有大小基础上增加或减少。
  • -l:指定逻辑卷的新大小,但使用PE(Physical Extents)单位来指定。PE是LVM中用于分配存储空间的基本单位,其大小在创建卷组时确定。
注意事项
  1. 数据备份:在执行lvreduce命令之前,务必备份好逻辑卷中的重要数据。因为减小逻辑卷大小可能会导致数据丢失或文件系统损坏。
  2. 卸载文件系统:在减小逻辑卷大小之前,通常需要卸载逻辑卷上的文件系统,确保没有进程正在使用该逻辑卷。但是,对于支持在线缩小的文件系统(如ext4、xfs),可以在文件系统挂载状态下执行lvreduce命令,并通过resize2fs(对于ext4)或xfs_growfs注意xfs只支持扩展不支持缩减,这里仅作为对比提及)等命令调整文件系统大小。然而,对于不支持在线缩小的文件系统,必须先卸载文件系统。
  3. 确认操作:执行lvreduce命令时,系统会提示确认是否减小逻辑卷的大小。在确认之前,请再次检查命令参数和逻辑卷名称,确保操作无误。
  4. 文件系统支持:并非所有的文件系统都支持在线缩小。在减小逻辑卷大小后,如果文件系统不支持在线缩小,你可能需要使用其他工具(如partclone)来备份和恢复数据,或者重新创建文件系统。
使用步骤
  1. 检查逻辑卷大小:使用lvslvdisplay命令查看当前逻辑卷的大小和状态。
  2. 备份数据:根据需要备份逻辑卷中的重要数据。
  3. 卸载文件系统(如果需要):如果文件系统不支持在线缩小,使用umount命令卸载逻辑卷上的文件系统。
  4. 执行lvreduce命令:按照基本用法中的命令格式执行lvreduce命令,减小逻辑卷的大小。
  5. 调整文件系统大小(如果需要):如果文件系统支持在线缩小,并且你已经减小了逻辑卷的大小,使用相应的文件系统调整命令(如resize2fs)来调整文件系统的大小。但是,请注意xfs文件系统不支持直接缩减。
  6. 验证操作:使用lvslvdisplay命令验证逻辑卷的大小是否已更改。
示例

假设你想要将名为mylv的逻辑卷大小减小到10GB,并且该逻辑卷位于名为myvg的卷组中,你可以使用以下命令:

lvreduce -L 10G /dev/myvg/mylv

执行该命令后,系统会提示你确认操作。输入y并回车后,逻辑卷mylv的大小将被减小到10GB。如果逻辑卷上的文件系统支持在线缩小,你可能还需要使用相应的命令来调整文件系统的大小。

实验

创建lvm逻辑卷

扩容lvm逻辑卷

相关文章:

10分钟学会LVM逻辑卷

华子目录 前言认识LVMLVM基本概念LVM整体流程LVM管理命令pvs&#xff0c;vgs&#xff0c;lvs命令pvs基本用法选项示例 vgs基本用法选项示例 lvs基本用法 pvcreate&#xff0c;vgcreate&#xff0c;lvcreate命令pvcreate示例 vgcreate基本用法示例选项 lvcreate基本用法示例 pvr…...

【gitlab】gitlab-ce:17.3.0-ce.0 之2:配置

参考阿里云的教程docker的重启 sudo systemctl daemon-reload sudo systemctl restart docker配置 –publish 8443:443 --publish 8084:80 --publish 22:22 sudo docker ps -a 當容器狀態為healthy時,說明GitLab容器已經正常啟動。 root@k8s-master-pfsrv:~...

第七十四:前端实现点击页面某个菜单跳转到对应的锚点功能

1.用js来实现 scrollIntoView方法 先定义个id或者class随意&#xff0c;因为我是循环好几个小模块所以用动态的来实现 点击的时候传对应的类名进行滑动 document.getElementById(item.variableCode).scrollIntoView({behavior:“smooth”}); 加上behavior:“smooth” 进行平…...

PyTorch分布式训练全攻略:DistributedDataParallel精解与实战

标题&#xff1a;PyTorch分布式训练全攻略&#xff1a;DistributedDataParallel精解与实战 在深度学习飞速发展的今天&#xff0c;模型的规模和数据集的体量不断增长&#xff0c;单机单卡的训练方式已难以满足需求。分布式训练以其卓越的扩展性和效率&#xff0c;成为解决这一…...

Python(TensorFlow)多模光纤光束算法和GPU并行模拟

&#x1f3af;要点 &#x1f3af;多模光纤包含光学系统线性和非线性部分 | &#x1f3af;单变量线性回归、多变量线性回归、人脸图像年龄预测、音频语音分类和 X 射线图像评估算法 | &#x1f3af;在空间光调制器记录海螺参数矩阵&#xff0c;光束算法多变量预测年龄 | &#…...

实战Kubernetes之快速部署 K8s 集群 v1.28.0

文章目录 一、前言二、主机准备三、系统配置3.1. 关闭防火墙及相关配置3.2. 修改主机名3.3. 主机名DNS解析3.4. 时间同步3.5. 配置网络3.6. 重启服务器 四、安装软件4.1. 安装 Docker4.2. 安装 cri-dockerd4.3. 添加国内YUM源4.4. 安装 kubeadm、kubelet 和 kubectl 五、Master…...

YOLO知识点总结:

分类&#xff1a; 即是将图像结构化为某一类别的信息&#xff0c;用事先确定好的类别(category)或实例ID来描述图片。这一任务是最简单、最基础的图像理解任务&#xff0c;也是深度学习模型最先取得突破和实现大规模应用的任务。其中&#xff0c;ImageNet是最权威的评测集&…...

合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据

为了验证 AIR700 IPV6 &#xff0c;特别新建向NodeRed Tcp发送的工程。 Air700发送TCP数据源码如下&#xff1a; --[[ IPv6客户端演示, 仅EC618系列支持, 例如Air780E/Air600E/Air780UG/Air700E ]]-- LuaTools需要PROJECT和VERSION这两个信息 PROJECT "IPV6_SendDate_N…...

git 如何生成sshkey公钥

打开git客户端 输入 ssh-keygen -t rsa -b 4096 -C "xxxxxxexample.com" 然后根据提示按enter 或者y 直到出现下图所示 打开 c盘的路径下的文件&#xff0c;/c/Users/18159/.ssh/id_rsa.pub 将id_rsa.pub中的公钥贴到git 网站上的SSH keys即可...

python从入门到精通:函数

目录 1、函数介绍 2、函数的定义 3、函数的传入参数 4、函数的返回值 5、函数说明文档 6、函数的嵌套调用 7、变量的作用域 1、函数介绍 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现特定功能的代码段。 name "zhangsan"; length len(nam…...

【Android性能篇】如何分析 dumpsys meminfo 信息

一、dumpsys meminfo是什么 dumpsys meminfo 是一个用于分析Android设备内存使用情况的强大命令。 二、dumpsys meminfo的关键信息 要分析其输出信息&#xff0c;我们需要注意以下几个关键点&#xff1a; Total PSS by OOM adjustment&#xff1a;这个值表示每个进程的总比…...

c++进阶——继承的定义,复杂的菱形继承及菱形虚拟继承

目录 前言&#xff1a; 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 5.继承与友元 6. 继承与静态成员 7.复杂的菱形继承及菱…...

计算机网络:DNS、子网掩码、网关

参考&#xff1a; https://blog.csdn.net/weixin_55255438/article/details/123074896 https://zhuanlan.zhihu.com/p/65226634 在计算机网络中&#xff0c;DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;、子网掩码&#xff08;Subnet Mask&#xff09;…...

程序员如何学习开源项目

程序员如何学习开源项目 豆包MarsCode使用豆包MarsCode学习开源项目步骤导入git上开源的项目 豆包MarsCode https://www.marscode.cn/home 使用豆包MarsCode学习开源项目 步骤 https://www.marscode.cn/dashboard 导入git上开源的项目 找到项目的README.md文件&#xff0c;使…...

探索数据结构:红黑树的分析与实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 红黑树的介绍 1.1. 红黑树的引入 我们前面学习了AVL树&#xff0c;…...

【设计模式】装饰器模式和适配模式

装饰器模式 装饰器模式能够很好的对已有功能进行拓展&#xff0c;这样不会更改原有的代码&#xff0c;对其他的业务产生影响&#xff0c;这方便我们在较少的改动下对软件功能进行拓展。 类似于 router 的前置守卫和后置守卫。 Function.prototype.before function (beforeFn)…...

Visual Studio VS 插件之 ReSharper

集成在VS2022上的ReSharper暂无找到汉化方式&#xff0c;如果有大神可以汉化&#xff0c;请指导下。 首先ReSharper 是IDE 下的插件 主要是基于C# 语句优化的这么一个插件。 使用ReSharper可以使开发效率大大提高&#xff0c;但是也是比较吃电脑的配置。所以说如果配置低的小…...

【二分查找】--- 进阶题目赏析

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 算法Journey 本篇博客我们继续来了解一些有关二分查找算法的进阶题目。 &#x1f3e0; 寻找峰值 &#x1f4cc; 题目内容 162. 寻找峰值 - 力扣&#…...

CSS 对齐

CSS 对齐 在网页设计中&#xff0c;CSS&#xff08;层叠样式表&#xff09;对齐是一种基本而重要的技术&#xff0c;它决定了网页元素的位置和布局。CSS 提供了多种对齐方法&#xff0c;可以精确控制元素的水平、垂直对齐&#xff0c;以及相对于其父元素或整个页面的位置。本文…...

暑假算法刷题日记 Day 10

目录 重点整理 054、 拼数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 055、 求第k小的数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 总结 这几天我们主要刷了洛谷上排序算法对应的一些题目&#xff0c;相对来说比较简单 一共是13道…...

【Midjourney】AI作画提示词工程:精细化技巧与高效实践指南

文章目录 &#x1f4af;AI作画提示词基础结构1 图片链接1.1 上传流程 2 文字描述3 后置参数 &#x1f4af;AI作画提示词的文字描述结构1 主体主体细节描述2 环境背景2.1 环境2.2 光线2.3 色彩2.4 氛围 3 视角4 景别构图5 艺术风格6 图片制作方法7 作品质量万能词 &#x1f4af;…...

C语言——文件

文件操作 概念 文件是指存储在外存储器上&#xff08;一般代指磁盘&#xff0c;也可以是U盘&#xff0c;移动硬盘等&#xff09;的数据的集合。 文件操作体现在哪几个方面 1.文件内容的读取 2.文件内容的写入 数据的读取和写入可被视为针对文件进行输入和输出的操作&#xf…...

视频孪生技术在智慧水利(水务)场景中的典型应用展示

一、智慧水利建设规划 根据水利部编制《“十四五”智慧水利建设规划》&#xff0c;建设数字孪生流域、“2N”水利智能业务应用体系、安全可控水利网络安全防护体系、优化健全水利网信保障体系&#xff0c;建成七大江河数字孪生流域&#xff0c;推进水利工程智能化改造&#xf…...

使用kubekey快速搭建k8s集群

项目仓库地址 https://github.com/kubesphere/kubekey/ 支持的Kubernetes Versions https://github.com/kubesphere/kubekey/blob/master/docs/kubernetes-versions.md 安装 选择自己想要下载的版本 https://github.com/kubesphere/kubekey/releases 复制下载链接并下载 示…...

C++——入门基础(上)

目录 一、C参考文档 二、C在工作领域的应用 三、C学习书籍 四、C的第一个程序 五、命名空间 &#xff08;1&#xff09;namespace的定义 (2)命名空间的使用 六、C的输入和输出 七、缺省函数 八、函数重载 九、写在最后 一、C参考文档 &#xff08;1&#xff09;虽…...

Spring事务失效

类内部访问导致事务不生效原因&#xff1a; 注解Transaction的底层实现是Spring AOP技术&#xff0c;而Spring AOP技术使用的是动态代理。spring事务失效的原因就是动态代理失效的原因: 对于static方法和非public方法&#xff0c;注解Transactional是失效的&#xff0c;因为不…...

Qt QLabel标签制作弹框效果,3s后缓慢自动消失

效果图 初始化说明 void InitStatusTips() {if (NULL statusTips_) {return;}statusTips_->setFixedSize(300, 80);//固定大小statusTips_->move((width() - statusTips_->width()) / 2, height() - 30 - statusTips_->height());//移动位置statusTips_->setA…...

JZ55 二叉树的深度

二叉树的深度_牛客题霸_牛客网 递归代码太简单-一行就可以,可以用二叉树的层序遍历&#xff0c;顺便温习下二叉树层序遍历的写法。 对应leetcode 104题&#xff0c;层序遍历对应leetcode-102自顶向下&#xff0c;leetcode-107自底向上 /* struct TreeNode {int val;struct Tre…...

视频号分销系统搭建教程,源代码+部署上线指南

目录 一、视频号分销是什么&#xff1f; 二、视频号分销系统怎么搭建&#xff1f; 1.系统架构设计 2.部署与上线 3.持续迭代与升级 三、部分代码展示 一、视频号分销是什么&#xff1f; 视频号分销系统是合集了视频号商家的产品&#xff0c;推广达人推广商家的产品可赚取…...

【python】cryptography库学习

【python】cryptography库学习 cryptography学习1-安装2-cryptography学习2.1-fernet的使用2.2-padding填充2.3-Hash2.4-ciphers&#xff08;对称算法AES为例&#xff09;2.5-asymmetric(非对称算法RSA为例)函数&#xff1a;generate_private_key类&#xff1a;RSAPrivateKey&a…...