【Linux】ext4和xfs扩大,缩小lv后,无法识别如何操作
虚拟机系统异常,挂载到其他环境如何修复系统盘
1、环境
UOS 1060E x86环境
模拟异常环境:
1060e系统,使用lvm缩小磁盘后,出现异常,将异常磁盘挂载到其他服务器中,但存在问题发现有uuid相同的问题。
为了模拟uuid相同的环境,将1060e克隆一台作为后续用到正常服务器,用来修复缩小lvm的磁盘。
2、扩大磁盘容量
分为ext2/3/4和xfs格式介绍
2.1ext2/3/4 文件系统扩大容量
2.1.1 格式化/dev/mapper/uos-home分区为ext4
[root@localhost ~]# mkfs.ext4 /dev/mapper/uos-home
mke2fs 1.45.6 (20-Mar-2020)/dev/mapper/uos-home 有一个 xfs 文件系统
Proceed anyway? (y,N) y
丢弃设备块: 完成
创建含有 3940352 个块(每块 4k)和 985424 个inode的文件系统
文件系统UUID:963b5b45-e155-45a9-ac6f-7db7cc01a7f5
超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
查看分区是否格式化完成
[root@localhost ~]#[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 xfs e4356284-de10-45e9-9ae4-f90c5878e6c3 764M 25% /boot
└─sda2 LVM2_member LVM2 001 MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq ├─uos-root xfs 34947cbf-6e30-48d1-98ff-c5386125c459 60.3G 14% /├─uos-swap swap 1 006999f3-9198-49d8-9a46-ecf42065b671 [SWAP]└─uos-home ext4 1.0 963b5b45-e155-45a9-ac6f-7db7cc01a7f5
sr0 iso9660 Joliet Extension UOS 2023-06-06-20-28-34-00 0 100% /media/root/UOS
可以使用上述的命令看到uos-home 已经为ext4格式了
2.1.2 扩容uos-home分区
查看初始大小
[root@localhost ~]# lvdisplay /dev/uos/home --- Logical volume ---LV Path /dev/uos/homeLV Name homeVG Name uosLV UUID BBuhBP-Lcbc-DR0W-GsJx-u3iU-n1hu-oePjnbLV Write Access read/writeLV Creation host, time localhost.localdomain, 2023-08-01 15:14:01 +0800LV Status available# open 0LV Size 15.03 GiBCurrent LE 3848Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:2
初始大小为15G,扩容到20G
[root@localhost ~]# lvextend -L +5G /dev/uos/homeSize of logical volume uos/home changed from 15.03 GiB (3848 extents) to 20.03 GiB (5128 extents).Logical volume uos/home successfully resized.
正常情况是更新完继续执行resize2fs命令,但为了看到具体效果,先挂载后执行,更明显。
[root@localhost ~]# mount /dev/uos/home /home/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs 1.7G 18M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root 70G 9.8G 61G 14% /
tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 1014M 251M 764M 25% /boot
tmpfs 342M 28K 342M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home 15G 24K 14G 1% /home
[root@localhost ~]# lvs /dev/uos/home LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-ao---- 20.03g
通过上述命令看到并没有识别最新扩容的大小
通过resize2fs后,系统可正常识别。
[root@localhost ~]# resize2fs /dev/mapper/uos-home
resize2fs 1.45.6 (20-Mar-2020)
/dev/mapper/uos-home 上的文件系统已被挂载于 /home;需要进行在线调整大小old_desc_blocks = 2, new_desc_blocks = 3
/dev/mapper/uos-home 上的文件系统现在为 5251072 个块(每块 4k)。
再次查看大小,可看到20G
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs 1.7G 18M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root 70G 9.8G 61G 14% /
tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 1014M 251M 764M 25% /boot
tmpfs 342M 28K 342M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home 20G 24K 19G 1% /home
2.2 xfs文件系统扩大容量
2.2.1 格式化为xfs
为了保证测试环境相同,将上述实验文件/dev/mapper/uos-home格式化成xfs
[root@localhost ~]# mkfs.xfs /dev/mapper/uos-home -f
meta-data=/dev/mapper/uos-home isize=512 agcount=4, agsize=131072 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=524288, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
查看大小
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 xfs e4356284-de10-45e9-9ae4-f90c5878e6c3 764M 25% /boot
└─sda2 LVM2_member LVM2 001 MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq ├─uos-root xfs 34947cbf-6e30-48d1-98ff-c5386125c459 60.2G 14% /├─uos-swap swap 1 006999f3-9198-49d8-9a46-ecf42065b671 [SWAP]└─uos-home xfs e59374fe-16cc-4bf0-87ae-d8a755ddf924
sr0 iso9660 Joliet Extension UOS 2023-06-06-20-28-34-00 0 100% /media/root/UOS
[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-a----- 2.00g root uos -wi-ao---- 70.00g swap uos -wi-ao---- 3.96g
2.2.2 扩容文件
[root@localhost ~]# lvextend -L +8G /dev/uos/homeSize of logical volume uos/home changed from 2.00 GiB (512 extents) to 10.00 GiB (2560 extents).Logical volume uos/home successfully resized.### 识别到10G大小
[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-a----- 10.00g root uos -wi-ao---- 70.00g swap uos -wi-ao---- 3.96g
执行xfs_growfs 必须挂载后生效
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem
挂载后执行xfs_growfs成功
[root@localhost ~]# mount /dev/mapper/uos-home /home
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
meta-data=/dev/mapper/uos-home isize=512 agcount=4, agsize=131072 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=524288, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log 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 524288 to 2621440
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs 1.7G 18M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root 70G 9.8G 61G 14% /
tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 1014M 251M 764M 25% /boot
tmpfs 342M 24K 342M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home 10G 105M 9.9G 2% /home
3、缩小磁盘容量
也是区分ext2/3/4和xfs两种做法
注意: xfs文件系统中,缩小系统后,分区会异常,只能通过mkfs命令格式化后使用。
3.1 ext2/3/4 缩减容量
3.1.1 查看磁盘分区大小
[root@localhost ~]# lvs /dev/uos/home LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-ao---- 20.03g
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs tmpfs 1.7G 18M 1.7G 1% /run
tmpfs tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root xfs 70G 9.8G 61G 14% /
tmpfs tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 xfs 1014M 251M 764M 25% /boot
tmpfs tmpfs 342M 28K 342M 1% /run/user/0
/dev/sr0 iso9660 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home ext4 20G 24K 19G 1% /home
3.2.1 检查分区是否有坏块
[root@localhost ~]# e2fsck -f /dev/mapper/uos-home
e2fsck 1.45.6 (20-Mar-2020)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/mapper/uos-home:11/979200 文件(0.0% 为非连续的), 104484/3932160 块
3.1.3 重新分配大小
[root@localhost ~]# resize2fs /dev/mapper/uos-home 5G ###后面添加的5G是后续缩小之后的大小,也就是将磁盘缩小到5G大小
resize2fs 1.45.6 (20-Mar-2020)
将 /dev/mapper/uos-home 上的文件系统调整为 1310720 个块(每块 4k)。
/dev/mapper/uos-home 上的文件系统现在为 1310720 个块(每块 4k)
3.1.4 缩小lv
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 15.00 GiB (3840 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.
检查是否缩小成功
[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-a----- 5.00g root uos -wi-ao---- 70.00g swap uos -wi-ao---- 3.96g
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 xfs e4356284-de10-45e9-9ae4-f90c5878e6c3 764M 25% /boot
└─sda2 LVM2_member LVM2 001 MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq ├─uos-root xfs 34947cbf-6e30-48d1-98ff-c5386125c459 60.2G 14% /├─uos-swap swap 1 006999f3-9198-49d8-9a46-ecf42065b671 [SWAP]└─uos-home ext4 1.0 ffd35347-260e-47c6-8462-c3a95488f600
sr0 iso9660 Joliet Extension UOS 2023-06-06-20-28-34-00 0 100% /media/root/UOS
[root@localhost ~]# mount /dev/mapper/uos-home /home/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs 1.7G 18M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root 70G 9.8G 61G 14% /
tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 1014M 251M 764M 25% /boot
tmpfs 342M 24K 342M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home 4.8G 24K 4.5G 1% /home
注意:ext4扩大/缩小分区的顺序不同
- 扩大是lvextend->e2fsck -f -> resize2fs
- 缩小是e2fsck -f -> resize2fs -> lvreduce
缩小的顺序如果错误,mount的时候,会提示如下内容
[root@localhost ~]# lvreduce -L 2G /dev/uos/homeWARNING: Reducing active logical volume to 2.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents).Logical volume uos/home successfully resized. [root@localhost ~]# resize2fs /dev/mapper/uos-home resize2fs 1.45.6 (20-Mar-2020) 请先运行“e2fsck -f /dev/mapper/uos-home”。[root@localhost ~]# e2fsck -f /dev/mapper/uos-home e2fsck 1.45.6 (20-Mar-2020) 根据超级块,文件系统的大小应为 1310720 块s 但设备的实际大小是 524288 块s 超级块或分区表可能已经损坏! 中断<y>? 是 [root@localhost ~]# mount /dev/mapper/uos-home /home/ mount: /home: 文件系统类型错误、选项错误、/dev/mapper/uos-home 上有坏超级块、缺少代码页或帮助程序或其他错误.顺序错了,会有不必要风险,所以建议缩小文件前,务必备份完整数据
3.2 xfs缩减容量
可以看出xfs_growfs 无法识别缩小后的分区。
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 10.00 GiB (2560 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem
[root@localhost ~]# mount /dev/mapper/uos-home /home
mount: /home: 无法读取 /dev/mapper/uos-home 上的超级块
如果需要缩减容量,可以按照下面的方法操作:
3.2.1 备份数据
### 这里备份的是/home下的文件,以实际情况为准
cp -r /home/* /backup/home_backup/
3.2.2 缩小磁盘空间
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 15.00 GiB (3840 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.
3.2.3 识别缩小空间
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem[root@localhost ~]# mount /dev/mapper/uos-home /home/
mount: /home: 无法读取 /dev/mapper/uos-home 上的超级块.
通过其他命令确认lvm中已经缩小空间了,但是没有命令可以识别到
[root@localhost ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Converthome uos -wi-a----- 5.00g root uos -wi-ao---- 70.00g swap uos -wi-ao---- 3.96g
[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 ├─uos-root 253:0 0 70G 0 lvm /├─uos-swap 253:1 0 4G 0 lvm [SWAP]└─uos-home 253:2 0 5G 0 lvm
sr0 11:0 1 7.8G 0 rom /media/root/UOS
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 xfs e4356284-de10-45e9-9ae4-f90c5878e6c3 764M 25% /boot
└─sda2 LVM2_member LVM2 001 MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq ├─uos-root xfs 34947cbf-6e30-48d1-98ff-c5386125c459 60.2G 14% /├─uos-swap swap 1 006999f3-9198-49d8-9a46-ecf42065b671 [SWAP]└─uos-home xfs 7bdde991-098c-4592-b7a4-b5f78aefc27c
sr0 iso9660 Joliet Extension UOS 2023-06-06-20-28-34-00 0 100% /media/root/UOS
这时,如果有备份的话,就可以搞了
[root@localhost ~]# mkfs.xfs /dev/mapper/uos-home -f
meta-data=/dev/mapper/uos-home isize=512 agcount=4, agsize=327680 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=1310720, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
[root@localhost ~]# mount /dev/mapper/uos-home /home
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 12K 1.7G 1% /dev/shm
tmpfs 1.7G 18M 1.7G 1% /run
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
/dev/mapper/uos-root 70G 9.8G 61G 14% /
tmpfs 1.7G 44K 1.7G 1% /tmp
/dev/sda1 1014M 251M 764M 25% /boot
tmpfs 342M 24K 342M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /media/root/UOS
/dev/mapper/uos-home 5.0G 68M 5.0G 2% /home
重新格式化之后,分区可以正常识别,而且大小为缩小后的大小
3.2.4 重新将数据导回
cp /backup/home_backup /home
相关文章:
【Linux】ext4和xfs扩大,缩小lv后,无法识别如何操作
虚拟机系统异常,挂载到其他环境如何修复系统盘 1、环境 UOS 1060E x86环境 模拟异常环境: 1060e系统,使用lvm缩小磁盘后,出现异常,将异常磁盘挂载到其他服务器中,但存在问题发现有uuid相同的问题。 为…...
基于HarmonyOS ArkUI实现音乐列表功能
本节将演示如何在基于HarmonyOS ArkUI的List组件来实现音乐列表功能。 本文涉及的所有源码,均可以在文末链接中找到。 活动主页 华为开发者论坛 规则要求具体要求如下: 第1步:观看<HarmonyOS第一课>“营”在暑期•系列直播&#x…...
Android系统启动流程 源码解析
Android系统启动流程 本文链接:https://blog.csdn.net/feather_wch/article/details/132518105 有道云脑图:https://note.youdao.com/s/GZ9d8vzO 1、整体流程 Boot RoomBootLoaderidle kthreadinit init ServiceManagerzygote zygote SystemServerap…...
【头歌】构建哈夫曼树及编码
构建哈夫曼树及编码 第1关:构建哈夫曼树 任务描述 本关任务:构建哈夫曼树,从键盘读入字符个数n及这n个字符出现的频率即权值,构造带权路径最短的最优二叉树(哈夫曼树)。 相关知识 哈夫曼树的定义 设二叉树具有n个带权值的叶子结点{w1,w2,...,wn},从根结点到每个叶…...
创建本地镜像
通过前面文章的阅读,读者已经了解到所谓的容器实际上是在父镜像的基础上创建了一个可读写的文件层级,所有的修改操作都在这个文件层级上进行,而父镜像并未受影响,如果读者需要根据这种修改创建一个新的本地镜像,有两种…...
网络编程套接字(2): 简单的UDP网络程序
文章目录 网络编程套接字(2): 简单的UDP网络程序3. 简单的UDP网络程序3.1 服务端创建(1) 创建套接字(2) 绑定端口号(3) sockaddr_in结构体(4) 数据的接收与发送接收发送 3.2 客户端创建3.3 代码编写(1) v1_简单发送消息(2) v2_小写转大写(3) v3_模拟命令行解释器(4) v4_多线程版…...
Android Mvvm设计模式的详解与实战教程
一、介绍 在开发设计模式中,模式经历了多次迭代,从MVC到MVP,再到如今的MVVM。发现的过程其实很简单,就是为了项目更好的管理。 设计模式严格来说属于软件工程的范畴,但是如今在各大面试中或者开发中,设计模…...
软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-下
点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…...
渗透测试是什么?怎么做?
渗透测试报告 一、什么是渗透测试? 渗透测试是可以帮助用户对目前自己的网络、系统、应用的缺陷有相对直观的认识和了解。渗透测试尽可能地以黑客视角对用户网络安全性进行检查,对目标网络、系统和应用的安全性作深入的探测,发现系统最脆弱的…...
【软件安装】Python安装详细教程(附安装包)
软件简介 Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,…...
微信小程序的form表单提交
获取input有两种方法: 第一:bindsubmit方法 注意: 1.使用form里面定义bindsubmit事件 2.bindsubmit事件需要配合button里面定义的formType“submit” 操作 3.设置input的name值来获取对应的数据 <form bindsubmit"formSubmit"…...
WOFOST模型与PCSE模型应用
实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单,数据容易获取,但是作物生长发育非常复杂,中间涉及众多生理生化过程&#…...
5-W806-RC522-SPI
main.c #include <stdio.h> #include "wm_hal.h" #include "rc522.h"int main(void) {SystemClock_Config(CPU_CLK_160M);printf("enter main\r\n");HAL_Init();RC522_Init();PcdReset();M500PcdConfigISOType ( A );//设置工作方式IC_te…...
Python实现自动登录+获取数据
前言 Dy这个东西想必大家都用过,而且还经常刷,今天就来用代码,获取它的视频数据 环境使用 Python 3.8 Pycharm 模块使用 requests selenium json re 一. 数据来源分析 1. 明确需求 明确采集网站以及数据内容 网址: https://www.dy.co…...
yolov8热力图可视化
安装pytorch_grad_cam pip install grad-cam自动化生成不同层的bash脚本 # 循环10次,将i的值从0到9 for i in $(seq 0 13) doecho "Running iteration $i";python yolov8_heatmap.py $i; done热力图生成python代码 import warnings warnings.filterwarn…...
【SpringBoot】第一篇:redis使用
背景: 本文是教初学者如何正确使用和接入redis。 一、引入依赖 <!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><depen…...
Springboot profile多环境配置
1. 前言 profile用于多环境的激活和配置,用来切换生产,测试,本地等多套不通环境的配置。如果每次去更改配置就非常麻烦,profile就是用来切换多环境配置的。 2. 配置方法 三种方式。 2.1 多profile文件方式 在resource目录下新…...
(1)进程与线程区别
1.什么是线程、进程 进程:操作系统资源分配的基本单位线程:处理器任务调度和执行的基本单位。 一个进程至少有一个线程,线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。 2.并行与并发 一个基本的事实前提&#x…...
学习JAVA打卡第四十天
对象的字符串表示 在此类中我们讲过,所有的类都默认是java.lang包中object类的子类或间接子类。 Object类有一个public String toString()方法,一个对象通过调用该方法可以获得该对象的字符串表示。一个对象调用toString法(&…...
【跟小嘉学 Rust 编程】十四、关于 Cargo 和 Crates.io
系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
