標籤:linux 營運 系統 擴容 磁碟
/dev/mapper/VolGroup-lv_root是一個邏輯卷,通過df –h命令你可以發現它與“/”根分區相關聯,你也可以理解為它就是根分區。
[[email protected] ~]# 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.
[[email protected] ~]# 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中做標準重新導向,並且建議增加定期清理伺服器記錄檔的定時任務。
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 查看分區下,每個目錄所佔容量大小。
[[email protected] ~]# 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[[email protected] ~]# du -sh /*6.1M /bin22M /boot232K /dev24M /etc20K /home134M /lib21M /lib64
當然,也可以直接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
對於find命令的使用,後面再專門寫一篇詳解,這個命令在工作中的作用非常大,很有用的一個工具。
根分區擴容
如果使用預設安裝的分區,可能給VolGroup-lv_home,即/home分區分配大量的空間,而home分區更多時候並不會使用很大的空間,所以浪費了很多磁碟資源,因此可以把home分區的容量割給根分區;另一中擴容方法就是直接增加磁碟,然把新增的磁碟空間分配給VolGroup-lv_root。
安全起見,在擴容前,建議對資料進行備份。
目標:將VolGroup-lv_home縮小到20G,並將剩餘的空間添加給VolGroup-lv_root
1.首先查看磁碟使用方式
[[[email protected] ~]# 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
2、卸載/home
[[email protected] ~]# umount /homeumount /home 如果提示無法卸載 [[email protected] ~]# umount –lf /home 強制卸載-f:強制卸載-l:清除與檔案系統相關的引用
3、調整分區大小
[[email protected] ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G如果提示運行“e2fsck -f /dev/mapper/VolGroup-lv_home”,則執行相關命令: [[email protected] ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然後重新執行命令:[[email protected] ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
註:resize2fs 為重新設定磁碟大小,只是重新指定一下大小,並不對結果有影響,需要下面lvreduce的配合
4、掛載上/home,查看磁碟使用方式
[[email protected] ~]# mount /home[[email protected] ~]# df -h
5、設定空閑空間
使用lvreduce指令用於減少LVM邏輯卷佔用的空間大小。可能會刪除邏輯卷上已有的資料,所以在操作前必須進行確認。記得輸入 “y”
[[email protected] ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home
註:lvreduce -L 20G的意思為設定當前檔案系統為20G,如果lvreduce -l 20G是指從當前檔案系統上減少20G
使用lvreduce減小邏輯卷的大小。注意:減小後的大小不能小於檔案的大小,否則會遺失資料。
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看詳細資料。
[[email protected] ~]# vgdisplay
註:vgdisplay為顯示LVM卷組的中繼資料資訊
6.把閑置空間掛在到根目錄下
[[email protected] ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root註:lvextend -L +283G為在檔案系統上增加283G[[email protected] ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
7、檢查調整結果
[[email protected] ~]# df -h
增加新磁碟對VolGroup-lv_root進行擴容
前面提到過/dev/mapper/VolGroup-lv_root是一個邏輯卷,既然是邏輯卷那麼就可以給它的卷組(資源集區)進行擴容。
[[email protected] ~]# 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 格式化分區
建立物理卷
[[email protected] ~]# pvcreate /dev/sdb1 如果分區掛載了則不可以 Can‘t open /dev/sdb1 exclusively. Mounted filesystem?[[email protected] ~]# umount /home[[email protected] ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
查看卷組名
[[email protected] ~]# vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup" using metadata type lvm2
把新增的物理卷加入卷組
[[email protected] ~]# vgextend VolGroup /dev/sdb1 Volume group "VolGroup" successfully extended
擴充VolGroup-lv_root邏輯卷 ,增加8G
[[email protected] ~]# lvextend -L +8G /dev/mapper/VolGroup-lv_root Extending logical volume lv_root to 25.57 GiB Logical volume lv_root successfully resized[[email protected] ~]# 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,發現實際容量並沒有變化,因為我們的系統還不認識剛剛添加進來的磁碟的檔案系統,所以還需要對檔案系統進行擴容。
[[email protected] ~]# 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 requiredold 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.[[email protected] ~]# 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管理,使用卷組(資源集區)、物理卷、邏輯卷之間的關係進行擴容;建立物理卷,加入卷組,通過卷組給邏輯卷進行擴容,邏輯卷擴容後對檔案系統擴容。
/dev/mapper/VolGroup-lv_root爆滿兩種可能與及根分區擴容