婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux硬盤問題的八種解決技巧

Linux硬盤問題的八種解決技巧

熱門標簽:地圖標注和視頻彩鈴制作生意 信陽智能外呼系統聯系方式 南通電銷外呼系統排名 地圖標注怎么兼職 營業廳外呼系統有錄音嗎 合力億捷外呼系統如何解壓安裝 南京電銷外呼系統廠家 宿松百度地圖標注 滁州外呼系統接口對接

不能在Linux或者類UNIX系統的硬盤上寫入數據?想解決服務器上磁盤損壞的問題嗎?想知道你為什么總是在屏幕上看到“磁盤已滿”的字眼嗎?想學習處理這些問題的辦法嗎?試試一下這8個解決Linux及UNIX服務器硬盤問題的小貼士吧。

#1 - 錯誤: 設備上無剩余空間

當你的類UNIX系統磁盤寫滿了時你會在屏幕上看到這樣的信息。本例中,我運行fallocate命令然后我的系統就會提示磁盤空間已經耗盡:

$ fallocate -l 1G test4.imgfallocate: test4.img: fallocate failed: No space left on device

第一步是運行df命令來查看一個有分區的文件系統的總磁盤空間和可用空間的信息:

$ df

或者試試可讀性比較強的輸出格式:

$ df -h

部分輸出內容:

Filesystem      Size  Used Avail Use% Mounted on/dev/sda6       117G   54G   57G  49% /udev            993M  4.0K  993M   1% /devtmpfs           201M  264K  200M   1% /runnone            5.0M     0  5.0M   0% /run/locknone           1002M     0 1002M   0% /run/shm/dev/sda1       1.8G  115M  1.6G   7% /boot/dev/sda7       4.7G  145M  4.4G   4% /tmp/dev/sda9       9.4G  628M  8.3G   7% /var/dev/sda8        94G  579M   89G   1% /ftpusers/dev/sda10      4.0G  4.0G     0 100% /ftpusers/tmp

使用df命令輸出可以清楚地發現,在 /dev/sda10 分區下總共4.0Gb的空間被全部寫滿了。

修復磁盤寫滿的問題

1.用gzip,bzip2或tar命令壓縮未壓縮的日志和其它文件:

gzip /ftpusers/tmp/*.logbzip2 /ftpusers/tmp/large.file.name

2.在類UNIX系統中用rm命令刪除不想要的文件:

rm -rf /ftpusers/tmp/*.bmp

3.用rsync命令移動文件至其它系統或外置硬盤:

rsync --remove-source-files -azv /ftpusers/tmp/*.mov /mnt/usbdisk/rsync --remove-source-files -azv /ftpusers/tmp/*.mov server2:/path/to/dest/dir/

4.在類UNIX系統中找出最占磁盤空間的目錄或文件:

du -a /ftpusers/tmp | sort -n -r | head -n 10du -cks * | sort -rn | head

5.清空指定文件。這招對日志文件很有效:

truncate -s 0 /ftpusers/ftp.upload.log### bash/sh等 ##>/ftpusers/ftp.upload.log## perl ##perl -e'truncate "filename", LENGTH'

6.在Linux和UNIX中找出并刪除顯示著但已經被刪除的大文件:

## 基于Linux/Unix/OSX/BSD等系統 ##lsof -nP | grep '(deleted)'## 只基于Linux ##find /proc/*/fd -ls | grep  '(deleted)'

清空它:

 ## 基于Linux/Unix/OSX/BSD等所有系統 ##> "/path/to/the/deleted/file.name"## 只基于Linux ##> "/proc/PID-HERE/fd/FD-HERE"

#2 - 文件系統是只讀模式嗎?

當你嘗試新建或保存一個文件時,你可能最終得到諸如以下的錯誤:

$ cat > file-bash: file: Read-only file system

運行mount命令來查看被掛載的文件系統是否處于只讀狀態:

$ mount$ mount | grep '/ftpusers'

在基于Linux的系統中要修復這個問題,只需將這個處于只讀狀態的文件系統重新掛載即可:

# mount -o remount,rw /ftpusers/tmp

(LCTT 譯注:如果硬盤由于硬件故障而 fallback 到只讀模式,建議不要強制變回讀寫模式,而是趕快替換硬盤)

另外,我是這樣用rw模式重新掛載FreeBSD 9.x服務器的根目錄的:

# mount -o rw /dev/ad0s1a /

#3 - Am I running out of inodes?

有時候,df命令能顯示出磁盤有空余的空間但是系統卻聲稱文件系統已經寫滿了。此時你需要用以下命令來檢查能在文件系統中識別文件及其屬性的索引節點:

$ df -i$ df -i /ftpusers/

部分輸出內容:

Filesystem      Inodes IUsed   IFree IUse% Mounted on/dev/sda8      6250496 11568 6238928    1% /ftpusers

如上 /ftpusers 下有總計62,50,496KB大小的索引節點但是只有11,568KB被使用。你可以在 /ftpusers 位置下另外創建62,38,928KB大小的文件。如果你的索引節點100%被使用了,試試看以下的選項:

找出不想要的文件并刪除它,或者把它移動到其它服務器上。找出不想要的大文件并刪除它,或者把它移動到其它服務器上。

(LCTT 譯注:如果一個分區存儲了太多的小文件,會出現 inode 用完而存儲扇區還有空閑的情況,這種情況下要么清除小文件或在不需要獨立訪問的情況下將它們打包成一個大文件;要么將數據保存好之后重新分區,并設置分區的 -t news 屬性,增加 inode 分配)

#4 - 我的硬盤驅動器宕了嗎?

日志文件中的輸入/輸出錯誤(例如 /var/log/messages)說明硬盤出了一些問題并且可能已經失效,你可以用smartctl命令來查看硬盤的錯誤,這是一個在類UNIX系統下控制和監控硬盤狀態的一個命令。語法如下:

smartctl -a /dev/DEVICE# 在Linux服務器下檢查 /dev/sda smartctl -a /dev/sda

你也可以用"Disk Utility"這個軟件來獲得同樣的信息。

圖 01: Gnome磁盤工具(Applications > System Tools > Disk Utility)

注意: 不要對S.M.A.R.T.工具期望太高,它在某些狀況下無法工作,我們要定期做備份。

#5 - 我的硬盤驅動器和服務器是不是太熱了?

高溫會引起服務器低效,所以你需要把服務器和磁盤維持在一個平穩適當的溫度,高溫甚至能導致服務器宕機或損壞文件系統和磁盤。用hddtemp或smartctl功能,通過從支持S.M.A.R.T.功能的硬盤上讀取數據的方式,從而查出你的Linux或基于UNIX系統上的硬盤溫度。只有現代硬驅動器有溫度傳感器。hddtemp功能也支持從SCSI驅動器讀取S.M.A.R.T.信息。hddtemp能作為一個簡單的命令行工具或守護程序來從所有服務器中獲取信息:

hddtemp /dev/DISKhddtemp /dev/sg0

部分輸出內容如下:

圖 02: hddtemp正在運行

你也可以像下面顯示的那樣使用smartctl命令:

smartctl -d ata -A /dev/sda | grep -i temperature

我怎么獲取CPU的溫度

你可以使用Linux硬件監控工具,例如像用基于Linux系統的lm_sensor功能來獲取CPU溫度:

sensors

Debian服務器的部分輸出內容:

圖 03: sensors命令提供了一臺Linux計算機的CPU核心溫度和其它信息

#6 - 處理損壞的文件系統

服務器上的文件系統可能會因為硬件重啟或一些其它的錯誤比如壞的扇區而損壞。你可以用fsck命令來修復損壞的文件系統:

umount /ftpusersfsck -y /dev/sda8

來看看怎么應對Linux文件系統故障的更多信息。

#7 - 處理Linux中的軟陣列

輸入以下命令來查看Linux軟陣列的最近狀態:

 ## 獲得 /dev/md0 上磁盤陣列的具體內容 ##mdadm --detail /dev/md0## 查看狀態 ##cat /proc/mdstatwatch cat /proc/mdstat

部分輸出內容:

圖 04: 查看Linux軟陣列狀態命令

你需要把有故障的硬件驅動器更換掉,別刪錯了。本例中,我更換了 /dev/sdb (RAID 6中的第二個硬件驅動器)。沒必要依靠離線存儲文件來修復Linux上的磁盤陣列,因為這只在你的服務器支持熱插拔硬盤的情況下才能工作:

## 從一個md0陣列中刪除磁盤 ##mdadm --manage /dev/md0 --fail /dev/sdb1mdadm --manage /dev/md0 --remove /dev/sdb1# 對 /dev/sdbX 的剩余部分做相同操作 ### 如果不是熱插拔硬盤就執行關機操作 ##shutdown -h now## 從 /dev/sda 復制分區表至新的 /dev/sdb 下 ##sfdisk -d /dev/sda | sfdisk /dev/sdbfdisk -l## 添加 ##mdadm --manage /dev/md0 --add /dev/sdb1# 對 /dev/sdbX 的剩余部分做相同操作 ### 現在md0會再次同步,通過顯示屏查看 ## watch cat /proc/mdstat

來看看加快Linux磁盤陣列同步速度的小貼士來獲取更多信息。

#8 - 處理硬陣列

你可以用samrtctl命令或者供應商特定的命令來查看磁盤陣列和你所管理的磁盤的狀態:

## SCSI磁盤 smartctl -d scsi --all /dev/sgX## Adaptec磁盤陣列/usr/StorMan/arcconf getconfig 1## 3ware磁盤陣列tw_cli /c0 show

對照供應商特定文檔來更換你的故障磁盤。

標簽:阿壩 咸陽 六安 遵義 喀什 懷化 廣州 湖北

巨人網絡通訊聲明:本文標題《Linux硬盤問題的八種解決技巧》,本文關鍵詞  Linux,硬,盤問,題的,八種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux硬盤問題的八種解決技巧》相關的同類信息!
  • 本頁收集關于Linux硬盤問題的八種解決技巧的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 神农架林区| 新和县| 娄底市| 嵊泗县| 万荣县| 青岛市| 玛曲县| 行唐县| 罗平县| 兴业县| 黄平县| 镇宁| 景宁| 德清县| 普兰店市| 察隅县| 兰考县| 商丘市| 全州县| 丽江市| 普定县| 阿拉善盟| 治多县| 苍山县| 云南省| 崇明县| 安陆市| 灵川县| SHOW| 新巴尔虎左旗| 泽普县| 巧家县| 鄱阳县| 三都| 洛南县| 罗定市| 沐川县| 白水县| 云南省| 保康县| 博兴县|