CentOS 7:フルハードディスク容量と残り容量の確認

CentOS 7:フルハードディスク容量と残り容量の確認

System Information私はWindowsのアプリケーションと同様に、CentOS 7 PCに関するいくつかの情報を表示する簡単なスクリプトを作成しています。

仮想ディスクの合計容量と残りの容量を表示するコマンドがあるかどうか疑問に思います。

df現在、この構成で使用されているコマンドは残りの容量を提供することがわかります。

df -Ph | grep sda1 | awk '{print $4}' | tr -d '\n'

私もlsblkコマンドを知っていて、私の仮想ディスクのフルサイズを表示します。

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   59G  0 part 
  ├─centos-root 253:0    0   37G  0 lvm  /
  ├─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 18.1G  0 lvm  /home
sr0              11:0    1 1024M  0 rom  

lsblk以下を提供してコマンドをフィルタリングすることもできますlsblk -o NAME,SIZE

NAME             SIZE
sda               60G
├─sda1             1G
└─sda2            59G
  ├─centos-root   37G
  ├─centos-swap  3.9G
  └─centos-home 18.1G
sr0             1024M

60G容量のみを表示するように出力をフィルタリングする方法が気になりますsda

私はこれについて何も知りませんが、awk似たような質問に対する他の答えがたくさんあることを見たことがあるので、もっと詳しく調べる必要があるかもしれません。

答え1

使用:

lsblk -no SIZE /dev/sda | head -1

タイトルはlsblk -n印刷されません。したがって、実行すると:

lsblk -no SIZE /dev/sda

出力は次のとおりです。

970.5M
970.4M

最初の値970.5Mは合計ディスク容量です/dev/sda。この場合、head -1出力の最初の行だけが取得されます970.5M。他の値は(私の場合)970.4M容量です。/dev/sda1

lsblk -no PATH,NAME,SIZE /dev/sda
#Output:
/dev/sda  sda    970.5M
/dev/sda1 └─sda1 970.4M

上記のコマンドを使用して、すべてのパーティションを指定できます。たとえば、/dev/sda1に関する情報を取得するには、次のものを/dev/nvme0n1p1使用する必要があります。

lsblk -no PATH,NAME,SIZE /dev/nvme0n1p1 /dev/sda1
#Output:
/dev/sda1      sda1      970.4M
/dev/nvme0n1p1 nvme0n1p1   260M

あなたの質問について:sda3の結果のみを表示するにはどうすればよいですか?以下を使用できます。

lsblk -no SIZE  /dev/sda3

答え2

得るために総ディスク容量役に立つかもしれないもう一つの方法はを使うことですsmartctl

たとえば、

smartctl --scan

smartctl --xall /dev/sda

# in my case a scan results in

  Smartctl open device: /dev/sda failed: DELL or MegaRaid controller, please try adding '-d megaraid,N'

# therefore for me a    smartctl -d megaraid,0 --all /dev/bus/0       shows

=== START OF INFORMATION SECTION ===
Vendor:               TOSHIBA
Product:              KPM5WRUG3T84
Revision:             B322
Compliance:           SPC-4
User Capacity:        3,840,755,982,336 bytes [3.84 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
LU is resource provisioned, LBPRZ=1
Rotation Rate:        Solid State Device
Form Factor:          2.5 inches
Logical Unit id:      0x58ce38ee20abca2d
Serial number:        
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Wed Oct 12 14:26:53 2022 EDT
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported
Read Cache is:        Enabled
Writeback Cache is:   Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Percentage used endurance indicator: 4%
Current Drive Temperature:     29 C
Drive Trip Temperature:        70 C

Manufactured in week 33 of year 2019
Elements in grown defect list: 0

smartctl -d megaraid,0 --all /dev/bus/0 | grep Capacity | awk '{print $3}'使用できる抜粋です3,840,755,982,336

man smartctlgrepとawkに接続するのではなく、smartctlオプションを使用してこれを行う方法のオプションを確認してください。

しかし、smartctl使用された容量や残りの容量は教えてくれませんが、これは、信頼できる総ディスク容量の数値を得るための良い方法です。

また、次のことに興味があるかもしれませlshw -class disklshw -short -C disk

lshw -short -C disk
H/W path         Device        Class          Description
=========================================================
/0/2/0/2.0.0     /dev/sda      disk           3840GB PERC H740P Adp    {my one OS disk}
/0/2/0/2.1.0     /dev/sdb      disk           19TB PERC H740P Adp      {the 7 other disks as RAID-5 making 19tb volume I mount as /data}

関連情報