【知識點】NO.1—-關于刪除文件后未及時釋放磁盤空間問題

刪除了某些占用大存儲的文件,發現占用的磁盤空間并沒有的到釋放。怎么解決呢?
在工作中經常遇到服務器某個存放日志或者某些數據的磁盤(或者目錄),因為檢查不及時磁盤存儲滿了的狀況。釋放空間真的只是刪除文件這么簡單嗎?nonono…

我們先來模擬一下演示環境

首先我們看一下磁盤的存儲狀況

[root@Centos7 ~]#df? ? ?-h? ? ? ?#df? ?顯示每個文件所在的文件系統的信息 。-h以人類易讀的類型顯示。

文件系統? ? ? ? ? ? ? ?容量? ? ?已用? ?可用? ?已用%? 掛載點

1

[root@Centos7 ~]#dd if=/dev/zero of=/boot/456 bs=1M count=900

##dd if=/dev/zero of=/boot/456 bs=1M count=900? #通俗點來講及時批量創建文件內容到/boot/456中。
input? file? ? ? ?output? file? ? block size? ? ? ?count
輸入文件? ? ? ? ? 輸出文件 (批次大小) (批次)

2

[root@Centos7 ~]#ll? -h? /boot/456? ?顯示/boot/456的文件的詳細信息

4

#通過df -h命令我們看到 /boot目錄的使用率已經100%了。

3

下面我們通過常用的命令rm來進行刪除

5

刪除操作執行成功了,怎么/boot目錄的使用率還是100%?難道文件還存在??

6

那我們通過#ll -h /boot來查看一下/boot下的文件列表。是不是很奇怪?文件沒有了為什么占用的空間卻沒有正常的釋放!難道系統出問題了?

那怎么辦呢?

不要擔心,接下來我們來排查一下問題。

因為命令執行沒有失敗,文件也確實刪除掉了。

那么我們來通過lsof命令:來查詢一下文件即被打開編輯中同時又被執行了刪除操作的文件。

[root@Centos7 ~]#lsof |grep deleted

7

通過查詢我們看到最下邊的那一條vi編輯著的文件居然就是我們剛剛刪除的/boot/456文件,占用的空間居然還是800+M大小。

這就是明明刪除了文件,可是存儲空間卻沒有及時釋放的原因了。因為文件還在使用中,系統默認是在程序關掉后才會釋放空間。我們直接kill殺掉這個進程既可以了。

其實工作中經常遇到這種情況,服務器是很多人都可以訪問的,部分文件(例如日志文件等)的訪問權限比較低大多數都是開放讀寫權限的。這就有可能造成一個人在刪除日志文件的同時,還有別的同事正打開查看這個日志文件。從而造成空間未及時釋放。

[root@Centos7 ~]#kill -9 PID? ? 【PID 即程序運行的ID編號,實驗中的編號是3699】

[root@Centos7 ~]#kill -9 3699

8

殺掉該進程后df -h 命令發現空間立刻釋放出來了,是不是很神奇呢!

接下來,我們再來介紹另外一種刪除釋放存儲空間的辦法。這種方法就不會出現rm刪除后可能無法及時釋放空間的問題。

首先:我們先來恢復一下上面的實驗環境,還是/boot 目錄吧

9

環境搭建好了。

接下來開始試驗

[root@Centos7 ~]#> /boot/456? ?#這里我們使用【>】來先清空文件內容。

清空后df -h發現存儲空間即刻得到釋放了。

10

當然如果文件真的不需要了,在執行rm命令刪除即可。

 

后邊介紹的這種方法,是不是又簡單又實用呢?

不過這兩種方法使用的時候要注意文件不要跟錯咯,否則刪除的文件都是很難恢復的哦!

小伙伴們還有沒有別的更好的方法呢?

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88533

(1)
lvshijunlvshijun
上一篇 2017-11-18 10:53
下一篇 2017-11-18 11:54

相關推薦

  • 第一周作業

    一、計算機的組成及功能 計算機是由硬件和軟件組成, 1、硬件主要分為五個部分: 1) 控制器(Control)  CPU 2) 運算器(Datapath)   3) 存儲器(Memory)  內存 4) 輸入(Input system)  鍵盤、鼠標 5) 輸出(Out…

    Linux干貨 2017-07-11
  • HA高可用集群學習筆記

    前言   什么是HA?HA做什么用的?   HA(High Available)是高可用集群,是保證業務不中斷性的有效解決方案;通常HA集群部署在多個節點,正在提供服務的節點成為活動節點,沒有提供服務的是非活動節點;當活動節點發生故障,非活動節點會轉為活動節點,向外提供服務,以保證業務的連續性;這就是HA。 一、HA(High Avail…

    Linux干貨 2015-06-30
  • vim編輯器

    回顧:     正則表達式(BRE, ERE)     BRE:字符匹配:., [], [^]     次數匹配:*,\?,\+,\{m\},\{m,n}     位置錨定:^,$,\<,\>     分組及引用:(),\1,\2,…&…

    Linux干貨 2016-12-23
  • 交換分區創建和磁盤配額的使用

    一、交換分區的建立與啟用:     交換分區是作為內存的一個輔助分區,在內存吃緊時,交換分區會作為內存的一部分使用,但是效率比起內存來說會很低下,在一個硬盤分區時最好使用柱面較小的柱面作為交換分區,因為在機械硬盤轉速一定的情況下,越靠近外面的磁道,線速度越大,讀取到的扇區越多,一定程度上有利于提高性能   &…

    Linux干貨 2016-08-29
  • N25-第一周作業

    第一周作業 一 、計算機的組成及其功能 計算機由CPU,控制器,存儲器,輸入設備,輸出設備組成的。 CPU是計算機的重要硬件之一,主要負責運算和指令解釋。 控制器是控制計算機系統的各個硬件設備協同工作的如(主板的南橋,北橋等) 存儲器分為內存和硬盤,內存負責程序運行,硬盤負責數據存儲。 輸入設備有鍵盤,鼠標等。 輸出設備有顯示器,打印機等。 二 、…

    Linux干貨 2016-12-04
  • 運維自動化之系統安裝

    自動化安裝系統,cobbler的安裝使用

    Linux干貨 2018-01-15
欧美性久久久久