迁移/home目录到新的独立分区及磁盘配额
迁移/home目录到新的独立分区及磁盘配额
迁移一个文件夹到独立分区,比如用户的家目录实在home里面,home又在' / '下面,这样用户的数据如果多了就会把分区撑满,因此我们可以把home这个目录迁移到一个独立的分区,这样就不会影响到home原来所在的分区,这样做的好处就是比较安全,下面我们试着把home迁移到一个独立分区,也就是对‘ / ’做空间限制:
现在我们的‘/ ’是在sda2这个分区里面:
20.png因此我们现在需要创建一个新的分区sda6(记住创建分区的时候需要同步现在我们用的是centos6 ,同步方法:partx -a /dev/sda)
21.png现在这个分区我们已经创建好了,但是上面还没有文件系统(没有文件系统就存不了数据),因此我们需要把这个分区格式化(为了看起来比较清楚,我们可以在格式化的同时加上卷标):
mkfs.ext4 /dev/sda6 -L /home
卷标名为:/home
我们现在用blkid命令去查看,可以发现分区已经创建好了:
22.png上面的准备工作我们已经做好,现在我们就可以把home迁移到sda6上了
但是现在我们遇到一个问题,就是home是在' / '下,而' / '下又有很多文件,我们又只是只把home迁移出来,还有我们现在迁移的home里面又有数据,那么我们该怎么做呢?
首先我们可以创建一个文件夹:
mkdir /mnt/home
然后我们把刚刚我们创建的分区/dev/sda6挂载到一个文件夹上
mount /dev/sda6 /mnt/home
接着我们把home的内容copy到我们刚刚挂载的文件上
cp -av /home/* /mnt/home
然后我们可以确认一下是否把home中的内容copy到/mnt/home中
ls -l /mnt/home
因为/dev/sda6要永久挂载因此我们还需要在vim /etc/fstab 中添加:
24.png这个时候我们不能使用mount -a 使其配置文件生效,因为挂载以后/home下的内r容会隐藏,也不能用命令:rm -rf /home/* 删除,因为有可能有人正在登入,所以解决这个问题最后的办法我们可以使用 init 1 切换到单用户(单用户代表着只有root可以登录,其他人都将退出,只保留root)。切换到单用户之后我们可以比较一下:du -sh /mnt/home 和 du -sh /home 是否一样(多了是可以的)到这里我们就可以把原来home中的内容删掉从而实现home这个文件的迁移:rm -rf /home/*
25.png最后用命令:init 5 离开单用户
上面我们已经把home迁移到一个独立分区:
26.png磁盘配额(针对独立分区)
因此我们在此基础上可以对用户实现磁盘配额了,现在我们来举个例子:控制用户wang使用的空间/home大小:
1、启用磁盘配额功能:
进入vim /etc/fstab 在default后面加上usrquota:
27.png
如果想实现对组的磁盘配额管理在此后面还可以再加上grpquata
28.png我们让第一步在/etc/fstab添加的内容生效:
mount -o remount /home
生效之后我们可以用命令 mount 查看一下是否成功(成功就会有下图红色框框的内容):
29.png
2、在对应的挂载点上生成磁盘配额数据库(记录用户的配额)
quotacheck -cug /home
-c:create
-u:用户
-g:组
这一步可能会出现问题,不是因为我们写错,而是有个服务没开
30.png
把上面这个禁用:
setenforce 0
再去用getenforce查看就会变成Permissive,然后再去执行:quotacheck -cug /home 就会成功,下面这条命令可以查看是否成功,若成功则会出现黄色框框里面的内容(放用户配额):
31.png
3、数据库建好并不一定可以用,用命令quotaon -p /home会发现磁盘配额数据库是禁用状态,因此我们 启用磁盘配额数据库:quotaon /home ,再用命令quotaon -p /home查看会发现磁盘配额数据库已打开
4、为wang分配空间:
用命令:edquota wang :
没分配之前:
32.png
分配之后:
33.png
下面我们为组分配磁盘配额空间:
先建一个组:groupadd g1
把tom,jerry加到这个组里面:useradd tom -G g1 ;useradd tom -G g1
现在给g1这个组分配100M:
edquota -g g1
然后去编辑打开的这个文件
查看某用户的磁盘配额:
quota 用户
查看某个组的磁盘配额:
quota -g g1
非交互式对用户分配磁盘配额:
setquota 用户 soft空间 hard空间 soft节点 hard节点
例如:setquota mage 15000 20000 0 0
如果把tom的设置和mage已用的配额:
edquo -p mage tom
开启或者取消配额:quotaon 、quotaoff
查看某个分区的磁盘配额使用情况:
例如:repquota /home