您的位置:首页 > 大数据 > 人工智能

高级文件系统

2016-11-30 08:47 65 查看
这一节说高级文件系统不是很严谨,因为涉及到高级的磁盘阵列。有些数据特别重要需要高安全性的存储,有些时候需要高性能的磁盘以满足I/O,有些时候需要实时拓展分区的大小,有时需要给一些用户限制配额,有时需要备份数据并且备份数据的时候还要提供服务。传统的文件系统完不成这个需求,这时需要引进更能加高级的文件系统lvm和高级的磁盘raid。同时高级文件系统和高级磁盘仅仅是高级不是更好,只是提供更多的特性供人们选择。

一 磁盘配额

服务器的每一点空间都很重要,服务器的硬盘称为存储,其存储数据的安全性比家用硬盘好很多,空间也小很多,珍惜每一块空间,我们要回到配给制,给每个用户指定一定的空间。目前可以做到的解决方案就有一个,给每个用户分配一个分区,这个方法显然会让磁盘利用率大大降低,每格式化一个分区就会浪费一块空间。
上述的解决方案完全不符合需求,这里引进磁盘配额quota,它的实现方法特别简单,需要在挂着的时候指定quota权限,然后创建quota数据库,就可以使用了。

一个实例:
挂载一个分区到test目录,test目录最好有777权限以便其它用户具有写权限。
mount-o usrquota,grpquota /dev/sdb1 /test
给sdb1创建quota数据库,使其可以使用quota特性。
quotacheck-cug /mnt/test
quota/mnt/test
更该tom用户的磁盘配额,若有多个分区就会有多条。
edquota tom
配置文件的格式
/dev/sdb1 tomused sorft hard inode sorft hard
分别是
分区 用户 tom 使用的空间 警告 限制大小 已建文件数 警告 限制数


xfs的磁盘配额管理工具不能使用quota,因为quota被内置了,使用xfs_quota配置管理。这里引入了一个话题,redhat为什么使用xfs替换了原本的ext4,主要是因为ext4使用的hash index tree元数据管理,在一个目录下文件超过200w后文件查找速度会大大降低,ext4最多管理是16TB的数据。xfs则可以管理高达8EB的数据,并且xfs使用的是B + tree管理数据,文件数多也不影响查询速度。读取少量文件的时候ext4更有优势,但是差不不是很大,这也不意味着一定要使用xfs,xfs还有很多问题,redhat官方都说xfs是体验版。

二 RAID

RAID有多个级别,每个级别都有其独特的特性,分别适用一些场景。
RAID0它是把多个磁盘一起使用,比如(只是例子)有4个磁盘的raid0,它写100M的数据时是把这100M的数据分成1000小块,每个磁盘分别放250块,并且写数据的时候多个磁盘同时写数据,磁盘的性能得到4倍的提升。
RAID1它是把一份数据存储到多个硬盘,这时存储一份数据的速度就取决于那个最慢的磁盘。
RAID4它是把一个盘当作校验盘,举个例子有三块盘组成的RAID4,写50M数据把数据分成500块,有两块盘分别写250块,另一块盘,就是把前两块盘的数据按位异或后存储在磁盘中
RAID5和RAID 4的工作原理差不多,只不过是把异或的数据存储到存储到了每个磁盘里了。这样做主要是因为存储异或数据的那块特别容易坏。
RAID10就是先对磁盘做RAID1,然后对两块RAID1磁盘做RAID0。
RAID01先0后1。
RAID一般公司都是使用RAID卡实现的只有选好硬盘数和级别,数据就可自动实现了,实验环境购买RAID卡就有些昂贵了,这里使用软RAID简单实现。

mdadm
-C                 创建模式
-n          使用几块磁盘
-l           RAID级别
-x          空闲磁盘
-a          自动创建磁盘
-G                修改模式
-r           删除
-a          添加
-f           标记为坏盘
-D                查看


三 lvm

在生产环境中,因为前期规划数据没做好,有些数据增长过快导致磁盘被占满,传统的磁盘是不能拓展磁盘空间压缩磁盘空间的,这时引入了一个逻辑卷管理器lvm,lvm首先把磁盘组织成以特定块大小的物理卷,然后把物理卷分组,最后在分组内创建一个个逻辑卷,逻辑卷就可以当磁盘使用了。lvm在生产中使用的不是很多,稍微做一下规划就可以解决,数据尽量多分一下目录,快慢之前增加磁盘就可以了,lvm有一个硬伤数据恢复是个老大难的问题。

1 物理卷操作

pvs                      显示物理卷信息
pvdisplay            以详细格式显示物理卷的信息
pvcreate                     创建物理卷
pvremove           删除物理卷


2 卷组

vgsvgdisplay     显示信息
vgcreate              创建卷组
vgmove               移动物理卷数据至卷组内其它物理卷
vgreduce             移除物理卷
vgremove           删除卷组
vgextend             添加物理卷


3 逻辑卷

lvslvdisplay        显示信息
lvcreate               逻辑卷创建
-l                  指定大小
-L                 指定数量
lvextend              扩充大小
lvreduce              减小
lvremove             删除
resize2fs             更改文件系统的大小


4 快照

lvcreate–l size –s –n name –p r device

总结

高级文件系统应用很少,最多使用的是RAID,这一块还由机房运维负责,了解它们的原理可以增加我们判断问题视角。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  raid lvm mdadm