当前位置: 首页 >> Linux >> 【linux】Raid和LVM及磁盘配额配置和管理 >> 正文

【linux】Raid和LVM及磁盘配额配置和管理

9年前 (2015-11-10)     作者:Jiaozn     分类:Linux     阅读次数:4097     评论(0)    
1. 传统磁盘管理问题
当分区大小不够用时无法扩展其大小,只能通过添加硬盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原来磁盘中的数据导入。


2. LVM
LVM(Logical Volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。


PE(Physical Extend)     PV(Physical Volume)    VG(Volume Group)    LV(Logical Volume)
1. 物理磁盘被格式化为PV,空间被分为一个个PE
2. 不同的PV加入同一个VG,不同PV的PE全部进入VG的PE池内
3. LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘
4. LV现在就直接可以格式化,然后挂载就能使用了
5. LV的扩充缩减实际上就是增加或减少组成LV的PE数量,其过程不丢失原始数据
6. 每个PE默认是4MB大小


当有新硬盘加入时,如下图


3. 创建LVM


4. 查看命令


5. 逻辑卷的拉伸


6. 拉伸卷组


7. 缩小逻辑卷
缩小可能会损坏原来的数据,所以尽量别做缩小逻辑卷


8.缩小卷组


9. RAID


9.1 RAID0


9.2 RAID1


9.3 RAID5


9.4 RAID6


10. RAID实现

11. Linux上创建RAID


12. 查看RAID


13. 创建各种RAID


14. 关闭RAID


磁盘配额,就是妥善的分配系统资源

quota比较常用的情况

针对wwwserver例如:每个人的网页空间的容量限制

针对mailserver例如:每个人的邮件空间限制

针对fileserver例如:每个人最大的可用网络磁盘空间


quota的使用限制

仅针对整个文件系统:如果你的/dev/sda5是挂载在/home底下,那么在/home底下的所在目录都会受到限制

核心必须支持quota:也就是说linux核心必须支持quota这个功能才行,而由旧版本的quota可以籍由convertquota这个程序来转换

成新帮本的aquota的

只针对一般身份使用者有效:例如root就不能设定quota,因为整个系统的数据几乎都是他的

所以不能针对【某个目录】来进行quota的设计,但可以针对【某个文件系统】来设定,


quota的规范设定项目:quota针对整个文件系统的限制项目主要分为底下几个部分‘

1可以管理inode(档案数量)和block的数量(管理用户磁盘容量的限制)

2柔性劝导与硬性规定(soft/hard),通常hard限制要比soft高,若限制项目为block,可以限制hard为500MBytes而soft为400MByte


hard代表硬性规定,绝对不允许超个的限制值,如若超过则系统会锁住该用户的磁盘使用权

soft代表软性规定,如果超过了软性的限制,但是低于硬性的限制,每次用户登录系统时,系统会主动发出磁盘即将爆满

的警告信息,且会给予一个宽限时间,不过,若使用者在宽限时间倒数期间将容量再次降低与soft限制之下,则宽限时间会停止

3会倒数计时的宽限时间这个宽限时间用于磁盘用量在soft到hard之间时,才会出现,soft就是为了提醒用户注意这个磁盘配额的问题

一般宽限时间为7天,如果7天内你都不进行任何磁盘管理,那么soft限制值会即可取代hard限制来作为quota的限制,此时

你的磁盘使用权就会被封锁住而无法新增档案了


一个quota实例

有五个账户,且每个用户的初始群组都是myquotagrp,其他的帐号属性则使用默认值,每个用户能够使用300MBytes的磁盘使用量(hard)

250MBytes的磁盘使用量(soft),群组限制,针对myquotagrp这个群组最多仅能使用1GByte的容量,这个时候就会使群组的设定和用户的

设定产生一定的问题,最后那个宽限时间为14天

在操作之前,先得查看一下,/home是否是一个独立的filesystem

df-h/home,接着查看文件系统的类型,由于VFAT文件系统并不支持LinuxQuota的功能,使用mount|grephome来查看/home的文件系统类型

接下来可以使用如下的方法加入quota的支持mount-oremount,usrquota,grpquota/home,接着再执行mount|grephome就可以看到这个文件系统上

已经加入usrquota,grpquota的支持到你所想要设定的系统中了,另外使用者与群组的quota文件系统支持的参数为:usrquotagrpquota

若希望下次开机的时候自动的挂载该文件系统,可以直接修改/etc/fstabLABEL=/home/homeext3defaults,usrquota,grpquota12

mount-a的意思是将fstab中的文件系统重新的挂载

接着建立quota记录文件

使用quotacheck:扫描文件系统并建立Quota的记录文件


quotacheck[-avugfM][/mount_point]


选项和参数

-a:扫瞄所有在/etc/mtab内,含有quota支持的filesystem,加上此参数后,

-u:针对用户扫描档案与目录的使用情况,会建立aquota.user

-g:针对群组扫描档案与目录的使用情况,会建立aquota.group

-v:显示扫瞄过程的信息;

-f:强制扫瞄文件系统,幵写入新的quota配置文件(危险)

-M:强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。

quotacheck-avug仅针对整个系统含有usrquota,grpquota参数的文件系统进行quotacheck扫描


由于/home目录支持usrquota和grpquota,所以搜索结果会将两个记录文件放在/home底下,这两个档案就是quota最重要的信息


因为特殊需求需要强制扫瞄已挂载的文件系统时,使用quotacheck-avug-mf

这两个文件不是纯文本,是quota自己的数据文件,且该档案会一直变动,这个因为当你对/home这个文件系统进行操作时

你操作的结果会影响磁盘,所以当然会记载到这两个档案中的,所以要建立aquota.user和aquota.group记得使用quotacheck指令

不要手动编辑

制作好quota配置文件,接着要启动quota了,使用quotaon和quotaoff进行开启和关闭


启动quota的服务


-u:针对使用者启动quota(aquota.user)

-g:针对群组启动quota(aquota.group)

-v:显示启动过程的相关讯息;

-a:根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,则后面就需要加上特定的那个filesystem喔!

由于我们要启动usr/group的quota,所以执行quotaon-avug,由于只有在第一次启动quota时才需要进行这个命令,因此等到下次重启系统时

系统的/etc/rc.d/rc.sysinit这个初始化脚本就会自动的下达这个命令了,因此你只要在这次实例中进行一次即可,未来不需要自行启动quota的


quotaoff:关闭quota的朋务

-a:全部的filesystem的quota都关闭(根据/etc/mtab)

-u:仅针对后面接的那个/mount_point关闭userquota

-g:仅针对后面接的那个/mount_point关闭groupquota


edquota:编辑账号/群组的限值与宽限时间

edquota[-uusername][-ggroupname]-u进入quota的编辑页面去设定username的限制值

edquota-t<==修改宽限时间-g可以进入quota的编辑页面去设定groupname的限制值

edquota-p范本账号-u新账号将范本账号这个人的quota限制值复制给新帐号,进入quota的编辑页面去设定username的限制值

例如设定myquota1这个用户的限额设定执行命令edquota-umyquota1

画面中的第一行为说明针对哪个帐号进行quota的限制设定,第二行则是标头行,共分七个字段1,文件系统或分区


2磁盘容量(blocks)3soft磁盘容量(blocks)4hardblock的hard限制值5档案数量6inode的soft限制值7inode的hard限制值

当soft/hard为0时,表示没有限制的意思,

目前先设定号myquota1,接着执行edquota-pmyquota1-umyquota2赋给myquota2一直到myquota5就行了

接着再设定去组edquota-gmyquotagrp,最后edquota-t来将宽限时间改为14天

查看限制值的报表quota的报表主要有两种模式,一种是针对每个个人或群组quota指令,一个是针对整个文件系统的


repquota指令

先看quota:单一用户的quota报表


quota[-gvs][groupname]

选项和参数:

-u:后面可以接username,表示显示该用户的quota限制值,若不接username表示显示出执行者的quota的限制值

-g:后面可接groupname,表示显示出该群组的quota限制值。

-v:显示每个用户在filesystem的quota值;

-s:使用1024为倍数来指定单位,会显示如M之类的单位!

quota-uvsmyquota1myquota2的含义是显示这两个用户在所以文件系统中的quota值,大小以M为单位显示

显示出myquotagrp的群组限额

quota-gvsmyquotagrp显示这个群组在所有文件系统中的quota值,大小以M为单位显示

如果要针对整个filesystem列出报表时,那个可爱的repquota就派上用场啦!

repquota:针对文件系统的限额做报表

repquota-a[-vugs]

-a:直接到/etc/mtab搜寻具有quota标志的filesystem,并报告quota的结果;

-v:输出的数据将含有filesystem相关的细部信息;

-u:显示出用户的quota限值(这是默认值);

-g:显示出个别群组的quota限值。

-s:使用M,G为单位显示结果


查询本案例中所有使用者的quota限制情况:

执行repquota-auvs,查询出mtab中含有quota的文件系统的所有用户的限定值,输出的结果含有firstsystem相关的细部信息

并且以M,G为单位显示结果


quota的测试与管理

首先建置一个270MB的大档案,观察结果

ddif=/dev/zeroof=bigfilebs=1Mcount=250接着会看到警告warning的讯息

repquota-auv查看所有/etc/mtab文件系统中,用户的磁盘配额的使用情况,并且将文件系统的相关细部信息一并输出

此时看到grace出现,并且开始倒数了

此时再建立一个大档案,让总容量超过300M,接着看到的讯息不一样了,提示没有办法写入了,


du-sk查看果然到了极限了

如果在宽限时间归零之前不做任何处理,那么到归零之后通过repquota-au进行查看时,就会发现grace的部分变成none啦,不继续倒数了

有时候使用者不知道系统出了什么问题,最好寄一些警告信(email)给用户比较妥当,透过warnquota来处理即可


warnquota:对超过限额者发出警告信

这是根据/etc/warnquota.conf的设定,然后找出系统上面quota用量超过soft的账号,透过email的功能将警告信发送到用户的电子邮件信箱

warnquota不会自动执行,我们需要手动执行,单纯执行warnquota之后,他会发送两封信出去,一封给root


一封给这个使用者

执行warnquota可能不会产生任何讯息以及信件,因为只有当使用者quota有超过soft,warnquota才会发送警告信

信件内容中,包括标题、信息内容说明、签名文件等数据放在/etc/warnquota中,你也可以更改其中的内容

不过这个发送信件的方式并不适用在/var/spool/mail也爆掉的quota控管中,因为这个系统的容量已经爆掉了,那么


新的信件当然就收不下来的,我们需要让系统自动的执行warnquota

vi/etc/cron.daily/warnquota编辑每天的执行任务,让固定的时间去执行/usr/sbin/warnquota指令

chmod755/etc/cron.daily/warnquota

setquota:直接于指令中设定quota限额

如果你想要使用script的方法来建立大量的账号,并且所有的账号都在建立时就给予quota


可以有两个方法

1先建立一个原始quota使用edquota-pquota账号-unew账号,写入脚本中

2直接以setquota建立用户的quota设定值


不同于edquota是呼叫vi来进行设定,setquota直接由指令输入所必须要的各项限制值


命令结构:

setquota[-u|-g]名称block(soft)block(hard)inode(soft)inode(hard)

quota-uvmyquota5

setquota-umyquota510000020000000/home

quota-uvmyquota5


这样可以看到结果的改变

不更改既有系统的quota实例

例如设定邮件主机,原先没有规划将信箱所在的/var/spool/mail目录独立成一个parition,那么可以通过让

使用者的邮件信箱与家目录的总体磁盘使用量为固定,由于/home以及/var/spool/mail根本不在一个文件系统中

1.将/var/spool/mail这个目录完整的移懂到/home底下;

2.利用ln-s/home/mail/var/spool/mail来建立链接数据;

3.将/home进行quota限额设定

除非注明,发表在“Jiaozn的博客”的文章『【linux】Raid和LVM及磁盘配额配置和管理』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://www.jiaozn.com/reed/194.html
0

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信