1. 程式人生 > >鳥哥的Linux私房菜讀書筆記--伺服器硬體資料的收集

鳥哥的Linux私房菜讀書筆記--伺服器硬體資料的收集

呼叫核心偵測的硬體常見指令如下:

· gdisk:可以使用 gdisk -l 將分割槽表列出; · dmesg:觀察核心運作過程當中所顯示的各項訊息記錄; · vmstat:可分析系統 (CPU/RAM/IO) 目前的狀態; · lspci:列出整個 PC 系統的 PCI 介面裝置!很有用的指令; · lsusb:列出目前系統上面各個 USB 埠口的狀態,與連線的 USB 裝置; · iostat:與 vmstat 類似,可實時列出整個 CPU 與介面裝置的 Input/Output 狀態。

<1>lspci    #列出整個 PC 系統的 PCI 介面裝置(硬體裝置)

[[email protected]
~]# lspci [-vvn] 選項與引數: -v :顯示更多的 PCI 介面裝置的詳細資訊; -vv :比 -v 還要更詳細的細部資訊; -n :直接觀察 PCI 的 ID 而不是廠商名稱 [[email protected] ~]# lspci -s 00:03.0 -vv

-s 後面接的那個怪東西每個裝置的匯流排、插槽與相關函式功能,那個是我們硬體偵測所得到的資料,可以對照底下這個檔案來了解該串資料的意義: · /usr/share/hwdata/pci.ids 其實那個就是 PCI 的標準 ID 與廠牌名稱的對應表,此外,剛剛我們使用 lspci 時,其實所有的資料都是由 /proc/bus/pci/ 目錄下的資料所取出的,由於硬體的發展太過迅速,所以你的 pci.ids 檔案可能會落伍了,可以使用底下的方式來線上更新你 的對應檔:

[[email protected] ~]# update-pciids

<2> lsusb    #檢視系統接了多少個 USB 裝置

[[email protected] ~]# lsusb [-t]
選項與引數:
-t :使用類似樹狀目錄來顯示各個 USB 埠口的相關性
範例一:列出目前鳥哥的測試用主機 USB 各埠口狀態
[[email protected] ~]# lsusb
Bus 002 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

# 該裝置的 ID 是 0627:0001,對應的廠商與產品為 Adomax 的裝置。 ID 號碼與廠商型號對照寫入在/usr/share/hwdata/pci.ids

<3>isotat    #檢視整機的儲存裝置

注意centos沒有安裝這個軟體

[[email protected] ~]# iostat [-c|-d] [-k|-m] [-t] [間隔秒數] [偵測次數]
選項與引數:
-c :僅顯示 CPU 的狀態;
-d :僅顯示儲存裝置的狀態,不可與 -c 一起用;
-k :預設顯示的是 block ,這裡可以改成 K bytes 的大小來顯示;
-m :與 -k 類似,只是以 MB 的單位來顯示結果。
-t :顯示日期出來;
範例一:顯示一下目前整個系統的 CPU 與儲存裝置的狀態
[[email protected] ~]# iostat
Linux 3.10.0-229.el7.x86_64 (study.centos.vbird) 09/02/2015 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
 0.08 0.01 0.02 0.00 0.01 99.88
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.46 5.42 3.16 973670 568007
scd0 0.00 0.00 0.00 154 0
sda 0.01 0.03 0.00 4826 0
dm-0 0.23 4.59 3.09 825092 555621
# 瞧!上面資料總共分為上下兩部分,上半部顯示的是 CPU 的當下資訊;
# 下面資料則是顯示儲存裝置包括 /dev/vda 的相關資料,他的資料意義:
# tps :平均每秒鐘的傳送次數!與資料傳輸『次數』有關,非容量!
# kB_read/s :開機到現在平均的讀取單位;
# kB_wrtn/s :開機到現在平均的寫入單位;
# kB_read :開機到現在,總共讀出來的檔案單位;
# kB_wrtn :開機到現在,總共寫入的檔案單位;
範例二:僅針對 vda ,每兩秒鐘偵測一次,並且共偵測三次儲存裝置
[[email protected] ~]# iostat -d 2 3 vda
Linux 3.10.0-229.el7.x86_64 (study.centos.vbird) 09/02/2015 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.46 5.41 3.16 973682 568148
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 0.00 0.50 0 1
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
# 仔細看一下,如果是有偵測次數的情況,那麼第一次顯示的是『從開機到現在的資料』,
# 第二次以後所顯示的資料則代表兩次偵測之間的系統傳輸值!舉例來說,上面的資訊中,
# 第二次顯示的資料,則是兩秒鐘內(本案例)系統的總傳輸量與平均值。

3、瞭解磁碟的健康狀態

SMART:self-Monitoring,Analysis and Reporting Technology System,主要用來檢測目前常見的ATA與SCSI介面的磁碟。被檢測的磁碟必須要支援SMART協議。smartd提供一支名為smartctl。

1. 用 smartctl 來顯示完整的 /dev/sda 的資訊
[[email protected] ~]# smartctl -a /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-229.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
# 首先來輸出一下這部磁碟的整體資訊狀況!包括製造商、序號、格式、SMART 支援度等等!
=== START OF INFORMATION SECTION ===
Device Model: QEMU HARDDISK
Serial Number: QM00002
Firmware Version: 0.12.1
User Capacity: 2,148,073,472 bytes [2.14 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA/ATAPI-7, ATA/ATAPI-5 published, ANSI NCITS 340-2000
Local Time is: Wed Sep 2 18:10:38 2015 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
當你下達過磁碟自我檢測的過程,就會被記錄在這裡了!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 2. 命令磁碟進行一次自我檢測的動作,然後再次觀察磁碟狀態!
[[email protected] ~]# smartctl -t short /dev/sda
[[email protected] ~]# smartctl -a /dev/sda
.....(前面省略).....
# 底下會多出一個第三筆的測試資訊!看一下 Status 的狀態,沒有問題就是好訊息!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 3 Short offline Completed without error 00% 4660 -