Linux操作篇之分区/磁盘扩容(二)

一、swap分区扩容  

Linux中,free 命令可以查看内存和swap分区的使用情况。

Linux操作篇之分区/磁盘扩容(二)

swap分区是用于当内存不够用时,可以暂时的使用swap分区代替内存使用(相当于Windows中的虚拟内存)。swap分区也是可以进行扩容的。

Linux操作篇之分区/磁盘扩容(二)

关闭新增的swap分区(swapoff   /dev/sdb1)

设置完成后,可以写入配置文件,使之永久生效。

Linux操作篇之分区/磁盘扩容(二)

上面设备名可以写UUID,UUID上面格式化的时候系统有显示。

 二、LVM逻辑卷

  前面记录了新添加硬盘进行分区以实现扩容的目的。但是比如一个目录在sda1分区中,数据量大且sda1剩余空间不足,这时候新添加的硬盘但却无法对sda1分区进行扩容(就相当于电脑上连接U盘,但是缺无法给电脑C盘进行扩容)。针对这种情况,就出现LVM。

  1、概念:LVM(Logical volume Manager)是逻辑卷管理的简称。

  2、步骤:首先将一整个硬盘或者分区建立成为物理卷(PV),之后可以将一个或者多个物理卷合并成为一个或者多个卷组(VG),然后再将卷组划分出逻辑卷(相当于分区,可直接设置挂载)。物理扩展(PE)在LVM中,是保存数据的最小单位(4MB)。硬盘上保存数据的最小单位是块(默认4KB)两者是区别的。

  3、优点:可随时按需求改变逻辑卷大小,充分利用硬盘空间。实现对磁盘空间的高度管理能力。

  4、现在Linux安装时,若选择默认的安装方式,系统会自动选择LVM模式。(/boot 分区必须选择普通的分区中,若放在LVM中,系统不会正常启动)

   Linux操作篇之分区/磁盘扩容(二)

举例测试: 

  Linux操作篇之分区/磁盘扩容(二)

   如上图,我的根目录已经使用率超过99%,需扩容。但是按照常规的做法就是换硬盘(非虚拟机)。这样是非常麻烦的。现在我可以在添加一硬盘,分两个分区,一个分区加入根所在的逻辑卷进行扩容,一个分区新建逻辑卷,然后对根所在的逻辑卷扩容。

 1、分区并改变成为LVM模式。

  首先,使用fdisk 命令,对新加硬盘(/dev/sdb)进行分区(我这里分出两个10GB)。

  Linux操作篇之分区/磁盘扩容(二)

   之后,查看分区情况,可以看到新建的分区是83(标准分区),使用 t 命令,将83改为 8e(Linux LVM)。

  Linux操作篇之分区/磁盘扩容(二)

  保存退出后,可以使用fdisk 命令查看确保一下准确性。

  Linux操作篇之分区/磁盘扩容(二)

  有时候划分分区,使用 fdisk -l  是可以看到sdb2 的 但是/dev下却没有这个设备名,重启就可以了。

 2、建立物理卷。

  pvcreate  设备名 (如 /dev/sdb 或 /dev/sdb1)。

  Linux操作篇之分区/磁盘扩容(二)

   可以使用pvscan命令查看物理卷

  Linux操作篇之分区/磁盘扩容(二)

 3、将sdb1物理卷加入到sda2(也就是根所在)的卷组中

  vgextend centos /dev/sdb1  (其中,centos 是卷组名,上面可以看到卷组名)

  Linux操作篇之分区/磁盘扩容(二)

  Linux操作篇之分区/磁盘扩容(二)

 4、新建一卷组centos1,将sdb2加入。

  Linux操作篇之分区/磁盘扩容(二)

 5、提取卷组centos中的容量扩展到根。

  使用lvdisplay 可以看到根的逻辑卷组路径

  Linux操作篇之分区/磁盘扩容(二)

  又由于实际容量是小于10GB,所有添加9.9GB。

  Linux操作篇之分区/磁盘扩容(二)

  上面这一步也可以使用 lvresize 命令来增加容量。  -L 指定大小,单位是(KB、GB、TB等),“+”代表增加的大小;“-”代表减小的大小;直接写容量代表为指定大小。

  Linux操作篇之分区/磁盘扩容(二)

  Linux操作篇之分区/磁盘扩容(二)

  由于是xfs的文件系统,所以使用xfs_growfs命令,使其自动扩展到最大。

 6、提取centos1卷组中的容量,新建一个test1的逻辑卷。

  命令: lvcreate -L 9.9G -n  test1   centos1
     -L  指定逻辑卷的大小(实际容量小于10GB,我这里选择9.9GB)

     -n  指定逻辑卷的名称

  Linux操作篇之分区/磁盘扩容(二)

 7、补充:

  a、也可将物理卷从卷组中删除(缩减容量),使用命令(vgreduce 卷组名  设备名);(vgreduce  -a  可以删除所有未使用的物理卷)。

  b、删除卷组  (vgremove  卷组名)

  Linux操作篇之分区/磁盘扩容(二)

  c、上面试验中,centos1的卷组中的容量不能加到根。(因为根的逻辑卷是属于centos卷组中的)。

  d、在线扩展逻辑卷大小使用 lvextend 命令;新建逻辑卷并指定大小是使用 lvcreate 命令。

三、磁盘配额(只能限制普通用户)

  概念:可以限制用户(组)的可使用容量大小(组配额不是平均分配,所以极少使用);可以限制用户的文件个数;可以设置软限制(例如80GB),硬限制(例如100GB),用户可以使用超过80GB,但不能超过100GB;还存在一个时间限制,当用户使用超过80GB未超过100GB时,默认7天

  在 centos 7 以前的版本中

  条件:

  1、系统内核必须支持磁盘配额。

    grep CONFIG_QUOTA /boot/config-3.10.0-862.el7.x86_64

    Linux操作篇之分区/磁盘扩容(二)

   2、系统安装了quota工具。

    Linux操作篇之分区/磁盘扩容(二)

   3、建立分区、挂载、写入配置文件(/etc/fstab)、重启生效。

    在centos7以前的版本中,可以通过 mount -o remount,usrquota,grpquota /dev/sdb1 来进行临时开启磁盘配额功能。

    Linux操作篇之分区/磁盘扩容(二)

     查看挂载情况

    Linux操作篇之分区/磁盘扩容(二)

  4、建立磁盘配额配置文件

    使用(quotacheck  选项  分区)命令

    选项:-a  扫描/etc/mtab文件中的所有启用磁盘配额功能的分区。加入此参数,后面就不需要再写分区了。

       -c  重新扫描并建立新的配置文件(覆盖原有的配置文件)

       -u  建立用户配额的配置文件(aquota.user)

       -g  建立组配额的配置文件(aquota.group)

       -v  显示扫描过程

       -m  若扫描的是根分区,添加此选项,以强制扫描

    一般使用:quotacheck -augv 即可。命令执行完成后,会生成两个配置文件(aquota.user与aquota.group)

  5、配置磁盘配额配置文件

    生成的文件可以使用(edquota  选项  用户或组名)命令,来打开上面的两个配置文件(打开之后,与vi编辑器使用方式一致)。

    选项:-u 用户名    为用户配额

       -g 组名     为组配额

       -t         设置宽限时间  

       -p       可以复制已设置好的配额用于其他用户或组

    文件打开之后参数:

    Linux操作篇之分区/磁盘扩容(二)

  6、启动配置好的配置文件:

    quotaon 选项  分区名

    选项:-a  依据/etc/mtab文件中的配额分区,启动所有的配额分区。(这时候不需要加分区名)

       -u  启动用户配额

       -g  启动组配额

       -v  显示启动过程信息

    可直接使用 (quotaon  -augv);(quotaoff  选项  分区)关闭所有配额分区(quotaoff -a)。

  7、查询磁盘配额信息

    quota与repquota

    quota  选项  用户名或组    查询用户或组的配额信息

    选项:-u  查询用户配额

       -g  查询组配额

       -v  显示详信息

       -s  以换算成习惯单位(GB、MB)

    repquota  选项  分区名    查询整个分区的磁盘配额信息

    选项:与上面一致,多了一个  -a  选项,是自动根据 /etc/mtab 中的信息查询配额。

  在centos7之后的版本中

    由于使用的是xfs文件系统,所以需要使用(xfs_quota 选项  分区)

    选项:-x  使用专家模式

       -c  可以使命令交互运行,按照所写代码顺序运行。

       -V  显示版本

    在xfs文件系统中,不存在配额配置文件,需要进入专家模式进行配置。

    Linux操作篇之分区/磁盘扩容(二)

     专家模式中,有以下几个选项:

    path:显示路径及开启的quota功能。

    report:报告文件系统配额信息。

    state:显示全部的文件系统配额信息。

    limit:进行限制。参数包括([-g | -p | -u] bsoft=N | bhard=N | isoft=N | ihard=N | rtbsoft=N | rtbhard=N -d | id | name)设置配额块限制(bhard/bsoft)、inode计数限制(ihard/isoft)和/或实时块限制(rtbhard/rtbsoft)。

    timer:宽限时间。

  举例:

    配置配额

    Linux操作篇之分区/磁盘扩容(二)

    测试(test目录权限777,lisi用户拥有写权限。)

     Linux操作篇之分区/磁盘扩容(二)

     (使用lisi用户,执行dd命令,模拟写入文件)

    Linux操作篇之分区/磁盘扩容(二)

     上面图所示,写入的文件大小48MB。已超过软限制但还未超过硬限制。再次写入一个文件。

    Linux操作篇之分区/磁盘扩容(二)

     上面写入的文件大小为10MB,但只写入了2MB的文件。此时已达到硬限制。

    Linux操作篇之分区/磁盘扩容(二)

     当再次尝试写入时,提示磁盘配额超出,已无法在次写入。

Linux操作篇之分区/磁盘扩容(二)

上一篇:不同进程OSPF路由相互通信


下一篇:Java小工具 根据文本批量修改文件名