新しいサーバーで作業を開始するとき、宣言された構成と一致するかどうかを確認する価値があります。 コンソールでのみ使用可能なコマンドを使用してサーバー情報を表示する必要がある場合、多くの初心者ユーザーは困難を抱えています。
この記事では、コマンドラインでLinuxサーバーの仕様を取得する方法について説明します。
一般的なシステム情報
unameコマンドを使用してシステムに関する情報を取得できます。このコマンドは、使用しているオペレーティングシステムの名前を標準出力に書き込みます。 以下で説明するオプションのいずれかを指定すると、コンソールにはシステムの特性に関するより専門的な情報が表示されます。
#uname -a Linux srv1 3.8.0-35-generic#50-Ubuntu SMP Tue Dec 3 01:24:59 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux
オペレーティングシステム名、カーネルコンパイル日、バージョンおよびビット:Tue Dec 3 01:24:59 UTC 2013、3.8.0-35-generic、i386-32ビット、x86_84-64ビット。
- -aすべての可能な情報を表示します。
- -iカーネル識別子情報を表示します。
- -m現在のハードウェアプラットフォームのタイプを表示します。
- -nシステム名を表示します。
- -pサーバーのプロセッサアーキテクチャのタイプを表示します。
- -rオペレーティングシステムのリリース情報を表示します。
- -sは、使用されているオペレーティングシステムの名前を示します。
- -v使用されているオペレーティングシステムのバージョン情報を表示します。
使用されているオペレーティングシステムの配布に関する情報は、cat / etc / issueコマンドを使用して表示することもできます。
#cat / etc / issue Ubuntu 13.04 \ n \ l
分布情報を表示する別の方法があります。
#lsb_release -a 使用可能なLSBモジュールはありません。 ディストリビューターID:Ubuntu 説明:Ubuntu 13.04 リリース:13.04 コードネーム:raring
ハードウェア情報
Lshwユーティリティ
lshwユーティリティは、システムのハードウェアコンポーネントの完全なリストとデバイスに関する情報をコンソールに表示します。 lshwは、多くの最新のLinuxディストリビューションにデフォルトで含まれています。 見つからない場合は、標準パッケージマネージャーでインストールできます。
#apt-get install lshw
コンソールにハードウェアに関する情報を表示するには、次のコマンドを入力します。
#lshw
-shortオプションを使用して、この情報を短縮形で表示できます。
#lshw -short
lshwを使用すると、システムの個々のハードウェアコンポーネントに関する情報を表示することもできます。 これを行うには、-Cキーを使用します。その後、デバイスが示され、その情報をコンソールに表示する必要があります。
-プロセッサー:
#lshw -C cpu
-メモリ:
#lshw -Cメモリ
-ディスクサブシステム:
#lshw -Cディスク
Lspciユーティリティ
lspciユーティリティを使用すると、すべてのPCIバスとそれらに接続されているデバイスに関する情報を表示できます。 最新のLinuxディストリビューションのほとんどに含まれているpciutilsパッケージに含まれています。 何らかの理由で見つからない場合は、標準のパッケージマネージャーを使用してインストールできます。
デフォルトでは、lspciはデバイスの短いリストを表示します。 多数のオプションを使用して、より詳細な情報を取得できます。
-tオプションは、バスおよび接続されたデバイスに関する情報をツリー形式で表示します。 出力にはデジタルデバイス識別子のみが示されます。
#lspci -t -[0000:00]-+-00.0 + -01.0- [01]-+-00.0 | \ -00.1 + -03.0- [02]-+-00.0 | \ -00.1 + -07.0- [04]- + -09.0- [05]- + -14.0 + -14.1 + -1c.0- [03] ---- 00.0 + -1d.0 + -1e.0- [06] ---- 03.0 + -1f.0
-nオプションを使用して、デバイスのデジタルコードを表示できます。
#lspci -n 01:00.1 0200:14e4:1639(rev 20) 02:00.0 0200:14e4:1639(rev 20) 02:00.1 0200:14e4:1639(rev 20) 03:00.0 0104:1000:0079(rev 05) 06:03.0 0300:102b:0532(rev 0a)
各行の先頭で、出力は「:。」形式のデバイスコードを示し、次に形式::のコードを示します。
コードだけでなく、それに対応するデバイスの名前も含めるには、-nnオプションを指定します。
#lspci -nn 01:00.0イーサネットコントローラー[0200]:Broadcom Corporation NetXtreme II BCM5709ギガビットイーサネット[14e4:1639](rev 20) 03:00.0 RAIDバスコントローラー[0104]:LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] [1000:0079](rev 05) 06:03.0 VGA互換コントローラー[0300]:Matrox Electronics Systems Ltd. MGA G200eW WPCM450 [102b:0532](rev 0a)
デバイス名は、コード「:」で判別できます。-sオプションを使用します。
#lspci -s 03:00.0 03:00.0 RAIDバスコントローラー:LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator](rev 05)
コード「:」によってデバイスを判別するには、-dオプションを使用する必要があります。
#lspci -d 1000:0079 03:00.0 RAIDバスコントローラー:LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator](rev 05)
-dスイッチの後、ベンダーコードまたはデバイスコードのみを指定できます。次に例を示します。
#lspci -d 8086: #lspci -d:0532
この場合、入力されたコードに対応するすべてのデバイスのリストが表示されます。
特定のデバイスを担当するカーネルドライバーに関する情報を表示するには、-kオプションを使用します。
#lspci -k 00:1f.2 IDEインターフェイス:Intel Corporation 82801IB(ICH9)2ポートSATAコントローラー[IDEモード](rev 02) サブシステム:Dell PowerEdge R610 SATA IDEコントローラー 使用中のカーネルドライバー:ata_piix カーネルモジュール:ata_generic、pata_acpi、ata_piix 02:00.0イーサネットコントローラー:Broadcom Corporation NetXtreme II BCM5709ギガビットイーサネット(rev 20) サブシステム:Dell PowerEdge R610 BCM5709ギガビットイーサネット 使用中のカーネルドライバー:bnx2 カーネルモジュール:bnx2 03:00.0 RAIDバスコントローラー:LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator](rev 05) サブシステム:Dell PERC H700 Integrated 使用中のカーネルドライバー:megaraid_sas カーネルモジュール:megaraid_sas
疑似ファイルシステム/ proc
Linuxシステムのハードウェアコンポーネントに関する情報は、いわゆる/ proc疑似ファイルシステムに保存されます。 仮想ファイルであり、ドライブ上のスペースをまったく占有しないため、疑似ファイルと呼ばれます。 / procに保存されているほとんどの擬似ファイルは、人間が読める形式で表示されます。 / procツリーは、システムに関する情報を表示する多くのプログラムで使用されます。
CPU
プロセッサ情報は、/ proc / cpuinfo疑似ファイルに保存されます。 その内容を表示するには、次のコマンドを入力します。
#cat / proc / cpuinfo
このコマンドの出力には、プロセッサモデル、コアの数、サポートされているハードウェア仮想化技術などに関するさまざまな情報が含まれています。
最もボリュームがあり、理解しにくい出力セクションは、もちろんフラグです。 これらは、lshwコマンドの出力にも含まれています。
最も重要なフラグの値を考慮してください。
- ht(HyperThreading)-同時マルチスレッド技術のサポート。 Intel Xeon、Pentium 4、Atom、Core i3、Core i5、Core i7の一連のプロセッサに存在します。
- lm(ロングモード)-プロセッサが64ビットテクノロジで実行されている場合に示されます。
- vmx(Intel用)、svd(AMD用)-プロセッサはハードウェア仮想化テクノロジーをサポートします。 ゲストシステムからプロセッサリソースへの直接アクセスを提供するための命令の可用性を意味します。
- aes-AESコマンドシステムの拡張のサポート。
- ハイパーバイザー-OSがハイパーバイザーの下で実行されているかどうかを示します。
- smx-TXTテクノロジー(TPM)のサポート。
すべてのフラグの意味に関する詳細情報はこことここで見つけることができます 。
記憶
freeコマンドを使用して、スワップを含む空きメモリと使用済みメモリの合計量に関する情報を表示できます。 このコマンドの出力は次のようになります。
#無料-m キャッシュされた使用済み共有バッファの合計 メモリ:3627 3216 410 0 107 1157 -/ +バッファ/キャッシュ:1950 1676 スワップ:3762 31 3731
-mオプションは、空きメモリと使用済みメモリの量をメガバイト単位で表示することを示します。 ボリュームをギガバイトで表示するには、-gスイッチを指定する必要があります。 これは、大容量(数十、または数百ギガバイト)のRAM容量を持つサーバーに便利です。
さらに詳細な情報は、/ proc / meminfo疑似ファイルに保存されます。
cat / proc / meminfoコマンドの出力には、次の主要なパラメーターが含まれます。
- MemTotal-使用可能なRAMの量。
- MemFree-現在使用されておらず、プロセスへの割り当てに使用できるメモリの量を示します。
- バッファ-ディスクへの書き込みを待機しているデータが保存されるメモリ領域。
- キャッシュ-ディスクからの読み取りページのキャッシュが占めるボリューム。
- SwapCached-スワップ領域に転送され、その後RAMに戻された量。
- アクティブ-最も頻繁に使用されるページが占有するメモリの量。
- 非アクティブ-現在使用されていないページが占有しているメモリの量。
- スワップ{total、free}-スワップ領域の総量。
- ダーティ-いわゆる「ダーティ」ページ(つまり、RAMにあるが、まだディスクにフラッシュされていないページ)。
- ライトバック-現在ディスクにフラッシュされているページ。
- AnonPages-匿名ページ(プログラムで使用されるが、ファイルに関連付けられていないデータ);
- マップ済み-mmapを使用してプロセスの仮想アドレス空間に転送されたメモリの合計量。
- Committed_AS-すべてのプロセスに割り当てられているメモリの量(それらが完全に使用していなくても)。
ディスクサブシステム
パーティションとディスクの数を確認するには、次のコマンドを使用します。
#fdisk -l
dfコマンドを使用すると、マウントされているすべてのファイルシステムの空きおよび使用済みディスク領域のサイズを確認できます。 このコマンドでは、次のオプションが使用されます。
- -aすべてのファイルシステムに関する情報を表示します。
- -h情報を人間が読める形式で表示します。
- -Tファイルシステムタイプを表示します。
- -t指定したタイプのファイルシステムに関する情報のみを出力します。
df -hコマンドからの出力例を詳細に検討してください。
#df -h 使用されるファイルシステムサイズAvail Use%Mounted on / dev / mapper / vg0-vg0root 50G 15G 32G 32%/ tmpfs 5.9G 0 5.9G 0%/ dev / shm / dev / sda1 1008M 62M 895M 7%/ブート / dev / mapper / vg0-var 2.7T 839G 1.7T 33%/ var
実際の空き領域のサイズに関する情報は、[利用可能]セクションに表示されます。 「使用可能」セクションと「使用済み」セクションに示されている数値を追加すると、結果の量は「サイズ」セクションの図と等しくなりません。 これは、ディスク領域の一部がシステムファイルとメタデータ用に予約されているためです。
最新のLinuxディストリビューションの公式リポジトリに含まれているsmartctlユーティリティを使用して、ハードディスクのステータスに関する詳細情報を表示できます。 完全な情報を表示するには、コマンドを入力する必要があります。
#smartctl -a / dev / sda
コマンドの出力の解釈については、この記事を参照してください 。
pvdisplay、pvs、およびpvscanコマンドは、物理ボリュームに関する情報を表示するために使用されます。
pvscanコマンドは、システム内のすべてのブロックデバイスで物理ボリュームをチェックします。
#pvscan PV / dev / md0 VG vg0 lvm2 [462.96 GiB / 205.22 GiB free] 合計:1 [462.96 GiB] /使用中:1 [462.96 GiB] / VGなし:0 [0]
pvdisplayコマンドを使用すると、各物理ボリュームの詳細な複数行出力を表示できます。
#pvdisplay ---物理ボリューム--- PV名/ dev / md0 VG名vg0 PVサイズ462.96 GiB /使用不可1.87 MiB 割り当て可能はい PEサイズ4.00 MiB 合計PE 118517 無料のPE 52536 割り当てられたPE 65981 PV UUID Idm6eZ-5vS0-IJCo-RDQq-WZNk-nJ22-eb7aDd
pvsコマンドを使用して、データ表示形式(ボリュームごとに1行)を構成できますこれは、たとえば、スクリプトを作成する場合に便利です。
ハードディスクの論理ボリュームに関する情報を表示するには、lvm2パッケージに含まれているlvs、lvscanおよびlvdisplayユーティリティを使用します。 lvm2は、標準パッケージマネージャーを使用してインストールされます。
#apt-get install lvm2
lvscanコマンドは、システムで使用可能なすべての論理ボリュームのリストをコンソールに表示します(出力の断片をリストします)。
#lvscan ACTIVE '/ dev / vg0 / root' [18.62 GiB]継承 ACTIVE '/ dev / vg0 / www' [200.00 GiB]継承
lvdisplayコマンドを使用すると、論理ボリュームの属性(名前、サイズ、レイアウト)のリストをコンソールに表示できます。 特定の論理ボリュームの属性に関する情報を表示するには、-vオプションを使用し、その名前を指定します(出力フラグメントをリストします)。
#lvdisplay ---論理ボリューム--- LV名/ dev / vg0 /ルート VG名vg0 LV UUID yPtVFt-BON5-agWC-jXSr-cU4x-Tcu9-NRiwMF LV書き込みアクセス読み取り/書き込み LVステータスが利用可能 #オープン1 LVサイズ18.62 GiB 現在のLE 4768 セグメント1 割り当て継承 先読みセクターの自動 -現在256に設定 ブロックデバイス253:0 ---論理ボリューム--- LV名/ dev / vg0 / www VG名vg0 LV UUID reCzuE-5dgN-A4eB-LubM-VtUA-Lclq-MUt5v6 LV書き込みアクセス読み取り/書き込み LVステータスが利用可能 #オープン1 LVサイズ200.00 GiB 現在のLE 51200 セグメント2 割り当て継承 先読みセクターの自動 -現在256に設定 ブロックデバイス253:2
lvsコマンドは、前述のpvsコマンドに似ています。データ表示形式を構成し、1行に1つのボリュームを表示できます。
#lvs LV VG Attr LSize Origin Snap%Move Log Copy%Convert ルートvg0 -wi-ao 18.62g www vg0 -wi-ao 200.00g
アクティブなソフトウェアRAIDアレイのステータスに関する情報は、/ proc / mdstat疑似ファイルに保存されます。 cat / proc / mdstatコマンドを使用して、その内容を表示できます。
#cat / proc / mdstat 性格:[raid1] read_ahead 1024セクター md1:アクティブraid1 hda3 [0] hdc3 [1] 522048ブロック[2/2] [UU] md0:アクティブraid1 hda2 [0] hdc2 [1] 4192896ブロック[2/2] [UU] md2:アクティブraid1 hda1 [0] hdc1 [1] 128384ブロック[2/2] [UU]
検討している例では、システムには3つのアレイが含まれています。 それらのそれぞれについて、/ proc / mdstat疑似ファイルには、次の情報を含む個別のセクションがあります。
- RAID名
- RAID状態
- 配列レベル。
- アレイを構成する物理パーティションの名前。
- 構成されたデバイスの数とアレイ内の動作中のデバイスの数。
- 動作している各デバイスの状態(Uはデバイスが動作していることを意味し、_-デバイスに障害が発生したこと、同期-同期が進行中)
サーバーでハードウェアRAIDが使用されているかどうかは、既知のlspciコマンドを使用して確認できます。
#lspci -nn | grep RAID
RAIDが使用されている場合、次のタイプの応答:
02:00.0 RAIDバスコントローラー[0104]:LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] [1000:0079](rev 04)
オペレーティングシステムの標準的な手段を使用して、ハードウェアRAIDの状態に関する情報を取得することはできません。 これには特別なユーティリティがあります。LSIコントローラ用のMegaCLIと、adaptec用のAdaptec Storage Manager(asm)です。 Linuxシステムの公式リポジトリには含まれていません。 megacli はここからダウンロードできます。ASM はAdaptec Webサイトからダウンロードできます。
ネットワークインターフェース
システムに接続されているすべてのネットワークインターフェイスに関する情報は、/ proc / net / dev疑似ファイルに含まれています。 cat / proc / net / devコマンドを入力すると、すべてのアクティブおよび非アクティブのネットワークインターフェイスのリストがコンソールに表示されます。
現在のすべてのインターフェイスのステータスは、ip link show upコマンドを使用して表示できます。
ip addressコマンドは、すべてのネットワークインターフェイスに関する情報を表示します。
#IPアドレス 1:lo:mtu 16436 qdisc noqueue state UNKNOWN リンク/ループバック00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8スコープホストlo inet6 :: 1/128スコープホスト valid_lft forever preferred_lft forever 2:eth0:mtu 1500 qdisc pfifo_fast state UP qlen 1000 リンク/イーサー00:30:48:f2:7a:a0 brd ff:ff:ff:ff:ff:ff inet 5.178.83.252/29 brd 5.178.83.255スコープグローバルeth0 inet6 fe80 :: 230:48ff:fef2:7aa0 / 64スコープリンク valid_lft forever preferred_lft forever 3:eth1:mtu 1500 qdisc noop state DOWN qlen 1000 リンク/イーサー00:30:48:f2:7a:a1 brd ff:ff:ff:ff:ff:ff
UPは、インターフェースが機能していることを意味します。 NO CARRIERは、ネットワークカードポートにケーブルまたはトランシーバがないことを意味します。 ip routeコマンド(ip rと略記)は、コンソールにルーティングテーブルを表示します。
#ip r 88.93.16.185 dev br0経由のデフォルト 192.16.122.1 dev br0経由の50.178.87.0/24 192.16.122.1 dev br0経由の10.0.0.0/8 1.131.251.0/24経由で192.16.122.1 dev br0 192.16.122.0/24 dev br0 proto kernel scope link src 192.16.122.2 88.93.16.184/29 dev br0 proto kernel scope link src 88.93.16.186
おわりに
この記事は、Webサービスの設定と管理の問題に関する一連の出版物の最初の記事です。 近い将来、サーバーソフトウェアのインストールと最適化、トラブルシューティングなどの機能に関する記事を公開する予定です。
コメントで、次のサイクルの出版物のトピックに関するご意見やご提案をお聞かせいただければ幸いです。
なんらかの理由でHabréの投稿にコメントできない読者は、 私たちのブログを歓迎します 。