迁移/home目录到新的独立分区及磁盘配额

2017-06-21  本文已影响119人  六月天的安静

迁移/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
上一篇下一篇

猜你喜欢

热点阅读