linux 笔记--RAID,mdadm,LVM
RAID:控制器把一个接口分成多个接口并让这些设备成为一个整体,系统只是别为一个整体
储存器接口类型:IDE SATA USB SCSI SAS(串行口的SCSI)
RAID Leve:raid级别 :
o:条带化分割数据,一个文件同时分开存储在几块存储器上,效率很高
1:镜像,至少需要两块存储器,同时对两块存储器写入相同的文件,若一块损坏一块文件数据还可以继续使用
RAID4:至少需要三块存储器,其中一块作校验盘记录另外两块数据的和,若坏一块还可以,通过另外两块来计算出坏的那块数据
RAID5:RAID4的升级版,采用轮换校验盘,三块存储盘轮流作校验盘
RAID0+1:至少需要四块存储器,将存储器两部分1和2,再将数据同时写入1;2中,在1;2中各有两块存储器1中的分别对应2中的写入方式位置什么都一样,相当与1作为数据2作为备份
RAID1+0:至少需要四块存储器,将存储器同样分为两部分1;2,再将数据分成两部分写入1;2中,1;2中的两块存储器再将数据同时复制写入两块存储器中,相当于先把数据分开,再将分开的部分数据同时存储到两块存储器中,从而1;2中都有两份一模一样的部分数据
RAID0+1与RAID1+0对比:速度都差不多,但是错误修复速度RAID1+0比RAID0+1要快,因为RAID0+1修复时两组磁盘都要作比较才能恢复坏坏磁盘的数据,而RAID1+0则只需要从镜像盘恢复,不影响其他盘的数据但同组的磁盘不能同时损坏
jobd:将多个小盘叠加起来使用,但系统识别为一块,但是一块损坏,数据文件都不能使用,速度也没有提升
总:
0:读写性能提升,容错能力没有,空间利用:100%c (磁盘个数),至少两块磁盘
1:读性能提升写性能下降,容错能力有,允许损坏一块磁盘,空间利用率:1/2 c 至少两块磁盘
RAID5:读写提升,容错能力有,允许损坏一块磁盘,空间利用率;c-1/c 至少三块磁盘
RAID0+1:读写提升,容错能力有,允许损坏一块磁盘,空间利用率:1/2 c 至少四块磁盘
RAID1+0:读写提升,容错能力有,允许损坏一块磁盘,空间利用率:1/2 c至少四块磁盘
jbod:没有提升 没有容错能力 空间利用率:100% 至少两块磁盘
硬件RAID 软件RAID
软件RAID:
必须内核支持,内核模块:md :multi disks模拟一个RAID,最好不要使用,会增加cpu的负载,系统崩溃会造成数据丢失,而且也只有软RAID才能访问磁盘内容
mdadm:将任何块设备做成RAID,-D:显示指定设备的详细信息,查看RAID整列 模式化的命令 -n:设备个数 -l:级别 -c -a yes:自动为其创建设本文件 -C:指定CHINK(数据块)的大小 -X #:指定空间盘个数 创建模式:-C 管理模式:--del --add --fail 监控模式:-F 增长模式:-G 装配模式:-A
创建一个2G的RAID
fdisk /dev/sda1和2 t--fd
partprobe (检测)
cat /proc/partitions (检测)
mdadm -c /dev/md0 -a yes -l 0 -n 2 /dev/sda{1,2}
cat /proc/mdstat (显示当前系统正在启用的RAID设备)
模拟损坏:
管理模式:mdadm /dev/md0(RAID设备) --fail /dev/sda#(指定损坏的RAID设备的某个分区)
--remove :移除(也可以使用-r) --add 添加
mdadm /dev/md# -r /dev/sda2
mdadm /dev/md# -a /dev/sda3
2和3的分区大小文件系统类型必须一样
-D --scan:查看RAID设备文件 :mdadm -D --scan > /etc/mdadm,canf 就可以使用自动装配 mdadm -A /etc/md# :保存配置文件以便以后进行装配
停止整列:
mdadm -S (大写) /dev/md#
watch‘’:周期性执行指定命令并以全屏方式显示结果 -n #指定周期长度(单位s) 默认为2s
mdadm:用户空间工具,管理工具
MD:meta device
DM:device mapper 逻辑设备 将多个物理设备映射成逻辑设备 快照(数据备份) 多路经 动态扩展 逻辑卷可以建立在RAID上
pv:pvcreate(创建) pvremove(抹消元数据) pvmove(移动数据) pvs 查看pv pvdisplay 详细查看 pvscan 查看有多少个pv
vg:vgcrete vgmove vgextend vgredace vgs vgdispaly vgscan
vgcrete 卷名 (pv)路径 -s #(可以带单位):指定pe大小默认为4M
vgremove 移除vg vgextend vg名 pv名 :把一个pv扩展到卷
lv:lvcrate lvmove lvextend lvreduce lvsuze lvs lvdisplay
lvcrate -n name -L #G vgname
扩展逻辑卷
-L [+]# / / /(物理路进)
resuze2fs
resize2fs -p /// #
缩减
1.不能在线缩减,先卸载
2.确保缩减后的空间大小是否依然能存储原有的所有数据
3.在缩减之前应该强行检查文件,以确保文件系统处于一致性状态
resize2fs /// #
lvreduce -L # ///
强行检查:df -lh umount e2fsck -f
快照
1.生命周期为整个数据时长,这段时间内数据的增长不能超出快照卷的大小
2.快照卷应该是只读的
3.跟原卷在同一卷组内
lvcreate -L # -n slv_name -p r ///
备份快照数据(只能备份快照前的数据快照后若数据被修改过,是不会同步的)
卸载,删除快照
until
与while相反,条件为真,则退出循环,若条件为返回值就可以直接使用语句作为条件
until who | group “” &> /dev/null
for
for((expr1;expr2;expr3;expr4)) 如 ((c=3;c<=50;c+=2))
循环体
done
ping
-c 次数 -w 超时等待时间
本文出自 “笨鸟先辉” 博客,请务必保留此出处http://benniaoxianhui.blog.51cto.com/10463960/1679210