Day21-磁盘管理之raid及分区

news2024/11/16 1:45:24

Day21-磁盘管理之raid及分区

  • 1 Raid技术
    • 1.1 什么是Raid?
    • 1.2 为什么服务器需要Raid?
    • 1.3 什么是Raid级别?
    • 1.4 Raid有哪些实现方式?
    • 1.5 什么是RAID0?(图)
    • 1.6 什么是RAID1?(图)
    • 1.7 什么是RAID5?(图)
    • 1.8 什么是RAID01或Raid10?(图)
    • 1.9 Raid10综合总结(企业面试题)
    • 1.11 Raid和Lvm区别?
    • 1.12 作业案例:
  • 2. 磁盘分区知识
    • 2.1 磁盘为什么要分区?
    • 2.2 磁盘设备及分区命名知识
    • 2.3 磁盘分区类型和各自特点
      • 2.3.1 主分区(Primary)
      • 2.3.2 扩展分区(Extend)
      • 2.3.3 逻辑分区(logical)
      • 2.3.4 磁盘分区要点总结
      • 2.3.5 几个思考题?
      • 2.3.6 磁盘分区原理
      • 2.3.7 磁盘存储逻辑结构原理图解
      • 2.3.8 fdisk分区命令精讲与实践

1 Raid技术

1.1 什么是Raid?

中文全称:廉价冗余磁盘阵列
英文全称:Redundant Array of Inexpensive Disk
简称:Raid
Raid是一种把【一块及多块独立的物理磁盘】按不同的技术方式组合起来形成一个磁盘组,在逻辑上看起来就是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不同级别数据冗余备份的一种技术。

1.2 为什么服务器需要Raid?

服务器运行痛点:
1)单块盘容量不够大。
2)磁盘损坏数据丢失。
3)磁盘速度不够快。
磁盘阵列可以把多个磁盘驱动器通过不同的连接方式连接在一起协同工作,大大提高了读取速度,同时把磁盘系统的可靠性提高到接近无错的境界,使其可靠性极高。

用RAID最直接的好处是:
1)提升数据安全性。
2)提升数据读写性能。
3)提供更大的单一逻辑磁盘数据容量存储。

1.3 什么是Raid级别?

把多个物理磁盘通过【不同技术方式】组成的磁盘阵列,这个不同的技术方式就被称为RAID级别。
Raid级别一般有:
Raid 0、1、2、3、4、5、6、7、0+1(也称Raid 10)、53等。
生产环境常用Raid级别:0、1、5、10。(核心面试点)

1.4 Raid有哪些实现方式?

RAID的实现方式:
1.独立扩展卡。
速度快、支持read级别更多0、1、5、10。
2.内置主板集成RIAD控制器。
速度还行,只支持0,1。
3.通过os系统软件实现。
软raid,软件实现,性能差,操作系统损坏数据容易丢失。
在这里插入图片描述

1.5 什么是RAID0?(图)

0)上图讲解Raid0原理
1)Raid0动画展示
2)Raid0关键特点总结

raid0可以单盘做
1.读写性能 提高了三倍
2.容量是单盘的三倍,没有损失
3.没有【冗余】
4.web服务、应用服务(集群)

缺点:维护稍微麻烦

生产应用场景:
1)负载均衡集群下面的多个相同RS节点服务器。
2)分布式文件存储下面的主节点或CHUNK SERVER。
3)MySQL主从复制的多个Slave服务器。
4)对性能要求很高,对冗余要求很低的相关业务。

RAID0综合情况图表说明
以4块盘做 RAIDO 为例说明

关注点描述
容量是4块盘加在一起的容量,在raid 级别中具备最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。
性能理论上磁盘读写速度比单盘提升4倍,磁盘越多倍数会越小。
冗余无任何冗余,坏1块盘,整个RAID 就都不能用了。
场合适合于大规模并发读写,但对数据安全性要求不高的情况。如:集群中的RS,做虚拟机的实体机、负载均衡集群下面的多个相同RS 节点服务器,如分布式文件存储下面的 CHUNK SERVER,以及 MySQL 主从复制的多个Slave服务器。
特点速度快,无冗余,容量无损失。

iops
input output
在这里插入图片描述

1.6 什么是RAID1?(图)

0)上图讲解Raid1原理
1)Raid1动画展示
2)Raid1关键特点总结

1.只能两块盘,镜像盘(mirror)
2.两块盘,以容量小的为基准
3.冗余100%
4.容量减半
5.读性能,提高的
​ 写性能,单盘性能
6.数据安全要求极高,性能要求不高,成本预算较多
7.操作系统盘 数据库服务器(传统)

RAIDI综合情况图表说明
以两块盘为例说明

关注点描述
容量损失 50%的数据容量。例如:2块1T的盘,做RAID1后,容量为1T.
性能Mirror 不能提高存储性能。理论上写性能和单盘相差不大。有人说读取效率是2倍,到底如何呢?请有测试环境的同学帮忙测试?暂且按照只读单盘说明。
冗余在所有 RAID 级别中,RAID1提供最高的数据安全保障。冗余度 100%.
场合适用于存放重要数据,如服务器系统分区和对性能要求很高的数据库存储等领域。
特点100%冗余,容量损失一半,只能两块盘,两盘大小可以不一致。

在这里插入图片描述

1.7 什么是RAID5?(图)

0)上图讲解Raid5原理
1)Raid5动画展示
2)Raid5关键特点总结

1.至少3块盘
2.2块盘写数据,第三块写奇偶校验数据
3.容量n-1
4.冗余只能坏一块
5.读性能n-1倍
写性能 不太高
6.场合 中庸方案
大多数公司选择raid5

RAID5综合情况图表说明

关注点描述
容量只损失一块盘的数据容量
性能RAID5 具有和 RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度较慢
冗余可损失一块盘。RAID5数据安全保障程度比 RAID1低,而磁盘空间利用率要比RAID1 高
场合RAID5可以理解为是RAIDO和RAID1的折衷方案。适合对性能和冗余都有一定要求,又都不是十分高的情况。MySQL的主从库都可以,存储也可以。普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID5
特点容量损失一块盘,写数据通过奇偶校验,RAID0和RAID1的折衷方案追求速度和安全的不要选RAID5

最低硬盘数量3

优点缺点
很高读取效率硬盘的故障会对吞吐最造成中等的影响。
中等写入效率控制器的设计较为复杂。
很低的ECC 硬盘数量占用率,ECC效率高相对于RAID-1来说,因硬盘故障而重新构建RAID体系比较麻烦
良好的集合数据传输率个别数据块的传输率与单个硬盘相当

适用领域:
文件与应用服务器
数据库服务器
Web、E-Mail 以及新闻服务器
RAID-5 是适用领域最多的 RAID 等级

在这里插入图片描述

在这里插入图片描述

1.8 什么是RAID01或Raid10?(图)

0)上图讲解原理
1)动画展示
2)关键特点总结

01
1.容量减半
2.冗余:损失2块盘(单边坏)
3.读性能快
写 可以
4.没有场合

10
1.容量减半 成本特别高
2.冗余:损失2块盘
3.读写 性能都不错
4.主数据库 主存储服务器

RAID10

关注点描述
容量损失一半盘的数据容量。
性能大于 RAID1 和 RAID5,小于 RAID0。
冗余可损失 2块,冗余大于RAID5 和 RAID0,小于 RAID1
场合高并发存储和数据库系统

10.RAID选择成本/性能/可靠性对比图
在这里插入图片描述

在这里插入图片描述

DELL R710使用6块盘实践RAID制作结论
Raid0支持1块盘到多块盘,容量是所有盘之和。
Raid1只支持2块盘,容量损失一块盘。
Raid5最少三块盘,不管硬盘数量多少,只损失一块盘容量。
Raid6最少4块盘,5块盘也可以,损失2块盘,不管硬盘多少,只损失两块盘容量。
Raid10最少4块盘,必须偶数硬盘,不管硬盘多少,都损失一半容量,不支持虚拟磁盘。
到底能不能同时坏两块盘?可以

1.9 Raid10综合总结(企业面试题)

例如:请说出 Raid0、Raid1、Raid5、Raid10 的特点和区别?
在这里插入图片描述

在这里插入图片描述

1.11 Raid和Lvm区别?

什么是LVM(逻辑卷管理)
动态扩容的工具。
1)分区动态扩容(1.事先规划好。2.尽量少分区)。
2)性能差(10%)。
应用场景:测试服务器

1.12 作业案例:

案例:
背景:公司内部最近要上新的ERP系统,公司内部旧的服务器已经无法满足需求。公司新上马的ERP系统,因为要满足各个分公司,各办事处,销售人员和后勤人员,服务人员甚至客户的协同的大量的24小时不间断的远程高负荷的数据操作,在数据储存方面需要采用更高级别的RAID磁盘阵列容错系统。
服务器R730 DELL型号已经确认,但是在raid存储方面还没定夺。你给领导RAID方案。

2. 磁盘分区知识

2.1 磁盘为什么要分区?

和买房一样,厨房,厕所,客厅,卧室。
磁盘也是分成不同的空间,干不同的事情,所以需要分区。
磁盘可以不分区。

2.2 磁盘设备及分区命名知识

/dev

IDE:
/dev/hda,第一块盘
/dev/hdb,第二块盘

SCSI(SAS,SATA):
/dev/sda,第一块盘
/dev/sdb,第一块盘

分区命名:
/dev/sda1
/dev/sda2

/dev/hda1
/dev/hda2

[root@oldboy ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2

查看UUID

[root@oldboy ~]# blkid 
/dev/sda1: UUID="99f122a2-ed9f-4841-ab89-391fd95f47a0" TYPE="xfs" 
/dev/sda2: UUID="Y07uSZ-ymkt-yOqg-0JwZ-d5Uc-EowH-E0ZvBb" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="b5edd8bb-5ea5-4657-b543-52a128433bca" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="edf78ada-a45d-47c6-ba1d-e1bd3b4d9101" TYPE="swap" 

可以使用UUID代表/dev/sda1这样的分区

[root@oldboy ~]# egrep -v "^#|^$" /etc/fstab 
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=99f122a2-ed9f-4841-ab89-391fd95f47a0 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap     defaults        0 0

2.3 磁盘分区类型和各自特点

DOS分区表:只能用于小于2T的硬盘(常用)。
GPT分区表:万能分区表(小于2T,大于2T都可以)。

DOS分区表分区类型:

2.3.1 主分区(Primary)

a.必须存在的分区。
b.装系统(第一个主分区)
c.主分区数量不能超过4个。
d.分区编号,只能是1-4

想分超过4个分区,怎么办? 答:还需要扩展分区和逻辑分区

2.3.2 扩展分区(Extend)

a.独立小磁盘,有独立分区表,不能直接放数据。
b.占用主分区分区编号(2-4)。
c.最多只能有1个。
d.必须在其下划分逻辑分区。
e.主分区+扩展分区最多4个。

2.3.3 逻辑分区(logical)

 a.不能独立存在,必须在扩展分区之上。
 b.编号最小是5,及以上。
 c.存放数据。

2.3.4 磁盘分区要点总结

一块磁盘的分区方式只能为如下组合之一:
(1)任意多个主分区,但要求1≤主分区数量≤4。
(2)扩展分区可以和主分区组合,但要求2≤(主分区+扩展分区)数量≤4)。
(3)如果要分成四个磁盘分区的话,那么最多就是可以:P + P + P + P或P + P + P + E,其中的 P为Primary,E为Extend。
(4)扩展分区不是一个真正的可用分区,建立完扩展分区后,还需要在扩展分区上面建立逻辑分区才可以使用。
(5)对于主分区和逻辑分区在一般的数据存储使用上是没有区别的(对于大多数的数据存储),在安装操作系统时第一个分区要选主分区。
(6)分区数字编号1~4留给主分区或扩展分区使用,逻辑分区编号只能从5开始,即使1-4分区号即使有剩余,也不会分配给逻辑分区。
(7)对磁盘分区,实际上就是在修改磁盘的分区表 ( Partition table ),并没有涉及磁盘数据。

2.3.5 几个思考题?

例1:如果要将一块大磁盘暂时分成四个分区,同时还希望有其它的空间可
以让未来需要的时候再进行分区,那么该如何分区?
3P+1E(1L)
1P+1E(3L)
2P+1E(2L)

例2:假如有一块SAS磁盘,想要把磁盘分成6个可以使用的磁盘分区,
有几种方式,每个磁盘分区在Linux系统下的数字编号分别是多少?
3P+1E(3L):
sda1,sda2,sda3,sda5,sda6,sda7
1P+1E(5L):
sda1,sda5,sda6,sda7,sda8,sda9
2P+1E(4L):
sda1,sda2,sda5,sda6,sda7,sda8
(实践)

2.3.6 磁盘分区原理

a.修改的就是分区表,没有动磁盘数据。
b.分区表的位置,0磁道0柱面1扇区的512字节的前446字节接下的64字节。
c.fdisk分区本质就是修改这64字节分区表。

磁盘存储逻辑结构原理图
在这里插入图片描述

磁盘分区表
在这里插入图片描述

字节分区表的内容

字节数说明
1 BytesState:分区状态,0=未激活,0x80=激活。
1 BytesStartHead:分区起始磁头号。
2 BytesStartSC:分区起始扇区和柱面号。低字节的低6位为扇区号,高2位为柱面号的第9,10位;高字节为柱面号的低8位。
1 BytesType:分区类型,如0x0B=FAT32,0x83=Linux等,00 表示此项未用
1 BytesEndHead:分区结束磁头号。
2 BytesEndSC:分区结束扇区和柱面号,定义同前。
4 BytesRelative:线性寻址方式下分区相对扇区地址(对于基本分区即为绝对地址)
4 BytesSectors:分区大小(总扇区数)

说明:这就是一个磁盘分区的分区表,例如:/dev/sda1,使用fdisk分区工具分区的实质就是改变上述64字节的分区表信息。

1)给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号、扇区号及柱面号。
2)给磁盘分区的工具有fdisk(适合给小于2T的磁盘分区,适合mbr分区表、DOS分区表),
3)gpt格式分区表分区,有parted,gdisk。
小于2T用常规fdisk分区工具,大于2Tparted,gdisk来分区。

2.3.7 磁盘存储逻辑结构原理图解

0)0磁道1扇区讲解

(前446字节 是引导程序所在地,称为MBR)

接下来的64字节是分区表

最后2个字节是分区结束标志

读者可以用dd命令或者相关工具获得上述1扇区内容:

dd if=/dev/sda of=mbr.bin bs=512 count=1     #<==读取0磁头0磁道1扇区内容。
od -xa mbr.bin                               #<==以16进制解析1扇区内容。
od - dump files in octal and other formats

2.3.8 fdisk分区命令精讲与实践

1)准备环境添加一块盘,并重启(早期kudzu不重启)

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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 分区命令

-l 查看分区信息

[root@oldboy ~]# fdisk /dev/sdb #开始分区
Command action
   d   delete a partition           #删除分区
   m   print this menu              #打印帮助
   n   add a new partition          #添加新分区
   p   print the partition table    #打印分区表
   q   quit without saving changes  #退出不保存
   w   write table to disk and exit #保存并退出

例2:假如有一块SAS磁盘,想要把磁盘分成6个可以使用的磁盘分区,
有几种方式,每个磁盘分区在Linux系统下的数字编号分别是多少?

1P+1E(5L):
sda1,sda5,sda6,sda7,sda8,sda9

3P+1E(3L):
sda1,sda2,sda3,sda5,sda6,sda7

2P+1E(4L):
sda1,sda2,sda5,sda6,sda7,sda8

还没保存:查不到磁盘上对应的分区:

[root@oldboy ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
|-sda1            8:1    0    1G  0 part /boot
`-sda2            8:2    0   19G  0 part 
  |-centos-root 253:0    0   17G  0 lvm  /
  `-centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk 
sr0              11:0    1 1024M  0 rom 

[root@oldboy ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

[root@oldboy ~]# blkid
/dev/sda1: UUID="50250354-e0e5-414a-8a88-90f3aa6f1d2b" TYPE="xfs"
/dev/sda2: UUID="wBHG88-pAqb-lgmI-Kl1i-GEM1-ObxV-yLojkd" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="ce92b21a-a733-45b7-b9e4-c3ddd074ad1a" TYPE="xfs"
/dev/mapper/centos-swap: UUID="232e9efb-2a4e-4de2-8d20-7c9d60f97f2f" TYPE="swap"

保存以后:

[root@oldboy ~]# ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdb1  /dev/sdb5  /dev/sdb7  /dev/sdb9
/dev/sda1  /dev/sdb   /dev/sdb2  /dev/sdb6  /dev/sdb8
[root@oldboy ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
|-sda1            8:1    0    1G  0 part /boot
`-sda2            8:2    0   19G  0 part 
  |-centos-root 253:0    0   17G  0 lvm  /
  `-centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    1G  0 disk 
|-sdb1            8:17   0  100M  0 part 
|-sdb2            8:18   0    1K  0 part 
|-sdb5            8:21   0  100M  0 part 
|-sdb6            8:22   0  100M  0 part 
|-sdb7            8:23   0  100M  0 part 
|-sdb8            8:24   0  100M  0 part 
`-sdb9            8:25   0  100M  0 part 
sr0              11:0    1 1024M  0 rom  

通知内核分区表已经修改。

[root@oldboy ~]# partprobe /dev/sdb

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫Cookies 池的搭建

Cookies 池的搭建 很多时候&#xff0c;在爬取没有登录的情况下&#xff0c;我们也可以访问一部分页面或请求一些接口&#xff0c;因为毕竟网站本身需要做 SEO&#xff0c;不会对所有页面都设置登录限制。 但是&#xff0c;不登录直接爬取会有一些弊端&#xff0c;弊端主要有…

[HackMyVM] 靶场 Wave

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

学习助手:借助AI大模型,学习更高效!

在当今的数字时代&#xff0c;人工智能&#xff08;AI&#xff09;的崛起已经彻底改变了我们获取信息、处理数据以及学习新知识的方式。AI大模型&#xff0c;特别是如OpenAI开发的GPT-4这类先进的技术&#xff0c;已成为学习和教育领域的一大助力。本文旨在探索如何借助AI大模型…

tritonserver学习之八:redis_caches实践

tritonserver学习之一&#xff1a;triton使用流程 tritonserver学习之二&#xff1a;tritonserver编译 tritonserver学习之三&#xff1a;tritonserver运行流程 tritonserver学习之四&#xff1a;命令行解析 tritonserver学习之五&#xff1a;backend实现机制 tritonserv…

javaWebssh票据管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh票据管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

Vue+SpringBoot打造高校大学生创业管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统公告模块2.2 创业项目模块2.3 创业社团模块2.4 政府政策模块2.5 创业比赛模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 系统公告表3.2.2 创业项目表3.2.3 创业社团表3.2.4 政策表 四、系统展示五、核心代码5.…

MutationObserver是一个可以监听DOM结构变化的接口,请停用DOMContentLoaded

DOMContentLoaded已经要被放弃使用了&#xff0c;所以官方推荐使用MutationObserver来监听页面发生变化。但是如果你想继续使用也是可以的&#xff1b;Document: DOMContentLoaded event - Web APIs | MDN MutationObserver官方文档&#xff1a;MutationObserver - Web APIs |…

Python 自动化给女友发邮件:含新闻、天气、每日一句、图片 最全攻略系列02 如何添加emoji

Python 自动化给女友发邮件:含新闻、天气、每日一句、图片 最全攻略系列 是否想在女友面前展示程序员炫酷的一面? 是否想给她每日问候但是害怕忘记固定时间发送信息? 是否也羡慕别人可以优雅使用Python定时发送邮件? 欢迎来到Python自动化发邮件最全攻略系列,本系列将…

《剑指 Offer》专项突破版 - 面试题 65、66 和 67 : 关于前缀树应用的面试题(C++ 实现)

目录 面试题 65 : 最短的单词编码 面试题 66 : 单词之和 面试题 67 : 最大的异或 面试题 65 : 最短的单词编码 题目&#xff1a; 输入一个包含 n 个单词的数组&#xff0c;可以把它们编码成一个字符串和 n 个下标。例如&#xff0c;单词数组 ["time", "me&…

一、环境配置

一、下载Ubuntu18.04版本镜像 我的电脑配置比较低(08年奥运限定版哦)&#xff0c;使用的是虚拟机VMware进行安装Ubuntu18.04版&#xff0c;跟书上使用的一样 Ubuntu 18.04镜像 别下载错了哈 二、VMware下安装Ubuntu18.04操作系统 之前写过相关的博文&#xff0c;详细配置可…

如何选择护眼台灯?2024五大出众品牌护眼台灯推荐

护眼台灯的日常使用非常简便&#xff0c;而且还能提供合适的光照&#xff0c;起到预防近视的效果。但如今市场却有一些劣质护眼台灯&#xff0c;它们的使用体验不佳&#xff0c;还有可能会对眼睛健康造成影响、那么如何选择护眼台灯呢&#xff1f;关于这点今天就将分享几个选购…

用node或者vscode开启一个简单的本地server服务器,加载html网页

使用Live Server 想要加载本地html页面可以快速能让它在你本地浏览器中打开&#xff0c;可以有好多种方式&#xff0c;如果你有使用vscode&#xff0c;可以安装一个插件&#xff1a;Live Server&#xff0c;然后直接在vscode中直接右键就可以开启这个服务&#xff1a; 安装好之…

攻防世界例题wp

1.看到_wakeup()函数第一反应要么触发&#xff0c;要么绕过在这里绕过 2.构造payload实例化一个对象后反序列化 3构造脚本如下&#xff1a; 4.因为它是一个绕过的方法所以我们要使用绕过的方法。 5.继续构造payload将上图的1换成2进行绕过 最终的payload为 O:4:"xctf…

MATLAB_ESP32有限脉冲响应FIR无限脉冲响应IIR滤波器

要点 ESP32闪烁LED&#xff0c;计时LEDESP32基础控制&#xff1a;温控输出串口监控&#xff0c;LCD事件计数器&#xff0c;SD卡读写&#xff0c;扫描WiFi网络&#xff0c;手机控制LED&#xff0c;经典蓝牙、数字麦克风捕捉音频、使用放大器和喇叭、播放SD卡和闪存MP3文件、立体…

【SVN】使用TortoiseGit删除Git分支

使用TortoiseGit删除Git分支 前言 平时我在进行开发的时候&#xff0c;比如需要开发一个新功能&#xff0c;这里以蘑菇博客开发服务网关-gateway功能为例 一般我都会在原来master分支的基础上&#xff0c;然后拉取一个新的分支【gateway】&#xff0c;然后在 gateway分支上进…

社区店选址评估:利用大数据选址的技巧与策略

在当今数字化的时代&#xff0c;利用大数据进行社区店选址评估已成为一种高效、科学的方法。作为一名开鲜奶吧5年的创业者&#xff0c;我将分享一些利用大数据选址的技巧与策略&#xff0c;帮助你找到最适合的店铺位置。 1、确定目标商圈 在选址之前&#xff0c;首先要明确自己…

css实现居中

基础代码&#xff1a; <div class"box"><div class"content"></div> </div> css实现居中的几种方式&#xff1a; 1、flex布局&#xff08;水平垂直&#xff09; .box {width: 200px;height: 200px;background-color: pink;disp…

MySQL入门------数据库与SQL概述

目录 前言 一、数据库相关概念 二、数据模型 1.关系型数据库&#xff08;RDBMS&#xff09; 三、MySQL数据库 1.下载和安装 2.配置环境变量 四、SQL 1.SQL通用语法 2.SQL分类 前言 从本期开始&#xff0c;我们开始学习数据库的相关理论和实践知识&#xff0c;从入门…

把python完全卸载干净

1.winR&#xff0c;输入control回车&#xff0c;点击程序和功能&#xff0c;在搜索框输入python&#xff0c;右键点击卸载 2、找到Python安装路径&#xff0c;把所有文件全部删除。 安装路径可以打开CMD输入&#xff1a;where python 3、强制删除Python.exe 打开cmd&#xff…

2024最新算法:斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)求解23个基准函数(提供MATLAB代码)

一、斑翠鸟优化算法 斑翠鸟优化算法&#xff08;Pied Kingfisher Optimizer ,PKO&#xff09;&#xff0c;是由Abdelazim Hussien于2024年提出的一种基于群体的新型元启发式算法&#xff0c;它从自然界中观察到的斑翠鸟独特的狩猎行为和共生关系中汲取灵感。PKO 算法围绕三个不…