1. linux文件系統的種類和優勢linux文件系統的類型
Linux是一種開放源代碼的操作系統,它有多種文件系統,都有它自己的優勢。
一種文件系統是EXT2,EXT2它更穩定,也更適合部署在生產環境中,因為他有一個完善的異常恢復機制,並且硬體依賴性幾乎比其他文件系統更低。
另一種文件系統是EXT3,它是EXT2的增強版本,其增強的特性是主要是日誌記錄功能,可以記錄對文件系統的更改,並且有效的進行文件系統修復。EXT3具有一定的數據安全性。
EXT4是EXT3的升級版本,它允許更大的單個文件和單個文件系統的大小。與EXT3相比,EXT4具有更好的性能,更快的數據恢復 (即使有單個塊出錯) 和更多的文件恢復選項。
XFS是Linux系統中第四種文件系統,它可以容納文件大小高達 8 EiB (立方億),它有一個設計思路與其他類型的文件系統不同,它擁有更快的性能和更少的內存使用,並且比其他文件系統有更高的穩定性。
總之,Linux文件系統的種類比較多,包括EXT2/EXT3/EXT4/XFS等,根據不同的應用場景來進行選擇。比如,生產環境中應該使用EXT2,主要用於數據恢復和安全性提升,而XFS則擁有更高的性能和更快的數據恢復能力。因此,在使用Linux文件系統時,一定要好好考慮使用的文件系統, 以確保獲得最佳的性能。
2. 如何用linux查看日誌、磁碟、cpu、內存使用情況
在伺服器運維中,了解磁碟IO性能至關重要,它直接影響伺服器響應速度與處理能力。使用dd命令可有效查看此性能。dd命令強大且多功能,適用於文件復制、格式轉換與數據備份等。
為測試磁碟IO性能,首先使用dd命令創建測試文件,如dd if=/dev/zero of=b.txt bs=1G count=1,生成1GB全零文件。接著執行dd命令,如dd if=b.txt of=/dev/null bs=1024 count=10240 iflag=direct oflag=direct,測試文件讀取速度。執行後使用tail查看結果,單位為KBps,數值越大表示IO性能越好。
在測試磁碟IO時,結合/proc/diskstats文件獲取統計信息,通過grep篩選測試文件相關數據,使用awk提取所需信息,最後顯示測試結果。定期通過腳本執行dd命令,便於持續監控磁碟性能。
dd命令不僅能查看磁碟IO性能,還能用於數據備份、文件格式轉換等任務,是伺服器運維中不可或缺的工具。通過合理運用,可顯著提升伺服器性能與穩定性。
3. 文件系統性能改善主要有哪些方法在Unix系統中,還採取了哪些提高磁碟IO速度的方法(考研題,拜
由於各種的I/O負載情形各異,Linux系統中文件系統的預設配置一般來說都比較中庸,強調普遍適用性。然而在特定應用下,這種配置往往在I/O性能方面不能達到最優。因此,如果應用對I/O性能要求較高,除了採用性能更高的硬體(如磁碟、HBA卡、CPU、MEM等)外,我們還可以通過對文件系統進行性能調優,來獲得更高的I/O性能提升。總的來說,主要可以從三個方面來做工作:
1、Disk相關參數調優
2、文件系統本身參數調優
3、文件系統掛載(mount)參數調優
當然,負載情況不同,需要結合理論分析與充分的測試和實驗來得到合理的參數。下面以SAS(Serial attached SCSI)磁碟上的EXT3文件系統為例,給出Linux文件系統性能優化的一般方法。請根據自身情況作適合調整,不要生搬硬套。
1、Disk相關參數
1.1 Cache mode:啟用WCE=1(Write Cache Enable), RCD=0(Read Cache Disable)模式
sdparm -s WCE=1, RCD=0 -S /dev/sdb
1.2 Linux I/O scheler演算法
經過實驗,在重負載情形下,deadline調度方式對squidI/O負載具有更好的性能表現。其他三種為noop(fifo), as, cfq,noop多用於SAN/RAID存儲系統,as多用於大文件順序讀寫,
cfq適於桌面應用。
echo deadline > /sys/block/sdb/queue/scheler
1.3 deadline調度參數
對於redhat linux建議 read_expire = 1/2 write_expire,對於大量頻繁的小文件I/O負載,應當這兩者取較小值。更合適的值,需要通過實驗測試得到。
echo 500 > /sys/block/sdb/queue/iosched/read_expire
echo 1000 > /sys/block/sdb/queue/iosched/write_expire
1.4 readahead 預讀扇區數
預讀是提高磁碟性能的有效手段,目前對順序讀比較有效,主要利用數據的局部性特點。比如在我的系統上,通過實驗設置通讀256塊扇區性能較優。
blockdev --setra 256 /dev/sdb
2、EXT3文件系統參數
2.1 block size = 4096 (4KB)
mkfs.ext3 -b指定,大的數據塊會浪費一定空間,但會提升I/O性能。EXT3文件系統塊大小可以為1KB、2KB、4KB。
2.2 inode size
這是一個邏輯概念,即一個inode所對應的文件相應佔用多大物理空間。mkfs.ext3 -i指定,可用文件系統文件大小平均值來設定,可減少磁碟定址和元數據操作時間。
2.3 reserved block
mkfs.ext3 -m指定,預設為5%,可調小該值以增大部分可用存儲空間。
2.4 disable journal
對數據安全要求不高的應用(如web cache),可以關閉日誌功能,以提高I/O性能。
tune2fs -O^has_journal /dev/sdb
3、mount參數
3.1 noatime, nodirtime
訪問文件目錄,不修改訪問文件元信息,對於頻繁的小文件負載,可以有效提高性能。
3.2 async
非同步I/O方式,提高寫性能。
3.3 data=writeback (if journal)
日誌模式下,啟用寫回機制,可提高寫性能。數據寫入順序不再保護,可能會造成文件系統數據不一致性,重要數據應用慎用。
3.4 barrier=0 (if journal)
barrier=1,可以保證文件系統在日誌數據寫入磁碟之後才寫commit記錄,但影響性能。重要數據應用慎用,有可能造成數據損壞。