linux使用Quota配额之须配额目录为非独立文件系统并无可分配分区解决办法

首先,介绍一下现在的环境,我们需要为/home目录进行配额,但是呢,/home目录并非独立文件系统,而使用Quota进行配额需要在独立文件系统上进行。

问题环境:须配额目录为非独立文件系统并且磁盘无可分配分区的情况。

解决方案:增加磁盘容量

因为我这里使用的虚拟机,所以我可以通过虚拟机增加一块磁盘空间。这里就不赘述关于虚拟机增加磁盘空间的方式了。

使用“fdisk -l”命令查看磁盘状况,注意这里要使用root用户,使用一般用户会报“Unable to open /dev/sdb”错误。

我们看到有一块sdb的设备,接下来我们为它分区并格式化:

分区:fdisk /etc/sdb

我这里是10G,我给这里分配了5G的主分区。

最后一步记得w一下,写入分区表。

现在我们看一下我们的磁盘分区情况:

 分区进行好了,然后咱们进行格式化:

 出现了这种问题,什么原因呢?

我们试着刷新一下分区表:

执行partprobe命令刷新一下内存的分区表

partprobe包含在parted的rpm软件包中。
partprobe可以修改kernel中分区表,使kernel重新读取分区表。 
因此,使用该命令就可以创建分区并且在不重新启动机器的情况下系统能够识别这些分区。

如果没有安装,可以“yum install parted”安装指令。

然后我们重新格式化分区:mkfs -t ext4 /dev/sdb1就会成功了(注意我这里的分区可能和大家不一样)。


接下来,我们先建立一个临时目录/mnt/thome,然后将我们的新的分区进行挂载,最后备份我们的需要配额的目录,比如我这边是/home目录。

编辑/etc/fstab。

磁盘手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。

系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。

我们在文本最后加入如上一行内容。

解释一下这几列数据:

第一列:Device:设备名和label或者UUID

设备的UUID获取方式:例如:blkid /dev/sdb1 ,我们可以获取设备的UUID以及磁盘文件格式。

使用设备名和label及uuid作为标识的不同:

使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的;不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name;至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。

第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列:parameters:文件系统的参数

Async/sync

设置是否为同步方式运行,默认为async

auto/noauto 

 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro        

 是否以以只读或者读写模式挂载

exec/noexec        

 限制此文件系统内是否能够进行"执行"的操作

user/nouser

是否允许用户使用mount命令挂载

suid/nosuid

是否允许SUID的存在

Usrquota

启动文件系统支持磁盘配额模式

Grpquota

启动文件系统对群组磁盘配额模式的支持

Defaults

同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1

         0

代表不要做dump备份

         1

代表要每天进行dump的操作

         2

代表不定日期的进行dump操作

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

0

不要检验

1

最早检验(一般根目录会选择)

2

1级别检验完成之后进行检验

第一列我们使用标签,并设置为/home;第二列表示挂载在/home这个目录,也就是我们最终需要配额的目录。

我们的第四、五、六列使用默认值就好了。  

我们在/etc/fstab里面将标签为/home的分区挂载在了/home目录上,那么我们就需要将我们之前的设备进行标签设置:

e2label /dev/sdb1 /home,这里的意思就是为设备/dev/sdb1设置标签/home,即进行设备和标签的绑定。

然后使用dumpe2fs命令查看文件系统信息。

mount -a 查看是否可以正确挂载

df查看文件系统

取消/mnt/thome的挂载

 

到此,我们已经将/home目录转移,设置成了独立的文件系统。可以进行quota配额了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

9号信箱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值