云计算学习笔记——逻辑卷管理、进程管理、用户提权RAID篇
《云计算学习日记Day13》—— 从零开始的云计算之旅
今天是系统学习云计算的第十三天,记录了关于我的云计算学习,后续将每日更新我的笔记。欢迎大家一起来学习,如果内容有遗漏和错误,还请大家多多指正和包涵,谢谢大家
这篇是真的长,内容不多,但是要写的,要说的是真的不少,累死我了。要是有不懂的地方,可以随时私信我 :>
逻辑卷管理
新建逻辑卷
LVM工作方式
在“分区- →格式化”中间增加一个逻辑层
逻辑卷作用:
1.整合分散的空间;2.空间支持扩大
LVM管理工具集
逻辑卷的制作过程
将众多物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan扫描 | pvs | vgs | lvs |
Create创建 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | / | vgextend | lvextend |
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 0 | RAID 1 | RAID 10/01 | RAID 5 | RAID 6 |
---|---|---|---|---|---|
磁盘数量 | ≥2 | ≥2 | ≥4 | ≥3 | ≥4 |
存储利用率 | 100% | ≤50% | ≤50% | n-1/n | n-2/n |
校验盘 | 无 | 无 | 无 | 1 | 2 |
容错性 | 无 | 有 | 有 | 有 | 有 |
IO性能 | 高 | 低 | 中 | 较高 | 较高 |
RAID阵列实现方式
- 硬RAID:由RAID控制卡管理阵列
- 主板→阵列卡→磁盘→操作系统→数据
- 软RAID:由操作系统来管理阵列
- 主板→磁盘→操作系统→RAID软件→数据