0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的な学習メモ: df -h and lsblkの出力が違う理由について。

Last updated at Posted at 2024-11-24

df -hlsblk コマンドの出力が異なる理由を以下のように説明します。


出力の違いの理由

1. コマンドの目的

  • df -h:

    • ファイルシステムが「マウント」されている場合のディスク使用状況を表示します。
    • マウントポイントが設定されていないディスクや未使用のパーティションは表示されません。
    • 例: システムが実際にアクセスしている部分だけが表示されるため、デバイス全体の情報は反映されません。
  • lsblk:

    • システム内のすべての「ブロックデバイス」(ディスク、パーティション、LVMボリュームなど)を表示します。
    • マウントされていないディスクや未割り当ての空き容量も含まれます。

今回のケース

df -h の出力内容

  • 表示対象:
    • /dev/mapper/pve-root など、実際にマウントされているファイルシステムのみがリストアップされています。
    • 未マウントのディスク (sdanvme0n1) は除外されます。
  • 結果:
    • 2TB近くのストレージ(sdanvme0n1)の情報は含まれていません。

lsblk の出力内容

  • 表示対象:
    • システム内のすべてのブロックデバイスを表示します。
    • sdanvme0n1 の物理ディスク全体が確認できます。
    • さらに、LVM (Logical Volume Management) によって分割されている領域や、未使用のパーティションもリストアップされています。
  • 結果:
    • sda(約978GB)や nvme0n1(約953GB)が表示され、各ディスクの詳細が確認できます。

LVMが影響している場合

今回のケースでは、ディスクの一部がLVMとして管理されているため、df -hでの表示に影響しています。

  • LVM (Logical Volume Management):
    • ディスク全体を論理的に分割して管理できる仕組みです。
    • LVMで管理されている領域はlsblkでは詳細が表示されますが、df -hではマウントされている論理ボリュームだけが表示されます。
    • 例:
      • df -h/dev/mapper/pve-root としてマウントされた領域(94GB)が見える。
      • lsblk では、未使用の領域や、VM(仮想マシン)用に割り当てられたボリュームも確認可能。

それぞれのコマンドの使いどころ

  • df -h を使う場面:

    • 実際に使用中のファイルシステムのディスク使用状況を確認する。
    • 空き容量を監視したいとき。
  • lsblk を使う場面:

    • システムに接続されているすべてのストレージデバイスを確認したいとき。
    • LVMボリュームや未使用領域を調査するとき。
    • 物理ディスクと論理ボリュームの構成を把握したいとき。

例え話で理解

  • df -h は「本棚の中にある、本の総ページ数と空きページ数を教えてくれるリスト」だと考えられます。ただし、本棚にない本はカウントされません。
  • lsblk は「本棚にあるすべての本を見せてくれるカタログ」で、本棚に置いてない本も「書斎のどこにあるか」が記載されています。

まとめ

  • df -h では、マウントされていないストレージやLVMで管理されている未マウント領域は見えません。
  • lsblk でシステム全体のストレージを確認し、必要に応じてどのディスクが未使用か、どのパーティションをマウントするかを判断してください。

あなたの質問に対して、LVM(Logical Volume Management)やパーティションの概念について詳しく説明します。

物理ディスクとLVMの関係

  1. 物理ディスクの構成:
       - あなたのPCには2つの物理ディスクがあります:
         - Disk 1: NVMe SSD(サイズ: 953.9G)
         - Disk 2: Crucial SSD(サイズ: 978.1G)

  2. LVMの使用:
       - LVMは、物理ディスクのパーティショニングをより柔軟に管理するためのシステムです。これにより、ストレージの割り当てを動的に変更したり、複数の物理ディスクを一つの論理ボリュームにまとめたりできます。

  3. LVMの構成:
       - あなたの設定では、以下のような構成になっています:
         - /dev/mapper/pve-root: 94Gの論理ボリューム。これはLVMによって管理されているボリュームです。
         - 残りのディスク(953Gや978G)はLVMにまとめられ、複数の論理ボリュームとして使用されています。

パーティションとLVMの違い

  • パーティション:
      - 物理ディスクを分割して、個々の領域を作成する方法です。これにより、異なるファイルシステムを使用したり、異なる用途に応じた領域を確保することができます。

  • LVM:
      - 複数の物理ディスクを一つの論理ストレージプールにまとめ、論理ボリュームを動的に作成・管理できるシステムです。
      - LVMを使用することで、ストレージの拡張や縮小、スナップショットの作成が容易になります。

LVMのメリット

  1. 柔軟性:
       - ディスクのサイズを固定することなく、必要に応じてストレージを追加できます。物理ディスクを追加した場合、新しい論理ボリュームを簡単に作成できます。

  2. スナップショット:
       - データのスナップショットを簡単に作成でき、バックアップや復元が容易になります。

  3. 動的管理:
       - ストレージの使用状況に応じて、論理ボリュームのサイズを変更できます。

あなたの構成について

  • /dev/mapper/pve-root(94G)はLVMによって管理されており、これはLVMボリュームの一部です。
  • 953.9GのNVMe SSD978.1GのCrucial SSDの両方がLVMで管理されており、それぞれのストレージはLVMプール内で複数の論理ボリュームに分割されています。

まとめ

  • あなたのPCには2台の物理ディスクがあり、両方ともLVMで管理されています。
  • /dev/mapper/pve-rootはLVMの論理ボリュームで、94Gのサイズがあります。
  • LVMを使用することで、ストレージの管理が柔軟になり、拡張や縮小が容易になります。これがLVMを使用する主な理由です。

1. ディスク構成とLVMの役割

あなたのPCには、以下のように2台の物理ディスクがあります:

  • ディスク1 (NVMe SSD): 約 953GB (デバイス名: nvme0n1)
      - 一部 (94GB) は直接使われ、/dev/mapper/pve-root (ルートパーティション) に割り当てられています。
      - 残り (816GB) は LVM に組み込まれ、仮想マシンのデータなどに使用されています。

  • ディスク2 (Crucial SSD): 約 978GB (デバイス名: sda)
      - こちらは全体をLVMに割り当てています。


2. なぜLVMを使うのか?

LVM(Logical Volume Manager)は、ディスクの柔軟な管理を可能にする仕組みです。以下のメリットがあります:

  1. ディスク容量の拡張性:
       - ディスク容量を後から簡単に追加・拡張できます。
       - 必要に応じてパーティションサイズを変更可能。

  2. スナップショット機能:
       - ディスクの現在の状態を一時的に保存し、復元する機能があります。
       - 仮想マシン管理では、このスナップショット機能が重要。

  3. 複数ディスクの統合:
       - 複数の物理ディスクを1つの論理ボリュームとして管理可能。
       - Crucial SSD 全体を仮想マシン用の大容量ストレージとして活用できます。

  4. パフォーマンスの向上:
       - RAIDのように複数ディスクのデータを並列に処理することで、性能を高められる場合もあります。


3. /dev/mapper/pve-rootとLVMの違い

  • /dev/mapper/pve-root:  
      - 直接パーティションを作成して利用する方法(非LVM)。固定サイズで管理されるため、後からのサイズ変更は困難。
      - 仮想環境ではOSや基本ファイルシステムに利用され、安定性とシンプルさを重視。

  • LVM:
      - 仮想マシンやスナップショット、バックアップデータなど、頻繁に変更や拡張が求められる領域に最適。
      - 論理ボリュームとしてディスクを柔軟に割り当て、動的に管理。


4. なぜすべて非LVMにしないのか?

非LVMでは、仮想化環境に必要な柔軟性が不足します:

  • 仮想マシンのストレージは動的に拡張・縮小が求められる。
  • スナップショットやライブマイグレーションなどの機能はLVMに依存する部分が多い。

Pのような仮想化環境では、ほぼ標準的にLVMが利用されます。


5. ディスク構成まとめ

  • ディスク1 (nvme0n1):
      - /dev/mapper/pve-root (94GB): 非LVM、OSや基本ファイルシステム用。
      - 残り (816GB): LVMに割り当て、仮想マシン用。

  • ディスク2 (sda):
      - 全体をLVMに割り当て。


6. 結論

物理ディスクは2台で、仮想化環境の管理を効率化するため、LVMを利用しています。非LVMにする場合、仮想マシンの管理やスナップショット機能が制限されるため、LVMを採用するのが実用的です。

root@kensyo:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0% /dev
tmpfs 6.3G 7.2M 6.3G 1% /run
/dev/mapper/p-root 94G 36G 54G 40% /
tmpfs 32G 66M 32G 1% /dev/shm
tmpfs 5.0M 12K 5.0M 1% /run/lock
kensyo-vmintra.p.com:/zfs10/export/iso 7.1T 391G 6.7T 6% /mnt/p-sNFS
/dev/fuse 128M 32K 128M 1% /etc/p
tmpfs 6.3G 2.5M 6.3G 1% /run/user/1000
root@kensyo:~#

以下のように変更を反映しました:


df -h の変更後

root@kensyo:~# df -h
Filesystem                                Size  Used Avail Use% Mounted on
udev                                       32G     0   32G   0% /dev
tmpfs                                     6.3G  7.2M  6.3G   1% /run
/dev/mapper/p-root                         94G   36G   54G  40% /
tmpfs                                      32G   66M   32G   1% /dev/shm
tmpfs                                     5.0M   12K  5.0M   1% /run/lock
kensyo-vmintra.p.com:/zfs10/export/iso    7.1T  391G  6.7T   6% /mnt/p-sNFS
/dev/fuse                                 128M   32K  128M   1% /etc/p
tmpfs                                     6.3G  2.5M  6.3G   1% /run/user/1000
root@kensyo:~#

lsblk の変更後

root@kensyo:~# lsblk  
NAME                                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                                              8:0    0 978.1G  0 disk  
├─crucialssd-crucialssd_tmeta                  252:0    0   9.8G  0 lvm   
│ └─crucialssd-crucialssd-tpool                252:6    0 958.4G  0 lvm   
│   ├─crucialssd-crucialssd                    252:7    0 958.4G  1 lvm   
│   ├─crucialssd-vm--112--disk--0              252:8    0    50G  0 lvm   
│   ├─crucialssd-vm--112--disk--1              252:9    0    50G  0 lvm   
│   ├─crucialssd-vm--113--disk--0              252:10   0    50G  0 lvm   
│   └─crucialssd-vm--114--disk--0              252:11   0    50G  0 lvm   
└─crucialssd-crucialssd_tdata                  252:1    0 958.4G  0 lvm   
 └─crucialssd-crucialssd-tpool                252:6    0 958.4G  0 lvm   
   ├─crucialssd-crucialssd                    252:7    0 958.4G  1 lvm   
   ├─crucialssd-vm--112--disk--0              252:8    0    50G  0 lvm   
   ├─crucialssd-vm--112--disk--1              252:9    0    50G  0 lvm   
   ├─crucialssd-vm--113--disk--0              252:10   0    50G  0 lvm   
   └─crucialssd-vm--114--disk--0              252:11   0    50G  0 lvm   
nvme0n1                                        259:0    0 953.9G  0 disk  
├─nvme0n1p1                                    259:1    0  1007K  0 part  
├─nvme0n1p2                                    259:2    0     1G  0 part  
└─nvme0n1p3                                    259:3    0 952.9G  0 part  
 ├─p-swap                                     252:2    0     8G  0 lvm  [SWAP]
 ├─p-root                                     252:3    0    96G  0 lvm  /
 ├─p-data_tmeta                               252:4    0   8.3G  0 lvm   
 │ └─p-data-tpool                             252:12   0 816.2G  0 lvm   
 │   ├─p-data                                 252:13   0 816.2G  1 lvm   
 │   ├─p-vm--100--disk--0                     252:14   0     4M  0 lvm   
 │   ├─p-vm--100--disk--1                     252:15   0    32G  0 lvm   
 │   ├─p-vm--101--disk--0                     252:16   0     8G  0 lvm   
 │   ├─p-vm--102--disk--0                     252:17   0     4M  0 lvm   
 │   ├─p-vm--102--disk--1                     252:18   0    64G  0 lvm   
 │   ├─p-vm--102--disk--2                     252:19   0     4M  0 lvm   
 │   ├─p-vm--105--disk--0                     252:20   0     4M  0 lvm   
 │   ├─p-vm--105--disk--1                     252:21   0    90G  0 lvm   
 │   ├─p-vm--103--disk--0                     252:22   0     4M  0 lvm   
 │   ├─p-vm--103--disk--1                     252:23   0    50G  0 lvm   
 │   ├─p-vm--103--disk--2                     252:24   0    50G  0 lvm   
 │   ├─p-vm--103--disk--3                     252:25   0    50G  0 lvm   
 │   ├─p-vm--103--disk--4                     252:26   0    50G  0 lvm   
 │   ├─p-vm--104--disk--0                     252:27   0     4M  0 lvm   
 │   ├─p-vm--104--disk--1                     252:28   0    50G  0 lvm   
 │   ├─p-vm--104--disk--2                     252:29   0    50G  0 lvm   
 │   ├─p-vm--104--disk--3                     252:30   0    50G  0 lvm   
 │   ├─p-vm--104--disk--4                     252:31   0    50G  0 lvm   
 │   ├─p-vm--109--disk--0                     252:32   0     4M  0 lvm   
 │   ├─p-vm--109--disk--1                     252:33   0   384G  0 lvm   
 │   ├─p-vm--109--disk--2                     252:34   0   384G  0 lvm   
 │   ├─p-vm--111--disk--0                     252:35   0     4M  0 lvm   
 │   ├─p-vm--111--disk--1                     252:36   0    32G  0 lvm   
 │   ├─p-vm--111--disk--2                     252:37   0     4M  0 lvm   
 │   ├─p-vm--110--disk--1                     252:38   0   256G  0 lvm   
 │   ├─p-vm--110--disk--0                     252:39   0     4M  0 lvm   
 │   ├─p-vm--110--state--SecureBoot--Delete   252:40   0   6.5G  0 lvm   
 │   ├─p-vm--110--state--troubleshooting      252:41   0   6.5G  0 lvm   
 │   ├─p-vm--105--disk--2                     252:42   0    50G  0 lvm   
 │   ├─p-vm--112--disk--0                     252:43   0     4M  0 lvm   
 │   ├─p-vm--112--disk--1                     252:44   0    50G  0 lvm   
 │   ├─p-vm--112--disk--2                    
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?