/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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM