高级文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级文件系统相关的知识,希望对你有一定的参考价值。

  这一节说高级文件系统不是很严谨,因为涉及到高级的磁盘阵列。有些数据特别重要需要高安全性的存储,有些时候需要高性能的磁盘以满足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更有优势,但是差不不是很大,这也不意味着一定要使用xfsxfs还有很多问题,redhat官方都说xfs是体验版。

二 RAID

  RAID有多个级别,每个级别都有其独特的特性,分别适用一些场景。

  RAID0它是把多个磁盘一起使用,比如(只是例子)有4个磁盘的raid0,它写100M的数据时是把这100M的数据分成1000小块,每个磁盘分别放250块,并且写数据的时候多个磁盘同时写数据,磁盘的性能得到4倍的提升。

  RAID1它是把一份数据存储到多个硬盘,这时存储一份数据的速度就取决于那个最慢的磁盘。

  RAID4它是把一个盘当作校验盘,举个例子有三块盘组成的RAID4,写50M数据把数据分成500块,有两块盘分别写250块,另一块盘,就是把前两块盘的数据按位异或后存储在磁盘中

  RAID5RAID 4的工作原理差不多,只不过是把异或的数据存储到存储到了每个磁盘里了。这样做主要是因为存储异或数据的那块特别容易坏。

  RAID10就是先对磁盘做RAID1,然后对两块RAID1磁盘做RAID0

  RAID0101

  RAID一般公司都是使用RAID卡实现的只有选好硬盘数和级别,数据就可自动实现了,实验环境购买RAID卡就有些昂贵了,这里使用软RAID简单实现。

     

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


三 lvm

       在生产环境中,因为前期规划数据没做好,有些数据增长过快导致磁盘被占满,传统的磁盘是不能拓展磁盘空间压缩磁盘空间的,这时引入了一个逻辑卷管理器lvmlvm首先把磁盘组织成以特定块大小的物理卷,然后把物理卷分组,最后在分组内创建一个个逻辑卷,逻辑卷就可以当磁盘使用了。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,这一块还由机房运维负责,了解它们的原理可以增加我们判断问题视角。


本文出自 “老王linux旅程” 博客,请务必保留此出处http://oldking.blog.51cto.com/10402759/1877991

以上是关于高级文件系统的主要内容,如果未能解决你的问题,请参考以下文章

jQuery高级Ajax

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

Java itext为pdf 文件添加水印核心功能代码片段

高级openg 混合,一个完整程序

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段