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

云计算学习笔记——逻辑卷管理、进程管理、用户提权RAID篇

《云计算学习日记Day13》—— 从零开始的云计算之旅
今天是系统学习云计算的第十三天,记录了关于我的云计算学习,后续将每日更新我的笔记。欢迎大家一起来学习,如果内容有遗漏和错误,还请大家多多指正和包涵,谢谢大家

这篇是真的长,内容不多,但是要写的,要说的是真的不少,累死我了。要是有不懂的地方,可以随时私信我  :>

逻辑卷管理

新建逻辑卷

LVM工作方式

在“分区- →格式化”中间增加一个逻辑层

逻辑卷作用:

1.整合分散的空间;2.空间支持扩大

LVM管理工具集

逻辑卷的制作过程

将众多物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)

功能物理卷管理卷组管理逻辑卷管理
Scan扫描pvsvgslvs
Create创建pvcreatevgcreatelvcreate
Display显示pvdisplayvgdisplaylvdisplay
Remove删除pvremovevgremovelvremove
Extend扩展/vgextendlvextend

LVM快速部署及使用

基本思路:

  • 先对实验空间进行划分,准备至少一个空闲分区
  • 创建物理卷:pvcreate 空闲分区…
  • 创建卷组:vgcreate 卷组名 空闲分区…
  • 创建逻辑卷:lvcreate -L 大小 -n 名称 卷组名

首先利用fdisk划分GPT分区模式,划分5个10G分区

然后再创建物理卷

#将/dev/sdb1和/dev/sdb2同时设置为物理卷
[root@bogon ~]# pvcreate /dev/sdb[1-2]Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdb2" successfully created.

之后再创建卷组,创建卷组可以基于前面的物理卷创建,也可以对设备直接创建,系统会自动完成创建物理卷的步骤

①基于已创建的物理卷创建卷组

#查看已有的物理卷
[root@bogon ~]# pvsPV         VG       Fmt  Attr PSize   PFree /dev/sda2  rl_bogon lvm2 a--  <79.00g     0 /dev/sdb1           lvm2 ---   10.00g 10.00g/dev/sdb2           lvm2 ---   10.00g 10.00g#根据已有的物理卷创建卷组
[root@bogon ~]# vgcreate myvg /dev/sdb{1,2}Volume group "myvg" successfully created#查看卷组
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize    VFree myvg       2   0   0 wz--n-  19.99g  19.99grl_bogon   1   3   0 wz--n- <79.00g     0 

②直接创建卷组

#直接创建卷组,系统会帮我们自动创建物理卷
[root@bogon ~]# vgcreate myvg2 /dev/sdb[3-4]Physical volume "/dev/sdb3" successfully created.Physical volume "/dev/sdb4" successfully created.Volume group "myvg2" successfully created#查看物理卷
[root@bogon ~]# pvsPV         VG       Fmt  Attr PSize   PFree  /dev/sda2  rl_bogon lvm2 a--  <79.00g      0 /dev/sdb1  myvg     lvm2 a--  <10.00g <10.00g/dev/sdb2  myvg     lvm2 a--  <10.00g <10.00g/dev/sdb3  myvg2    lvm2 a--  <10.00g <10.00g/dev/sdb4  myvg2    lvm2 a--  <10.00g <10.00g#查看卷组
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg       2   0   0 wz--n-  19.99g 19.99gmyvg2      2   0   0 wz--n-  19.99g 19.99grl_bogon   1   3   0 wz--n- <79.00g     0 

③对卷组进行重命名:vgrename 原名字 改后名字

#将前面创建的卷组myvg改名为myvg1
[root@bogon ~]# vgrename myvg myvg1Volume group "myvg" successfully renamed to "myvg1"
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      2   0   0 wz--n-  19.99g 19.99gmyvg2      2   0   0 wz--n-  19.99g 19.99grl_bogon   1   3   0 wz--n- <79.00g     0 

其次再创建逻辑卷


#创建逻辑卷
[root@bogon ~]# lvcreate -L 5G -n mylv myvg1Logical volume "mylv" created.#查看卷组,可以看到myvg1里面的LV从0变成了1
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      2   1   0 wz--n-  19.99g 14.99gmyvg2      2   0   0 wz--n-  19.99g 19.99grl_bogon   1   3   0 wz--n- <79.00g     0 #查看逻辑卷,逻辑卷mylv成功创建
[root@bogon ~]# lvsLV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv myvg1    -wi-a-----   5.00g                                                    home rl_bogon -wi-ao----  24.94g                                                    root rl_bogon -wi-ao---- <51.09g                      swap rl_bogon -wi-ao----   2.96g

最后创建完逻辑卷后我们需要使用逻辑卷

①格式化文件系统

[root@bogon ~]# mkfs.xfs /dev/myvg1/mylv
meta-data=/dev/myvg1/mylv        isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
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=16384, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@bogon ~]# blkid /dev/myvg1/mylv
/dev/myvg1/mylv: UUID="1ace36da-2bbf-4cd4-bcf3-180741d2d46c" TYPE="xfs"

②挂载:将逻辑卷/dev/myvg1/mylv挂载到/mylv

[root@bogon ~]# vim /etc/fstab
[root@bogon ~]# mkdir /mylv
[root@bogon ~]# mount -a
mount: (hint) your fstab has been modified, but systemd still usesthe old version; use 'systemctl daemon-reload' to reload.
[root@bogon ~]# systemctl daemon-reload 
[root@bogon ~]# df -h | grep /mylv
/dev/mapper/myvg1-mylv     5.0G   68M  4.9G    2% /mylv
[root@bogon ~]# tail -1 /etc/fstab 
/dev/myvg1/mylv			/mylv		xfs	defaults	0 0

最最最最最后,使用,存放数据

#将数据存放进去
[root@bogon ~]# cp -r /root /boot /mylv
[root@bogon ~]# ls /mylv
boot  root#然后再查看逻辑卷的使用情况
[root@bogon ~]# df -h /mylv
文件系统                容量  已用  可用 已用% 挂载点
/dev/mapper/myvg1-mylv  5.0G  514M  4.5G   11% /mylv

扩展逻辑卷大小

要求:卷组有足够的剩余空间

我们想要扩展逻辑卷,就需要保证有剩余的卷组空间让我们来扩展,所以我们需要事先检查卷组的空间和逻辑卷的空间

检查现有逻辑卷大小

[root@bogon ~]# df -h /mylv
文件系统                容量  已用  可用 已用% 挂载点
/dev/mapper/myvg1-mylv  5.0G  514M  4.5G   11% /mylv

扩展卷组

我们再来检查一下卷组的空间

[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      2   1   0 wz--n-  19.99g 14.99gmyvg2      2   0   0 wz--n-  19.99g 19.99grl_bogon   1   3   0 wz--n- <79.00g     0 

上面我们还检查了逻辑卷的空间大小,对比不难发现,我们的卷组的剩余空间是足够的,但是总会有不足的情况出现,假如剩余空间不足,那我们就需要对卷组的空间进行扩展,也就是扩展卷组

#首先查看卷组
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      2   1   0 wz--n-  19.99g 14.99gmyvg2      2   0   0 wz--n-  19.99g 19.99grl_bogon   1   3   0 wz--n- <79.00g     0 #因为上面我们把/dev/sdb3和/dev/sdb4加入了卷组myvg2,所以这里我们把它删除一下,重新扩展进卷组myvg1
[root@bogon ~]# vgremove myvg2Volume group "myvg2" successfully removed#检查一遍删除是否成功
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      2   1   0 wz--n-  19.99g 14.99grl_bogon   1   3   0 wz--n- <79.00g     0 #进行扩展操作
[root@bogon ~]# vgextend myvg1 /dev/sdb[3-4]Volume group "myvg1" successfully extended#最后检查一遍卷组扩展是否成功
[root@bogon ~]# vgsVG       #PV #LV #SN Attr   VSize   VFree myvg1      4   1   0 wz--n-  39.98g 34.98grl_bogon   1   3   0 wz--n- <79.00g     0 

扩展逻辑卷

好,现在我们有足够剩余空间的卷组,接下来进行扩展逻辑卷操作

#首先输入命令扩展逻辑卷mylv从5G到10G
[root@bogon ~]# lvextend -L 10G /dev/myvg1/mylvSize of logical volume myvg1/mylv changed from 5.00 GiB (1280 extents) to 10.00 GiB (2560 extents).Logical volume myvg1/mylv successfully resized.#完成后查看逻辑卷,发现逻辑卷大小从5G增加到了10G
[root@bogon ~]# lvsLV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv myvg1    -wi-ao----  10.00g                                                    home rl_bogon -wi-ao----  24.94g                                                    root rl_bogon -wi-ao---- <51.09g                                                    swap rl_bogon -wi-ao----   2.96g                                                    #查看挂载情况
[root@bogon ~]# df -h /mylv
文件系统                容量  已用  可用 已用% 挂载点
/dev/mapper/myvg1-mylv  5.0G  513M  4.5G   11% /mylv

这里就出现新的问题了,上面结果显示:逻辑卷的大小成功增加,但是实际挂载的大小并没有发生改变

这是因为我们在使用逻辑卷之前,对逻辑卷进行了格式化,最初我们使用的5G的逻辑卷定义了文件系统,但是扩展的5G并没有进行格式化,所以我们需要刷新文件系统

更新文件系统大小

对于格式化过的逻辑卷,扩容后应该通知Linux内核,否则,使用df等工具时看到的仍是旧大小

命令:resize2fs → ext3/4设备 或者 xfs_growfs → xfs设备

[root@bogon ~]# xfs_growfs /dev/myvg1/mylv
meta-data=/dev/mapper/myvg1-mylv isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
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=16384, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1310720 to 2621440
[root@bogon ~]# lvsLV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv myvg1    -wi-ao----  10.00g                                                    home rl_bogon -wi-ao----  24.94g                                                    root rl_bogon -wi-ao---- <51.09g                                                    swap rl_bogon -wi-ao----   2.96g                                                    
[root@bogon ~]# df -h /mylv
文件系统                容量  已用  可用 已用% 挂载点
/dev/mapper/myvg1-mylv   10G  549M  9.5G    6% /mylv

LVM卷组的PE大小

命令:vgdisplay 卷组名

作用:查看卷组详细信息

命令:vgchange -s 大小 卷组名

作用:修改某个卷组的PE大小

命令:vgcreate -s 大小 卷组名 空闲分区

作用:在创建卷组时设置PE大小

命令:lvcreate -l PE个数 -n 逻辑卷名 卷组名

作用:在创建逻辑卷的时候用PE个数来确定逻辑卷大小

这是一个需要补充的地方,我们来看下边的情况

[root@bogon ~]# lvcreate -L 10M -n mylv_1 myvg1Rounding up size to full physical extent 12.00 MiBLogical volume "mylv_1" created.
[root@bogon ~]# lvcreate -L 20M -n mylv_2 myvg1Logical volume "mylv_2" created.
[root@bogon ~]# lvsLV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv   myvg1    -wi-ao----  10.00g                                                    mylv_1 myvg1    -wi-a-----  12.00m                                                    mylv_2 myvg1    -wi-a-----  20.00m                                                    home   rl_bogon -wi-ao----  24.94g                                                    root   rl_bogon -wi-ao---- <51.09g                                                    swap   rl_bogon -wi-ao----   2.96g 

这里我们又创建了两个逻辑卷他们分别是大小10M的mylv_1和大小20M的mylv_2

但是我们输入命令lvs查看逻辑卷时,他们的大小显示为12M和20M,和我们设置的不同,这是为什么呢?

来解释一下,这里需要引入一个新的概念:卷组的PE大小

卷组划分空间的单位是PE,默认大小是4M,在创建一个新的逻辑卷的时候,如果设置的逻辑卷的大小不能整除4M,那么它会自动向上补充,使大小可以整除4M,就像我们创建的10M的mylv_1一样,卷组不会拆开2M来,只能向上分,所以mylv_1的大小就变为了12M。而mylv_2创建时设置的大小为20M,可以整除4M,因此它没有变化

我们可以修改PE大小,但需要保证现有的所有的逻辑卷大小都可以整除PE的大小

首先,我们先来查看一下卷组的关于PE的详细信息

#vgdisplay 是查看vg的详细信息,这里我们输出myvg1中关于PE的信息
[root@bogon ~]# vgdisplay myvg1 | grep PEPE Size               4.00 MiBTotal PE              10236Alloc PE / Size       2568 / 10.03 GiBFree  PE / Size       7668 / 29.95 GiB

很明显,这里PE默认大小为4M

之后,我们来修改PE大小

[root@bogon ~]# vgchange -s 1M myvg1Volume group "myvg1" successfully changed.
[root@bogon ~]# vgdisplay myvg1 | grep PEPE Size               1.00 MiBTotal PE              40944Alloc PE / Size       10272 / 10.03 GiBFree  PE / Size       30672 / 29.95 GiB

执行完命令后,PE的大小成功修改

然后我们来测试一下,在创建一个逻辑卷mylv_3

[root@bogon ~]# lvcreate -L 10M -n mylv_3 myvg1Logical volume "mylv_3" created.
[root@bogon ~]# lvsLV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv   myvg1    -wi-ao----  10.00g                                                    mylv_1 myvg1    -wi-a-----  12.00m                                                    mylv_2 myvg1    -wi-a-----  20.00m                                                    mylv_3 myvg1    -wi-a-----  10.00m                                                    home   rl_bogon -wi-ao----  24.94g                                                    root   rl_bogon -wi-ao---- <51.09g                                                    swap   rl_bogon -wi-ao----   2.96g  

好,现在来看逻辑卷mylv_3,他的大小就成功变创建为10M了

最后我们在创建卷组的时候设置PE大小,并且在创建逻辑卷的时候使用PE个数来定义逻辑卷大小


#首先在创建卷组的时候就定义PE大小
[root@bogon ~]# vgcreate -s 2M myvg2 /dev/sdb5Physical volume "/dev/sdb5" successfully created.Volume group "myvg2" successfully created#查看卷组信息检查验证一下
[root@bogon ~]# vgdisplay myvg2 | grep PEPE Size               2.00 MiBTotal PE              5119Alloc PE / Size       0 / 0   Free  PE / Size       5119 / <10.00 GiB#创建逻辑卷,并且使用PE个数来定义逻辑卷大小
[root@bogon ~]# lvcreate -l 50 -n mylv_4 myvg2Logical volume "mylv_4" created.#查看逻辑卷信息,验证检查逻辑卷mylv_4大小
[root@bogon ~]# lvsLV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertmylv   myvg1    -wi-ao----  10.00g                                                    mylv_1 myvg1    -wi-a-----  12.00m                                                    mylv_2 myvg1    -wi-a-----  20.00m                                                    mylv_3 myvg1    -wi-a-----  10.00m                                                    mylv_4 myvg2    -wi-a----- 100.00m                                                    home   rl_bogon -wi-ao----  24.94g                                                    root   rl_bogon -wi-ao---- <51.09g                                                    swap   rl_bogon -wi-ao----   2.96g       

物理卷、卷组、逻辑卷的删除

  • 物理卷删除
    • 命令:pvremove 磁盘分区地址
  • 卷组删除
    • 前提:基于此卷组创建的所有逻辑卷,都要全部删除
    • 命令:vgremove 卷组名称
  • 逻辑卷删除
    • 前提:不能删除正在挂载使用的逻辑卷
    • 命令:lvremove 逻辑卷所在地址

进程管理

补知识

程序:静态的没执行的代码,一般存放在硬盘

进程:动态的正在执行的代码,一般存放在CPU与内存

PID:进程的编号

查看进程

查看进程树

命令:pstree——Processes Tree

格式:pstree [选项] [PID或用户名]

常用命令选项

  • -a:显示完整的命令行
  • -p:列出对应PID编号

注意:systemd的PID永远都是1,他是所有进程的父进程(上帝进程)

查看进程快照

命令:ps——Processes Snapshot

格式:ps [选项]…..

常用命令选项

  • -aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)——列出正在运行的所有程序,显示进程信息非常详细
  • -elf:显示系统内所有进程(e)、以长格式输出(l)、信息、包括最完整的进程信息(f)——列出正在运行的所有进程,显示进程父进程信息

僵尸进程:当父进程正在运行时,子进程自己执行结束,但是子进程没有释放占用的资源,那么该子进程就是僵尸进程

ps aux操作→状态是Z就是僵尸进程

孤儿进程:没有父进程

进程动态排名

命令:top

格式:top [-d 刷新秒数] [-u 用户名]

进入排名之后:按大写的P进行CPU排序,按大写的M进行内存排序

检索进程

命令:pgrep

格式:pgrep [选项] 查询条件

常用命令选项:

  • -l:输出进程名,而不仅仅是PID
  • -u:检索指定用户的进程
  • -x:精确匹配完整的进程名
#查询关于systemd的进程
[root@bogon ~]# pgrep systemd
1
752
771
970
1800#添加选项-l,在PID的基础上还加上了进程名字,我们可以发现但凡名字里面有查询条件的进程都会被列出来
[root@bogon ~]# pgrep -l systemd
1 systemd
752 systemd-journal
771 systemd-udevd
970 systemd-logind
1800 systemd#添加选项-x后,就变为了精确查找
[root@bogon ~]# pgrep -lx systemd
1 systemd
1800 systemd

控制进程

进程的前后台调度

  • 前台启动
    • 输入正常命令行,运行期间占用当前终端
  • 后台启动
    • 在命令行末尾添加“&”符号,不占用当前终端
  • 其他相关命令和快捷键
    • Ctrl + z:挂起当前进程(暂停并转入后台)
    • Ctrl + c:终止
    • jobs命令:查看后台任务列表
    • fg命令:将后台任务恢复到前台运行
    • bg命令:激活后台被挂起的命令

下面我来用一个简单的例子来展示

#首先开始一个sleep 2000的任务,添加&挂入后台运行
[root@bogon ~]# sleep 2000 &
[1] 3320#因为sleep命令被挂在后台运行,所以不占用当前终端,我们用命令jobs来查看后台任务
[root@bogon ~]# jobs#结果显示sleep任务被挂在这里,状态也是运行中
[1]+  运行中               sleep 2000 &#使用命令fg把后台任务恢复到前台运行
[root@bogon ~]# fg
sleep 2000#恢复到前台运行之后,占用这个终端,我们无法正常输入命令
#这里使用快捷键Ctrl + z挂起当前进程,将其暂停并转入后台
^Z
[1]+  已停止               sleep 2000#我们再一次使用命令jobs来查看后台任务列表
[root@bogon ~]# jobs#显示sleep任务已停止
[1]+  已停止               sleep 2000#然后使用命令bg激活后台暂停的命令
[root@bogon ~]# bg
[1]+ sleep 2000 &#再次查看后台任务列表信息
[root@bogon ~]# jobs#sleep进程又再一次被激活
[1]+  运行中               sleep 2000 &#使用命令fg从后台调到当前终端
[root@bogon ~]# fg
sleep 2000#使用快捷键Ctrl + c来终止
^C#最后查看后台任务列表,为空
[root@bogon ~]# jobs
[root@bogon ~]# 

杀死进程

干掉进程的不同办法

  • Ctrl + c
  • killall [-9] 进程名…
  • kill [-9] PID
  • kill [-9] %后台任务编号
  • pkill [-9] 查找条件(只要包含就算)

用户提权

sudo提升执行权限

什么是sudo提权

**作用:**让普通用户以root的身份运行某些操作

Super or another Do,超级执行

  • 管理员预先为用户设置执行许可
  • 被授权的用户有权执行授权的命令,验证自己的口令

sudo提权的基本用法

命令格式:

sudo 特权命令

sudo [-u 目标用户] 特权命令

配置sudo授权

  • 修改方法
    • visudo
    • vim /etc/sudoers

sudo操作示例

查看自己的sudo授权

sudo操作示例

思路:先添加新用户,使用sudo,查看结果,然后更改配置,再使用sudo,查看结果

[root@bogon ~]# useradd user1
[root@bogon ~]# echo 123 | passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@bogon ~]# su - user1
[user1@bogon ~]$ ls /root
ls: 无法打开目录 '/root': 权限不够
[user1@bogon ~]$ sudo ls /root我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:#1) 尊重别人的隐私。#2) 输入前要先考虑(后果和风险)。#3) 权力越大,责任越大。[sudo] user1 的密码:
user1 不在 sudoers 文件中。此事将被报告。

然后对配置文件进行更改,配置sudo授权

格式:普通用户 主机=(变成的身份) 可以执行的命令程序

[root@bogon ~]# vim /etc/sudoers#在配置文件当中添加user1  ALL=(ALL) ALL
[root@bogon ~]# grep ALL= /etc/sudoers
root	ALL=(ALL) 	ALL
user1	ALL=(ALL)	ALL

配置完后再进行sudo的使用

[root@bogon ~]# su - user1
[user1@bogon ~]$ ls /root
ls: 无法打开目录 '/root': 权限不够
[user1@bogon ~]$ sudo ls /root
[sudo] user1 的密码:
公共  视频  文档  音乐	anaconda-ks.cfg  myrpm.tar.gz
模板  图片  下载  桌面	cdb		 niu

最终也是成功实现了sudo提权

当然也可以对组进行提权,主要的区别就是配置文件中的内容不同:

格式:%组名 主机名称=(变成的身份) 可以执行的命令→就是再组名前加%

分析sudo提权的使用情况

sudo别名设置

主要用途:

提高可重用性、易读性

简化配置、使记录更有条理

使用:visudo

RAID磁盘阵列

RAID陈列概述

廉价冗余磁盘阵列

  • Redundant Arrays of Inexepensive Disks
  • 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
  • 陈列的价值:提示IN/OUT效率、硬件级别的数据冗余
  • 不同的RAID级别的功能、特性各不相同

RAID0/1/10/01

RAID 0

  • 条带模式
  • 同一个文档分散存放在不同的磁盘
  • 并行写入以提高效率

RAID 1

  • 镜像模式
  • 一个文档复制成多份,分别写入不同的磁盘
  • 多份拷贝提高可靠性,效率无提升

RAID 01 和 RAID 10

  • 整合RAID0、RAID1的优势
  • 并行存取提高效率、镜像写入提高可靠性

RAID5/6

RAID 5

  • 高性价比模式
  • 相当于RAID 0和RAID 1的折中方案
  • 需要至少一块磁盘的容量来存放校验数据

RAID 6

  • 高性价比/可靠模式
  • 相当于扩展的RAID 5阵列,提供两份独立校验方案
  • 至少需要两块磁盘的容量来存放校验数据

RAID各级别特点对比

对比项RAID 0RAID 1RAID 10/01RAID 5RAID 6
磁盘数量≥2≥2≥4≥3≥4
存储利用率100%≤50%≤50%n-1/nn-2/n
校验盘12
容错性
IO性能较高较高

RAID阵列实现方式

  • 硬RAID:由RAID控制卡管理阵列
    • 主板→阵列卡→磁盘→操作系统→数据
  • 软RAID:由操作系统来管理阵列
    • 主板→磁盘→操作系统→RAID软件→数据

http://www.xdnf.cn/news/18976.html

相关文章:

  • 利用亮数据MCP服务器构建个性化学习情报官智能体
  • 第三章 Vue3 + Three.js 实战:用 OrbitControls 实现相机交互与 3D 立方体展示
  • 《应用密码学》——基础知识及协议结构模块(笔记)
  • 第2.1节:AI大模型之GPT系列(GPT-3、GPT-4、GPT-5)
  • 箭头函数和普通函数的区别
  • websocket的应用
  • 【物联网】什么是 DHT11(数字温湿度传感器)?
  • 为什么不能创建泛型数组?
  • 【计算机408计算机网络】第三章:自底向上五层模型之数据链路层
  • 轮廓周长,面积,外界圆,外界矩形近似轮廓和模板匹配和argparse模块实现代码参数的动态配置
  • STL 深度解析之vector【C++每日一学】
  • AI接管浏览器:Anthropic发布Claude for Chrome,是效率革命还是安全噩梦?
  • 科技大会用了煽情BGM
  • Linux网络基础1(一)之计算机网络背景
  • 解密 Vue 3 shallowRef:浅层响应式 vs 深度响应式的性能对决
  • 答案引擎优化(AEO)制胜策略:抢占AI Overviews流量红利
  • 【基于hyperledger fabric的教育证书管理系统】
  • Maven安装、IDEA集成Maven、依赖管理、单元测试
  • Pinterest自动化 “Pin“得高效
  • Oracle SQL 性能调优的基石:深入解读与驾驭执行计划
  • SpringMVC相关梳理
  • 使用 Wheel Variants 简化 CUDA 加速 Python 安装和打包工作流
  • PyTorch 机器学习基础(选择合适优化器)
  • MTK Linux DRM分析(二十四)- MTK mtk_drm_plane.c
  • 如何为在线医疗问诊小程序实现音视频通话功能?
  • uniapp跨平台开发---uni.request返回int数字过长精度丢失
  • OpsManage:基于Django的企业级AWS云资源运维管理平台
  • 绿幕电商直播为什么要用专业抠图软件.
  • React 状态丢失:组件 key 用错引发的渲染异常
  • 【Linux系统】线程控制