LVM逻辑卷管理

news/2024/9/19 18:44:37/ 标签: lvm, 逻辑卷管理, linux, 存储管理

目录

一、基础概念

二、基本操作

1、fdisk -l

2、fdisk /dev/sdb

3、pvcreate

5、pvremove

6、pvdisplay/pvs

7、vgcreate

8、vgremove

9、vgextend

10、vgdisplay/vgs

11、lvcreate

12、lvremove

13、lvextend

14、lvdisplay/lvs

15、格式化与挂盘

三、其他操作

1、lsblk

2、查看文件系统


一、基础概念

        Linux 系统内的存储设备,可以直接将整个磁盘分区后,格式化为文件系统挂载使用。也可以使用 LVM (逻辑卷管理)进行管理,下面将介绍 LVM 的相关知识点与操作。

        LVM 逻辑卷管理有以下优点:

     (1)灵活的磁盘管理:将多个物理磁盘分区或整个磁盘合并成一个逻辑卷,从而提供了更大的存储空间。这种灵活性使得用户可以根据需要动态地调整逻辑卷的大小,无需重新分区或重新格式化文件系统。同时,LVM还支持跨多个物理磁盘分配存储,不受单个物理磁盘容量的限制。

     (2)LVM提供数据快照功能:可以在不中断系统运行的情况下创建磁盘快照,以便进行数据备份或恢复操作。

 名词介绍如下:

  1. 磁盘分区(Disk Partition):在 Linux 中,磁盘分区是将硬盘划分为多个独立区域的过程。这些分区可以单独格式化,并用于不同的目的,如存储操作系统、应用程序数据或备份文件。Linux 磁盘分区主要分为基本分区(primary partition)和扩充分区(extension partition)两种。基本分区可以立即使用,但不能进一步划分;而扩充分区则必须再次进行分区后才能使用。
  2. PV(物理卷):PV 即 Physical Volume,是指物理磁盘或磁盘分区。在 Linux 的逻辑卷管理(LVM)中,PV 是 LVM 操作的基本单位。它可以是硬盘的一部分,也可以是整个硬盘。通过PV,LVM能够识别和管理底层的物理存储。
  3. VG(卷组):VG 即 Volume Group,是由一个或多个 PV 组合而成的虚拟存储池。VG 允许用户将多个 PV 聚合在一起,从而形成一个统一的、可管理的存储资源。VG 内部可以包含多个PV,这些PV的大小和类型可以不同。
  4. LV(逻辑卷):LV 即 Logical Volume,是从 VG 中划分出来的逻辑存储单元。LV 的大小可以在 VG 的总容量范围内灵活调整,因此它比传统的磁盘分区具有更高的灵活性。LV 可以像普通的磁盘分区一样进行格式化、挂载和使用

二、基本操作

1、fdisk -l

        扫描系统中所有的磁盘设备(不仅会显示物理设备的信息,也会显示逻辑卷设备的信息),并显示每个磁盘的分区信息。这包括每个分区的起始和结束位置、大小、文件系统类型(如果已格式化)以及是否为主分区或逻辑分区等。

        在 Linux 系统中,磁盘和分区是通过设备文件进行管理的,而逻辑卷设备也是其中的一部分。因此,当使用 fdisk -l 命令时,它会扫描系统中的所有磁盘设备,并列出它们的信息,包括物理磁盘和逻辑卷设备。

        若磁盘设备名为“/dev/mapper/”,通常与逻辑卷管理(LVM)相关。

[root@localhost ~]# fdisk -l
# (物理)显示第一块磁盘设备名、磁盘总大小
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
# 显示扇区等属性大小
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e4cc8
# 显示磁盘下分区,需要使用 LVM 进行管理, ID 需要为 8eDevice Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   209715199   103808000   8e  Linux LVM# (逻辑)显示第二块磁盘设备信息
Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes# 显示第三块磁盘信息
Disk /dev/mapper/centos-swap: 8455 MB, 8455716864 bytes, 16515072 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes# 显示第四块磁盘信息
Disk /dev/mapper/centos-home: 44.1 GB, 44149243904 bytes, 86228992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2、fdisk /dev/sdb

        对设备 /dev/sdb 进行分区操作。

3、pvcreate

        使用 pvcreate 将 /dev/sdb 磁盘创建为物理卷,需要注意 sdb 的磁盘 ID 需要为 8e,若不是 8e 则需要使用 fdisk 进行修改。

[root@masterdb ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): t     #t可以修改分区代码Partition number (1,2, default 2): 1            #选择1分区进行修改Hex code (type L to list all codes): L          #如果不知道类型,可以用”L”列出可以选择的修改代码0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            1e  Hidden W95 FAT1 80  Old Minix      Hex code (type L to list all codes): 8e         #选择8eChanged type of partition 'Linux' to 'Linux LVM'Command (m for help): w               # 保存The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
[root@masterdb ~]# pvcreate /dev/sdbPhysical volume "/dev/sdc" successfully created.

5、pvremove

        pvremove 命令是 Linux 系统中用于永久删除一个存在的物理卷的命令。

        使用 pvremove 指令删除物理卷时,它将 LVM 分区上的物理卷信息删除,使其不再被视为一个物理卷。在删除物理卷时,可以使用一些常用参数。例如,使用“-f”参数可以强制删除物理卷,不需要用户确认。

        若该 PV 已经添加到 VG 中,并且该 VG 中已经创建了 LV。则需要先删除 LV、再删除 VG,最后再删除 PV。

6、pvdisplay/pvs

        pvdisplay 命令可以显示一个或多个物理卷的信息,包括物理卷的名称、所属的卷组(Volume Group,简称 VG)、物理卷的大小、PE(Physical Extent)大小、总PE数、可用PE数、已分配的PE数和UUID(Universally Unique Identifier,通用唯一识别码)等。

[root@localhost ~]# pvdisplay--- Physical volume ---PV Name               /dev/sdbVG Name               centosPV Size               <99.00 GiB / not usable 3.00 MiBAllocatable           yesPE Size               4.00 MiBTotal PE              25343Free PE               1Allocated PE          25342PV UUID               JhX6kO-2dyH-bSlS-CdPG-gM8f-DHFn-aaxEZ9

7、vgcreate

        vgcreate 是 Linux 系统中用于创建卷组(Volume Group)的命令。在 Linux 的逻辑卷管理(LVM)中,卷组是由一个或多个物理卷(Physical Volume)组成的集合,它提供了一个用于分配逻辑卷(Logical Volume)的池。

vgcreate [选项] 卷组名 物理卷路径 [物理卷路径 ...]-s 或 --physicalextentsize:设置物理扩展区(PE)的大小(以 KB 为单位)。
-l 或 --maxlogicalvolumes:设置卷组中允许的最大逻辑卷数量。
-p 或 --maxphysicalvolumes:设置卷组中允许的最大物理卷数量。
-v 或 --verbose:显示详细信息。
# 使用vgcreate创建卷组 VG_TEST, 包含物理卷:/dev/sdb1 和 /dev/sdb2
[root@masterdb ~]# vgcreate VG_TEST /dev/sdb1 /dev/sdb2Volume group "VG_TEST" successfully created

8、vgremove

        用于删除 VG。需要注意,删除 VG 之前需要先将 VG 内 LV 全部删除掉。

vgremove VG_TEST

9、vgextend

        vgextend 命令是 Linux 系统中用于动态扩展 LVM VG 的命令。它通过向 VG 中添加 PV 来增加 VG 的容量。

        请注意,在使用 vgextend 命令之前,应确保该 PV 无其他用途,并且具有足够的权限来执行此操作。

# 使用 vgextend 扩容卷组VG_TEST
[root@masterdb ~]# vgextend VG_TEST /dev/sdb3Volume group "VG_TEST" successfully extended

10、vgdisplay/vgs

        通过 vgdisplay 命令,可以查看卷组的详细信息,包括卷组名、物理卷数量、逻辑卷数量、卷组空间使用情况等。

[root@localhost ~]# vgdisplay--- Volume group ---VG Name               centosSystem IDFormat                lvm2Metadata Areas        1Metadata Sequence No  4VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                3Open LV               3Max PV                0Cur PV                1Act PV                1VG Size               <99.00 GiBPE Size               4.00 MiBTotal PE              25343Alloc PE / Size       25342 / 98.99 GiBFree  PE / Size       1 / 4.00 MiBVG UUID               FoBujC-nLU8-PqfT-ATAx-z1Lt-qgBY-Heev7O

11、lvcreate

        用于从 VG 中创建逻辑卷(LV)

# 创建逻辑卷,指定 LV 大小、名称以及所属 VG
lvcreate –L SIZE –n LV_NAME VG_NAME
# 使用lvcreate创建逻辑卷lv_test
[root@masterdb ~]# lvcreate -L 1g -n lv_test VG_TESTLogical volume "lv_test" created.

12、lvremove

        在执行 lvremove 命令之前,请确保逻辑卷没有被正在使用。如果逻辑卷处于活动状态或正在使用,通常无法直接删除。

# 指定 lv path 进行删除
lvremove /dev/VG_TEST/lv_test 
# 强制删除
lvremove -f /dev/VG_TEST/lv_test 
# 来自动回答“yes”以确认删除
lvremove -y /dev/VG_TEST/lv_test 
# 删除多个 lv
lvremove /dev/VG_TEST/lv_test1 /dev/VG_TEST/lv_test2

13、lvextend

        lvextend 是 Linux 系统中用于扩展逻辑卷(Logical Volume)的命令。在逻辑卷管理(LVM,Logical Volume Manager)环境中,当逻辑卷的空间不足时,可以使用 lvextend 命令来增加逻辑卷的大小,从而满足存储需求。

        在扩展逻辑卷之前,请确保所属的卷组(Volume Group)有足够的未分配空间或可以从其他逻辑卷中释放空间。

        如果逻辑卷上挂载了文件系统,并且在扩展逻辑卷后想要文件系统能够使用新增的空间,通常需要执行文件系统调整大小的命令(如 resize2fs 对于 ext2/ext3/ext4 文件系统)。但如果你使用了 -r 选项,lvextend 会自动为你完成这一步。

lvextend [选项] <逻辑卷路径> [大小]
-L 或 --size:指定新的逻辑卷大小,支持运算。
-r 或 --resizefs:在扩展逻辑卷后自动调整文件系统的大小。

示例如下:

lvextend -L 20G -r /dev/VG_TEST/lv_test
lvextend -L +10G -r /dev/VG_TEST/lv_test

14、lvdisplay/lvs

[root@localhost ~]# lvdisplay--- Logical volume ---LV Path                /dev/centos/swapLV Name                swapVG Name                centosLV UUID                k9OdpR-dI74-BcMX-WV4s-c7ON-nvK8-A2vHB6LV Write Access        read/writeLV Creation host, time localhost, 2022-10-19 01:55:25 +0800LV Status              available# open                 2LV Size                <7.88 GiBCurrent LE             2016Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:1--- Logical volume ---LV Path                /dev/centos/homeLV Name                homeVG Name                centosLV UUID                dkEDwC-cVfK-aVeT-bkjm-9Tug-4IRt-EKbDpgLV Write Access        read/writeLV Creation host, time localhost, 2022-10-19 01:55:26 +0800LV Status              available# open                 1LV Size                <41.12 GiBCurrent LE             10526Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:2--- Logical volume ---LV Path                /dev/centos/rootLV Name                rootVG Name                centosLV UUID                6RI94s-zOmB-R21f-N95c-FZXU-gOhm-65TZkiLV Write Access        read/writeLV Creation host, time localhost, 2022-10-19 01:55:27 +0800LV Status              available# open                 1LV Size                50.00 GiBCurrent LE             12800Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:0

15、格式化与挂盘

        格式化 LV 可以主要使用 mkfs 或 mkfs.xxx,具体如下所示:

[root@localhost ~]# mkfs
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mkfs.minix mkfs.msdos mkfs.vfat mkfs.xfs

常见的文件系统如下所示:

  1. ext2:是 Linux 中最早的文件系统之一,适用于那些分区容量不是太大,更新也不频繁的情况。
  2. ext3:是 ext2 的改进版本,增加了日志功能,有助于系统从异常中恢复,提高了文件系统的可靠性。
  3. ext4:是 ext 文件系统的最新版本,具有更强的稳定性和可靠性,支持大文件和高容量的文件系统,同时提供了更高的性能和更好的容错能力。
  4. XFS:是另一种常见的 Linux 文件系统,它采用异步日志记录,可以高效地处理大量小文件的读写操作。
[root@masterdb ~]# mkfs.ext3 /dev/VG_TEST/lv_test 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks65536 inodes, 262144 blocks13107 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2684354568 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376Allocating group tables: done                            Writing inode tables: done                            Creating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done# 创建挂载点
[root@masterdb ~]# mkdir /test # 挂载文件系统
[root@masterdb ~]# mount /dev/VG_TEST/lv_test /test# 确认结果
[root@masterdb ~]# df –h Filesystem                   Size  Used Avail Use% Mounted on/dev/mapper/centos-root       10G  4.1G  5.9G  42% /.../dev/mapper/VG_TEST-lv_test  976M  1.3M  924M   1% /test

三、其他操作

1、lsblk

        lsblk 命令会列出系统上的所有块设备,包括磁盘、分区以及逻辑卷(LV)等,可以根据 Type 进行识别。

        当你使用 lsblk 命令时,它会按照层次结构展示这些块设备。这意味着它会显示磁盘作为顶级设备,然后是磁盘上的分区,接着是这些分区上可能存在的逻辑卷。这样,你可以清晰地看到整个存储系统的布局和层次关系。

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part├─centos-root 253:0    0   50G  0 lvm  /├─centos-swap 253:1    0  7.9G  0 lvm  [SWAP]└─centos-home 253:2    0 41.1G  0 lvm  /home
sr0              11:0    1  4.2G  0 rom  /run/media/roo/CentOS 7 x86_64

需要注意区别,上述 pv、vg 和 lv 都是 LVM 里面的概念。对于磁盘来说,是可以直接格式化使用的。

2、查看文件系统

        可以使用 lsblk -f 或者 mount

[root@localhost ~]# lsblk -f
NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         55eed7fa-d7e8-4ed2-829e-2f0c783e5a3a   /boot
└─sda2          LVM2_member                 GR0XIJ-IMc0-zN5M-Euw3-VM5w-BNoB-iVRdsY├─centos-root xfs                         83e1636e-21a3-4354-ae51-8f7b1a098949   /├─centos-swap swap                        8955a905-81c4-4f53-be0d-bdd9a64e31a9   [SWAP]└─centos-home xfs                         ccda1c11-a7ab-4641-9bde-2b296828ba22   /home
sdb             xfs                         a95db32b-2882-472f-b86d-eaf2742a4e22   /oracleclp/oracle/240411151451
sr0             iso9660     CentOS 7 x86_64 2018-05-03-20-55-23-00                 /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mount | grep oracleclp
/dev/sdb on /oracleclp/oracle/240411151451 type xfs (rw,relatime,nouuid,attr2,inode64,sunit=8,swidth=1024,noquota)

http://www.ppmy.cn/news/1447573.html

相关文章

面试:对象引用类型

一、对象引用类型分为哪几类? 1、强引用 普通变量赋值即为强引用&#xff0c;如A a new A();通过GC Root的引用链&#xff0c;如果强引用不到该对象&#xff0c;该对象才能被回收 2、软引用 例如:SoftReference a new SoftReference(new A());如果仅有软引用该对象时&#…

VSCode编译C++连接lib文件

期货CTP在Windows上需要连接静态链接库&#xff0c;在VS2022一切正常&#xff0c;在VSCode却始终失败。 原因是Windows系统的dll用的vs编译器&#xff0c;导出的Dll没有用extern c &#xff0c;gcc 编译各种坑。 最后通过在VSCode中配置VS2022的编译器&#xff0c;才终于成功。…

特斯拉全自动驾驶系统Tesla‘s Full-Self Driving (FSD)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Overview Tesla’s FSD is a suite of features that includes Autopilot, Navigate on Autopilot, Auto Lane Change, Autopark, Summon, and Traffic Light and Stop Sig…

OneFlow概念清单

OneFlow概念清单 摘要&#xff1a; OneFlow是一个开源的深度学习框架&#xff0c;旨在为科研人员和开发者提供一个易于使用、高效且灵活的平台。本文将详细介绍OneFlow的核心概念&#xff0c;包括其架构、特性以及在深度学习领域的应用。通过阅读本文&#xff0c;读者将能够全…

mysql主库delete一个没主键的表导致从库延迟很久问题处理

一 问题描述 发现线上环境一个从库出现延迟&#xff0c;延迟了2天了&#xff0c;还没追上主库。 查看当前运行的sql及事务&#xff0c;发现这个sql语句是在delete一个没主键的表。 二 问题模拟 这里在测试环境复现下这个问题。 2.1 在主库造数据 use baidd; CREATE TABL…

基于springboot实现中药实验管理系统设计项目【项目源码+论文说明】计算机毕业设计

基于springboot实现中药实验管理系统设计演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了中药实验管理系统的开发全过程。通过分析中药实验管理系统管理的不足&#xff0c;创建了一个计算机管理中药实验管…

2024.4.23 LoadRunner 测试工具详解 —— VUG

目录 引言 LoadRunner 三大组件之间的关系 LoadRunner 脚本录制 启动并访问 WebTours 脚本录制 编译 运行&#xff08;回放&#xff09; LoadRunner 脚本加强 事务插入 插入集合点 插入检查点 参数化 ​编辑 打印日志 引言 问题&#xff1a; 此处为啥选择使用 Lo…

Java基础知识总结(81)

JUC容器 JUC基于非阻塞算法&#xff08;Lock Free 无锁编程&#xff09;提供了一组高并发的List、Set、Queue、Map容器。 JUC高并发容器是基于非阻塞算法实现的容器类&#xff0c;无锁编程算法主要通过CAS&#xff08;Compare And Swap&#xff09;volatile的组合实现&#x…

在cocos2d-x中编译/调试curl库

环境参数 系统&#xff1a;mac os x10.6 xocde&#xff1a;4.0.2 ios sdk&#xff1a;4.3 curl&#xff1a;curl-7.22.0 不知道curl是做什么的&#xff0c;就自己google了&#xff0c;这里暂时不纠结这个问题。 因一个cocos2d-x项目需要使用curl库&#xff0c;但是curl官方…

RCE漏洞简单总结

原因 用户端可以直接输入系统命令或者代码到服务器&#xff0c;进而控制服务器 条件 用户端参数可控 没有对用户输入过滤或者过滤不严 第三方组件存在RCE漏洞 干货 | 命令执行漏洞和代码执行漏洞详解 - 网络安全自修室 - 博客园 (cnblogs.com) 命令执行漏洞 调用操作系…

Android4.4真机移植过程笔记(二)

5、盘符挂载 先定义overlay机制路径&#xff0c;后面storage_list.xml要用到&#xff1a; 在路径&#xff1a; rk3188_android4.4.1/device/rockchip/OK1000/overlay/frameworks/base/core/res/res/xml/定义好&#xff0c;注意名字要和emmc的代码片段&#xff08;往下面看&am…

【数据结构】链表经典算法OJ题目练习

203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 思路1&#xff1a;遍历原链表&#xff0c;将val链表释放掉 思路2&#xff1a;创建新链表 206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 思路1&#xff1a;创建新链表&#xff0c;将原链表中的节点拿过来…

前端html中iframe的基本使用

以下是一个比较复杂的 <iframe> 示例&#xff0c;展示了如何加载外部页面、控制样式和与 <iframe> 中加载的文档进行通信&#xff1a; <!DOCTYPE html> <html> <head><style>.iframe-container {position: relative;width: 100%;height: …

多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测

多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现WOA-LSSVM鲸鱼算法优化…

Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志 /var/log/cron 记录了系统定时任务相关的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息&#xff0c;也可以使用dmesg命令直接查看内核自检信息 /var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. /var/log/btmp:记…

Ubuntu18.04 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法

解决办法&#xff1a; ssh-keygen -R 192.168.11.11 注意根据自己的实际地址 参考博客&#xff1a;【linux】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法_warning: remote host identification has changed!-CSDN博客

MySQL字符编码中的各个字符集的区别

MySQL8.0及以后版本 默认的字符集是utf8mb4&#xff0c;默认的排序规则是utf8mb4_0900_ai_ci。此排序规则不区分大小写&#xff0c;所以在项目查询功能中要格外注意。另外此排序规则不兼容MySQL8.0之前的数据&#xff0c;当做关联查询时会报错。 MySQL8.0之前版本 默认的字符…

SGP.31-10

Annex B eIM Configuration Scenarios (Informative) B.1 eIM Configuration Performed by the EUM 在文档的“附录 B eIM 配置场景&#xff08;信息性&#xff09;”部分&#xff0c;提供了关于 eIM&#xff08;eSIM IoT 远程管理器&#xff09;配置的不同场景的描述。这…

向量的旋转矩阵

我们都知道&#xff0c;矩阵的乘法可以表示旋转。那么&#xff0c;这一理论的数学机理是什么呢&#xff1f;以及&#xff0c;这个旋转角度该怎么用矩阵表示呢&#xff1f; 本文用二维向量旋转来推导旋转矩阵的公式。假设&#xff0c;我们有一个向量P(x, y)&#xff0c;准备通过…

Pytest:hooks钩子函数

Pytest&#xff1a;hooks钩子函数 Bootstrapping hooks 引导钩子Initialization hooks 初始化钩子Collection hooks 测试用例收集钩子Test running (runtest) hooks 测试运行钩子Reporting hooks 测试报告钩子Debugging/Interaction hooks 调试/交互钩子 Pytest的钩子函数可分为…