/dev/mapper/VolGroup-lv_root爆滿兩種可能與及根分區擴容 /dev/mapper/VolGroup-lv_root是一個邏輯卷,經過df –h命令你能夠發現它與「/」根分區相

/dev/mapper/VolGroup-lv_root是一個邏輯卷,經過df –h命令你能夠發現它與「/」根分區相關聯,你也能夠理解爲它就是根分區。

[root@localhost ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root                       18G  1.2G   16G   7% /
tmpfs                 495M     0  495M   0% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot

分區爆滿的狀況有兩種可能:inode滿了和block滿了。
第一,inode滿了
好比:若是你的定時任務cron中沒有作標準輸出與標準錯誤輸出重定向,剛好又沒有啓動郵件服務,那麼郵件隊列目錄/var/spool/clientmquene,就會出現大量的日誌文件(小文件),消耗磁盤分區的inode,致使磁盤爆滿。clientmquene目錄只有安裝了sendmail服務,纔會有,是sendmail郵件的臨時隊列。centos5.8默認就會安裝sendmail,centos6.6默認沒有sendmail,可是又postfix.node

[root@localhost ~]# df –i 查看分區inode使用狀況Filesystem            Inodes   IUsed   IFree IUse% Mounted on/dev/mapper/VolGroup-lv_root                     1152816   38319 1114497    4% /
tmpfs                 126568       1  126567    1% /dev/shm
/dev/sda1             128016      38  127978    1% /boot

處理方法:
首先就是清理/var/spool/clientmquene目錄,把它清空;但這僅是治標不治本,想要一勞永逸,還得在定時任務cron中作標準重定向,而且建議增長按期清理服務器日誌文件的定時任務。web

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 查看分區下,每一個目錄所佔容量大小。vim

[root@localhost ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root                       18G  1.2G   16G   7% /
tmpfs                 495M     0  495M   0% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot
/dev/sdb1             8.9G  149M  8.3G   2% /home
[root@localhost ~]# du -sh /*6.1M    /bin22M     /boot232K    /dev24M     /etc20K     /home134M    /lib21M     /lib64

固然,也能夠直接find找出大於100M以上的文件,具體多大,本身決定。
find / -type f -size +100M –exec ls –lh \;
若是確認是垃圾文件或者不重要的文件,已有備份,能夠考慮刪除centos

find / -type f -size +100M –exec rm {} \;
或find / -type f –size +100M |xargs rm –f

對於find命令的使用,後面再專門寫一篇詳解,這個命令在工做中的做用很是大,頗有用的一個工具。
根分區擴容
若是使用默認安裝的分區,可能給VolGroup-lv_home,即/home分區分配大量的空間,而home分區更多時候並不會使用很大的空間,因此浪費了不少磁盤資源,所以能夠把home分區的容量割給根分區;另外一中擴容方法就是直接增長磁盤,然把新增的磁盤空間分配給VolGroup-lv_root。
安全起見,在擴容前,建議對數據進行備份。
目標:將VolGroup-lv_home縮小到20G,並將剩餘的空間添加給VolGroup-lv_root安全

1.首先查看磁盤使用狀況服務器

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

二、卸載/homeapp

[root@localhost ~]# umount /homeumount /home 若是提示沒法卸載
 [root@localhost ~]# umount –lf /home 強制卸載-f:強制卸載-l:清除與文件系統相關的引用

三、調整分區大小ide

[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G若是提示運行「e2fsck -f /dev/mapper/VolGroup-lv_home」,則執行相關命令: 
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 而後從新執行命令:[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G

注:resize2fs 爲從新設定磁盤大小,只是從新指定一下大小,並不對結果有影響,須要下面lvreduce的配合工具

四、掛載上/home,查看磁盤使用狀況post

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

五、設置空閒空間
使用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.把閒置空間掛在到根目錄下

[root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root注:lvextend -L +283G爲在文件系統上增長283G
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root

七、檢查調整結果
[root@localhost ~]# df -h

增長新磁盤對VolGroup-lv_root進行擴容
前面提到過/dev/mapper/VolGroup-lv_root是一個邏輯卷,既然是邏輯卷那麼就能夠給它的卷組(資源池)進行擴容。

[root@localhost ~]# df -h文件系統              容量  已用  可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root                       18G  1.2G   16G   7% /
tmpfs                 495M     0  495M   0% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot
/dev/sdb1             8.9G  149M  8.3G   2% /home

增長一塊10G的磁盤,並對磁盤進行分區格式化,但不要掛載。

fdisk /dev/sdb 分區
yum -y install parted 安裝part工具
partprobe /dev/sdb 告知內核分區表的更新
mkfs.ext4 /dev/sdb1 格式化分區

建立物理卷

[root@localhost ~]# pvcreate /dev/sdb1 若是分區掛載了則不能夠
  Can't open /dev/sdb1 exclusively.  Mounted filesystem?
[root@localhost ~]# umount /home[root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
查看卷組名
[root@localhost ~]# vgscan   
  Reading all physical volumes.  This may take a while...
  Found volume group "VolGroup" using metadata type lvm2
把新增的物理卷加入卷組
[root@localhost ~]# vgextend VolGroup /dev/sdb1
  Volume group "VolGroup" successfully extended

擴展VolGroup-lv_root邏輯卷 ,增長8G

[root@localhost ~]# lvextend -L +8G /dev/mapper/VolGroup-lv_root   
  Extending logical volume lv_root to 25.57 GiB
  Logical volume lv_root successfully resized
[root@localhost ~]# df -h文件系統              容量  已用  可用 已用%% 掛載點
/dev/mapper/VolGroup-lv_root
                       18G  1.2G   16G   7% /
tmpfs                 495M     0  495M   0% /dev/shm/dev/sda1             485M   32M  428M   7% /boot

接着用 dh –f,發現實際容量並無變化,由於咱們的系統還不認識剛剛添加進來的磁盤的文件系統,因此還須要對文件系統進行擴容。

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

根分區擴容思想:利用LVM管理,使用卷組(資源池)、物理卷、邏輯卷之間的關係進行擴容;建立物理卷,加入卷組,經過卷組給邏輯捲進行擴容,邏輯卷擴容後對文件系統擴容。

相關文章
相關標籤/搜索