zoukankan      html  css  js  c++  java
  • /dev/mapper/VolGroup-lv_root爆满两种可能与及根分区扩容

    /dev/mapper/VolGroup-lv_root是一个逻辑卷,通过df –h命令你可以发现它与“/”根分区相关联,你也可以理解为它就是根分区。

     

    分区爆满的情况有两种可能:inode满了和block满了。


    第一,inode满了
    比如:如果你的定时任务cron中没有做标准输出与标准错误输出重定向,恰好又没有启动邮件服务,那么邮件队列目录/var/spool/clientmquene,就会出现大量的日志文件(小文件),消耗磁盘分区的inode,导致磁盘爆满。clientmquene目录只有安装了sendmail服务,才会有,是sendmail邮件的临时队列。centos5.8默认就会安装sendmail,centos6.6默认没有sendmail,但是又postfix.

    df –i 查看分区inode使用情况

     

     

     

    处理方法:
    首先就是清理/var/spool/clientmquene目录,把它清空;但这仅是治标不治本,想要一劳永逸,还得在定时任务cron中做标准重定向,并且建议增加定期清理服务器日志文件的定时任务。


    vim /var/spool/cron/root

    00 00 * * * /bin/sh /server/scripts/tar_rsync_del.sh >/dev/null 2>&1

     

     

    第二,block满了
    inode主要用来存放文件的属性,而block存放的则是数据内容;就是我们实质要保存的东西。block满了,一般都是大文件多导致,很容易解决,找出来,确认是否是重要文件,不是就删除,不然就得给分区扩容。
    可以用df和du来定位,是哪个分区的哪个目录占用磁盘容量大。df –h定位分区,du –sh 查看分区下,每个目录所占容量大小

     

     

     当然,也可以直接find找出大于100M以上的文件,具体多大,自己决定。
    find / -type f -size +100M –exec ls –lh ;
    如果确认是垃圾文件或者不重要的文件,已有备份,可以考虑删除

    find / -type f -size +100M –exec rm {} ;

    或find / -type f –size +100M |xargs rm –f

     

    根分区扩容
    如果使用默认安装的分区,可能给VolGroup-lv_home,即/home分区分配大量的空间,而home分区更多时候并不会使用很大的空间,所以浪费了很多磁盘资源,因此可以把home分区的容量割给根分区;另一中扩容方法就是直接增加磁盘,然把新增的磁盘空间分配给VolGroup-lv_root。
    安全起见,在扩容前,建议对数据进行备份。
    目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root

    1.首先查看磁盘使用情况

    1 [root@localhost ~]# df -h
    2 文件系统 容量  已用 可用  已用% 挂载点
    3 Filesystem             Size  Used Avail Use% Mounted on  
    4 /dev/mapper/VolGroup-lv_root 154G  7.9G  139G   6% /
    5 tmpfs                 1.9G  100K  1.9G   1% /dev/shm
    6 /dev/sda1             485M   69M  391M  15% /boot
    7 /dev/mapper/VolGroup-lv_home 299G  984M  283G   1% /home

    2、卸载/home

    1 [root@localhost ~]# umount /home
    2 umount /home 如果提示无法卸载
    3  [root@localhost ~]# umount –lf /home 强制卸载
    4 -f:强制卸载
    5 -l:清除与文件系统相关的引用

    3、调整分区大小

    1 [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
    2 如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令: 
    3 [root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令:
    4 [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G

    注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合

    4、挂载上/home,查看磁盘使用情况

    1 [root@localhost ~]# mount /home
    2 [root@localhost ~]# df -h

    5、设置空闲空间
    使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
    [root@localhost ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home
    注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G
    使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。

    可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
    [root@localhost ~]# vgdisplay
    注:vgdisplay为显示LVM卷组的元数据信息

    6.把闲置空间挂在到根目录下

    1 [root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root
    2 注:lvextend -L +283G为在文件系统上增加283G
    3 [root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root

    7、检查调整结果
    [root@localhost ~]# df -h

    增加新磁盘对VolGroup-lv_root进行扩容
    前面提到过/dev/mapper/VolGroup-lv_root是一个逻辑卷,既然是逻辑卷那么就可以给它的卷组(资源池)进行扩容。

    1 [root@localhost ~]# df -h
    2 文件系统              容量  已用  可用 已用%% 挂载点
    3 /dev/mapper/VolGroup-lv_root
    4                        18G  1.2G   16G   7% /
    5 tmpfs                 495M     0  495M   0% /dev/shm
    6 /dev/sda1             485M   32M  428M   7% /boot
    7 /dev/sdb1             8.9G  149M  8.3G   2% /home

    增加一块10G的磁盘,并对磁盘进行分区格式化,但不要挂载。

    1 fdisk /dev/sdb 分区
    2 yum -y install parted 安装part工具
    3 partprobe /dev/sdb 告知内核分区表的更新
    4 mkfs.ext4 /dev/sdb1 格式化分区

    创建物理卷

    1 [root@localhost ~]# pvcreate /dev/sdb1 如果分区挂载了则不可以
    2   Can't open /dev/sdb1 exclusively.  Mounted filesystem?
    3 [root@localhost ~]# umount /home
    4 [root@localhost ~]# pvcreate /dev/sdb1
    5   Physical volume "/dev/sdb1" successfully created

    查看卷组名

    1 [root@localhost ~]# vgscan   
    2   Reading all physical volumes.  This may take a while...
    3   Found volume group "VolGroup" using metadata type lvm2

    把新增的物理卷加入卷组

    1 [root@localhost ~]# vgextend VolGroup /dev/sdb1
    2   Volume group "VolGroup" successfully extended

    扩展VolGroup-lv_root逻辑卷 ,增加8G

    1 [root@localhost ~]# lvextend -L +8G /dev/mapper/VolGroup-lv_root   
    2   Extending logical volume lv_root to 25.57 GiB
    3   Logical volume lv_root successfully resized
    4 [root@localhost ~]# df -h
    5 文件系统              容量  已用  可用 已用%% 挂载点
    6 /dev/mapper/VolGroup-lv_root
    7                        18G  1.2G   16G   7% /
    8 tmpfs                 495M     0  495M   0% /dev/shm
    9 /dev/sda1             485M   32M  428M   7% /boot

    接着用 dh –f,发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。

     1 [root@localhost ~]# resize2fs -f /dev/mapper/VolGroup-lv_root 
     2 resize2fs 1.41.12 (17-May-2010)
     3 Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
     4 old desc_blocks = 2, new_desc_blocks = 2
     5 Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 6703104 (4k) blocks.
     6 The filesystem on /dev/mapper/VolGroup-lv_root is now 6703104 blocks long.
     7 [root@localhost ~]# df -h
     8 文件系统              容量  已用  可用 已用%% 挂载点
     9 /dev/mapper/VolGroup-lv_root
    10                        26G  1.2G   23G   5% /
    11 tmpfs                 495M     0  495M   0% /dev/shm
    12 /dev/sda1             485M   32M  428M   7% /boot

    根分区扩容思想:利用LVM管理,使用卷组(资源池)、物理卷、逻辑卷之间的关系进行扩容;创建物理卷,加入卷组,通过卷组给逻辑卷进行扩容,逻辑卷扩容后对文件系统扩容。

    转载于:https://blog.51cto.com/13691477/2118399

  • 相关阅读:
    codevs1074 食物链
    Zjnu Stadium(加权并查集)
    加权并查集(银河英雄传说,Cube Stacking)
    Candies
    SPFA(热浪)
    trie树模板(统计难题)
    你有多久没有看过星星
    欧拉通路、回路
    exkmp
    Number Sequence (HDU 1711)
  • 原文地址:https://www.cnblogs.com/String-song/p/13390218.html
Copyright © 2011-2022 走看看