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

【网络运维】Linux:逻辑卷管理

Linux 逻辑卷管理

环境准备

虚拟机添加3块20G硬盘,sdb sdc sdd

[root@server-tpl ~]# lsblk /dev/sd{b..d}
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb    8:16   0  20G  0 disk 
sdc    8:32   0  20G  0 disk 
sdd    8:48   0  20G  0 disk

逻辑卷基本管理

硬盘分区管理方案缺点
  • 硬盘分区空间必须使用连续空间,所以硬盘分区扩容很麻烦,特别是要扩容的分区后没有空间。
  • 使用硬盘分区创建的文件系统不同跨多个硬盘,受单个硬盘容量限制。
  • 如果硬盘损坏,则文件系统中数据也会丢失。
逻辑卷管理硬盘方案优点
  • 使用逻辑卷可以更加灵活地扩展和缩减文件系统空间。
  • 使用逻辑卷创建的文件系统可以跨多个硬盘,适合创建超大容量文件系统。
  • 使用逻辑卷可以创建镜像卷,保证数据的冗余性。即使单个硬盘损坏,文件系统中数据也会丢失。
  • 使用逻辑卷还可以创建快照,保留某一时刻数据,就像虚拟机快照一样。
逻辑卷基本概念

LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。
在这里插入图片描述

  • 物理卷(PV, Physical Volume),是LVM的基本存储逻辑块,通过块设备创建。块设备是指磁盘、磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID)。与基本的物理存储介质(如分区、磁盘等)相比,物理卷包含有和LVM相关的管理参数。
  • 卷组(VG, Volume Group),是一个逻辑的存储空间,由一个或多个物理卷组成。
  • 逻辑卷(LV, Logical Volume),是从卷组中创建出来的一个逻辑空间。如果把一个卷组类比为一个逻辑硬盘,那么逻辑卷则可以类比为一个硬盘分区,所以也可以在逻辑卷之上创建文件系统。

简单地说:卷组由多个物理卷组成,可以在卷组中创建多个逻辑卷,对逻辑卷创建文件系统给用户使用。

LVM管理基本流程:

  1. 创建物理卷
  2. 创建卷组
  3. 创建逻辑卷
    在这里插入图片描述
创建物理卷
# 创建单个PV
[root@server-tpl ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.# 此次创建多个PV
[root@server-tpl ~]# pvcreate /dev/sd{c,d}Physical volume "/dev/sdc" successfully created.Physical volume "/dev/sdd" successfully created.# 查看PV列表
[root@server-tpl ~]# pvsPV         VG     Fmt  Attr PSize   PFree /dev/sdb          lvm2 ---   20.00g 20.00g/dev/sdc          lvm2 ---   20.00g 20.00g/dev/sdd          lvm2 ---   20.00g 20.00g# 查看单个PV详细信息
[root@server-tpl ~]# pvdisplay /dev/sdb"/dev/sdb" is a new physical volume of "20.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdbVG Name               PV Size               20.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               Cbnd0y-ZIiy-4ib5-OyYT-kRde-y8VP-NnhTeI
创建卷组
# 创建包涵单个PV的VG
[root@server-tpl ~]# vgcreate webapp /dev/sdbVolume group "webapp" successfully created# 创建包涵多个PV的VG
[root@server-tpl ~]# vgcreate dbapp /dev/sd{c,d}Volume group "dbapp" successfully created[root@server-tpl ~]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sdb   webapp   lvm2 a--  <20.00g <20.00g/dev/sdc   dbapp   lvm2 a--  <20.00g <20.00g/dev/sdd   dbapp   lvm2 a--  <20.00g <20.00g# 查看VG列表
[root@server-tpl ~]# vgsVG     #PV #LV #SN Attr   VSize   VFree  dbapp    2   0   0 wz--n-   39.99g  39.99gwebapp   1   0   0 wz--n-  <20.00g <20.00g# 查看单个VG详细信息
[root@server-tpl ~]# vgdisplay dbapp--- Volume group ---VG Name               dbappSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               39.99 GiBPE Size               4.00 MiBTotal PE              10238Alloc PE / Size       0 / 0   Free  PE / Size       10238 / 39.99 GiBVG UUID               IS7ABY-YsHb-LAa6-MbnO-I5hJ-d0rp-bgu0iK
创建逻辑卷
# 在卷组webapp中创建一个逻辑卷:名称为webapp01,大小为5G。
[root@server-tpl ~]# lvcreate -n webapp01 -L 5G webappLogical volume "webapp01" created.# 在卷组dbapp中创建一个跨硬盘逻辑卷:名称为data01,大小为25G。
[root@server-tpl ~]# lvcreate -n data01 -L 25G dbappLogical volume "data01" created.# 查看LV列表
[root@server-tpl ~]# lvsLV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertdata01   dbapp  -wi-a-----  25.00g                                               webapp01 webapp -wi-a-----   5.00g 

逻辑卷设备名由如下三种格式:

  • /dev/vname/lvame
  • /dev/mapper/vname-lvame
  • /dev/dm-N
[root@server-tpl ~]# ls -l /dev/dbapp/data01 /dev/mapper/dbapp-data01
lrwxrwxrwx 1 root root 7 84 11:31 /dev/dbapp/data01 -> ../dm-3
lrwxrwxrwx 1 root root 7 84 11:31 /dev/mapper/dbapp-data01 -> ../dm-3
# 查看单个LV详细信息
[root@server-tpl ~]# lvdisplay /dev/dbapp/data01--- Logical volume ---LV Path                /dev/dbapp/data01LV Name                data01VG Name                dbappLV UUID                3rw7ik-7fme-EqQF-RFUy-L8Ur-cYtO-vB6Fw1LV Write Access        read/writeLV Creation host, time server-tpl, 2025-08-04 11:31:02 +0800LV Status              available# open                 0LV Size                25.00 GiBCurrent LE             6400Segments               2Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:3# 可以看到:物理卷/dev/sdc空间已使用完,物理卷/dev/sdd空间已使用5G
[root@server-tpl ~]# pvsPV             VG     Fmt  Attr PSize    PFree  /dev/sdb       webapp lvm2 a--   <20.00g <15.00g/dev/sdc       dbapp  lvm2 a--   <20.00g      0 /dev/sdd       dbapp  lvm2 a--   <20.00g  14.99g# 可以看到逻辑卷/dev/dbapp/data01空间横跨2个硬盘
[root@server-tpl ~]# lsblk /dev/sd{b..d}
NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb                 8:16   0  20G  0 disk 
└─webapp-webapp01 253:3    0   5G  0 lvm  
sdc                 8:32   0  20G  0 disk 
└─dbapp-data01    253:4    0  25G  0 lvm  
sdd                 8:48   0  20G  0 disk 
└─dbapp-data01    253:4    0  25G  0 lvm 
创建文件系统
[root@server-tpl ~]# mkfs.xfs /dev/webapp/webapp01
[root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html
# 需要启动httpd.service
# 基于lvm的文件系统持久化挂载,需要修改/etc/fstab文件。
清理
# 卸载文件系统
[root@server-tpl ~]# umount /dev/webapp/webapp01# 删除LV
[root@server-tpl ~]# lvremove /dev/webapp/webapp01 /dev/dbapp/data01
Do you really want to remove active logical volume webapp/webapp01? [y/n]: yLogical volume "webapp01" successfully removed
Do you really want to remove active logical volume dbapp/data01? [y/n]: yLogical volume "data01" successfully removed# 删除VG
[root@server-tpl ~]# vgremove webapp dbappVolume group "webapp" successfully removedVolume group "dbapp" successfully removed# 删除PV
[root@server-tpl ~]# pvremove /dev/sd{b..d}Labels on physical volume "/dev/sdb" successfully wiped.Labels on physical volume "/dev/sdc" successfully wiped.Labels on physical volume "/dev/sdd" successfully wiped.

扩展和缩减卷组

环境准备
# 创建卷组
[root@server-tpl ~]# vgcreate webapp /dev/sdbPhysical volume "/dev/sdb" successfully created.Volume group "webapp" successfully created
# 创建卷组的时候,如果指定的块设备不是物理卷,则会先将块设备创建为物理卷。# 创建逻辑卷
[root@server-tpl ~]# lvcreate -n webapp01 -L 10G webappLogical volume "webapp01" created.
扩展卷组

如果卷组空间不足,可以通过添加新的物理卷到卷组中,以扩展卷组容量。

[root@server-tpl ~]# vgextend webapp /dev/sd{c,d}Physical volume "/dev/sdc" successfully created.Physical volume "/dev/sdd" successfully created.Volume group "webapp" successfully extended
缩减卷组

如果卷组空间中有多余的物理卷或者物理卷容量小需要更换,则可以将物理卷从卷组中剔除。

删除物理卷前确保物理卷不在使用中。

# 查看物理卷使用状态
[root@server-tpl ~]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sdb   webapp   lvm2 a--  <20.00g <10.00g # /dev/sdb在使用/dev/sdc   webapp   lvm2 a--  <20.00g <20.00g/dev/sdd   webapp   lvm2 a--  <20.00g <20.00g# 将物理卷/dev/sdb从卷组webapp中剔除,则会报错
[root@server-tpl ~]# vgreduce webapp /dev/sdbPhysical volume "/dev/sdb" still in use# 解决方法:将物理卷/dev/sdb中数据移动到卷组中其他物理卷
[root@server-tpl ~]# pvmove /dev/sdb
# 或者移动到卷组中特定物理卷
[root@server-tpl ~]# pvmove /dev/sdb /dev/sdd/dev/sdb: Moved: 0.51%/dev/sdb: Moved: 100.00%# 查看物理卷使用状态
[root@server-tpl ~]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sdb   webapp   lvm2 a--  <20.00g <20.00g # /dev/sdb不在使用/dev/sdc   webapp   lvm2 a--  <20.00g <20.00g/dev/sdd   webapp   lvm2 a--  <20.00g <10.00g # /dev/sdd在使用# 再次剔除,成功
[root@server-tpl ~]# vgreduce webapp /dev/sdbRemoved "/dev/sdb" from volume group "webapp"
[root@server-tpl ~]# pvsPV         VG     Fmt  Attr PSize   PFree  /dev/sdb          lvm2 ---   20.00g  20.00g/dev/sdc   webapp   lvm2 a--  <20.00g <20.00g/dev/sdd   webapp   lvm2 a--  <20.00g <10.00g

扩展和缩减逻辑卷

扩展逻辑卷

如果逻辑卷空间不足,在卷组空间充足的情况下,也可以扩展逻辑卷空间。

# 逻辑卷增加2G空间
[root@server-tpl ~]# lvextend -L +2G /dev/webapp/webapp01 Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 12.00 GiB (3072 extents).Logical volume webapp/webapp01 successfully resized.[root@server-tpl ~]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-a----- 12.00g
缩减逻辑卷

如果逻辑卷空间充足,希望将多余的空间缩减出来它用,也可以缩减逻辑卷空间。

[root@server-tpl ~]# lvreduce -L -2G /dev/webapp/webapp01WARNING: Reducing active logical volume to 10.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce webapp/webapp01? [y/n]: `y`Size of logical volume webapp/webapp01 changed from 12.00 GiB (3072 extents) to 10.00 GiB (2560 extents).Logical volume webapp/webapp01 successfully resized.[root@server-tpl ~]# lvs /dev/webapp/webapp01 LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-a----- 10.00g

扩展和缩减文件系统

扩展 XFS 文件系统

XFS文件系统只支持扩展,不支持缩减

环境准备:格式化文件系统,并创建数据

[root@server-tpl ~]# mkfs.xfs /dev/webapp/webapp01
[root@server-tpl ~]# mkdir /var/www/html
[root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html
[root@server-tpl ~]# cp /etc/host* /var/www/html
[root@server-tpl ~]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny
# 第一步:扩展逻辑卷
[root@server-tpl ~]# lvextend -L 15G /dev/webapp/webapp01Size of logical volume webapp/webapp01 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).Logical volume webapp/webapp01 successfully resized.
[root@server-tpl ~]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 15.00g# 第二步:扩展文件系统
[root@server-tpl ~]# xfs_growfs /var/www/html[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   15G  140M   15G    1% /var/www/html
[root@server-tpl ~]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny# 块设备和文件系统一并扩展
[root@server-tpl ~]# lvextend -rL 20G /dev/webapp/webapp01Size of logical volume webapp/webapp01 changed from 15.00 GiB (3840 extents) to 20.00 GiB (5120 extents).Logical volume webapp/webapp01 successfully resized.
meta-data=/dev/mapper/webapp-webapp01 isize=512    agcount=6, agsize=655360 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3932160 to 5242880[root@server-tpl ~]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 20.00g                                                    
[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   20G  176M   20G    1% /var/www/html
扩展 EXT4 文件系统

EXT4文件系统即支持扩展,也支持缩减。

环境准备:格式化文件系统,并创建数据

[root@server-tpl ~]# umount /var/www/html
[root@server-tpl ~]# mkfs.ext4 /dev/webapp/webapp01 <<< 'y'
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   [root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html
[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   20G   45M   19G    1% /var/www/html[root@server-tpl ~]# cp /etc/host* /var/www/html
[root@server-tpl ~]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found
# 第一步:扩展逻辑卷
[root@server-tpl ~]# lvextend -L 25G /dev/webapp/webapp01
[root@server-tpl ~]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 25.00g # 第二步:扩展文件系统
[root@server-tpl ~]# resize2fs /dev/webapp/webapp01
[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   25G   44M   24G    1% /var/www/htmll
[root@server-tpl ~]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found# 块设备和文件系统一并扩展
[root@server-tpl ~]# lvextend -rL 30G /dev/webapp/webapp01Size of logical volume webapp/webapp01 changed from 25.00 GiB (6400 extents) to 30.00 GiB (7680 extents).Logical volume webapp/webapp01 successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/webapp-webapp01 is mounted on /var/www/html; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 4
The filesystem on /dev/mapper/webapp-webapp01 is now 7864320 blocks long.[root@server-tpl ~]# lvs /dev/webapp/webapp01LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertwebapp01 webapp -wi-ao---- 30.00g                                                    
[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01   30G   44M   28G    1% /var/www/html
缩减 EXT4 文件系统

缩减EXT4文件系统注意事项:

  • 不支持在线缩减,必须卸载后缩减。
  • 缩减后的容量,不能小于当前使用的容量。

ext4 减容流程:

  1. 卸载文件系统
  2. e2fsck 文件系统
  3. 缩减文件系统
  4. 缩减lv
  5. 挂载测试

具体操作如下:

# 第一步:卸载文件系统
[root@server-tpl ~]# umount /var/www/html # 第二步:检测文件系统
[root@server-tpl ~]# e2fsck -f /dev/webapp/webapp01
e2fsck 1.42.9 (28-Dec-2013)1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/webapp/webapp01:16/1966080 文件(0.0% 为非连续的), 167445/7864320 块# 第三步:缩减文件系统
[root@server-tpl ~]# resize2fs /dev/webapp/webapp01 10G
resize2fs 1.45.6 (20-Mar-2020)
将 /dev/webapp/webapp01 上的文件系统调整为 2621440 个块(每块 4k)。
/dev/webapp/webapp01 上的文件系统现在为 2621440 个块(每块 4k)。# 第四步:缩减逻辑卷
[root@server-tpl ~]# lvreduce -L 10G /dev/webapp/webapp01WARNING: Reducing active logical volume to 10.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce webapp/webapp01? [y/n]: `y`Size of logical volume webapp/webapp01 changed from 30.00 GiB (7680 extents) to 10.00 GiB (2560 extents).Logical volume webapp/webapp01 successfully resized.# 第五步:挂载文件系统验证
[root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html[root@server-tpl ~]# df -h /var/www/html
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/webapp-webapp01  9.8G   37M  9.2G    1% /var/www/html[root@server-tpl ~]# ls /var/www/html
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found

补充说明: 如果文件系统是构建在磁盘分区上,扩展文件系统容量和缩减文件系统容量操作相同。

逻辑卷快照

我们可以使用快照记录了lv中数据,后续可以用来恢复数据。

# 创建快照:快照的容量不能小于lv容量
[root@server-tpl ~]# lvcreate -s -n webapp01-snap1 -L 10G /dev/webapp/webapp01Logical volume "webapp01-snap1" created.# 卸载原始卷,挂载快照
[root@server-tpl ~]# umount /dev/webapp/webapp01
[root@server-tpl ~]# mkdir /webapp
[root@server-tpl ~]# mkdir /webapp/webapp01
[root@server-tpl ~]# mount /dev/webapp/webapp01-snap1 /webapp/webapp01/# 查看数据
[root@server-tpl ~]# ls /webapp/webapp01/
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found# 创建新数据
[root@server-tpl ~]# echo hello world > /webapp/webapp01/hello.txt
[root@server-tpl ~]# cat /webapp/webapp01/hello.txt
hello world

raid 逻辑卷

准备环境

[root@server-tpl ~]# umount /webapp/webapp0
[root@server-tpl ~]# umount /var/www/html
[root@server-tpl ~]# lvremove /dev/webapp/webapp01*

创建 raid1 逻辑卷

[root@server-tpl ~]# lvcreate --type raid1 -n webapp01 -L 15G webapp
[root@server-tpl ~]# mkfs.xfs /dev/webapp/webapp01 
[root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html/
[root@server-tpl ~]# cp /etc/ho* /var/www/html/

模拟故障

[root@server-tpl ~]# dd if=/dev/zero of=/dev/sdd bs=1M count=256

此时文件系统仍可以正方访问

[root@server-tpl ~]# ls /var/www/html/
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@server-tpl ~]# umount /var/www/html
[root@server-tpl ~]# mount /dev/webapp/webapp01 /var/www/html/

修复raid

# 删除丢失的物理卷
[root@server-tpl ~]# vgreduce --removemissing webapp --force# 扩容回来
[root@server-tpl ~]# vgextend webapp /dev/sdd# 修复raid1 逻辑卷
[root@server-tpl ~]# lvconvert --repair /dev/webapp/webapp01# 扫描物理卷变化
[root@server-tpl ~]# pvscan# 验证结果
[root@server-tpl ~]# pvs|grep webap/dev/sdb   webapp lvm2 a--  <20.00g   4.99g/dev/sdc   webapp lvm2 a--  <20.00g   4.99g/dev/sdd   webapp lvm2 a--  <20.00g <20.00g

其他示例:创建 raid5 逻辑卷

# Create  a  RAID5  LV  with a usable size of 5GiB, 3 stripes, a stripe size of 64KiB, using a total of 4 devices (including one for parity).
lvcreate --type raid5 -L 5G -i 3 -I 64 -n mylv vg00
http://www.dtcms.com/a/315287.html

相关文章:

  • Spring @Component注解全解析
  • 计算机网络:子网掩码在路由转发中的关键作用
  • css的选择器
  • 虚拟机中查看和修改文件权限
  • MoonBit Pearls Vol.04:用MoonBit 探索协同式编程
  • Spring Security 认证与授权实现机制
  • 随机森林知识点整理:从原理到实战
  • 课题学习4——将原系统的BERT换为SBERT
  • 【网络运维】Linux:RAID存储技术
  • 单类别目标检测中的 Varifocal Loss 与 mAP 评估:从原理到实践(特别前景和背景类区分)
  • Transformer核心机制:QKV全面解析
  • 图片处理工具类:基于 Thumbnailator 的便捷解决方案
  • Unsloth 大语言模型微调工具介绍
  • 数据结构:反转链表(reverse the linked list)
  • 机器视觉的产品包装帖纸模切应用
  • 深度学习-卷积神经网络CNN-卷积层
  • JMeter的基本使用教程
  • 嵌入式学习之51单片机——串口(UART)
  • STM32F103C8-定时器入门(9)
  • slwl2.0
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 5 部分
  • 05-Chapter02-Example02
  • 微软WSUS替代方案
  • Redis与本地缓存的协同使用及多级缓存策略
  • 【定位设置】Mac指定经纬度定位
  • Spring--04--2--AOP自定义注解,数据过滤处理
  • Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
  • Shell第二次作业——循环部分
  • 【科研绘图系列】R语言绘制解释度条形图的热图
  • 中标喜讯 | 安畅检测再下一城!斩获重庆供水调度测试项目