热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于Linux中逻辑卷/物理分区等知识的一些总结

我的需求:准备红帽考试,这块听课听得稀里糊涂的。我是这样做的:请教了公司大佬,书里找了些资料。这里整理笔记加以记忆ÿ

我的需求: 

准备红帽考试,这块听课听得稀里糊涂的。

我是这样做的:

请教了公司大佬,书里找了些资料。这里整理笔记加以记忆,不足之处请小伙伴指出来。生活加油。2021.01.08


一,思维导图梳理关系


二,Linux文件存储(未使用LVM)

正常的拿到一块磁盘我们会使用lsblk查看分区,之后会使用fdisk进行分区 ,分区之后会使用mkfs相关指定文件系统进行格式化处理,最后通过mount进行挂载处理,也就是上图物理盘区部分。

识别磁盘 --> 分区 --> 格式化 --> 挂载 --> 访问挂载点: lsblk --> fdisk -l --> fdisk(MSDOS分区表)/gdisk(GPT分区表 >2.2TB磁盘)/parted --> mkfs相关 --> mount


创建流程:

lsblk //查看分区状态
fdisk /dev/vdc //使用fdisk分区工具,对/dev/vdc硬盘进行分区
p 查询分区状态
q 不保存退出
n 新建分区
Select (default p): //回车,默认是主分区
Partition number (1-4, default 1): //第一个分区默认序号是1
First sector : //起始扇区,直接回车
Last sector +500M //创建500M分区
w //保存退出
mkfs.xfs /dev/vdc1 //使用xfs文件系统为vdc1这个分区格式化
mount /dev/vdc1 /mnt //将新分区挂载到/mnt目录
df -h
umount /dev/vdc1 //卸载分区//刷新硬盘分区表:
partprobe /dev/vdb 或者 partx -a /dev/vdb
reboot

三,使用LVM的文件存储

Linux 逻辑卷管理器(logical volume manager,LVM)它可以让你在无需重建整个文件系统的情况下,轻松地管理磁盘空间。用标准分区在硬盘上创建了文件系统,为已有文件系统添加额外的空间多少是一种痛苦的体验。你只能在同一个物理硬盘的可用空间范围内调整分区大小。

通过LVM将 多个物理卷(物理分区)集中在一起可以形成一个卷组(volume group,VG)逻辑卷管理系统将卷组视 为一个物理硬盘,但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的提供了一个创建逻辑分区的平台,而这些逻辑分区则包含了文件系统。

         整个结构中的最后一层是逻辑卷(logical volume,LV)逻辑卷为Linux提供了创建文件系统的分区环境,作用类似于到目前为止我们一直在探讨的Linux中的物理硬盘分区Linux系统将逻 辑卷视为物理分区。 可以使用任意一种标准Linux文件系统来格式化逻辑卷,然后再将它加入Linux虚拟目录中的某个挂载点。

LVM逻辑卷管理机制的思想 —— 化零(物理卷PV)为整(卷组VG)、动态扩容伸缩,按需(逻辑卷LV)分配。

把零散的分区(PV物理设备(物理卷)) ===》整编的大卷组(VG虚拟磁盘) ===》 根据需要获取空间(虚拟分区LV)

物理卷、逻辑卷、卷组、快照卷之间的联系


  • 物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
  • 卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
  • 逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

可以做这样一个设想来理解以上三者的关系:如果把PV比作地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。

相互联系:在创建卷组时一定要为逻辑卷进行快照预留出空间,而后快照访问逻辑卷的另一个入口,只要把物理卷加到卷组之后,这个物理卷所提供的物理空间事先就被划分好一个个块,而这个块在没格式化之前叫做PE(Physical Extend)【物理盘区】,是逻辑存储的一个小匣子,卷组的大小是由多个PE组成,而逻辑卷的大小是把卷组中的PE放到逻辑卷中,此时,PE不再叫做PE,而是叫做LE(Logical Extend)【逻辑盘区】,其实,逻辑卷中的LE也叫做PE,只是站在角度不同而已

如果某个物理卷损坏后,存储在逻辑卷中的LE也就会损坏,想让数据不损坏,可以把物理卷中PE做成镜像

Linux 中的 LVM

1. 快照 最初的Linux LVM 允许你在逻辑卷在线的状态下将其复制到另一个设备

  • LVM1只允许你创建只读快照。一旦创建了快照,就不能再写入东西了。
  • LVM2允许你创建在线逻辑卷的可读写快照。有了可读写的快照,就可以删除原先的逻辑卷, 然后将快照作为替代挂载上。这个功能对快速故障转移或涉及修改数据的程序试验(如果失败, 需要恢复修改过的数据)非常有用。

快照在备份由于高可靠性需求而无法锁定的重要数据时,快照功能非常给力。传统的备份方法在将文件复制到备份媒体上时通常要将文件锁定。快照允许你在复制的同时,保证运行关键任务的。

2. 条带化,LVM2提供的另一个引人注目的功能是条带化(striping)。马毓姝

  • 条带化可跨多个物理硬盘创建逻辑卷。当Linux LVM将文件写入逻辑卷时,文件中的数据块会被分散到多个硬盘上。每个后继数据块会被写到下一个硬盘上。 
  • 条带化有助于提高硬盘的性能,因为Linux可以将一个文件的多个数据块同时写入多个硬盘, 而无需等待单个硬盘移动读写磁头到多个不同位置。这个改进同样适用于读取顺序访问的文件, 因为LVM可同时从多个硬盘读取数据。(多路复用)。

LVM条带化不同于RAID条带化。LVM条带化不提供用来创建容错环境的校验信息。事实 上,LVM条带化会增加文件因硬盘故障而丢失的概率。单个硬盘故障可能会造成多个逻 辑卷无法访问。 

 3. 镜像  LVM镜像。镜像是一个实时更新的逻辑卷的完整副本。当你创 建镜像逻辑卷时,LVM会将原始逻辑卷同步到镜像副本中。根据原始逻辑卷的大小,这可能需要 一些时间才能完成。 一旦原始同步完成,LVM会为文件系统的每次写操作执行两次写入——一次写入到主逻辑 卷,一次写入到镜像副本。可以想到,这个过程会降低系统的写入性能。就算原始逻辑卷因为某 些原因损坏了,你手头也已经有了一个完整的最新副本!

LVM管理工具


  • 物理卷操作(不常用):pvscan、pvdisplay、pvcreate
  • 卷组操作:vgscan(扫描)、vgdisplay(显示)、vgcreate、vgremove、vgextend(扩容)
  • 逻辑卷操作:lvscan、lvdisplay、lvcreate、lvremove、lvextend

PE:分配逻辑卷空间的时候,最小的单位,默认为4M

创建卷组:逻辑卷 化零为整 更自由的使用磁盘空间 创建逻辑卷之前先要创建卷组,然后从卷组中划分空间给逻辑卷

vgcreate [-s PE大小] 卷组名 分区.. ..vgcreate /dev/myvg /dev/vdb2 //正常创建卷组,默认扩展单元是4M(不满足目前题意,目前要求是16M)
vgdisplay /dev/myvg //可以在PE一栏中看到扩张单元的大小
vgremove /dev/myvg //删除卷组myvg
vgcreate -s 16MiB /dev/myvg /dev/vdb2 //创建扩展单元为16MiB的卷组(目前练习题要求),之后可以用vgdisplay查看PE的大小

创建逻辑卷:

lvcreate -L 大小 -n 名称 卷组名lvcreate -l PE个数 -n 名称 卷组名lvcreate -n mylv -L 800M /dev/myvg //正常创建
lvcreate -n mylv -l 50 /dev/myvg //按照扩展单元的数量创建(目前练习题要求),之后可以用vgs查看
vgs // 查看邏輯卷

扩展逻辑卷:

lvcreate -L 大小 -n 名称 卷组名lvcreate -l PE个数 -n 名称 卷组名lvextend -L 300M /dev/test/vo //将名字叫vo的逻辑卷扩容到300M
blkid /dev/test/vo //查看vo逻辑卷的文件系统
lsblk //再查看该逻辑卷的挂载点
xfs_growfs /vo //刷新大小,如果是xfs的文件系统
resize2fs /vo //刷新大小,如果是ext的文件系统

扩展卷组:

vgextend 卷组名 分区.. ..

通知内核新的文件系统大小:

resize2fs /dev/卷组名/逻辑卷名 //适用于EXT2/3/4文件系统(blkid检查)xfs_growfs 逻辑卷名的挂载点//适用于XFS文件系统(blkid检查)

逻辑卷的设备位置:

/dev/卷组名/逻辑卷名
或者
/dev/mapper/卷组名-逻辑卷名

扫描磁盘LVM信息

[root@blue ~]# vgscan Reading all physical volumes. This may take a while...Found volume group "myvg" using metadata type lvm2Found volume group "test" using metadata type lvm2Found volume group "rhel" using metadata type lvm2
[root&#64;blue ~]# pvscanPV /dev/vdb2 VG myvg lvm2 [1008.00 MiB / 208.00 MiB free]PV /dev/vdb1 VG test lvm2 [<2.00 GiB / <1.67 GiB free]PV /dev/vda2 VG rhel lvm2 [<29.00 GiB / 0 free]Total: 3 [<31.98 GiB] / in use: 3 [<31.98 GiB] / in no VG: 0 [0 ]
[root&#64;blue ~]# lvscan ACTIVE &#39;/dev/myvg/mylv&#39; [800.00 MiB] inheritACTIVE &#39;/dev/test/vo&#39; [336.00 MiB] inheritACTIVE &#39;/dev/rhel/swap&#39; [<2.17 GiB] inheritACTIVE &#39;/dev/rhel/root&#39; [<26.83 GiB] inherit
[root&#64;blue ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 30G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 29G 0 part ├─rhel-root 253:0 0 26.8G 0 lvm /└─rhel-swap 253:1 0 2.2G 0 lvm [SWAP]
vdb 252:16 0 10G 0 disk
├─vdb1 252:17 0 2G 0 part
│ └─test-vo 253:2 0 336M 0 lvm /vo
└─vdb2 252:18 0 1G 0 part └─myvg-mylv 253:3 0 800M 0 lvm
vdc 252:32 0 10G 0 disk
└─vdc1 252:33 0 500M 0 part /mnt
[root&#64;blue ~]#

四&#xff0c;其他逻辑卷&#xff0c;分区概念

VDO卷

虚拟数据优化器&#xff0c;可以对数据进行重删过滤&#xff1a;

  • VDO&#xff08;Virtual Data Optimize&#xff09;是RHEL8/Centos8上新推出的一个存储相关技术&#xff08;最早在7.5测试版中开始测试&#xff09;&#xff0c;是Redhat收购的Permabit公司的技术。
  • VDO的主要作用是节省磁盘空间&#xff0c;比如让1T的磁盘能装下1.5T的数据&#xff0c;从而降低数据中心的成本。

那vdo是如何实现&#xff1a;关键原理主要是重删和压缩&#xff0c;重删就是硬盘里拷贝来相同的数据&#xff0c;以前要占多份空间&#xff0c;现在只需要1份空间就可以了。类似我们在百度网盘中上传一个大型软件安装包&#xff0c;能实现秒传&#xff0c;其实是之前就有&#xff0c;所以无需再传一遍&#xff0c;也无需再占百度一份空间。另一方面是数据压缩&#xff0c;类似于压缩软件的算法&#xff0c;也可以更加节省磁盘空间。

VDO是一个内核模块&#xff0c;目的是通过重删减少磁盘的空间占用&#xff0c;以及减少复制带宽&#xff0c;VDO是基于块设备层之上的&#xff0c;也就是在原设备基础上映射出mapper虚拟设备&#xff0c;然后直接使用即可&#xff0c;功能的实现主要基于以下技术。

  • 1&#xff09;零区块的排除&#xff1a;在初始化阶段&#xff0c;整块为0的会被元数据记录下来&#xff0c;这个可以用水杯里面的水和沙子混合的例子来解释&#xff0c;使用滤纸&#xff08;零块排除&#xff09;&#xff0c;把沙子&#xff08;非零空间&#xff09;给过滤出来&#xff0c;然后就是下一个阶段的处理。
  • 2&#xff09;重复数据删除&#xff1a;在第二阶段&#xff0c;对于输入的数据会判断是不是冗余数据&#xff08;在写入之前就判断&#xff09;&#xff0c;这个部分的数据通过UDS内核模块来判断&#xff08;Universal Deduplication Service&#xff09;&#xff0c;被判断为重复数据的部分不会被写入&#xff0c;然后对元数据进行更新&#xff0c;直接指向原始已经存储的数据块即可。
  • 3&#xff09;压缩&#xff1a;一旦消零和重删完成&#xff0c;LZ4压缩会对每个单独的数据块进行处理&#xff0c;然后压缩好的数据块会以固定大小4KB的数据块存储在介质上&#xff0c;由于一个物理块可以包含很多的压缩块&#xff0c;这个也可以加速读取的性能。

vdo基本操作&#xff1a;


  • vdo  create  --name&#61;VDO卷名称 --device&#61;设备路径 --vdoLogicalSize&#61;逻辑大小
  • vdo  list
  • vdo  status  -n VDO卷名称
  • vdostats  [--human-readable]  [/dev/mapper/VDO卷名称]
  • vdo  remove  -n VDO卷名称

yum -y install vdo //装包
systemctl restart vdo //启动服务&#xff0c;并设置开机自启
找到vdc磁盘&#xff08;此盘之前不能有配置&#xff09;
man vdo //搜索 /example &#xff0c;在例子中查找相关配置命令
vdo create --name&#61;vdo0 --device&#61;/dev/sdb1 --vdoLogicalSize&#61;10T //然后按要求稍作修改&#xff0c;name是vdo卷的名称&#xff0c;device是使用哪个物理磁盘&#xff0c;最后是定义虚拟磁盘大小
#格式化
mkfs.xfs -K /dev/mapper/myvdo // &#96;-K可以加快速度&#96;
#设置/etc/fstab文件&#xff0c;并且使用mount -a检测
/dev/mapper/myvdo /vblock xfs _netdev 0 0 // &#96;_netdev的作用是等待网络相关程序启动后再执行挂载任务&#xff0c;通常网络启动之后vdo服务也就起来了&#xff0c;就可以挂载了&#96;

交换分区

相当于win的虚拟内存&#xff0c;在物理内存不足时借用硬盘空间,硬盘中预先划分一定的空间&#xff0c;然后将把内存中暂时不常 用的数据临时存放到硬盘中&#xff0c;以便腾出物理内存空间让更活跃的程序服务来使用的技术&#xff0c;其设计目的是为了解决真实物理内存不足的问题。
但由于交换分区毕竟是通过硬盘设备读写数据的&#xff0c; 速度肯定要比物理内存慢&#xff0c;所以只有当真实的物理内存耗尽后才会调用交换分区的资源.

交换分区&#xff1a;虚拟内存&#xff0c;一般设置成物理内存的1~2倍&#xff0c;<16G

  • 格式化交换分区

swapon -s //查询交换分区状态&#xff0c;通常有可能会存在个默认的交换分区&#xff0c;不能删除
先用fdisk /dev/vdb //再创建一个512M的分区比如创建了vdb3
mkswap /dev/vdb3 //格式化交换分区
vim /etc/fstab //修改开机挂载磁盘的文件
/dev/vdb3 swap swap defaults 0 0
swapon -a //测试上述文件是否修改正确
swapon -s //再次查看会多出swap分区

  • 启用/停止控制&#xff1a;

swapon 设备路径swapoff 设备路径

  • 查看交换分区使用情况&#xff1a;

swapon -sfree
五&#xff0c;文件系统的挂载方式

1&#xff09;手动挂载&#xff1a;

mount 设备路径 挂载点目录

2&#xff09;开机自动挂载&#xff1a;


  • 修改 /etc/fstab 配置文件

  • 设备路径 挂载点目录 文件系统类型 defaults,_netdev 0 0

3&#xff09;半自动挂载&#xff08;已经配置好/etc/fstab&#xff09;&#xff1a;


  • mount 设备路径
  • mount 挂载点目录

4&#xff09;触发挂载&#xff08;按需自动挂载&#xff09;&#xff1a;autofs服务


  1. 软件包/系统服务&#xff1a;autofs nfs-utils
  2. 主配置&#xff1a;/etc/auto.master  
    1. 目标文件夹监控策略配置文件
  3. 监控策略配置&#xff1a;/etc/*
    1. 子目录名 -挂载选项:设备路径
    2. 子目录名 -挂载选项NFS服务器地址:共享目录绝对路径

通过部署autofs服务&#xff0c;可以代替管理员按需、自动完成以下任务&#xff1a;

  • 1&#xff09;当有用户需要使用 /rhome/ 目录下的 ldapuser0 子目录时&#xff0c;提前创建此目录&#xff0c;并将服务器上的 :/rhome/ldapuser0 挂载到本机的 /rhome/ldapuser0
  • 2&#xff09;当用户不再使用 /rhome/ 目录下的 ldapuser0 子目录时&#xff0c;自动卸载此目录上已挂载的资源&#xff0c;并删除此目录

5&#xff09;Demo

showmount -e server1
yum -y install autofs nfs-utils 安装所需软件包
vim /etc/auto.master 修改主配置文件
/rhome /etc/rhome.rule 在第一行添加&#xff0c;/rhome是在本地什么位置作为远程资源的挂载目录&#xff0c;/etc/rhome.rule是远程资源配置文件所在路径&#xff0c;可以自定义
vim /etc/rhome.rule 修改上一步定义的远程资源配置文件&#xff0c;添加以下内容&#xff1a;
ldapuser0 -fstype&#61;nfs 172.25.0.254:/rhome/ldapuser0 定义账户、文件系统类型、远程资源路径
systemctl restart autofs 重启服务
ls /rhome 查看原本没有的/rhome目录&#xff0c;发现已经自动生成
ls rhome/ldapuser0 再查看里面的内容&#xff0c;报权限错误 &#xff0c;正常&#xff0c;已经激活自动挂载
ls /rhome 再次查看目录&#xff0c;已经看到远程资源&#xff0c;成功

六&#xff0c;实战

调整逻辑卷大小&#xff1a;


将逻辑卷 vo 及其文件系统大小调整到 300MiB。确保文件系统内容保持不变。

[root&#64;blue ~]# lvscan //找出要扩展的逻辑卷
[root&#64;blue ~]# lvextend -L 300MiB /dev/test/vo //扩展逻辑卷
[root&#64;blue ~]# blkid /dev/test/vo //检查文件系统格式
[root&#64;blue ~]# xfs_growfs 逻辑卷对应的挂载点 //适用于 XFS 文件系统 或者
[root&#64;blue ~]# resize2fs 逻辑卷对应的挂载点 //适用于 EXT2/3/4 文件系统

分区添加交换分区&#xff1a;


为你的系统额外添加一个 512MiB 的交换分区&#xff0c;此交换分区应在系统启动时自动挂载&#xff0c;不要删 除或以任何方式改动系统上原有的交换分区。

[root&#64;blue ~]# fdisk /dev/vdb //修改磁盘 vdb
.. ..
Command (m for help): n //添加新分区
Partition number (2-128, default 2): //直接回车&#xff08;默认&#xff09;
First sector (4194304-20971486, default 4194304): //直接回车&#xff08;默认&#xff09;
Last sector, *sectors or &#43;size{K,M,G,T,P} (4194304-20971486,default 20971486): &#43;512M
Created a new partition 2 of type &#39;Linux filesystem&#39; and of size 512 MiB.
Command (m for help): w //保存分区表&#xff0c;并退出
The partition table has been altered.
Syncing disks.
[root&#64;blue ~]# partprobe /dev/vdb //刷新分区表
[root&#64;blue ~]# mkswap /dev/vdb2 //格式化自建分区 vdb2
[root&#64;blue ~]# vim /etc/fstab
/dev/vdb2 swap swap defaults 0 0
[root&#64;blue ~]# swapon -a //启用 fstab 中的交换设备
[root&#64;blue ~]# swapon -s //查看交换分区信息

分区创建卷组逻辑卷&#xff1a;


根据以下要求&#xff0c;创建新的逻辑卷&#xff1a;

  • 1&#xff09;逻辑卷的名字为 mylv&#xff0c;属于 myvg 卷组&#xff0c;大小为 50 个扩展单元
  • 2&#xff09;卷组 myvg 中的逻辑卷的扩展块大小应当为 16MiB
  • 3&#xff09;使用 vfat 文件系统将逻辑卷 mylv 格式化
  • 4&#xff09;此逻辑卷应当在系统启动时自动挂载到/mnt/mydata 目录下

[root&#64;blue ~]# fdisk /dev/vdb //修改磁盘 vdb
.. ..
Command (m for help): n //添加新分区
Partition number (3-128, default 3): //直接回车&#xff08;默认&#xff09;
First sector (5242880-20971486, default 5242880): //直接回车&#xff08;默认&#xff09;
Last sector, *sectors or &#43;size{K,M,G,T,P} (5242880-20971486,default 20971486): &#43;1000M
Created a new partition 3 of type &#39;Linux filesystem&#39; and of size 1000 MiB.
Command (m for help): w //保存分区表&#xff0c;并退出
The partition table has been altered.
Syncing disks.
[root&#64;blue ~]# partprobe /dev/vdb //刷新分区表
[root&#64;blue ~]# vgcreate -s 16MiB myvg /dev/vdb3 //建卷组&#xff08;使用分区 vdb3&#xff09;
[root&#64;blue ~]# lvcreate -l 50 -n mylv myvg //建逻辑卷
[root&#64;blue ~]# mkfs.vfat /dev/myvg/mylv //格式化
[root&#64;blue ~]# mkdir /mnt/mydata //创建挂载点目录
[root&#64;blue ~]# vim /etc/fstab //设置开机挂载
/dev/myvg/mylv /mnt/mydata vfat defaults 0 0
[root&#64;blue ~]# mount -a //启用&测试开机挂载

使用vdo创建 VDO 卷


根据如下要求&#xff0c;创建新的 VDO 卷&#xff1a;

  • 1&#xff09;使用未分区的磁盘&#xff08;/dev/vdc&#xff09;
  • 2&#xff09;此 VDO 卷的名称为 myvdo
  • 3&#xff09;此 VDO 卷的逻辑大小为 50G
  • 4&#xff09;此 VDO 卷使用 xfs 文件系统格式化
  • 5&#xff09;此 VDO 卷在系统启动时自动挂载到/vblock 目录下

[root&#64;blue ~]# yum install vdo //装包
[root&#64;blue ~]# systemctl enable --now vdo //起服务
[root&#64;blue ~]# vdo create --name&#61;myvdo --device&#61;/dev/vdc --vdoLogicalSize&#61;50G//新建 VDO 卷
[root&#64;blue ~]# mkfs.xfs -K /dev/mapper/myvdo //格式化
//或者 mkfs.ext4 -E nodiscard ...
[root&#64;blue ~]# mkdir /vblock //创建挂载点目录
[root&#64;blue ~]# vim /etc/fstab
/dev/mapper/myvdo /vblock xfs _netdev 0 0
[root&#64;blue ~]# mount -a //启用&测试开机挂载


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了如何使用MATLAB调用摄像头进行人脸检测和识别。首先需要安装扩展工具,并下载安装OS Generic Video Interface。然后使用MATLAB的机器视觉工具箱中的VJ算法进行人脸检测,可以直接调用CascadeObjectDetector函数进行检测。同时还介绍了如何调用摄像头进行人脸识别,并对每一帧图像进行识别。最后,给出了一些相关的参考资料和实例。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
author-avatar
星夜幂语_525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有