提示用户,找到挂载在home目录的分区

2019-11-01 11:05 来源:未知

  linux的设计之处就是为了多用户同时执行不同的任务,但是硬件资源是有限的,不能让一个用户无限制的上传文件,如果不加以限制,那么磁盘最终将会被充满,对此我们应该使用uquota来加以限制。

1、 首先我们要了解磁盘配额的作用,以及什么是quota。

1.磁盘配额针对分区来设置,不论用户将数据放在这个分区的哪个目录下,都将受到磁盘配额的限制。

章节简述:

1.quota分类

磁盘配额可以简单的理解为就是有多少限额的意思,我们知道Linux系统是多人的环境,所以容易出现当多人使用一个硬盘的时候,假如某个人占用了大量的空间,那么造成其他的用户无法使用磁盘,因此我们作为root应该针对硬盘的使用,来对硬盘的使用者设置使用权限。我们可以简单的理解quota。
  www.2cto.com  

2.vim /etc/fstab

本章节从Linux系统的存储结构引入,讲述硬盘存储结构、硬件命名规则以及内核Udev设备管理器服务。

  1.1 软限制:当达到限制时,提示用户,但任然允许用户在限定的额度内使用磁盘

2、 Quota的主要用途:

找到挂载在home目录的分区,修改挂载参数为defaults,usrquota,grpquota

让读者理解文件系统的作用,能够区分ext3,ext4,xfs有何不同并学习将硬盘设备分区、格式化以及挂载等常用硬盘管理操作。

  1.2 硬限制: 当达到限制时,提示用户,强制终止用户的操作。

针对网站服务(www),IDC域名空间上一般会对网站空间做限制

mount -o remount /home #重新挂载/home目录

完整配置SWAP交换分区、quota服务限制磁盘配额、ln命令创建软/硬链接、RAID磁盘阵列(01510)、LVM逻辑卷管理器。

2.假设现在我们要对tom 这个用户对/boot目录的写入容量进行限制,具体:软限制:3M 硬限制:6M  ;创建的文件数量软限制:3个 硬限制 6个

针对企业邮箱,对每个用户邮箱使用可以做软硬限制

3.cd /home

本章目录结构

  2.1首先查看/boot是否开启quota

针对文件服务器,可以对每个用户来使用,ftp,nts等

quotacheck -cug /home #创建磁盘配额数据库

  • 6.1 一切从“/”开始
  • 6.2 物理设备的命名规则
  • 6.3 文件系统与数据资料
  • 6.4 挂载硬件设备
  • 6.5 添加硬盘设备
  • 6.6 添加交换分区
  • 6.7 磁盘容量配额
  • 6.8 虚拟文件系统
  • 6.9 软硬方式链接
mount |grep boot

我们需要注意的是我们可以针对用户和组设置最大软硬磁盘配额。  

4.quotaon /home #启用/home目录的磁盘配额功能

6.1 一切从“/”开始

这是一张在Windows™操作系统中文件的属性图,你能准确的找到它吗?

永利平台娱乐 1

要想找到这个镜像文件则需要依次进入“D盘”再进入“《Linux就该这么学》”目录中的“第一章”目录,但在类Unix系统中并不存在C/D/E/F盘符呦,一切的文件都是从“根(/)”目录开始的并按照文件系统目录标准FHS采用树形结构来存放文件并定义了每个区域的用途。

永利平台娱乐 2

目录名称严格的区分大小写,例如root、rOOt、Root、rooT等等均代表是不同的独立目录,并且名称中不得包含反斜杠(/)。

主要常见的目录定义:

编辑
目录名称 应放置文件的内容
/boot 开机所需文件——内核,开机菜单及所需配置文件等
/dev 任何设备与接口都以文件形式存放在此目录
/etc 配置文件
/home 用户主目录
/bin 单用户维护模式下还能够被操作的命令
/lib 开机时用到的函数库及/bin与/sbin下面命令要调用的函数
/sbin 开机过程中需要的
/media 一般挂载或删除的设备
/opt 放置第三方的软件
/root 系统管理员的主文件夹
/srv 一些网络服务的数据目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核,进程,外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin 非系统开机时需要的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件。
/var 主要存放经常变化的文件,如日志。
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

另外一个重要的概念“路径”,这个路径指的是如何找到某个文件,分为“绝对路径”与“相对路径”:

绝对路径(absolute):由根目录(/)开始写起的目录或文件名

相对路径(relative):相对于当前路径的写法

举例来说一个美国人想找下厕所,你有两种回答的方法。

绝对路径:首先坐飞机来到中国,到了北京出首都机场做地铁到十号线潘家园站,出站坐34路到农光里下车路口左转。

相对路径:前面路口左转

如果你说的是绝对路径,那么任何一个外国人都可以按照这个提示找到厕所,但缺点是过于繁琐,如果说的是相对路径,那么这个美国人并不是在每个路口左转都能找到厕所,缺点是不具备普遍性

 

永利平台娱乐 3

3、 Quota的缺点:

5.edquota wang #编辑用户wang的磁盘配额

6.2 物理设备的命名规则

因为计算机中有了硬盘设备才使得我们游戏通关过后可以保存记录而不是再重新开始,硬盘设备则是由大量的“扇区”组成的,其中第一个扇区保存着主引导记录分区表信息。单个扇区容量为512bytes组成,主引导记录需要占用446bytes,分区表的为64bytes,结束符占用2bytes,而其中每记录一个分区信息需要16bytes,那么问题来了,好像只能记录4个分区信息?

永利平台娱乐 4

所以运维人员一般会选择用3个主分区加1个扩展分区的方法,扩展分区中能够创建无限个逻辑分区,这样我们就可以用逻辑分区来满足多分区的需求了,当然这里大家只需明白为什么主分区不能超过4个

 

Linux系统中一切都是文件,那么硬件也不外乎。既然是文件就必须有名称啦,系统内核的设备管理器(Udev)会自动将硬件名称规范起来,让我们可以通过设备名称猜出设备大致的属性以及分区信息等,Udev会一直以守护进程的形式运行并侦听来自内核发出的uevent来管理/dev目录下的设备文件。

Udev会根据内核发出的uevent来动态添加或删除/dev目录中的设备文件,命名流程如下:永利平台娱乐 5

常见的硬件命名如下:

编辑
硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0(IDE设备)

因为现在的IDE设备已经很少见啦,所以一般硬盘设备都会是以“/dev/sd”开头的,而一台主机上可以有多块硬盘,系统便会用a-p来代表16块不同的硬盘(默认从a开始分配)且分区编号也很有讲究。

主分区编号从1开始至4结束,按顺序(也可指定分配数字)。

逻辑分区从编号5开始按顺序(也可指定分配数字)。

那么来分析下"/dev/sda5"代表着什么硬件设备吧~

永利平台娱乐 6

1.首先 style="text-decoration: underline;">/dev目录下的都是硬件。
2.其次sd开头的是存储设备。
3.然后a代表第一个被识别到的设备。
4.最后5代表它是逻辑分区。

简单来讲:“这是第一块硬盘设备中编号为5的逻辑分区”,物理中的存储会是这样的:

永利平台娱乐 7

读者们来试着解读下/dev/hdc8代表着什么?答案模式

答案:这是第三块IDE设备(比较少见了)中的编号为8的逻辑分区。

  可以看到是noquota,没有开启

只能针对文件系统

配额分为两个部分,前三列为文件大小的限制,后三列为文件个数的限制。一般针对用户文件大小做限制,不针对文件个数做限制。三列的意义分别是目前使用的情况,软限制,硬限制。软限制表示超出会报警,但能继续写入,硬限制表示不能超过这个数值。

6.3 文件系统与数据资料

文件管理系统的作用是将硬盘合理的规划,使得用户能够在上面正常建立文件、写入,读取,修改,转存文件与控制文件,而在Linux系统中支持超过数十种文件管理系统可供选择,常见的如下:

Ext3是一款日志文件系统能够在异常停机中避免文件系统资料不一致的情况,自动修复数据的不一致与错误,然而一般重整文件系统相当耗费时间(尤其容量大的硬盘),当然也不能保证100%资料不流失。它将会将整个磁盘的写入动作预先记录下来(每个细节),所以在异常停机后可以回溯追踪到被中断的部分。

Ext4可以成为Ext3的后继版本,作为RHEL6系统的默认文件管理系统,其支持更大的文件系统到1EB(1EB=1,073,741,824GB且能够有无限多的子目录),另外Ext4文件系统能够批量分配block块并作"Extents"极大的提高了读写效率。

XFS作为RHEL7默认的文件管理系统,它的日志型文件管理系统的优势在意外关机后尤其明显,可以快速的恢复可能被破坏的文件,另外经过优化后日志功能对硬盘性能影响非常小,同时最大支持18EB的存储容量满足了几乎所有需求。

讲课的时候我喜欢举得一个例子,希望能够帮助大家理解这个概念。
当我们拿到了一张大白纸,首先为了使用方便要裁剪,然后为了书写工整要先画格。
这里的“白纸”就是原始的硬盘而“裁剪”意味着分区,然后的“画格”就是格式化啦,最后写入内容。

因为硬盘要保存的数据实在太多了,所以一定要有个叫super block的“硬盘地图”并在上面记录着整个文件系统的信息,但绝不可能把数据直接写到这个大地图中,因为这样的话会导致它“很大”,查询与写入速度会变得非常慢,于是每个文件的权限与属性都会记录在inode table中(每个文件都会占用一个独立的inode表格,默认为128bytes),记录着:

该文件的访问权限(read,write,execute)
该文件的所属主与组(owner,group)
该文件的大小(size)
该文件的创建或状态修改时间(ctime)
该文件的最后一次访问时间(atime)
该文件的修改时间(mtime)
文件的特殊权限(SUID,SGID,SBIT)
该文件的真实数据地址(point)

而实际的数据则保存在block块中(大小可以是1K、2K或4K),下面的说明中,我们以4K为例。

情况一:文件体积很小(1K),那么依然会占用一个block,潜在的浪费3K。
情况二:文件体积很大(5K),那么会占用两个(5K-4K剩下的1K也要占用一个block)。

一个inode大小仅为128bytes(Ext3),但记录一个block则消耗4bytes,当写inode被占满后会取出一个block用于号码记录而不再是保存实际的文件系统。

  2.2编辑/etc/fstab开启/boot 的quota,就是在defaults后加  ,uquota  千万不要写错,写错会进入应急模式。

Linux系统需要支持quota,kernel2.4之前的版本是不支持quota的,目前我们大家都基本使用的是2.6内核,基本上都支持,除非老古董级别的不支持。

6.dd if=/dev/zero of=/home/wang/f1 bs=1M count=300 #用户wang测试

6.4 挂载硬件设备

挂载操作指的是当用户需要使用硬盘设备或分区数据时,需要先将其与一个已存在的目录文件做关联,而这个动作就叫“挂载”。

mount命令用于挂载文件系统,格式为:“mount 文件系统 挂载目录”。

将光盘文件挂载:“mount /dev/cdrom /media/cdrom”。

编辑
参数 作用
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型

如果需要将设备"/dev/sdb2"挂载到"/backup"目录,文件格式为ext4,该如何操作那?

执行命令:mount /dev/sdb2 /backup

很惊讶吗?mount命令只需要填写设备与挂载目录参数即可,一般来讲系统会自动去判断要挂载文件的类型~

使用mount命令执行挂载操作后立即就可以使用该文件系统了,但重启后则失效。如果想让重启后依然生效,我们就必须将挂载信息按照指定的格式写入到/etc/fstab文件中。
/etc/fstab”包含着文件系统挂载信息等内容,因为过于重要,所以只有root用户才可以编辑它。

填写格式如下:“设备文件 挂载目录 格式类型 权限选项 自检 优先级”

设备文件:一般为设备的路径+名称,也可以写UUID值等。
挂载目录:指定要挂载到的目录,需挂载前创建好。
格式类型:即指定文件系统的格式,比如有ext3/ext4/xfs/iso9660/swap等。
权限选项:默认为defaults(rw,suid,dev,exec,auto,nouser,async),可指定acl或quota等。
自检:若为1则开机后进行磁盘自检,0为不自检。
优先级:若“自检”为1,则可对多块硬盘进行优先级设置。

定义设备"/dev/sdb2"开机自动挂载到"/backup"目录,文件格式为ext4,默认权限且无需开机自检:

正确写法:“/dev/sdb2 /backup ext4 defaults 0 0”。

当读者挂载光盘镜像的时候请将文件类型设置为iso9660,其余设备类型请结合实际情况灵活使用。

umount命令用于撤销已经挂载的设备文件,格式为:“umount [挂载点/设备文件]”。

取消对/dev/sdb2设备文件的挂载:

[root@linuxprobe ~]# umount /dev/sdb2

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843( style="color: #008000;">满),B群:340829( style="color: #008000;">推荐),点此查看全国群。

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

永利平台娱乐 8

Quota只对普通用户有效,对root是不能设置quota的
  www.2cto.com  

Linux是多用户多任务的操作系统,这就难免出现多个用户共享磁盘的情况,如何使多个用户公平的使用磁盘,就是磁盘配置要解决的问题。当然也可以在没创建一个用户的时候,将它的主目录建在一个单独的逻辑分区上,但是这样太麻烦了,也不灵活。

6.5 添加硬盘设备

当全新安装了一块新的硬盘设备后,为了更充分、安全的利用硬盘空间首先要进行磁盘的分区,然后格式化,最后挂载使用。

模拟训练:对新添加的硬盘设备进行分区、格式化并挂载到/newFS目录。

第1步: 在虚拟机中添加用来做逻辑卷实验的硬盘。

永利平台娱乐 9

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

  • 永利平台娱乐 10 第2步:选择磁盘。

  • 永利平台娱乐 11 第3步:选择磁盘类型。

  • 永利平台娱乐 12 第4步:选择创建新的磁盘。

  • 永利平台娱乐 13 第5步:设置磁盘的大小。

  • 永利平台娱乐 14 第6步:默认的磁盘名称即可。

  • 永利平台娱乐 15 第7步:成功添加的硬盘出现在列表中。

 

第2步:将新添加的硬盘进行分区。

fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”。

管理某硬盘的分区:“fdisk /dev/sda”

编辑
参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

使用fdisk命令对sdb硬盘进行分区:

[root@linuxprobe ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x47d24a34.

敲击字符p查看分区表信息(当前为空):

Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x47d24a34
Device Boot Start End Blocks Id System

敲击字符n创建新的分区信息:

Command (m for help): n

敲击字符p,这个p代表是主分区,e为扩展分区:

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p

敲击数字1代表分区编号为1:

Partition number (1-4, default 1): 1

磁盘的起始扇区,直接回车即可:

First sector (2048-41943039, default 2048):

键入+2G,代表该分区的大小为2G:

Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set

再看下分区表信息(增加了sdb1分区信息):

Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x47d24a34
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux

敲击字符w,将上述分区信息保存:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

让内核同步分区信息(此步骤仅在没有找到分区设备的情况下才需要执行,非必要动作。):

[root@linuxprobe ~]# partprobe

第3步:格式化为xfs文件系统。

在Linux系统中用于格式化的命令是mkfs,它支持的文件类型有:

cramfs,ext2,ext3,ext4,fat,msdos,xfs,btrfs,minix,vfat

使用方法非常的简单:"mkfs.文件类型名称",例如要格式分区为ext4,则命令为"mkfs.ext4 硬盘分区名称"。

使用mkfs.xfs来对/dev/sdb1进行格式化:

[root@linuxprobe ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

第4步:将硬盘设备挂载到/newFS目录。

[root@linuxprobe ~]# mkdir /newFS

[root@linuxprobe ~]# mount /dev/sdb1 /newFS/

第5步:设置系统启动后自动挂载该硬盘设备。

[root@linuxprobe ~]# vim /etc/fstab

/dev/sdb1 /newFS xfs defaults 0 0

第6步: 查看文件系统的使用情况。

好棒!我们现在就可以通过访问/newFS目录来使用硬盘资源啦!另外多教给您几条用于日常了解硬盘使用情况的命令:

df命令用于查看挂载点信息与磁盘使用量,格式为:“df [选项] [文件]”。

查看挂载信息与硬盘使用量:“df -h”

编辑
参数 作用
-a 显示出所有的文件系统(包括虚拟的)
--total 展出出总体使用量
-h 更易读的容量格式如1K,234M,2G…
-i 展示出Inode的信息(默认是磁盘使用信息)
-T 显示出文件系统的类型

查看到所有已挂载的挂载信息与硬盘使用情况:

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.5G 15G 20% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.8M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sr0 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
/dev/sdb1 2.0G 33M 2.0G 2% /newFS

du命令用于查看磁盘的使用量,格式为:“ du [选项] [文件]”。

查看根目录的总占用空间:du -sh /
查看当前目录下各文件所占空间:du -sh *

编辑
参数 作用
-a 评估每个文件而非目录整体占用量。
-c 评估每个文件并计算出总占用量总和。
-h 更易读的容量格式如1K,234M,2G…
-s 仅显示占用量总和。

复制一些文件到新的分区(省略部分复制过程信息):

[root@linuxprobe ~]# cp /etc/* /newFS/
cp: omitting directory ‘/etc/abrt’
cp: omitting directory ‘/etc/alsa’
cp: omitting directory ‘/etc/festival’
cp: omitting directory ‘/etc/yum’
cp: omitting directory ‘/etc/yum.repos.d’

查看到该挂载目录的占用硬盘量:

[root@linuxprobe ~]# du -sh /newFS/
1.3M /newFS/
UUID=408a752e-2ecb-491a-b225-801e8a87094d /boot                   xfs     defaults,uquota        1 2

一、实战quota部署,我们通过一个小案例来完成我们的部署情况。

以针对用户的配置为例,设置用户的磁盘配额。

6.6 添加交换分区

SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用SWAP。

第1步:在虚拟机中添加用来做逻辑卷实验的硬盘。

永利平台娱乐 16

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

  • 永利平台娱乐 17 第2步:选择磁盘。

  • 永利平台娱乐 18 第3步:选择磁盘类型。

  • 永利平台娱乐 19 第4步:选择创建新的磁盘。

  • 永利平台娱乐 20 第5步:设置磁盘的大小。

  • 永利平台娱乐 21 第6步:默认的磁盘名称即可。

  • 永利平台娱乐 22 第7步:成功添加的硬盘出现在列表中。

 

第2步:将新添加的硬盘进行分区。

对新添加的硬盘设备分区:

[root@linuxprobe ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xb3d27ce1.

创建新的分区信息:

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

类型为主分区:

Select (default p): p

分区号为1。

Partition number (1-4, default 1): 1

其实扇区直接敲击回车,默认为2048即可:

First sector (2048-41943039, default 2048):
Using default value 2048

结束扇区部分输入+5G,设置分区大小为5G:

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G
Partition 1 of type Linux and of size 5 GiB is set

修改分区的类型:

Command (m for help): t
Selected partition 1

查看可用的分区类型:

Hex code (type L to list all codes): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Extd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix

输入82代表swap分区:

Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

再次查看分区表信息(已有分区信息):

Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xb3d27ce1
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 82 Linux swap / Solaris

保存分区表的设置:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

让内核同步分区信息(此步骤仅在没有找到分区设备的情况下才需要执行,非必要动作。):

[root@linuxprobe ~]# partprobe

将sdb1分区设备格式化为swap类型:

[root@linuxprobe ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=2972f9cb-17f0-4113-84c6-c64b97c40c75

查看当前的内存使用量情况,SWAP大小为2047:

[root@linuxprobe ~]# free -m
total used free shared buffers cached
Mem: 1483 782 701 9 0 254
-/+ buffers/cache: 526 957
Swap: 2047 0 2047

将sdb1的SWAP分区启用:

[root@linuxprobe ~]# swapon /dev/sdb1

再次查看当前系统的内存使用量情况(此时SWAP为7167m):

[root@linuxprobe ~]# free -m
total used free shared buffers cached
Mem: 1483 785 697 9 0 254
-/+ buffers/cache: 530 953
Swap: 7167 0 7167

设置为开机后自动挂载该SWAP分区设备:

[root@linuxprobe ~]# vim /etc/fstab
/dev/sdb1 swap swap defaults 0 0

  2.3由于/boot目录对其他用户有w的限制,对/boot 加入w权限

1、 首先查看系统的分区的类型,以及挂载情况,如图可以看出我的每个分区都是单独的分区,我们在此实战中使用/home来做quota管理不建议使用“/”分区,如图

环境:Red Hat6.1 64bit

6.7 磁盘容量配额

如前面介绍章节讲到的类Unix系统最初设计理念就让许多人一起使用,多任务的操作系统,但是硬件的资源是固定有限的,如果出现个小破坏份子不断的创建文件或下载电影,那么硬盘空间总有一天会被占满的吧,这时就需要quota服务帮助我们为每个用户限制可以使用的硬盘空间,一旦超出预算就不再允许他们使用。

quota的磁盘配额可以限制用户的硬盘可用空间或最大创建文件数量,并且还有软/硬限制的区别:

软限制:当达到软限制时会提示用户,但允许用户在规定期限内继续使用。

硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。

查看内核是否支持quota功能:

[root@linuxprobe ~]# dmesg | grep quota
[ 3.140241] VFS: Disk quotas dquot_6.5.2

查看quota程序包是否已经安装:

[root@linuxprobe ~]# rpm -q quota
quota-4.01-11.el7.x86_64

查看boot目录是否支持quota功能(noquota表示暂时不支持):

[root@linuxprobe ~]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

让/boot目录支持quota功能:

[root@linuxprobe ~]# vim /etc/fstab
UUID=6e97ef8f-51f1-4781-8f1c-0acb9f631b32 /boot xfs defaults,uquota 0 0

重启主机后即可生效:

[root@linuxprobe ~]# reboot

查看boot目录是否支持quota功能(usrquota表示已经支持):

[root@linuxprobe Desktop]# mount | grep boot
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)

创建两个用于quota实验的用户tom:

[root@linuxprobe ~]# useradd tom

需要允许其他用户对/boot目录写入文件操作:

[root@linuxprobe ~]# chmod -Rf o+w /boot

xfs_quota命令用于管理XFS文件系统的quota硬盘配额,格式为:“quota [参数] 配额 文件系统”。

编辑
参数 作用
-c 命令 以交换式或参数的形式设置要执行的命令。
-p 设置提示或报错信息的程序名称,默认为xfs_quota。
-x 专家模式,能够对quota做更多复杂的配置。

使用xfs_quota命令设置对tom用户在/boot目录的磁盘配额,具体要求如下:

使用quota专家模式限制磁盘软限制为3m、磁盘硬限制为6m、文件软限制为3个且文件硬限制为6个。

[root@linuxprobe ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot

获取当前/boot目录上的quota配额限制:

[root@linuxprobe ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1)   Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]

切换至tom用户:

[root@linuxprobe ~]# su - tom

正常创建了一个为5M的文件:

[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=5M count=1
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.123966 s, 42.3 MB/s

创建8M文件时强制终止并报错了:

[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
dd: error writing ‘/boot/tom’: Disk quota exceeded
1+0 records in
0+0 records out
6291456 bytes (6.3 MB) copied, 0.0201593 s, 312 MB/s

查看当前用户的quota限制(显示硬盘配额已占满):

[tom@linuxprobe ~]$ quota
Disk quotas for user tom (uid 1001):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda1 6144* 3072 6144 6days 1 3 6

永利平台娱乐,edquota命令用于超级用户编辑其他用户的quota配额限制,格式为:“edquota [参数] [用户]”。

编辑
参数 作用
-u 编辑用户的配额限制。
-g 编辑用户组的配额限制。
-r 通过RPC协议编辑远程的配额。

编辑tom的配额限制,将硬盘的硬限制修改为8m(8192k):

[root@linuxprobe ~]# edquota -u tom
Disk quotas for user tom (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 6144 3072 8192 1 3 6

切换至tom用户:

[root@linuxprobe ~]# su - tom
Last login: Mon Sep 7 16:43:12 CST 2015 on pts/0

再来创建8m的文件就不会有问题了:

[tom@linuxprobe ~]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
1+0 records in
1+0 records out
8388608 bytes (8.4 MB) copied, 0.0268044 s, 313 MB/s
TAG标签:
版权声明:本文由永利平台娱乐发布于新闻动态,转载请注明出处:提示用户,找到挂载在home目录的分区