var分割槽不足%15問題處理
現象描述:
凌晨收到值班同事電話,一臺DB伺服器var分割槽報警,顯示磁碟空間(inodes)不足%15,具體告警內容如下:
問題分析:
收到電話後第一印象可能是由於/var/log下的日誌、/var/spool/clientmqueue導致var分割槽佔用空間較大。
處理步驟:
登陸伺服器,透過df -h 檢視磁碟空間使用情況。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 6.0G 493M 5.2G 9% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 124M 57M 62M 49% /boot
/dev/sda8 1.1T 84G 929G 9% /home
/dev/sda2 6.0G 2.1G 3.6G 37% /usr
/dev/sda3 4.0G 1.7G 2.2G 44% /var
發現磁碟使用空間還有很多,為什麼zabbix監控會報出var磁碟分割槽不足%15的使用情況呢?告警內容已經提示是inodes不足,下面就給出答案:
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda7 393216 9179 384037 3% /
tmpfs 8240103 1 8240102 1% /dev/shm
/dev/sda1 32768 46 32722 1% /boot
/dev/sda8 71000064 12127 70987937 1% /home
/dev/sda2 393216 87909 305307 23% /usr
/dev/sda3 262144 222981 39163 86% /var
這裡我們看到var分割槽的inode使用情況已經不足%15了,因此我們可以明白為什麼會收到那條告警資訊了。瞭解了為什麼,那麼就具體尋找var下面哪個目錄較大、零碎檔案較多,從而清理分割槽空間。
透過cd /var/ ,透過du -hs * 發現磁碟空間最大的檔案來自/var/spool目錄,第一印象可能是/var/spool/clientmqueue,但進入發現實際佔用較大空間的是/var/spool/postfix/maildrop
這個目錄,這個目錄一般是系統郵件的回收站,刪除、丟棄的郵件會放到這裡,我們只需要刪除這裡的檔案即可騰出多餘的INode,從而減低/var空間使用率。
cd /var/spool/postfix/maildrop
ls |xargs -n 10 rm -rf
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda7 393216 9179 384037 3% /
tmpfs 8240103 1 8240102 1% /dev/shm
/dev/sda1 32768 46 32722 1% /boot
/dev/sda8 71000064 12127 70987937 1% /home
/dev/sda2 393216 87909 305307 23% /usr
/dev/sda3 262144 2409 259735 1% /var
此時磁碟inode明顯降低,告警也隨之消除。
深入分析:
為何/var/spool/postfix/maildrop目錄會生成大量的檔案?
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
cat /etc/cron.d/0hourly
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
這裡刪除郵件會自動儲存root使用者下的/var/spool/postfix/maildrop目錄中,我們可以透過以下方式避免:
將MAILTO=root修改為MAILTO=空值即可,然後重啟crond服務 ( service crond restart)。
知識擴充套件:
1)目錄/var/spool/clientmqueue/也容易產生較多的零碎檔案,其原因是由於系統中有使用者開啟了cron任務,而cron中執行的程式有輸出內容,輸出內容會以郵件形式發給cron的使用者,而sendmail沒有啟動所以就產生了這些檔案。解決辦法如下:
清理/var/spool/clientmqueue/下面的檔案,cd /var/spool/clientmqueue/ ;ls |xargs -n 10 rm -rf ;
檢視產生/var/spool/clientmqueue/檔案的內容,找到對應的具體cron任務
將任務指令碼輸出新增 >/dev/null 2>&1
2)如果透過df -h 和 df -i發現 分割槽空間很大,但裡面檔案幾乎沒有,即磁碟空間沒有被釋放。導致這種原因一般是由於磁碟有些程式用到了這個分割槽下的檔案,使用者在沒有停掉程式的情況下清理了這些檔案,但程式還在,從而磁碟空間沒有被釋放。解決方法如下:
lsof|grep deleted
mysqld 5668 mysql 5u REG 8,3 0 1572866 /tmp/ibHVyCeJ (deleted)
mysqld 5668 mysql 6u REG 8,3 0 1572871 /tmp/ibW1Z6Gn (deleted)
mysqld 5668 mysql 7u REG 8,3 0 1572922 /tmp/ibz4HB91 (deleted)
mysqld 5668 mysql 8u REG 8,3 0 1572923 /tmp/ibFbld7k (deleted)
mysqld 5668 mysql 12u REG 8,3 0 1572924 /tmp/ibMFN1EZ (deleted)
找到程式,直接殺死即可(也可以透過重啟作業系統解決)
凌晨收到值班同事電話,一臺DB伺服器var分割槽報警,顯示磁碟空間(inodes)不足%15,具體告警內容如下:
問題分析:
收到電話後第一印象可能是由於/var/log下的日誌、/var/spool/clientmqueue導致var分割槽佔用空間較大。
處理步驟:
登陸伺服器,透過df -h 檢視磁碟空間使用情況。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 6.0G 493M 5.2G 9% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 124M 57M 62M 49% /boot
/dev/sda8 1.1T 84G 929G 9% /home
/dev/sda2 6.0G 2.1G 3.6G 37% /usr
/dev/sda3 4.0G 1.7G 2.2G 44% /var
發現磁碟使用空間還有很多,為什麼zabbix監控會報出var磁碟分割槽不足%15的使用情況呢?告警內容已經提示是inodes不足,下面就給出答案:
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda7 393216 9179 384037 3% /
tmpfs 8240103 1 8240102 1% /dev/shm
/dev/sda1 32768 46 32722 1% /boot
/dev/sda8 71000064 12127 70987937 1% /home
/dev/sda2 393216 87909 305307 23% /usr
/dev/sda3 262144 222981 39163 86% /var
這裡我們看到var分割槽的inode使用情況已經不足%15了,因此我們可以明白為什麼會收到那條告警資訊了。瞭解了為什麼,那麼就具體尋找var下面哪個目錄較大、零碎檔案較多,從而清理分割槽空間。
透過cd /var/ ,透過du -hs * 發現磁碟空間最大的檔案來自/var/spool目錄,第一印象可能是/var/spool/clientmqueue,但進入發現實際佔用較大空間的是/var/spool/postfix/maildrop
這個目錄,這個目錄一般是系統郵件的回收站,刪除、丟棄的郵件會放到這裡,我們只需要刪除這裡的檔案即可騰出多餘的INode,從而減低/var空間使用率。
cd /var/spool/postfix/maildrop
ls |xargs -n 10 rm -rf
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda7 393216 9179 384037 3% /
tmpfs 8240103 1 8240102 1% /dev/shm
/dev/sda1 32768 46 32722 1% /boot
/dev/sda8 71000064 12127 70987937 1% /home
/dev/sda2 393216 87909 305307 23% /usr
/dev/sda3 262144 2409 259735 1% /var
此時磁碟inode明顯降低,告警也隨之消除。
深入分析:
為何/var/spool/postfix/maildrop目錄會生成大量的檔案?
cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
cat /etc/cron.d/0hourly
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
這裡刪除郵件會自動儲存root使用者下的/var/spool/postfix/maildrop目錄中,我們可以透過以下方式避免:
將MAILTO=root修改為MAILTO=空值即可,然後重啟crond服務 ( service crond restart)。
知識擴充套件:
1)目錄/var/spool/clientmqueue/也容易產生較多的零碎檔案,其原因是由於系統中有使用者開啟了cron任務,而cron中執行的程式有輸出內容,輸出內容會以郵件形式發給cron的使用者,而sendmail沒有啟動所以就產生了這些檔案。解決辦法如下:
清理/var/spool/clientmqueue/下面的檔案,cd /var/spool/clientmqueue/ ;ls |xargs -n 10 rm -rf ;
檢視產生/var/spool/clientmqueue/檔案的內容,找到對應的具體cron任務
將任務指令碼輸出新增 >/dev/null 2>&1
2)如果透過df -h 和 df -i發現 分割槽空間很大,但裡面檔案幾乎沒有,即磁碟空間沒有被釋放。導致這種原因一般是由於磁碟有些程式用到了這個分割槽下的檔案,使用者在沒有停掉程式的情況下清理了這些檔案,但程式還在,從而磁碟空間沒有被釋放。解決方法如下:
lsof|grep deleted
mysqld 5668 mysql 5u REG 8,3 0 1572866 /tmp/ibHVyCeJ (deleted)
mysqld 5668 mysql 6u REG 8,3 0 1572871 /tmp/ibW1Z6Gn (deleted)
mysqld 5668 mysql 7u REG 8,3 0 1572922 /tmp/ibz4HB91 (deleted)
mysqld 5668 mysql 8u REG 8,3 0 1572923 /tmp/ibFbld7k (deleted)
mysqld 5668 mysql 12u REG 8,3 0 1572924 /tmp/ibMFN1EZ (deleted)
找到程式,直接殺死即可(也可以透過重啟作業系統解決)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27067062/viewspace-2126313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sysaux 表空間不足問題處理UX
- 分割槽表truncate慢處理
- 處理ORA-01578錯時有用的分割槽操作
- 海量資料處理_表分割槽
- 將磁碟誤掛載到根分割槽下的問題處理記錄
- win10分割槽磁碟空間不足怎麼回事_win10分割槽磁碟沒有足夠空間如何處理Win10
- 海量資料處理_表分割槽(分割槽自動維護與歷史分割槽歸檔)
- boot分割槽剩餘空間不足boot
- 分割槽表split操作及maxvalue處理
- MySQL分割槽, 子分割槽以及對錄入Null值的處理情況MySqlNull
- /boot 分割槽空間不足時如何清理boot
- MySQL分表後原分割槽表處理方案MySql
- mysql分割槽表佔用大量容量處理(最佳化)及歸檔分割槽表MySql
- hive Sql的動態分割槽問題HiveSQL
- 分割槽表中全域性及本地分割槽索引什麼時候會失效及處理索引
- 全面學習分割槽表及分割槽索引(15)--修改表分割槽屬性和模板索引
- 對Oracle分割槽表進行表空間遷移並處理ORA-14511問題Oracle
- 處理動態分割槽時出現的異常
- 海量資料處理_表分割槽(線上重定義)
- 資料庫分割槽表分割槽未分配導致的一些問題資料庫
- 週末又一次歸檔空間不足問題處理
- 解密Kafka主題的分割槽策略:提升實時資料處理的關鍵解密Kafka
- 分割槽表中全域性及本地分割槽索引什麼時候會失效及處理[final]索引
- PostgreSQL/LightDB分割槽表之常見問題SQL
- 分割槽使用與Oracle許可證問題XSOracle
- Windows啟動問題修復(重建活動分割槽)Windows
- 關於修改分割槽表的問題總結
- kafka指定key進行分割槽遇到的問題Kafka
- win10分割槽合併不了的解決方法_win10分割槽合併不了如何處理Win10
- Oracle分割槽資料問題的分析和修復Oracle
- 使用DBMS_REDEFINITION在事務處理過程中將一個非分割槽錶轉換為分割槽表
- fdisk 更改分割槽容量遇到問題,還以為是oracle asm的問題OracleASM
- Windows系統問題,兩個隱藏分割槽無法刪除問題.Windows
- 處理問題的方法
- perl中文處理問題
- 漢字處理問題?
- xml處理的問題XML
- 貨品問題處理