任务一 配置用户基本磁盘配额限制
【任务说明】
配额允许您控制用户或者组织的磁盘使用。它能防止个体用户和组织使用文件系统中超过自己所允许的部分,避免造成系统完全拥堵。磁盘配额限制了一个项目所能使用的空间大小,配额必须由root用户或者有root权限的用户启用和管理。
公司现有用户名为yhy的邮件用户,经常会上传大量的邮件附件,占用服务器的硬盘资源,他的邮件存放路径为/mail目录,挂载的分区为/dev/sdb1(分区总大小为10G),现在需要限制yhy用户磁盘的最大使用量为10M,超过7M警告,10M以后就不能再在/mail中存储数据。
【任务实施】
第1步:确认quota软件包的安装情况
通过以下命令,确认quota软件包的安装情况,并列表查看quota软件包安装的磁盘配额管理程序。
【rpm -qa|grep quota 】确认软件安装
【rpm –ql quota|grep sbin】列表查看安装的磁盘配额管理程序
通过查询,CentOS6.x在系统安装时默认已经安装。
第2步:创建测试用户yhy
【useradd yhy 】创建测试用户
【passwd yhy 】 为用户设置密码
第3步:创建文件夹,并设置权限
创建/mail目录,修改/mail目录的权限为777,便于验证用户yhy的配额。
【mkdir /mail 】创建挂载磁盘的文件夹挂载点
【chmod 777 /mail】修改文件夹权限
第4步:磁盘分区,格式化
(1)添加一块新的硬盘,通过命令【fdisk –l /dev/sdb】 查看磁盘情况,可以看到sdb的信息,如图9-1所示。
(2)磁盘分区:使用【fdisk /dev/sdb】给磁盘分区,详细过程如图9-2所示。
【n】代表新建分区(new),【p】表示新建主分区(primary),【1】代表分区编号,【+10G】表示新建磁盘空间的大小为10G,【w】表示写入配置并退出(write)。
(3)使用【mkfs.ext4 /dev/sdb1】命令格式化磁盘分区。
第5步:挂载/dev/sdb1到/mail目录
【mount –o usrquota /dev/sdb1 /mail】挂载磁盘,挂载时必须带用户配额属性“–o usrquota”。
【tail /etc/mtab】查看系统挂载的分区,如图9-3所示。
第6步:设置开机后自动挂载/dev/sdb1分区到/mail目录
(1)如果要让系统启动的时候就自动挂载/dev/sdb1分区到/mail目录,需要编辑/etc/fstab文件。
使用【vim /etc/fstab】命令打开/etc/fstab文件并在/etc/fstab文件中添加如图9-4所示的最后一行。
在/etc/fstab文件添加的一行中,参数usrquota表示增加用户配额属性,参数grpquota表示增加组配额属性。
(2)重新挂载/dev/sdb1到/mail目录
【mount –o remount /dev/sdb1】重新挂载
【mount】查看挂载分区情况
第7步:检测配额并生成配额文件
通过如下命令生成配额属性文件:
【quotacheck –ugcv /dev/sdb1】检测配额并生成配额文件
【ls –l /mail/】查看并确认/mail文件系统中的用户配额文件,组配额文件。可以看到在/mail/文件夹下会自动生成aquota.group与aquota.user两个配置文件。
备注:在上面的命令中带有-ugcv参数,这些参数的具体含义如下:
-u检测用户配额信息
-g检测组配额信息
-c创建新的配额文件
-v显示命令执行过程中的细节信息
第8步:编辑用户yhy的配额
【setquota –u yhy 7000 10000 0 0 /dev/sdb1】配置yhy用户的磁盘配额,
【edquota –u yhy】查看或修改配置文件,如图9-5所示。
以上文件的参数具体释义如下:
第一列Filesystem为要处理的分区;
第二列blocks为硬盘的当前blocks状态,不能改变(硬盘存储文件要写入block,同时占用一个inode),单位为K;
第三列soft为软限制,当所占空间大小超过这个值时就会报警,单位为KB;
第四列hard为硬限制,要比soft的值大,单位同为KB;
第五列及后面的两列是对inode数目就行限制的,单位为个数
图9-5所示设置的软限制为7M,硬限制为10M。
第9步:激活配额
配置完磁盘配额后,还需要启动该功能:
【quotaon /dev/sdb1】激活磁盘配额功能
第10步:验证配额
(1)创建文件,把文件所有权给用户:
【mkdir /mail/quotayhy】创建文件夹
【chown yhy /sdb1/quotayhy】(修改文件夹的拥有者)
(2)切换用户,查看结果
【su – yhy】 切换到用户,以yhy用户身份登录
【cd /mail/quotayhy/】进入配额磁盘
使用【quota】命令查看配额使用情况,其结果如图9-6所示。
在图9-6所示的截图中,显示用了4个块1个文件,Quotayhy 这1个文件本身占用了 4个块。
(3)建几个文件,看一下具体的情况。
使用【dd if=/dev/zero of=fileyhy2 bs=1k count=1024 】命令建立一个文件名为yhyfile每块大小为bs=100K块数count=200的20M大文件,命令运行结果如图9-7所示。
通过图9-7所示的结果,命令要求建立20M的大空文件,结果提示超出磁盘配额限制,只能建10M就不能再增大了,最终的文件大小如图9-8所示。
(4)再加一个1k*200的文件,
使用【dd if=/dev/zero of=fileyhy2 bs=1k count=200】命令再建立一个1k*200的空文件,命令运行结果如图9-9所示。
使用【ll】命令查看文件大小:发现文件大小为0k。如图9-10所示。
第11步:关闭磁盘配额
在root权限下,退出目录磁盘配额所在的分区,使用【quotaoff /dev/sdb1】命令关闭磁盘配额。使用【rm /etc/mtab】命令删除配置文件,以及删除/etc/fstab 里面最后一行的相关配置。
任务二 配置配额samba文件服务器
【任务说明】
公司多个部门,有时候同一个部门要占用同一个共享硬盘空间,而文件服务器的空间是有限的,为了限制一个部门过多的占用共享空间而让其他部门的文件无法存放,就要给共享硬盘做一个配额,规定某一个部门最多占用一定的空间。
文件系统是在CentOS6.5的Linux系统上,为了能让windows机器也能访问到,所以要采用samba文件系统。现企业需要限制市场部的用户使用服务器的磁盘空间大小,设置用户yhy最大使用量为100M,超过70M警告。
【任务实施】
第1步:查询quota安装包
【 rpm -qa | grep quota】
第2步:重新设置/etc/fstab挂载选项,并重启来完成挂载
修改/etc/fstab开机自动挂载文件,设置配额【usrquoata,grpquota】挂载选项,如图9-11所示。
【reboot】重新启动系统来完成自动挂载
【mount】重启后查看磁盘挂载情况,详细情况如图9-12所示。
第3步:创建测试用户或组,给此用户或组做磁盘限定
【useradd yhy】 创建用户
【passwd yhy】 为用户创建密码
第4步:建立配额文件,分别对用户和用户组
【quotacheck -cmug /】命令,系统会自动在根目录下建立“aquota.group”以及“aquota.user”这两个配额配置文件。
第5步:给用户yhy添加配额
【edquota -u yhy】 (-u参数为配置用户,如果为给组配置,参数为-g),编辑配额文件,具体内容如图9-12所示。
以上文件的参数具体释义如下:
第一列Filesystem为要处理的分区;
第二列blocks为硬盘的当前blocks状态,不能改变(硬盘存储文件要写入block,同时占用一个inode),单位为K;
第三列soft为软限制,当所占空间大小超过这个值时就会报警,单位为KB;
第四列hard为硬限制,要比soft的值大,单位同为KB;
第五列及后面的两列是对inode数目就行限制的,单位为个数
图9-12所示设置的软限制为70M,硬限制为100M。
第6步:启动配额项
运行【quotaon –avug】命令,启动磁盘配额功能,显示如图9-13所示的提示,证明磁盘配额启动成功。
第7步:修改配额项
磁盘配额项的修改必须首先使用【quotaoff –a】命令停止配额功能,然后再修改配置文件,最后再使用【quotaon –avug】命令启动配额功能,使修改生效。
第8步:配额测试
磁盘配额有没有成功,可以通过dd命令建立大文件的方式进行测试:
【 su - yhy】切换用户
【dd if=/dev/zero of=yhy1 bs=1M count=20】 建立一个20M的大文件yhy1
【dd if=/dev/zero of=yhy2 bs=1M count=20】 建立一个20M的大文件yhy2
【dd if=/dev/zero of=yhy3 bs=1M count=20】 建立一个20M的大文件yhy3
【dd if=/dev/zero of=yhy4 bs=1M count=20】 建立一个20M的大文件yhy4
当建立第4个文件时,达到80M,超过70M,系统给出警告提示“dm-0: warning, user block quota exceeded”, 如图9-14所示。
如图9-14所示,当用户达到70M时,系统会发出警告信息;再次使用命令【#dd if=/dev/zero of=yhy5 bs=1M count=50】建立一个50M的大文件yhy5,系统会提示超过磁盘配额限制,如图9-15所示。
如图9-16所示,第5个文件yhy5的最终大小只有18M,由于磁盘配额限制,并没有达到50M。还可以通过盘【du -sh】命令查看用户使用的磁盘空间。
单用户的硬盘配额配置成功,下面的步骤将与samba文件服务器结合配置用户组的配额。
第9步:安装samba包
挂载光盘,配置yum源文件,使用如下命令安装samba软件包:
【yum install –y samba*】
第10步:配置samba文档
主要配置为以下的选项:
【vim /etc/samba/smb.conf】 主配置文件如下:
第11步:创建/disk目录,并设置所属用户与组
【mkdir /disk】创建挂载点
【chown yhy.yhy /disk】改变文件夹所有者以及所属组
【chmod 700 /disk】改变文件夹权限
第12步:创建samba用户
创建samba用户,前提是系统的用户,记得加-a(newuser)参数,
【smbpasswd -a yhy】
第13步:重启smb
修改samba的配置文件后,需要重新启动smb服务,使之生效:
【service smb restart】
第14步:测试
在一台与此smb机器能连通的机器上映射此samba文件系统
发现此分区的可用空间为100M
第15步:配置企业quota的group限定
事实在实际工作中,不会单独的给某一个用户进行限定,而是给一个组。比如一个部门,每人都有自己的用户名,同时能访问到属于这个部门的共享空间。只要把这些用户名同属于一个组,然后对这个组就行限定就可以了。
(1)建立组与用户
【groupadd markets】建立市场部所在的组markets
【useradd -g markets mk1】建立所属markets组下的用户mk1
【useradd -g markets mk2】建立所属markets组下的用户mk2
【useradd -g markets mk3】建立所属markets组下的用户mk3
(2)设定quota
使用【edquota -g markets】命令编辑用户组markets的配额文件,内容如图9-16所示。
先使用【quotaoff –a】命令关闭磁盘配额功能,然后再使用命令【quotaon –avug】开启磁盘配额。
(3)设定samba用户
【smbpasswd -a mk1】设置mk1用户的samba访问密码,并使能mk1用户具有samba访问权限
【smbpasswd -a mk2】设置mk2用户的samba访问密码,并使能mk2用户具有samba访问权限
【smbpasswd -a mk3】设置mk3用户的samba访问密码,并使能mk3用户具有samba访问权限
(4)配置smb.conf
使用【vim /etc/samba/smb.conf 】命令编辑samba主配置文件,
(5)改变共享目录所属组与权限
【chown .template /disk】更改/disk目录所属组为template,注意template前面的“.”点号【chmod 770 /disk】更改/disk目录的权限,所有者以及所属组拥有完全控制的权限
(6)重启samba,
【service smb restart】
进行测试,发现每个用户查看共享都为同样的空间100M。
(7)如果对组限定后,并对属于此组的某个用户也进行了限定,但是限定空间大小不同,经过测试,系统将采用最小化原则,设置最小的生效
任务三 配置系统用户的磁盘空间限制
【任务说明】
Linux系统是一个多任务多用户的操作系统,一般情况下,Linux的每个用户都有一个自己的家目录,每个用户的家目录用户本身都具有读写的权限权限,如果管理员不对用户的家目录进行磁盘限制的话,用户就有可能会将硬盘塞满,这是任何一个管理员都不希望看到这种事情,本任务将采用用quota来实现对系统用户使用磁盘空间的限制。
【任务实施】
第1步:明白quota概念与分区
quota是针对分区的,所以在前面安装Linux的时候单独分成一个/home区。
第2步:文件与权限
而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件:
【cd /home】进入/home目录
【touch quota.user】建立用户配额文件
【touch quota.group】建立用户组配额文件
【chmod 600 quota.user】修改用户配额文件的权限,只允许root对这个文件进行读写操作
【chmod 600 quota.group】修改用户组配额文件的权限,只允许root对这个文件进行读写操作
第3步:quota启动脚本
在/etc/rc.d/rc.local文件尾部加入quota启动脚本,内容如下:
第4步:修改/etc/fstab文件
修改/etc/fstab文件中定义/home分区的那一行:
原内容: /dev/hda3 /home ext3 defaults 1 2
新内容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
只是在defaults后面加了usrquota,grpquota而已。
备注:是usrquota而不是userquota,若是错了,系统将启动不起来。
第5步:重启服务器
【reboot】
在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,会报错,但是没关系,后面会解决它。
第6步:生成配额文件
使用root身份登录然后使用如下的命令生成aquota.user和aquota.group两个配额文件:
【convertquota -u /home】在/home目录下生成aquota.user配额文件
【convertquota –g /home】在/home目录下生成aquota.group配额文件
若以上步骤不出错的话,我们用ls /home –al就会看到aquota.user,aquota.group两个文件了
第7步:再此重启服务器
注意观察,系统将不会再报错。进入系统后就可以对用户home目录进行限制了。比如现在有一个yhy用户,我们对他进行限制:
【edquota –u yhy 】此命令将进入一个vim编辑模式,其内容如图9-17所示。
【edquota -u yhy】 (-u参数为配置用户,如果为给组配置,参数为-g)
图9-17 配额文件内容截图
我们要限制yhy用户使用空间100M,最多不能超过120M,文件总数为2000个,
最多不能超过2500个,设置如下:
备注:空间限制是以k为单位的。
第8步:测试
使用yhy用户,并进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了,证明磁盘配额成功。
第9步:其它命令的使用:
【edquota –p yhy –u user1 user2 user3 user4…】复制相同配置至其它用户
【quota –v username】显示某个用户当前磁盘使用情况
【repquota –a】显示所有用户当前磁盘使用情况
至此,本任务完成。
任务四 RAID 5 卷的配置与应用
【任务说明】
RAID全称Redundant Array of Inexpensive Disks,中文名为廉价磁盘冗余阵列。RAID可分为软RAID和硬RAID,软RAID是通过软件实现多块硬盘冗余的。而硬RAID是一般通过RAID卡来实现RAID的。前者配置简单,管理也比较灵活。对于中小企业来说不失为一最佳选择。硬RAID往往花费比较贵。不过,在性能方面具有一定优势。
RAID可分为以下几种,如表9-1所示。
表9-1RAID 种类与意义对照表
RAID 0 | 存取速度最快,没有容错功能(带区卷) |
RAID 1 | 完全容错,成本高,硬盘使用率低(镜像卷) |
RAID 3 | 写入性能最好,没有多任务功能 |
RAID 4 | 具备多任务及容错功能 但奇偶检验磁盘驱动器会造成性能瓶颈 |
RAID 5 | 具备多任务及容错功能,写入时有额外开销overhead |
RAID 0+1 | 速度快、完全容错,成本高 |
为了保障公司数据的安全,公司为服务器新购置了5块硬盘,计划做成RAID5卷,硬盘编号分别为/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde,/dev/sdf。
【任务实施】
第1步:磁盘分区
使用【fdisk /dev/sdb】命令给磁盘分区,【n】新建分区,【p】主分区,【t】转换磁盘分区格式,【fd】 转换成raid卷格式,
第2步:创建raid卷
使用的命令【mdadm】创卷raid5卷,如果没有请先安装mdadm软件包,CentOS6.5的光盘中有!
具体的命令如下:
【mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]】
mdadm命令后面跟了很多参数,参数具体的释义如表9-2所示。
表9-2 mdadm命令参数对照表
--create | 表示要创建raid |
--auto=/yes /dev/md0 | 新建立的软件磁盘陈列设备为md0,md序号可以为0-9 |
--level=5 | 磁盘阵列的等级,这里是reid5 |
--raid-devices | 添加作为预备(spare)磁盘的块数 |
/dev/sd[b-f] | 磁盘阵列所使用的设备,还可以写成“/dev/sdb /dev/sdd /dev/sde /dev/sdf” |
该命令还可以缩写为:【mdadm –C /dev/md0 –l5 –n4 –x1 /dev/sd[b-f]】
第3步:查看raid卷
查看RAID是否成功的创建是否运行的正常,有两种方法
(1)查看详细信息:【mdadm --detail /dev/md0 】命令查看RAID的详细信息,如图
使用【cat /proc/mdstat】命令可以较为简单的查看到RAID运行的情况,如图9-19所示。
第4步:格式化并且挂载和使用创建的RAID
使用如下的命令格式化并且挂载和使用创建的RAID
【mkfs.ext3 /dev/md0】格式化 raid5磁盘为 mkfs.ext3
【mkdir /mnt/raid5】在/mnt下创建/raid5 文件夹,用于挂载md0的
【mount /dev/md0 /mnt/raid5】将md0 挂载到raid5上去
使用【df –hT】命令查看挂载情况,如图9-20所示。
第5步:设置开机自动启动RAID
让RAID开机启动, RIAD配置文件名字为mdadm.conf , 这个文件默认是不存在的,要自己建立。该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理。
【mdadm --detail --scan > /etc/mdadm.conf】建立/etc/mdadm.conf 文件
然后对此文件进行修改【vim /etc/mdadm.conf】,将spares=1去掉,如图9-21所示。
备注:mdadm.conf文件主要由以下部分组成:
DEVICES选项制定组成RAID所有设备,
ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号。
第6步:设置开机自动挂载
修改文件/etc/fstab文件,使用【 vim /etc/fstab】命令在该文件的最后行加上如下一行:
第7步:模拟RAID5中的磁盘损坏,验证spare磁盘的功能
在RAID5中允许一块磁盘的损坏,也就是我们设置的spare磁盘会立即替换坏掉的磁盘进行raid的重建,保障数据的安全性:下面的操作我们将模拟一块磁盘损坏后,spare盘接替坏盘工作的过程。
【mdadm --manage /dev/md0 --fail /dev/sdd】使用此命令设置sdd成为出错的状态
然后再来查看一下md0的信息:【mdadm –-detail /dev/md0】 ,如图9-22所示。
图9-22 查看raid5磁盘详细信息截图
【cat /proc/mdstat】查看RAID的简单情况,如图9-23所示。
图9-23查看RAID的简单情况图
创建完成也就是说明raid5 已经自动的恢复了!
查看一下raid5是不是可以正常使用!
向里面写写数据。
将出错的磁盘移除并加入新的磁盘做备用的spare磁盘,先是删除损坏的磁盘sdd:
【mdadm --manage /dev/md0 --remove /dev/sdd】将坏掉的磁盘sdd从raid中除
再添加一块新的作为spare磁盘:
【mdadm --manage /dev/md0 --add /dev/sdg】添加新的磁盘作sdg
现在再看一下磁盘信息情况:【mdadm --detail /dev/md0】,如图9-24所示。
图9-24查看raid5磁盘详细信息截图
第8步:关闭RAID
直接卸载/dev/md0,并且注释掉/etc/fstab文件中的配置。
【umount /dev/md0】解除挂接
【vi /etc/fstab】将fstab里面的开机自动挂载注释掉,即最后所在行前面加“#”号: