LVM与磁盘配额

目录

一.LVM概述

1.LVM (Logical Vokume Manager )逻辑卷管理

2.LVM的管理命令

3.创建并使用LVM操作步骤

二.磁盘配额概述

1.实现磁盘限额的条件

2.Linux磁盘限额的特点

3.实现磁盘配额的步骤

三.总结:


一.LVM概述

1.LVM (Logical Vokume Manager )逻辑卷管理

功能:能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。

/boot分区用于存放引导文件,不能基于LVM创建

2.LVM机制的基本概念

(1)PV (Physical Volume 物理卷):物理卷是由多个把存储空间分割成默认大小为 4MB 的基本单元(PE)组成;通常一个物理卷就是一个硬盘或者是一个硬盘分区。

(2)VG(卷组):是由一个或多个物理卷组成的一个资源池,即称为卷组;在卷组中可以动态地添加或移除物理卷。

(3)LV(逻辑卷):从卷组中划分出指定容量大小的存储卷

总结一下:物理卷、卷组和逻辑卷之间的关系:物理卷是卷组和逻辑卷的基础,卷组则是物理卷的集合,用于创建逻辑卷,而逻辑卷则是从卷组中动态分配出来的存储单元。

2.LVM的管理命令

功能物理卷管理卷组管理逻辑卷管理
Scan扫描pvcanvgcanlvcan
Create建立pvcreatevgcreatelvcreate
Display显示pvdisplayvgdisplaylvdisplay
Remove删除pvremovevgremovelvremove
Extend扩展vgextendlvextend
Reduce减少vgreducelvreduce

主要命令:

pvcreate 设备名1  [设备名2...]            #创建物理卷
vgcreate  卷组名 物理卷名1 物理卷名2       #创建卷组
lvcreate -L 容量大小 -n 逻辑卷名 卷组名    #创建逻辑卷
lvextend -L +大小 /dev/卷组名/逻辑卷名     #为逻辑卷进行扩展内存

3.创建并使用LVM操作步骤

(1)关闭主机,添加新硬盘(这里我们添加三块)后,重启主机

(2)使用 fdisk 工具将磁盘设备划分出主分区,并且将分区类型的ID设置为8e

【1】运用 fdisk /dev/sdb、fdisk /dev/sdc、fdisk /dev/sdd 将新添加的三块硬盘进行划分出主分区

【2】三块硬盘的操作全部如下图所示

[root@192 ~]# fdisk /dev/sdb               #将硬盘划分出主分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xf9568529 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n                    #选择分区类型
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p                   #默认为创建主分区
分区号 (1-4,默认 1):                      #默认分区号
起始 扇区 (2048-41943039,默认为 2048):    #默认起始扇区
将使用默认值 2048 
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):  #默认Last扇区
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t                    #选择分区类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e           #选择8eLVM
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w                    #保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

全部操作完成后,创建出  /dev/sdb1、/dev/sdc1和/dev/sdd1  三个主分区

(3)创建物理卷

[root@192 ~]# pvcreate /dev/sdb1 /dev/sdc1   #将sdb1和sdc1创建成物理卷
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
                     #这样子算是创建成功

(4)创建卷组并对卷组进行命名

将卷组命名为vg111

[root@192 ~]# vgcreate vg111 /dev/sdb1 /dev/sdc1    #创建卷组并命名为vg111
  Volume group "vg111" successfully created
[root@192 ~]# vgdisplay vg111                        #查看卷组vg111                 
  --- Volume group ---
  VG Name               vg111
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB                 #卷组内存空间
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               56BSoG-GOB5-eifK-Ijjg-6cVM-sW5p-g5Zgbq

(5)创建逻辑卷并进行命令

将逻辑卷设置为20G,并将其命名为lv111,此后生成路径/dev/vg111/lv111

[root@192 ~]# lvcreate -L 20G -n lv111 vg111    #创建逻辑卷并命令为lv111
  Logical volume "lv111" created.
[root@192 ~]# lvdisplay /dev/vg111/lv111        #查看逻辑卷lv111
  --- Logical volume ---
  LV Path                /dev/vg111/lv111
  LV Name                lv111
  VG Name                vg111
  LV UUID                qDeAh7-dDzZ-diBF-dmWc-4CVS-6tGY-zdkm42
  LV Write Access        read/write
  LV Creation host, time 192.168.80.202, 2024-04-16 20:19:32 +0800
  LV Status              available
  # open                 0
  LV Size                20.00 GiB            #逻辑卷内存空间
  Current LE             5120
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

(6)对罗辑卷进行格式化,创建XFS文件类型,并挂载

[root@192 ~]# mkfs -t xfs /dev/vg111/lv111      #将逻辑卷格式化,并创建xfs文件系统
meta-data=/dev/vg111/lv111       isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, 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
[root@192 ~]# mkdir /opt/test                    #创建一个新的目录
[root@192 ~]# mount /dev/vg111/lv111 /opt/test   #将逻辑卷挂载到目录 /opt/test 上
[root@192 ~]# df -hT                             #查看挂载情况
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        36G  4.9G   31G   14% /
/dev/sda1               xfs       509M  181M  329M   36% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/mapper/vg111-lv111 xfs        20G   33M   20G    1% /opt/test   #挂载成功

此后就可以在目录上输入内容,并记录到硬盘上

(7)如果空间不够要扩展,先查看卷组空间是否足够,不够的话,先创建物理卷,在扩展卷组;

之后在对逻辑卷进行扩容。

[root@192 test]# pvcreate /dev/sdd1                  #将sdd1创建为物理卷
  Physical volume "/dev/sdd1" successfully created.
[root@192 test]# vgextend vg111 /dev/sdd1            #sdd1扩展为卷组vg111
  Volume group "vg111" successfully extended
[root@192 test]# vgdisplay vg111                    #查看卷组内存
  --- Volume group ---
  VG Name               vg111
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <59.99 GiB                       #卷组内存增加
  PE Size               4.00 MiB
  Total PE              15357
  Alloc PE / Size       5120 / 20.00 GiB
  Free  PE / Size       10237 / <39.99 GiB
  VG UUID               56BSoG-GOB5-eifK-Ijjg-6cVM-sW5p-g5Zgbq

[root@192 test]# lvextend -L +20G /dev/vg111/lv111    #对逻辑卷扩容20G
  Size of logical volume vg111/lv111 changed from 20.00 GiB (5120 extents) to 40.00 GiB (10240 extents).
  Logical volume vg111/lv111 successfully resized.
[root@192 test]# lvdisplay /dev/vg111/lv111           #查看逻辑卷内存
  --- Logical volume ---
  LV Path                /dev/vg111/lv111
  LV Name                lv111
  VG Name                vg111
  LV UUID                qDeAh7-dDzZ-diBF-dmWc-4CVS-6tGY-zdkm42
  LV Write Access        read/write
  LV Creation host, time 192.168.80.202, 2024-04-16 20:19:32 +0800
  LV Status              available
  # open                 1
  LV Size                20.00 GiB                   #逻辑卷内存没变
  Current LE             5120
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

(8)对逻辑卷进行扩容后,内存空间没变;有两种方法解决

【1】使用命令手动刷新xfs文件系统容量

   xfs_growfs /dev/vgname1/lvname1         

【2】在扩容逻辑卷的命令上加上    -r   选项;自动刷新文件系统容量

lvextend -L +10G [-r] /dev/vg111/lv111

二.磁盘配额概述

当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,可能会出现服务

程序崩溃、系统无法启动等故障;为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。

在 CentOS 系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS 文件系统通过

xfs_quota 工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理

1.实现磁盘限额的条件

(1)需要Linux内核支持

(2)需要安装 xfsprogs 与 quota 软件包

2.Linux磁盘限额的特点

作用范围: 针对指定的文件系统(分区)

限制对象:用户账号、组账号

限制类型: 磁盘容量、文件数量

限制方法:软限制、硬限制

3.实现磁盘配额的步骤

(1)启用磁盘配额支持

启动文件系统的配额支持,添加usrquota、prpquota 挂载参数

[root@192 test]# rpm -q xfsprogs quota     #查看软件是否安装
xfsprogs-4.5.0-22.el7.x86_64
quota-4.01-19.el7.x86_64 
没有安装的话,使用 yum install 安装    

用 usrquota,grpquota 对/dev/vg111/lv111挂载到/opt/test目录中

mount -o usrquota,grpquota /dev/vg111/lv111 /opt/test/

或者

进入到   /etc/fstab  文件中输入命令挂载


验证方法:mount -a  将/etc/fstab的所有内容重新加载

mount 或者df -hT都可以查看挂载情况

(2)编辑用户和组账号的配额设置

常用选项
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c:表示直接调用管理命令
-u:指定用户账号对象
-g:指定组账号对象

bsoft:设置磁盘容量的软限制数值(默认单位为 KB)
bhard:设置磁盘容量的硬限制数值(默认单位为 KB)
isoft:设置磁盘文件数的软限制数值
ihard:设置磁盘文件数的硬限制数值

dd 命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
“of=” 指定输出设备(或文件)
“bs=” 指定读取数据块的大小
“count=” 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件
useradd zhangsan                     #创建用户zhangsan和lisi
echo 123456 | passwd --stdin zhangsan
useradd lisi                         #并设置密码
echo 123456 | passwd --stdin lisi    #免交互式设置密码命令
并对zhangsan 和lisi 设置不同的配额设置
#仅限制磁盘容量
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /opt/test
#仅限制文件数
xfs_quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/test
#查看 zhangsan 磁盘容量限制
xfs_quota -c 'quota -uv zhangsan' /opt/test
#查看 lisi 文件数限制
xfs_quota -c 'quota -i -uv lisi' /opt/test

 (3)验证磁盘配额功能

先给文件设置最高权限

[root@192 ~]# chmod 777 /opt/test           #设置最高权限
[root@192 ~]# ls -l /opt/
总用量 0
drwxr-xr-x. 2 root root   6 10月 31 2018 rh
drwxrwxrwx. 3 root root 133 4月  16 20:31 test
[root@192 test]# su - lisi                     #切换为lisi 账户
上一次登录:二 4月 16 21:41:00 CST 2024pts/0 上
[lisi@192 ~]$ cd /opt/test                     #切换到指定目录
[lisi@192 test]$ ls
[lisi@192 test]$ touch {1..5}file              #创建五个文件成功
[lisi@192 test]$ ls -l
总用量 0
-rw-rw-r--. 1 lisi lisi 0 4月  16 21:43 1file
-rw-rw-r--. 1 lisi lisi 0 4月  16 21:43 2file
-rw-rw-r--. 1 lisi lisi 0 4月  16 21:43 3file
-rw-rw-r--. 1 lisi lisi 0 4月  16 21:43 4file
-rw-rw-r--. 1 lisi lisi 0 4月  16 21:43 5file
[lisi@192 test]$ touch 6file                   #创建第六个失败
touch: 无法创建"6file": 超出磁盘限额            #超出限额,最多允许创建五个文件
[root@192 test]# su - zhangsan                           #切换到zhangsan账户
上一次登录:二 4月 16 21:39:30 CST 2024pts/0 上
[zhangsan@192 test]$ dd if=/dev/zero of=/opt/test/zhangsan.txt bs=10M count=10
[zhangsan@192 test]$ ll -h                               #输入100MC成功
总用量 100M
-rw-rw-r--. 1 lisi     lisi        0 4月  16 21:43 1file
-rw-rw-r--. 1 lisi     lisi        0 4月  16 21:43 2file
-rw-rw-r--. 1 lisi     lisi        0 4月  16 21:43 3file
-rw-rw-r--. 1 lisi     lisi        0 4月  16 21:43 4file
-rw-rw-r--. 1 lisi     lisi        0 4月  16 21:43 5file
-rw-rw-r--. 1 zhangsan zhangsan 100M 4月  16 21:48 zhangsan.txt
[zhangsan@192 test]$ dd if=/dev/zero of=/opt/test/zhangsan.txt bs=10M count=11
dd: 写入"/opt/test/zhangsan.txt" 出错: 超出磁盘限额        #输入110M失败
                                                        超出限额,最多100M   

(4)查看配额使用情况

#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'

#查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'
[root@192 test]# xfs_quota -x -c 'report -a' #查看所有可用分区的磁盘容量配额使用情况
User quota on /opt/test (/dev/mapper/vg111-lv111)
                               Blocks
User ID          Used       Soft       Hard    Warn/Grace
---------- --------------------------------------------------
root                0          0          0     00 [--------]
zhangsan       102400      81920     102400     00  [6 days]
lisi                0          0          0     00 [--------]

Group quota on /opt/test (/dev/mapper/vg111-lv111)
                               Blocks
Group ID         Used       Soft       Hard    Warn/Grace
---------- --------------------------------------------------
root                0          0          0     00 [--------]
zhangsan       102400          0          0     00 [--------]
lisi                0          0          0     00 [--------]

[root@192 test]# xfs_quota -x -c 'report -abih' #查看磁盘容量和文件数的报告
User quota on /opt/test (/dev/mapper/vg111-lv111)
                        Blocks                            Inodes
User ID      Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root            0      0      0  00 [------]      3      0      0  00 [------]
zhangsan     100M    80M   100M  00 [6 days]      1      0      0  00 [------]
lisi            0      0      0  00 [------]      5      4      5  00 [6 days]

Group quota on /opt/test (/dev/mapper/vg111-lv111)
                        Blocks                            Inodes
Group ID     Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root            0      0      0  00 [------]      3      0      0  00 [------]
zhangsan     100M      0      0  00 [------]      1      0      0  00 [------]
lisi            0      0      0  00 [------]      5      0      0  00 [------]

三.小结:

知道创建并使用LVM

知道磁盘配额的步骤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/550580.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【静态分析】软件分析课程实验-前置准备

课程&#xff1a;南京大学的《软件分析》课程 平台&#xff1a;Tai-e&#xff08;太阿&#xff09;实验作业平台 1. 实验概述 Tai-e 是一个分析 Java 程序的静态程序分析框架&#xff0c;相比于已有的知名静态程序分析框架&#xff08;如 Soot、Wala 等&#xff09;&#xf…

《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)

1.简介 页面对象模型&#xff08;Page Object Model&#xff09;在Selenium Webdriver自动化测试中使用非常流行和受欢迎&#xff0c;作为自动化测试工程师应该至少听说过POM这个概念。本篇介绍POM的简介&#xff0c;接下来宏哥一步一步告诉你如何在你JavaSelenium3自动化测试…

算法打卡day36

今日任务&#xff1a; 1&#xff09;01背包问题理论基础(卡码网&#xff1a;46. 携带研究材料) 2&#xff09;01背包问题滚动数组(卡码网&#xff1a;46. 携带研究材料) 3&#xff09;416. 分割等和子集 4&#xff09;复习day11 卡码网&#xff1a;46. 携带研究材料 题目链接&…

35、链表-LRU缓存

思路&#xff1a; 首先要了解LRU缓存的原理&#xff0c;首先定下容量&#xff0c;每次get请求和put请求都会把当前元素放最前/后面&#xff0c;如果超过容量那么头部/尾部元素就被移除&#xff0c;所以最近最少使用的元素会被优先移除&#xff0c;保证热点数据持续存在。 不管放…

排序(三)——快速排序(递归以及栈和队列实现非递归)超详细

目录 1.hoare法 2.挖坑法 3.前后指针法 4.快排的非递归 4.1 栈实现快排非递归 4.2 队列实现快排非递归 快排我们之前在学习通讯录的时候就用了&#xff0c;那时候我们知道快排是一个很牛逼的排序算法&#xff0c;那他到底是怎么实现的呢&#xff1f; 1.hoare法 快速排序…

【Redis 神秘大陆】003 数据类型使用场景

三、Redis 数据类型和使用场景 Hash&#xff1a;对象类型的数据&#xff0c;购物车List&#xff1a;队列/栈Set&#xff1a;String类型的无序集合&#xff0c;intset&#xff0c;抽奖、签到、打卡&#xff0c;商品评价标签Sorted Set&#xff1a;存储有序的元素&#xff0c;zip…

六、OpenFeign服务接口调用

一、提问 已经有loadbalancer为什么还要学习OpenFeign? 两个都有道理的话&#xff0c;日常用那个&#xff1f; 二、是什么 OpenFeign是什么 官网翻译 Feign是一个声明性web服务客户端。它使编写web服务客户端变得更容易。使用Feign创建一个接口并对其进行注释。它具有可…

【InternLM 实战营第二期笔记】LMDeploy 量化部署 LLMVLM实战

Huggingface与TurboMind介绍 Huggingface HuggingFace是一个高速发展的社区&#xff0c;包括Meta、Google、Microsoft、Amazon在内的超过5000家组织机构在为HuggingFace开源社区贡献代码、数据集和模型。可以认为是一个针对深度学习模型和数据集的在线托管社区&#xff0c;如…

python 列表对象函数

对象函数必须通过一个对象调用。 列表名.函数名() append() 将某一个元素对象添加在列表的表尾 如果添加的是其他的序列&#xff0c;该序列也会被看成是一个数据对象 count() 统计列表当中 某一个元素出现的次数 extend() 在当前列表中 将传入的其他序列的元素添加在表尾…

【AIGC】AIGC在虚拟数字人中的应用:塑造未来互动体验的革新力量

&#x1f680; &#x1f680; &#x1f680;随着科技的快速发展&#xff0c;AIGC已经成为引领未来的重要力量。其中&#xff0c;AIGC在虚拟数字人领域的应用更是引起了广泛关注。虚拟数字人作为一种先进的数字化表达形式&#xff0c;结合了3D建模、动画技术、人工智能等多种先进…

Kubernetes对象的定义和操作

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列、spring教程等&#xff0c;大家有兴趣的可以看一看 &#x1f4d9;Jav…

数据密集型应用系统设计 PDF 电子书(Martin Kleppmann 著)

简介 《数据密集型应用系统设计》全书分为三大部分&#xff1a; 第一部分&#xff0c;主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第 1 章即瞄准目标&#xff1a;可靠性、可扩展性与可维护性&#xff0c;如何认识这些问题以及如何达成目标。第 2 章我们比…

PHP反序列化命令执行+PHP反序列化POP大链 +PHP反序列化基础

[题目信息]&#xff1a; 题目名称题目难度PHP反序列化命令执行1 [题目考点]&#xff1a; 反序列化命令执行&#xff0c;获取题目flag。[Flag格式]: SangFor{t5euvZ_OB8Jd_h2-}[环境部署]&#xff1a; docker-compose.yml文件或者docker tar原始文件。 docker-compose up …

内外网文件摆渡系统,如何贯通网络两侧被隔断的工作流?

随着业务范围不断扩大&#xff0c;产生的数据体量越来越多&#xff0c;企业会采取网络隔离&#xff0c;对核心数据进行保护。网络隔离主要目的是保护企业内部的敏感数据和系统不受外部网络攻击的风险&#xff0c;可以通过物理或逻辑方式实现&#xff0c;例如使用防火墙、网闸、…

电商技术揭秘二十六:智能库存预警与补货系统(下)

相关系列文章 电商技术揭秘一&#xff1a;电商架构设计与核心技术 电商技术揭秘二&#xff1a;电商平台推荐系统的实现与优化 电商技术揭秘三&#xff1a;电商平台的支付与结算系统 电商技术揭秘四&#xff1a;电商平台的物流管理系统 电商技术揭秘五&#xff1a;电商平台…

我的思考工作流(2024年版)

去年底&#xff0c;我对自己的思考工作流程又做了一些优化和改进&#xff0c;把它变得更为简洁、清晰。 因此&#xff0c;今天我想把它分享给大家&#xff0c;希望能给你一些启发。 我的核心方法论依然是我自己提出的「INKP知识管理法」&#xff08;参见《打开心智》第五章&…

【刷题笔记】第七天

文章目录 [924. 尽量减少恶意软件的传播](https://leetcode.cn/problems/minimize-malware-spread/)方法一&#xff0c;并查集方法二&#xff0c;dfs [GCD and LCM ](https://vjudge.net.cn/problem/HDU-4497#authorKING_LRL) 924. 尽量减少恶意软件的传播 如果移除一个感染节…

电机控制器电路板布局布线参考指导(五)

电机控制器电路板布局布线参考指导&#xff08;五&#xff09;大容量电容和旁路电容的放置 1.大容量电容的放置2.电荷泵电容器3.旁路电容/去耦电容的放置3.1 靠近电源3.2 靠近功率器件3.3 靠近开关电流源3.4 靠近电流感测放大器3.5 靠近稳压器 tips&#xff1a;资料主要来自网络…

环境搭建创建项目_使用DevEco开发工具进行开发_创建项目_认识项目结构---HarmonyOS4.0+鸿蒙NEXT工作笔记001

首先去下载DevEco Studio然后再去安装就可以了 安装下一步下一步非常简单 首先去安装nodejs,可以看到,有两个安装方法,左边是自己安装的制定文件夹就可以了,然后 右边是使用鸿蒙自带的,我们选择第二个 然后我们看这个ohpm其实就跟npm是一个意思,用来管理鸿蒙的包的. 这里我们…

apache配置ssl证书

SSL证书&#xff0c;即安全套接层证书&#xff0c;是一种数字证书&#xff0c;它通过在客户端浏览器和Web服务器之间建立一条加密通道&#xff0c;保证了双方传输信息的安全性。当用户访问一个使用SSL证书保护的网站时&#xff0c;浏览器会显示一个锁形图标&#xff0c;表示连接…