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对磁盘进行分区后,每个分区的大小就已经固定了,如果分区设置的过大,会白白浪费磁盘空间;分区设置的过小,就会导致空间不够用的情况。这个时候,就可以用到LVM(Logical Volume Manager,逻辑卷管理)。
认识LVM
LVM是Logical 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(简单看) |
| 创建 | pvcreate | vgcreate | lvcreate |
| 查看 | pvdisplay(详细看) | vgdisplay(详细看) | lvdisplay(详细看) |
| 删除 | pvremove | vgremove | lvremove |
| 扩展 | vgextend | lvextend | |
| 缩小 | vgreduce | lvreduce |
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为单位显示大小。
示例
-
列出所有物理卷:
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。 -
以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为单位显示大小。
示例
-
列出所有卷组:
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。 -
以GB为单位显示卷组的大小:
vgs --unit g -
显示卷组的名称和大小:
vgs -o vg_name,vg_size
lvs
Linux中的lvscan命令是用于扫描当前系统中存在的所有LVM(Logical Volume Manager,逻辑卷管理)逻辑卷(Logical Volumes, LVs)的工具。
基本用法
lvscan
这条命令会列出系统中所有的逻辑卷及其简要信息,如逻辑卷的名称、所属的卷组、是否激活等。
pvcreate,vgcreate,lvcreate命令
pvcreate
pvcreate命令是Linux中LVM(Logical Volume Manager,逻辑卷管理)工具集的一个组成部分,用于将物理硬盘或分区 初始化为物理卷(Physical Volume, PV)。物理卷是LVM架构中的最底层,它们可以是整个硬盘、硬盘分区或者其他类型的存储设备。一旦物理卷被创建,它们就可以被添加到卷组(Volume Group, VG)中,进而在卷组上创建逻辑卷(Logical Volume, LV)。
示例
-
初始化整个磁盘为物理卷:
假设你想要将整个
/dev/sdb磁盘初始化为物理卷,你可以运行:pvcreate /dev/sdb请注意,这会删除
/dev/sdb上的所有数据,因此请确保在执行此操作之前已经备份了重要数据。 -
初始化分区为物理卷:
如果你只想将
/dev/sda的第一个分区初始化为物理卷,你可以运行:pvcreate /dev/sda1
vgcreate
vgcreate 命令是 Linux 中 LVM(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 命令是 Linux 中 LVM(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 <逻辑卷名>:指定新创建的逻辑卷的名称。<卷组名>:指定要在其中创建逻辑卷的卷组名称。
示例
-
按大小创建逻辑卷:
假设你有一个名为
my_vg的卷组,并且你想在其中创建一个大小为10GB的逻辑卷,名为my_lv,你可以使用以下命令:lvcreate -L 10G -n my_lv my_vg -
按物理扩展区数量创建逻辑卷(假设每个
PE的大小为4MB):如果你想创建一个包含
2560个PE(即10GB,因为2560 * 4MB = 10GB)的逻辑卷,你可以使用以下命令:lvcreate -l 2560 -n my_lv my_vg
pvremove,vgremove,lvremove
pvremove
pvremove 命令是 Linux 中 LVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于从 LVM 配置中移除(或称为“删除”)一个物理卷(Physical Volume, PV)。
注意事项
-
确保数据已备份:在删除物理卷之前,请确保已经备份了其上存储的所有重要数据。因为
pvremove命令会移除物理卷的所有 LVM 元数据,这可能会导致数据丢失。 -
物理卷必须未被使用:物理卷不能是任何活动卷组的一部分,也不能包含任何逻辑卷(LV)或快照。如果物理卷仍在使用中,你需要先从卷组中移除它(使用
vgreduce命令),或者删除包含它的所有逻辑卷和快照。 -
确认设备文件:在执行
pvremove命令之前,请确保你指定了正确的设备文件。错误的设备文件可能会导致数据丢失或系统不稳定。 -
权限要求:通常,你需要 root 权限来执行
pvremove命令。
基本用法
pvremove /dev/设备名
/dev/设备名:要移除的物理卷的设备文件路径。
示例
假设你想从 LVM 配置中移除 /dev/sdb 这个物理卷,你可以使用以下命令:
pvremove /dev/sdb
如果 /dev/sdb 不是一个物理卷,或者它仍在使用中(例如,它是某个卷组的一部分),pvremove 命令将显示错误消息。
验证物理卷是否已被移除
你可以使用 pvs 或 pvdisplay 命令来验证物理卷是否已从 LVM 配置中成功移除。如果物理卷已被移除,这些命令将不会列出它。
vgremove
vgremove 命令是 Linux 中 LVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于删除(或称为“移除”)一个卷组(Volume Group, VG)。当你不再需要某个卷组中的所有逻辑卷(Logical Volume, LV),并且希望释放这些物理卷(Physical Volume, PV)以便重新用于其他目的时,可以使用 vgremove 命令。
基本用法
vgremove 卷组名
- 卷组名:要删除的
卷组的名称。
注意事项
-
确保数据已备份:在删除卷组之前,请确保已经备份了所有重要数据。因为
vgremove命令会删除卷组及其包含的所有逻辑卷,这可能会导致数据丢失。 -
卷组必须为空:在删除卷组之前,你需要先删除或迁移卷组中的所有逻辑卷。如果卷组包含任何逻辑卷,
vgremove命令将拒绝执行。你可以使用lvremove命令删除逻辑卷。 -
确认卷组名:在执行
vgremove命令之前,请确保你指定了正确的卷组名。错误的卷组名可能会导致意外的数据丢失或系统不稳定。 -
权限要求:通常,你需要 root 权限来执行
vgremove命令。
示例
假设你想删除名为 my_vg 的卷组,你可以使用以下命令:
vgremove my_vg
如果 my_vg 卷组包含任何逻辑卷,vgremove 命令将显示错误消息,提示你无法删除非空卷组。在这种情况下,你需要先删除或迁移所有逻辑卷,然后再尝试删除卷组。
验证卷组是否已被移除
你可以使用 vgs 或 vgdisplay 命令来验证卷组是否已从 LVM 配置中成功移除。如果卷组已被移除,这些命令将不会列出它。
lvremove
lvremove 命令是 Linux 中 LVM(Logical Volume Manager,逻辑卷管理)工具集的一部分,用于删除(或称为“移除”)一个逻辑卷(Logical Volume, LV)。当你不再需要某个逻辑卷,并且想要释放其占用的磁盘空间以便重新分配给其他逻辑卷或用于其他目的时,可以使用 lvremove 命令。
基本用法
lvremove /dev/卷组名/逻辑卷名
或者,更常见的是使用卷组名和逻辑卷名的简写形式:
lvremove 卷组名/逻辑卷名
- 卷组名:包含要删除的逻辑卷的
卷组的名称。 - 逻辑卷名:要删除的
逻辑卷的名称。
注意事项
-
确保数据已备份:在删除逻辑卷之前,请确保已经备份了所有重要数据。因为
lvremove命令会删除逻辑卷及其上的所有数据。 -
确认逻辑卷名:在执行
lvremove命令之前,请确保你指定了正确的逻辑卷名。错误的逻辑卷名可能会导致意外的数据丢失。 -
权限要求:通常,你需要 root 权限来执行
lvremove命令。 -
检查挂载点:确保逻辑卷没有被挂载在任何文件系统挂载点上。如果逻辑卷已被挂载,你需要先卸载它(使用
umount命令)。
示例
假设你想删除名为 my_lv 的逻辑卷,它位于名为 my_vg 的卷组中,你可以使用以下命令:
lvremove /dev/my_vg/my_lv
或者,使用简写形式:
lvremove my_vg/my_lv
验证逻辑卷是否已被移除
你可以使用 lvs 或 lvdisplay 命令来验证逻辑卷是否已从 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”的消息,表示卷组已成功扩展。
注意事项
- 权限要求:通常,你需要root权限来执行
vgextend命令。 - 物理卷状态:在将物理卷添加到卷组之前,请确保该物理卷未被其他卷组使用,并且已经通过
pvcreate命令初始化为物理卷。 - 磁盘空间:确保你有足够的空闲磁盘空间来扩展卷组。
- 数据备份:虽然
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:自动调整逻辑卷上的文件系统大小,以使其与逻辑卷的新大小匹配。这个参数非常有用,因为它可以自动完成文件系统扩展的过程,而无需用户手动执行额外的文件系统调整命令(如resize2fs或xfs_growfs)。但是,需要注意的是,并非所有的文件系统都支持在线扩展,因此在使用-r参数之前,请确保你的文件系统支持此功能。
注意事项
- 确保有足够的空间:在扩展
逻辑卷之前,请确保卷组中有足够的未分配空间或额外的物理卷(Physical Volume,PV)可以添加到卷组中。 - 文件系统支持:扩展逻辑卷后,不是所有的
文件系统都支持在线扩展。例如,ext4和xfs支持在线扩展,而FAT和NTFS则不支持。 - 权限要求:通常,你需要
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)命令来扩展文件系统大小。
验证扩展
扩展逻辑卷后,你可以使用lvs或lvdisplay命令来查看逻辑卷的详细信息,包括其新的大小。如果你已经扩展了文件系统,还可以使用df -h命令来查看文件系统的使用情况。
vgreduce,lvreduce
vgreduce
Linux中的vgreduce命令是用于从现有的卷组(Volume Group, VG)中移除物理卷(Physical Volume, PV)的工具。使用vgreduce命令可以缩小卷组的容量,但前提是这些物理卷当前并未被卷组中的任何逻辑卷所使用。
基本用法
vgreduce [选项] 卷组名 物理卷名...
- 卷组名:指定要从中移除物理卷的卷组名称。
- 物理卷名:指定要移除的一个或多个物理卷的名称。可以使用空格分隔多个物理卷名。
常用选项(一般不用选项)
-a:移除卷组中所有未使用的物理卷。如果没有在命令行中指定物理卷名,则此选项会移除所有空的物理卷。-f:强制执行,覆盖各种检查、确认和保护措施。使用时需要极度谨慎。
使用示例
-
移除单个物理卷:
vgreduce myvg /dev/sdb1这条命令会从名为
myvg的卷组中移除/dev/sdb1这个物理卷。 -
移除所有未使用的物理卷:
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中用于分配存储空间的基本单位,其大小在创建卷组时确定。
注意事项
- 数据备份:在执行
lvreduce命令之前,务必备份好逻辑卷中的重要数据。因为减小逻辑卷大小可能会导致数据丢失或文件系统损坏。 - 卸载文件系统:在减小逻辑卷大小之前,通常需要卸载逻辑卷上的文件系统,确保没有进程正在使用该逻辑卷。但是,对于支持在线缩小的文件系统(如ext4、xfs),可以在文件系统挂载状态下执行
lvreduce命令,并通过resize2fs(对于ext4)或xfs_growfs(注意xfs只支持扩展不支持缩减,这里仅作为对比提及)等命令调整文件系统大小。然而,对于不支持在线缩小的文件系统,必须先卸载文件系统。 - 确认操作:执行
lvreduce命令时,系统会提示确认是否减小逻辑卷的大小。在确认之前,请再次检查命令参数和逻辑卷名称,确保操作无误。 - 文件系统支持:并非所有的文件系统都支持在线缩小。在减小逻辑卷大小后,如果文件系统不支持在线缩小,你可能需要使用其他工具(如
partclone)来备份和恢复数据,或者重新创建文件系统。
使用步骤
- 检查逻辑卷大小:使用
lvs或lvdisplay命令查看当前逻辑卷的大小和状态。 - 备份数据:根据需要备份逻辑卷中的重要数据。
- 卸载文件系统(如果需要):如果文件系统不支持在线缩小,使用
umount命令卸载逻辑卷上的文件系统。 - 执行lvreduce命令:按照基本用法中的命令格式执行
lvreduce命令,减小逻辑卷的大小。 - 调整文件系统大小(如果需要):如果文件系统支持在线缩小,并且你已经减小了逻辑卷的大小,使用相应的文件系统调整命令(如
resize2fs)来调整文件系统的大小。但是,请注意xfs文件系统不支持直接缩减。 - 验证操作:使用
lvs或lvdisplay命令验证逻辑卷的大小是否已更改。
示例
假设你想要将名为mylv的逻辑卷大小减小到10GB,并且该逻辑卷位于名为myvg的卷组中,你可以使用以下命令:
lvreduce -L 10G /dev/myvg/mylv
执行该命令后,系统会提示你确认操作。输入y并回车后,逻辑卷mylv的大小将被减小到10GB。如果逻辑卷上的文件系统支持在线缩小,你可能还需要使用相应的命令来调整文件系统的大小。
实验
创建lvm逻辑卷
扩容lvm逻辑卷
相关文章:
10分钟学会LVM逻辑卷
华子目录 前言认识LVMLVM基本概念LVM整体流程LVM管理命令pvs,vgs,lvs命令pvs基本用法选项示例 vgs基本用法选项示例 lvs基本用法 pvcreate,vgcreate,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随意,因为我是循环好几个小模块所以用动态的来实现 点击的时候传对应的类名进行滑动 document.getElementById(item.variableCode).scrollIntoView({behavior:“smooth”}); 加上behavior:“smooth” 进行平…...
PyTorch分布式训练全攻略:DistributedDataParallel精解与实战
标题:PyTorch分布式训练全攻略:DistributedDataParallel精解与实战 在深度学习飞速发展的今天,模型的规模和数据集的体量不断增长,单机单卡的训练方式已难以满足需求。分布式训练以其卓越的扩展性和效率,成为解决这一…...
Python(TensorFlow)多模光纤光束算法和GPU并行模拟
🎯要点 🎯多模光纤包含光学系统线性和非线性部分 | 🎯单变量线性回归、多变量线性回归、人脸图像年龄预测、音频语音分类和 X 射线图像评估算法 | 🎯在空间光调制器记录海螺参数矩阵,光束算法多变量预测年龄 | &#…...
实战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知识点总结:
分类: 即是将图像结构化为某一类别的信息,用事先确定好的类别(category)或实例ID来描述图片。这一任务是最简单、最基础的图像理解任务,也是深度学习模型最先取得突破和实现大规模应用的任务。其中,ImageNet是最权威的评测集&…...
合宙LuatOS AIR700 IPV6 TCP 客户端向NodeRed发送数据
为了验证 AIR700 IPV6 ,特别新建向NodeRed Tcp发送的工程。 Air700发送TCP数据源码如下: --[[ 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盘的路径下的文件,/c/Users/18159/.ssh/id_rsa.pub 将id_rsa.pub中的公钥贴到git 网站上的SSH keys即可...
python从入门到精通:函数
目录 1、函数介绍 2、函数的定义 3、函数的传入参数 4、函数的返回值 5、函数说明文档 6、函数的嵌套调用 7、变量的作用域 1、函数介绍 函数是组织好的,可重复使用的,用来实现特定功能的代码段。 name "zhangsan"; length len(nam…...
【Android性能篇】如何分析 dumpsys meminfo 信息
一、dumpsys meminfo是什么 dumpsys meminfo 是一个用于分析Android设备内存使用情况的强大命令。 二、dumpsys meminfo的关键信息 要分析其输出信息,我们需要注意以下几个关键点: Total PSS by OOM adjustment:这个值表示每个进程的总比…...
c++进阶——继承的定义,复杂的菱形继承及菱形虚拟继承
目录 前言: 1.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 2.基类和派生类对象赋值转换 3.继承中的作用域 4.派生类的默认成员函数 5.继承与友元 6. 继承与静态成员 7.复杂的菱形继承及菱…...
计算机网络:DNS、子网掩码、网关
参考: https://blog.csdn.net/weixin_55255438/article/details/123074896 https://zhuanlan.zhihu.com/p/65226634 在计算机网络中,DNS(Domain Name System,域名系统)、子网掩码(Subnet Mask)…...
程序员如何学习开源项目
程序员如何学习开源项目 豆包MarsCode使用豆包MarsCode学习开源项目步骤导入git上开源的项目 豆包MarsCode https://www.marscode.cn/home 使用豆包MarsCode学习开源项目 步骤 https://www.marscode.cn/dashboard 导入git上开源的项目 找到项目的README.md文件,使…...
探索数据结构:红黑树的分析与实现
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 红黑树的介绍 1.1. 红黑树的引入 我们前面学习了AVL树,…...
【设计模式】装饰器模式和适配模式
装饰器模式 装饰器模式能够很好的对已有功能进行拓展,这样不会更改原有的代码,对其他的业务产生影响,这方便我们在较少的改动下对软件功能进行拓展。 类似于 router 的前置守卫和后置守卫。 Function.prototype.before function (beforeFn)…...
Visual Studio VS 插件之 ReSharper
集成在VS2022上的ReSharper暂无找到汉化方式,如果有大神可以汉化,请指导下。 首先ReSharper 是IDE 下的插件 主要是基于C# 语句优化的这么一个插件。 使用ReSharper可以使开发效率大大提高,但是也是比较吃电脑的配置。所以说如果配置低的小…...
【二分查找】--- 进阶题目赏析
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 算法Journey 本篇博客我们继续来了解一些有关二分查找算法的进阶题目。 🏠 寻找峰值 📌 题目内容 162. 寻找峰值 - 力扣&#…...
CSS 对齐
CSS 对齐 在网页设计中,CSS(层叠样式表)对齐是一种基本而重要的技术,它决定了网页元素的位置和布局。CSS 提供了多种对齐方法,可以精确控制元素的水平、垂直对齐,以及相对于其父元素或整个页面的位置。本文…...
暑假算法刷题日记 Day 10
目录 重点整理 054、 拼数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 055、 求第k小的数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 总结 这几天我们主要刷了洛谷上排序算法对应的一些题目,相对来说比较简单 一共是13道…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
