传输速度 Mb/8=MB
硬盘的接口:
IDE(ATA):133Mbps 并行总线
SATA:300Mbps,600Mbps,6Gbps 串行总线
USB:USB3.0:480Mbps 串行总线
SCSI:Small Computer System Interface转速比较块
UltraSCSI,320Mbps 并行总线
SAS: 串行2.5英寸,转速快,造价高
独立磁盘冗余阵列 (Redundant Array of Independent Disks, RAID) 是一种将多个磁盘驱动器组件(通常是多块硬盘或多个分区)组合为一个逻辑单元的存储技术。根据 RAID 的部署情况,这个逻辑单元可以是单个的文件系统,也可以是一个能在其上建立多个分区的透明中间层。根据所需的冗余量和性能要求,数据按照 #RAID 级别 中的某一种方式分布在驱动器中。所选的 RAID 级别决定了是否可以防止数据丢失(硬盘故障时)、是否提高性能或结合两者优势。
RAID级别:
级别 | 性能表现 | 冗余能力(容错能力) | 空间利用率 | 需要盘数 |
---|---|---|---|---|
0条带 | 读写性能提升几乎n倍 | 无 | ns(一块s) | 至少2块盘 |
1镜像 | 写下降,读提升 | 无 | 1/2 | 至少2块盘 |
5校验盘 | 读、写提升 | 有 | (n-1)/n | 至少需要3块 |
01(先条带后镜像) | 读、写提升 | 有 | 1/2 | 至少需要4块 |
10 | 读、写提升 | 有 | 1/2 | 至少需要4块 |
JBOD(将多个小盘组合成一个大盘) | 无提升 | 无 | 100% | 至少需要2块 |
50 | 读、写提升 | 有 | (n-2)/n | 至少需要6块 |
n指几块盘,s指每块盘大小,如果创建一个2G的RAID5:
注:n=3,s=1G
硬件RAID
软件RAID
保证内核支持软件RAID,内核中有一个设备多磁盘md(multi disk)模块,可以读取配置信息。
md模拟一个RAID,逻辑RAID:/dev/md #,#数字标识不同RAID设备,并不标识RAID级别。
在内核内部,由程序完成分配。再通过各自口存入自己的设备中/dev/sda,sdc。
内核可以识别的软RAID类型:fd类型。
模式化的命令:
创建模式 -C
专用选项:-l:级别
-n:设备个数
-a(yes|no):自动为其创建设备文件
-c:CHUNK大小,2^n,默认为64k
管理模式 --add,–del,–remove
模拟磁盘损坏的选项:
-f,–fail,–set-faulty
mdadm /dev/md # --fail /dev/sda7
监控模式 -F
查看RAID阵列的详细信息(例如显示所指定RAID的详细信息):
mdadm -D /dev/md1
将当前RAID信息保存至配置文件,以便以后进行装配
mdadm -D --scan > /etc/madam.conf
增长模式 -G
装配模式 -A 重新识别RAID并组合起来
4个512M分区或者2个1G分区(两块盘要一样)
#没有其他RAID设备的前提下的操作步骤
mdadm -C /dev/md0
#创建之前要指定在哪些设备上创建,于是要先创建分区
fdisk /dev/sda
n
+1G
t #调整分区
L
fd
w
#通知内核重读:
partprobe /sev/sda
#确保分区可以被识别
cat /proc/partitions
#创建设备为/dev/md0,自动创建设备文件,级别为0,共2个设备,分别是/dev/sda5和/dev/sda6
mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}
#当前设备下所有处于启用状态的RAID设备
cat /proc/mdstat
#任何一个设备要能启用则要先格式化,然后挂载
#格式化raid
mke2fs -j /dev/md0
mdadm -D /dev/md1
#挂载
mount /dev/md0 /mnt
ls /mnt
2个2G的分区
#前提sda7\sda8都是2G分区
mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sda7 /dev/sda8
cat /proc/mdstat
(镜像磁盘的特点必须将每个数据位一一同步,即修改任一磁盘数据位,另一个也会被修改.)
fdisk -l #查看设备
mke2fs -j /dev/md1
mount /dev/md1 /media/
#复制一个文件到/media下
cp /etc/inittab /media/
#在管理模式下模拟磁盘损坏
mdadm /dev/md1 -f /dev/sda8
#查看md1信息
mdadm --detail /dev/md1
#移除损坏盘
mdadm /dev/md1 -r /dev/sda8
#替换盘
mdadm /dev/md1 -a /dev/mda9(加入盘大小要与此前盘一致)
watch:周期性地执行指定命令,并以全屏方式显示结果。
-n #:指定周期长度,单位为秒,默认为2
格式: watch -n # ‘COMMAND’
RAID5只要有冗余都支持空闲盘
例如创建一个2G的RAID5:使用3个1G的。
一个空闲盘,则使用4个1G的。
条带的倍数:chunk/block
软RAID生成chunk的时候都要计算一下相当于多少个磁盘块
在格式化的时候指定条带的倍数,优化软RAID性能:
mke2fs -j -E stride=16 -b 4096 /dev/sd0
DM:Device Mapper逻辑设备
snapshot快照:访问文件的另一条路径
保存发生了改变的数据,主要作用是实现数据备份
逻辑卷底层可以是分区、磁盘或者硬件RAID,只要是块设备都可以。
PV物理卷
pvcreate,pvs,pvscan,pvmove(移动),pvremove(移除),pvdisplay(查看)
VG卷组
vgcreate,vgremove(覆盖里面的源数据),vgextend,vgreduce,vgs,vgdisplay,vgscan
vgcreate VG_NAME /PATH/TO/PV
-s #:PE大小,默认为4MBLV逻辑卷
lvcreate,lvremove,lvextend,lvreduce,lvs,lvdisplay
lvcreate -n LV_NAME -L #G VG_NAME
fdisk /dev/sda
10G,VG
n:7G+3G
t
L
8e
#查看p
partprobe /dev/sda
cat /proc/partitions
#fdisk命令只支持创建15个分区
pvcreate /dev/sda{10,11}
#查看当前系统PV
pvs
#详细信息
pvdisplay
#扫描当前pv
pvscan
vgs
vgcreate myvg /dev/sda{10,11}
vgremove myng
vgcreate -s 8M myvg/dev/sda{10,11}
vgdisplay myvg
#查看VG当中有多少个pv
pvs
#移除pv上的数据
pvmove /dev/sda11
#缩减vg大小(直接拿掉一个pv):
vgreduce
#把一个物理卷加入到此扩展卷组
vgextend myvg /dev/sda12
lvcreate -L 50M -n testlv myvg
lvdisplay /dev/myvg/testlv
mke2fs -j /dev/myvg/testlv
mount /dev/myvg/testlv/mnt
ls /mnt
ls /dev/mapper/
lvremove /dev/mapper/myvg-testlv
一、扩展逻辑卷
lvextend
-L [+]#
ext2扩展逻辑边界resize2fs
二、缩减逻辑卷
注意:1.不能在线缩减,得先卸载;
2.确保缩减后的空间大小依然能存储原有的所有数据;
3.在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态
df -lh
umount
e2fsck -f
resize2fs /PATH/TO/LV 5G
lvreduce -L [-] # /PATH/TO/LV
三、快照卷
1、生命周期为整个数据时长:在这段时长内,数据的增长量不能超出快照卷大小
2、快照卷应该是只读的
3、跟原卷在同一卷组内
lvcreate
-s
-p r|w
lvcreate -L # -n SLV_NAME -p r /PATH/TO/LV
lvcreate -L 50M -n testlv-snap -s -p r /dev/myvg/testlv
lvs
mount /dev/myvg/testlv-snap