磁碟碎片整理方案

2021-08-10 12:40:05 字數 1817 閱讀 8428

xfs檔案系統用延遲寫入等技術可以減少碎片的出現,但是隨著時間推移,檔案操作比較頻繁,還是會出現碎片的。當磁碟碎片到達一定的限度,會導致機器執行緩慢且無法對目標目錄進行讀寫操作。

磁碟碎片整理的步驟如下:

一、檢查出需要磁碟碎片清理的機器

ssh連線各compute節點,通過命令xfs_db -r -c 「frag -f」 /dev/sda4,可以檢視磁碟碎片。

如上圖,如果發現磁碟碎片extents區段大於300(正常情況下extents區段趨近於1),那麼執行在該compute節點上的虛擬機器需要進行磁碟碎片整理了。

二、與管理員溝通

詢問管理員該問題虛擬機器此時是否能關機進行磁碟碎片整理。為了確保資料盡可能不丟失,請管理員先將該虛擬機器上執行的服務關閉,然後關閉該虛擬機器。注意記錄該虛擬機器的id和執行所在compute節點的ip(可以在命令列使用nova list命令檢視,或者登陸dashboard直接檢視)。

注:一般來說,es虛擬機器產生的磁碟碎片忽略不計,整理compute節點磁碟碎片時,為了節約時間只對hadoop節點進行磁碟碎片整理即可。

三、開始整理磁碟碎片

ssh連線到剛記錄的compute節點上,查詢待整理的虛擬機器是否執行在此compute節點上。

ll -h /var/lib/nova/instances/(id是之前記錄的虛擬機器id)

確認虛擬機器關閉後,我們先對disk 檔案進行磁碟碎片整理。輸入命令進入後台整理。

nohup time xfs_fsr -v /var/lib/nova/instances//disk &

磁碟碎片整理時間與磁碟大小成正比,disk檔案一般500g需要整理10分鐘,disk.eph0檔案一般6t需要整理2小時。

查詢程序,檢查整理是否完成。

ps -ef | grep xfs_fsr

待disk檔案整理完(即沒有xfs_fsr程序),再整理disk.eph0檔案。

nohup time xfs_fsr -v /var/lib/nova/instances &

整理完成之後,檢查一下此刻的磁碟碎片

xfs_db -r -c 「frag -f」 /dev/sda4

發現磁碟碎片顯著下降,便可開啟之前關閉的虛擬機器,通知管理員磁碟碎片整理完成。

如果磁碟碎片下降的不是很明顯,需要對該compute節點上的其他虛擬機器就 進行磁碟碎片整理,整理步驟如上。

磁碟碎片過多引發的其他問題 – 記憶體死鎖問題

當某compute節點的磁碟碎片非常多時,我們發現compute節點上執行的虛擬機器非常卡,基本的讀寫操作都無法進行。當我們檢視compute節點的messages日誌時,發現記憶體死鎖的error資訊。

vim /var/log/messages

kernel: xfs: worker(28076) possible memory allocation deadlock size

2133872

in kmem_alloc (mode:0x250)

xfs: worker(34675) possible memory allocation deadlock size

2191488

in kmem_alloc (mode:0x250)

我們需要先釋放一下記憶體

echo 1 > /proc/sys/vm/drop_caches

待compute節點不再報記憶體死鎖的error,再進行磁碟碎片的檢查和整理。

Oracle磁碟碎片處理

在資料庫建立之後,磁碟的空間是連續的,但是隨著對資料的dml操作,在資料庫的資料塊中就會出現一些磁碟碎片。磁碟碎片會影響磁碟i o操作,浪費磁碟空間,就拿鏈化現象來說吧,通常鏈化行都會跨越不止乙個資料塊,所以當讀取鏈化行時,所需要的磁碟i o就需要讀取不止乙個資料塊,從而增大了磁碟i o操作,影響資...

有空整理一下磁碟碎片吧

因為ntfs碎片比fat少得多,所以長久以來,幾乎忽略了磁碟碎片.本人的筆記本用得很小心,1年來幾乎沒出什麼問題,但是速度越來越不行,遊戲總是一頓一頓.前幾天對系統進行了大規模的閹割,發現沒有多少改善,甚是奇怪.昨日,發現硬碟聲音總是不斷,突然想到,會不會是因為磁碟碎片的問題.於是,對其進行了整理....

手機的MMC卡的磁碟碎片整理

現在智慧型手機上的軟體越來越多,電影 鈴聲 遊戲等也是經常更換,經常不斷地刪除 安裝 拷貝已經成為每個使用者的必修課,機油們的卡也越來越大,象電腦一樣,mmc卡上產生的碎片也必然越來越多,其結果必然是讀卡的速度減慢,比如看電影的讀盤速度等等,更嚴重地還會產生程式出錯等問題,插上讀卡器進行磁碟整理是最...