磁盘配额(Quota)
针对于Linux系统主机的Quota
分三种
- 限制某一群组的最大磁盘限额
- 限制某一用户的最大磁盘限额
-
Quota的一些限制
EXT文件系统中仅能针对整个系统进行限制,不能做到针对目录的磁盘限额,而XFS已经可以使用Project模式来设计不同的磁盘限额
- Linux核心必须支持Quota
- 对Root无法限额
-
Quota的一些规范和注意
Quota既然作为磁盘管理,那么当然能控制inode和block的容量
限制inode,限制用户的文件数量
-
soft和hard
磁盘限额分为两个限额值:
hard:此为不能超过的限定值,若超过了则会锁住磁盘的使用权
soft:此为警告值,超过这个值后会获得一个宽恕时间,若在宽恕时间内将磁盘容量降于soft之下,宽恕时间清零,若在宽恕时间内还不下降,则锁住磁盘使用权
磁盘列阵RAID(Redundant Arrays of Inexpensive Disks)
RAID-0(stripe,等量模式,性能最佳,有损坏风险)
例如有两块磁盘,当数据传送时,数据被等量分隔,然后不同磁盘同时存储该数据,一般越多磁盘组成RAID,速度就越快,因为每个磁盘负责的工作降低了,且尽量保持每个磁盘的容量相同(木桶短板效应),若RAID-0上任意一个磁盘损坏,可能导致文件整体的损坏- RAID-1(mirror,映像模式,容量减半,有备份)
让同一份数据,备份在两个磁头上。这样容量几乎减少了一半 - RAID 1+0
以上两种模式的综合:先将两组磁盘组成RAID-1,再将两组组成RAID-0,这样当数据写入时,将数据分开,流入2个(或多个)RAID-0,在RAID-0中是两组磁盘组成的RAID-1 RAID 5(兼顾性能和安全)
RAID 5至少三颗以上的磁盘才能组成这种类型的磁盘列阵,当磁盘每次被记录时还会在每个磁盘中加入同位检查元素(Parity),这样的做法,会当一个磁盘出现损坏时,可以借其他两个磁盘的同位检查元素来恢复损坏磁盘,但是会使磁盘总容量减一,并且RAID5不支持2个或两个以上磁盘的损坏。此外RAID 6使用两个磁盘的容量来作为同位检查元素(Parity),这样在损坏两个磁盘的情况下仍然能恢复
software RAID、hardware RAID
hardware RAID:是指通过硬件的方式,有专门的芯片来处理RAID任务,不会耗费系统的I/O总线,但价格偏贵
software RAID:是指通过软件的方式来实现RAID,这样会消耗一些系统计算资源
LVM (Logic Volume Manager)
即可弹性的改变filesystem的容量,具体方法为将多个实体的partition整合为一个磁盘,并且还可以自定义的新增和移除新的partition到该磁盘。
LVM实现原理大概为,将不同的partition通过软件合并为一个VG,将VG经过分区后得到不同的LV,而实现filesystem的增大缩小的原理主要依靠PE:Physical Volume:PV(实体滚动条):
LVM最底层,与系统的硬件相关:partition(或disk)的systemID转化为LVM的8e,再经过pvcreate命令转化为PV- Volume Group:VG(滚动条群组):
LVM中逻辑容量最大的。 - Physical Extend:PE(实体范围块):
为LVM中最小的存储,预设为4MB大小。文件读写都是由PE处理的 - Logic Volume:LV(逻辑滚动条):
在VG中可以再分为LV,LV的大小与其有多少PE有关,而实现filesystem的容量可变主要是依靠交换PE来实现的,将其他的LV中的PE转移到其他LV以降低其容量,其他LV容量则会增加。
实际流程:
数据通过LV写入磁盘的方式有两种: