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

复习之linux高级存储管理

一、lvm----逻辑卷管理

1.lvm定义

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。

逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图所示。它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组(VolumeGroup)。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小。相比物理磁盘来说,更易于磁盘空间的管理。

  • pv  :物理卷,被处理过的物理分区
  • pe:物理扩展,设定存储最小单元
  • vg:物理卷组,捆绑pv到一个组中
  • lv:逻辑卷 分配最终的使用设备

2.实验素材

  • 建立lvm分区
  • 新建目录
  • 建立监控

建立lvm分区:

首先建立分区,然后设置标签--8e 即lvm分区

建立成功后记得wq保存! 以及同步分区表!

实验建立监控查看:watch  -n   1 "pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /westosdir"

新建目录: /westosdir/

 3. lvm设备建立

(1)创建pv---物理卷

# pvcreate    /dev/vdb3

(2)创建vg---物理卷组

-s设定pe大小位2M

# vgcreate   -s   2M   westos_vg    /dev/vdb3

(3)创建lv---逻辑卷

-L指定大小   -n指定名称

# lvcreate   -L   100M   -n   westos_lv   westos_vg

(4)格式化--创建文件系统

# mkfs.xfs    /dev/westos_vg/westos_lv

(5)挂载设备至目录

# mount /dev/westos_vg/westos_lv     /westosdir/

 监控界面如下:

 4. lvm拉伸

(1)vg容量充足

vg容量为1G.容量充足直接拉伸!

# lvextend   -L   200M   /dev/westos_vg/westos_lv:拉伸到200M

# xfs_growfs   /dev/westos_vg/westos_lv:拉伸文件系统,否则无法使用

 (2)vg容量不足

  •  pvcreate   /dev/vdb5:创建新pv
  • vgextend   westos_vg   /dev/vdb5:扩展vg容量
  • lvextend   -L   1500M   /dev/westos_vg/westos_lv :拉伸lvm
  • xfs_growfs    /dev/westos_vg/westos_lv:格式化文件系统

想要拉伸lvm为1.5G,发现容量不够

 此时进入磁盘,寻找lvm分区来创建新pv

 扩展原来的vg容量,然后进行lvm拉伸,格式化文件系统

 最后查看监控,该设备容量拉伸成功!

 5.lvm缩减

  • 卸载设备:umount   /westosdir
  • 扫描文件大小,看看缩减大小是否合适:e2fsck -f /dev/westos_vg/westos_lv
  • 缩减文件系统: resize2fs /dev/westos_vg/westos_lv 500M
  • 缩减lvm:lvreduce   -L   500M    /dev/westos_vg/westos_lv
  • 重新挂载设备:mount     /dev/westos_vg/westos_lv /westosdir/

(1)前提

缩减lvm设备的前提是:文件系统是ext或者ext4,xfs文件系统不能缩减!

由于之前实验我们使用的是xfs文件系统,因此本节首先给lvm设备更换文件系统!

# mkfs.ext4     /dev/westos_vg/westos_lv:设定文件系统为ext4

 (2)卸载设备+扫描

扫描设备的文件大小,防止lvm缩减太小不可用!

 (3)缩减文件系统+lvm,重新挂载设备

 挂载成功后查看,lvm设备已经成功缩减到500M

 6. vg缩减

  • vgreduce   westos_vg   /dev/vdb3 :把分区3从该vg中缩减
  • pvmove  /dev/vdb3 :删除该pv

假如想缩减3,首先将3的东西转移到5

 pvmove   /dev/vdb3   /dev/vdb5

然后直接将pv3从vg中减去

最后彻底删除pv3

7.lvm快照

LVM 机制还提供了对 LV 做快照的功能,也就是说可以给⽂件系统做⼀个备份,这也是设计 LVM 快照的主要⽬的。快照可以用于记录系统当前状态,以便后续进行回滚操作回到此状态,或将这些状态用于系统备份。这⽐传统的备份技术的效率要⾼很多。创建快照时不⽤停⽌服务,就可以对数据进⾏备份。

  • 创建快照:快照名:westos_lvbackup  原始:/dev/westos_vg/westos_lv
  • 重新挂载即可生效
  • [root@westosa ~]# lvcreate -L 50M -n westos_lvbackup -s /dev/westos_vg/westos_lv Logical volume "westos_lvbackup" created.
    [root@westosa ~]# mount /dev/westos_vg/westos_lvbackup /westosdir/
    

    =================================实验==================================

接上节,建立的lvm设备挂载在/westosdir目录上!

此时在目录中建立10个重要的文件!由于设备挂载在该目录上,因此该设备也有该数据!

 创建该设备的快照,可记录下此时的系统状态!便于备份!

将快照挂载在该目录。

[root@westosa ~]# umount /westosdir 
[root@westosa ~]# lvcreate -L 50M -n westos_lvbackup -s /dev/westos_vg/westos_lv Logical volume "westos_lvbackup" created.
[root@westosa ~]# mount /dev/westos_vg/westos_lvbackup /westosdir/
[root@westosa ~]# df
Filesystem                            1K-blocks    Used Available Use% Mounted on
devtmpfs                                 391196       0    391196   0% /dev
tmpfs                                    419040       0    419040   0% /dev/shm
tmpfs                                    419040    6872    412168   2% /run
tmpfs                                    419040       0    419040   0% /sys/fs/cgroup
/dev/vda3                               9450496 4344352   5106144  46% /
/dev/vda1                                506528  218856    287672  44% /boot
tmpfs                                     83808    1180     82628   2% /run/user/42
tmpfs                                     83808      28     83780   1% /run/user/0
/dev/mapper/westos_vg-westos_lvbackup     96928    6068     90860   7% /westosdir
[root@westosa ~]# ls /westosdir/
westosfile1   westosfile2  westosfile4  westosfile6  westosfile8
westosfile10  westosfile3  westosfile5  westosfile7  westosfile9

如果不小心删除了10个重要的文件,怎么办?

因为有快照的存在,可以恢复!

首先卸载设备,删除快照,重新建立快照,再次挂载至该目录!

发现文件仍然存在!

[root@westosa ~]# umount /westosdir 
[root@westosa ~]# lvremove /dev/westos_vg/westos_lvbackup 
Do you really want to remove active logical volume westos_vg/westos_lvbackup? [y/n]: yLogical volume "westos_lvbackup" successfully removed
[root@westosa ~]# lvcreate -L 50M -n westos_lvbackup -s /dev/westos_vg/westos_lvLogical volume "westos_lvbackup" created.
[root@westosa ~]# mount /dev/westos_vg/westos_lvbackup /westosdir/
[root@westosa ~]# ls /westosdir/
westosfile1   westosfile2  westosfile4  westosfile6  westosfile8
westosfile10  westosfile3  westosfile5  westosfile7  westosfile9

8. lvm设备删除

  • 卸载设备
  • 删除快照
  • 删除lv设备
  • 删除vg
  • 删除pv
[root@westosa ~]# umount /westosdir 
[root@westosa ~]# lvremove /dev/westos_vg/westos_lvbackup 
Do you really want to remove active logical volume westos_vg/westos_lvbackup? [y/n]: yLogical volume "westos_lvbackup" successfully removed
[root@westosa ~]# lvremove /dev/westos_vg/westos_lv
Do you really want to remove active logical volume westos_vg/westos_lv? [y/n]: yLogical volume "westos_lv" successfully removed
[root@westosa ~]# vgremove westos_vg Volume group "westos_vg" successfully removed
[root@westosa ~]# pvremove /dev/vdb3 Labels on physical volume "/dev/vdb3" successfully wiped.

删除成功!查看监控!

 二、vdo(Virtual Data Optimize)----虚拟数据优化器

VDO是一个内核模块,目的是通过压缩和优化重复数据来节省磁盘空间,从而降低数据中心的成本。原理主要是压缩和优化重复数据,优化重复数据就是硬盘里拷贝来相同的数据,以前要占多份空间,现在只需要1份空间就可以了。

1. vdo的创建及使用

  • 前提:vdo必须要用没使用过的硬盘

ps:在创建新硬盘时空间不足,在虚拟机管理界面把其他硬盘删除也不行!!

解决方法:进入主机的硬盘存放地址,删除不用的硬盘!!

983  cd /var/lib/libvirt/images/984  ls985  rm -fr aa.qcow2 qq.qcow2 westosa-2.qcow2 westosa-4.qcow2 bb.qcow2 westosa-1.qcow2 westosa-3.qcow2 westosa-5.qcow2 westos.qcow2

删除后添加新硬盘,发现空间足够了!

  • vdo的安装
  • vdo的创建: vdo create --name=westosvdo --device=/dev/vdb
[root@westosa ~]# dnf install vdo -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
AppStream                                       169 MB/s | 5.8 MB     00:00    
BaseOS                                          144 MB/s | 2.3 MB     00:00    
Package vdo-6.2.2.117-13.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@westosa ~]# vdo create --name=westosvdo --device=/dev/vdb
Creating VDO westosvdo
vdo: ERROR - Not enough available memory in system for index requirement of 256M

vdo的创建出现问题,提示内存不足!!!

只需要增加虚拟机的物理内存即可!

 增加后再次创建vdo!成功!

[root@westosa ~]# dnf install vdo -y
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:05:08 ago on Sun 30 Jul 2023 02:56:24 PM CST.
Package vdo-6.2.2.117-13.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@westosa ~]# vdo create --name=westosvdo --device=/dev/vdb
Creating VDO westosvdoLogical blocks defaulted to 1569686 blocks.The VDO volume can address 6 GB in 3 data slabs, each 2 GB.It can grow to address at most 16 TB of physical storage in 8192 slabs.If a larger maximum size might be needed, use bigger slabs.
Starting VDO westosvdo
Starting compression on VDO westosvdo
VDO instance 0 volume is ready at /dev/mapper/westosvdo
  • 查看vdo的功能

数据压缩和重复检测功能均开启!

[root@westosa ~]# vdo status --name=westosvdo 
VDO status:Date: '2023-07-30 15:06:08+08:00'Node: westosa.org
Kernel module:Loaded: trueName: kvdoVersion information:kvdo version: 6.2.2.117
Configuration:File: /etc/vdoconf.ymlLast modified: '2023-07-30 15:01:44'
VDOs:westosvdo:Acknowledgement threads: 1Activate: enabledBio rotation interval: 64Bio submission threads: 4Block map cache size: 128MBlock map period: 16380Block size: 4096CPU-work threads: 2Compression: enabledConfigured write policy: autoDeduplication: enabledDevice mapper status: 0 12557488 vdo /dev/vdb normal - online online 1049638 2621440Emulate 512 byte: disabledHash zone threads: 1

  •  vdo格式化:文件系统的建立
  • 挂载vdo设备,可以使用拉!
[root@westosa ~]# mkfs.xfs /dev/mapper/westosvdo 
meta-data=/dev/mapper/westosvdo  isize=512    agcount=4, agsize=392422 blks=                       sectsz=4096  attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=1569686, 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=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@westosa ~]# mkdir /westosdir
[root@westosa ~]# mount /dev/mapper/westosvdo /westosdir/
[root@westosa ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 906060       0    906060   0% /dev
tmpfs                    935132       0    935132   0% /dev/shm
tmpfs                    935132    9784    925348   2% /run
tmpfs                    935132       0    935132   0% /sys/fs/cgroup
/dev/mapper/rhel-root   8374272 4331900   4042372  52% /
/dev/vda1               1038336  234160    804176  23% /boot
tmpfs                    187024    1180    185844   1% /run/user/42
tmpfs                    187024      24    187000   1% /run/user/0
/dev/mapper/westosvdo   6268504   76808   6191696   2% /westosdir

2.vdo的优化重复数据功能测试

  • 建立监控:查看测试结果
[root@westosa ~]# vdostats --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/westosvdo     10.0G      4.0G      6.0G  40%           98%
[root@westosa ~]# watch -n 1 vdostats --human-readable 

监控界面如下:

  • 实验素材:将主机大小为797M的截图发给虚拟机的/iso目录

  •  重复数据检测:将/iso的数据复制2次到/westsodir目录,发现之占用了一份空间!

因为此时vdo设备挂载在该目录上!

[root@westosa westosdir]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 906060       0    906060   0% /dev
tmpfs                    935132       0    935132   0% /dev/shm
tmpfs                    935132    9784    925348   2% /run
tmpfs                    935132       0    935132   0% /sys/fs/cgroup
/dev/mapper/rhel-root   8374272 5149108   3225164  62% /
/dev/vda1               1038336  234160    804176  23% /boot
tmpfs                    187024    1180    185844   1% /run/user/42
tmpfs                    187024      24    187000   1% /run/user/0
/dev/mapper/westosvdo   6268504   76808   6191696   2% /westosdir
[root@westosa westosdir]# cp -r /iso/ /westosdir/
[root@westosa westosdir]# ls
iso
[root@westosa westosdir]# cp -r /iso/ /westosdir/iso-1
[root@westosa westosdir]# ls
iso  iso-1
[root@westosa westosdir]# du -h *
797M	iso
797M	iso-1

查看监控,两份内容一样的数据只占用了一份空间!!这就是vdo的重复数据优化功能!!

 3. vdo设备开机自动挂载

  • 编辑/etc/fstab文件,注意,需要添加x-systemd.requires=vdo.service

 利用man  vdo命令查看模板

 重启虚拟机后,该设备自动挂载!!

 5. 删除vdo设备

  • 卸载设备
  • 停止设备,ps:停止后还可以打开
  • 删除设备
[root@westosa ~]# umount /westosdir 
[root@westosa ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 906232       0    906232   0% /dev
tmpfs                    935300       0    935300   0% /dev/shm
tmpfs                    935300    9428    925872   2% /run
tmpfs                    935300       0    935300   0% /sys/fs/cgroup
/dev/mapper/rhel-root   8374272 5149588   3224684  62% /
/dev/vda1               1038336  234460    803876  23% /boot
tmpfs                    187060    1180    185880   1% /run/user/42
tmpfs                    187060       4    187056   1% /run/user/0
[root@westosa ~]# vdo stop --name westosvdo 
Stopping VDO westosvdo
[root@westosa ~]# vdo remove --name westosvdo 
Removing VDO westosvdo
Stopping VDO westosvdo

删除设备后,该vdo设备删除成功!

  • 打开设备
[root@westosa ~]# vdo stop --name westosvdo 
Stopping VDO westosvdo
[root@westosa ~]# vdo start --name westosvdo 
Starting VDO westosvdo
Starting compression on VDO westosvdo
VDO instance 1 volume is ready at /dev/mapper/westosvdo
[root@westosa ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 906232       0    906232   0% /dev
tmpfs                    935300       0    935300   0% /dev/shm
tmpfs                    935300    9432    925868   2% /run
tmpfs                    935300       0    935300   0% /sys/fs/cgroup
/dev/mapper/rhel-root   8374272 5149608   3224664  62% /
/dev/vda1               1038336  234460    803876  23% /boot
tmpfs                    187060    1180    185880   1% /run/user/42
tmpfs                    187060       4    187056   1% /run/user/0
/dev/mapper/westosvdo   6268504 1711180   4557324  28% /westosdir

注意:打开设备后,该设备自动挂载!记得删除/etc/fstab里的自动挂载语句!

相关文章:

复习之linux高级存储管理

一、lvm----逻辑卷管理 1.lvm定义 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。 逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备…...

HuggingGPT Solving AI Tasks with ChatGPT and its Friends in Hugging Face

总述 HuggingGPT 让LLM发挥向路由器一样的作用,让LLM来选择调用那个专业的模型来执行任务。HuggingGPT搭建LLM和专业AI模型的桥梁。Language is a generic interface for LLMs to connect AI models 四个阶段 Task Planning: 将复杂的任务分解。但是这里…...

java工程重写jar包中class类覆盖问题

结论:直接在程序中复写jar中的类即可 原因:一般我java工程是运行在tomcat容器中,tomcat容易在加载我们工程类和jar包是的优先级为: 我们工程的class 先于 我们工程lib下的jar 重复的类只加载一次,加载我们复写后的类后…...

Mybatis基于注解与XML开发

文章目录 1 关于SpringBoot2 关于MyBatis2.1 MyBatis概述2.2 MyBatis核心思想2.3 MyBatis使用流程3 MyBatis配置SQL方式3.1 基于注解方式3.1.1 说明3.1.2 使用流程3.1.3 常用注解 3.2 基于XML方式3.2.1 相比注解优势3.2.2 使用流程3.2.3 常用标签 1 关于SpringBoot SpringBoot…...

数字化转型导师坚鹏:数字化时代扩大内需的8大具体建议

在日新月异的数字化时代、复杂多变的国际化环境下,扩大内需成为推动经济发展的国家战略,如何真正地扩大内需?结合本人15年的管理咨询经验及目前实际情况的深入研究,提出以下8大具体建议: 1、制定国民收入倍增计划。结…...

M1/M2 通过VM Fusion安装Win11 ARM,解决联网和文件传输

前言 最近新入了Macmini M2,但是以前的老电脑的虚拟机运行不起来了。😅,实际上用过K8S的时候,会发现部分镜像也跑不起来,X86的架构和ARM实际上还是有很多隐形兼容问题。所以只能重新安装ARM Win11,幸好微软…...

Linux中显示系统正在运行的进程的命令

2023年7月29日,周六上午 在Linux中,ps命令用于显示当前系统中正在运行的进程, ps应该是processes snapshot(进程快照)的缩写。 以下是ps命令的常见用法和示例: 显示当前用户的所有进程:ps 显示…...

vite中安装less

使用vite创建的项目,默认是没有安装less的 如果直接在style中书写less 会报下图错误: 解决方案: npm install --save less 在package.json中查看是否安装成功 安装完成刷新页面,问题解决...

Aduino中eps环境搭建

这里只记录Arduino2.0以后版本:如果有外网环境,那么可以轻松搜到ESP32开发板环境并安装,如果没有,那就见下面操作: 进入首选项,将esp8266的国内镜像地址填入,然后保存,在开发板中查…...

python——案例二 求两个数的和

#案例二 求两个数的和 num1input(请输入第一个数字:) num2input(请输入第二个数字:) sumfloat(num1)float(num2) #计算公式 print(sum) #显示结果 输入num11、num22得到结果sum3...

一文了解 Android 车机如何处理中控的旋钮输入?

前言 上篇文章《从实体按键看 Android 车载的自定义事件机制》带大家了解了 Android 车机支持自定义输入的机制 CustomInputService。事实上,除了支持自定义事件,对于中控上常见的音量控制、焦点控制的旋钮事件,Android 车机也是支持的。 那…...

小红书推广 方法总结

大家好,我是网媒智星,今天跟大家分享一下小红书的推广方法和经验。 一、平台简介 1、什么是小红书? 小红书是一个消费决策/生活方式平台,用户可以通过图片、文案、视频等方式分享美好生活。 2、用户画像 - 2亿月活跃…...

通讯录的实现(超详细)——C语言(进阶)

目录 一、创建联系人信息(结构体) 二、创建通讯录(结构体) 三、define定义常量 四、打印通讯录菜单 五、枚举菜单选项 六、初始化通讯录 七、实现通讯的的功能 7.1 增加加联系人 7.2 显示所有联系人的信息 ​7.3 单独查…...

3D 渲染技巧-如何创建高质量写实渲染?

掌握创建高质量建筑渲染和任何 3D 渲染的艺术是一项复杂且需要技巧的工作,通常需要多年的经验和实践。实现逼真的结果需要仔细考虑众多因素,并避免可能导致缺乏真实性的假渲染效果的常见错误。 避免常见错误 - 提升渲染游戏的技巧 在追求创建真正逼真的…...

fastadmin采坑之获取当前登录admin用户的信息

在controller层里想要获取当前登录admin用户的信息 print_r($this->auth->getUserInfo());但是有个问题 我在fa_admin表中添加了新的字段,这个方法获取不到新字段的数值,具体也没有去研究估计跟方法有关 然后我直接用模型去获取数据,简…...

【Spring AOP + 自定义注解 + 动态数据源 实现主从库切换读写分离】—— 案例实战

💧 S p r i n g A O P 主从数据源切换 读写分离 自定义注解案例实战! \color{#FF1493}{Spring AOP 主从数据源切换 读写分离 自定义注解 案例实战!} SpringAOP主从数据源切换读写分离自定义注解案例实战!💧 …...

【LeetCode每日一题合集】2023.7.24-2023.7.30

文章目录 771. 宝石与石头代码1——暴力代码2——位运算集合⭐(英文字母的long集合表示) 2208. 将数组和减半的最少操作次数(贪心 优先队列)2569. 更新数组后处理求和查询⭐⭐⭐⭐⭐(线段树)TODO2500. 删除…...

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(14)-Fiddler断点(breakpoints)实战,篡改或伪造数据

1.简介 上一篇主要就讲解和分享Fiddler断点的理论和操作,今天宏哥就用具体例子,将上一篇中的理论知识实践一下。而且在实际测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行…...

ELK + Fliebeat + Kafka日志系统

参考: ELKFilebeatKafka分布式日志管理平台搭建_51CTO博客_elk 搭建 ELK 日志分析系统概述及部署(上)-阿里云开发者社区 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。…...

Scaling Instruction-Finetuned Language Models

Paper name Scaling Instruction-Finetuned Language Models Paper Reading Note Paper URL: https://arxiv.org/pdf/2210.11416.pdf TL;DR 2022 年谷歌出的文章,对指令微调的影响因素进行分析,提出了一些提升指令微调效果的方案。与该文章一起出品…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...