Linuxでストレージデバイスの基本的な管理タスクを実行する方法

提供:Dev Guides
移動先:案内検索

序章

Linuxでストレージを管理するために利用できるツールはたくさんあります。 ただし、日常の保守と管理に使用されるのはほんの一握りです。 このガイドでは、マウントポイント、ストレージデバイス、およびファイルシステムを管理するために最も一般的に使用されるユーティリティのいくつかについて説明します。

その他のリソース

このガイドでは、Linuxシステムで最初に使用するストレージデバイスを準備する方法については説明しません。 Linux でのパーティションおよびフォーマットブロックデバイスに関するガイドは、ストレージをまだセットアップしていない場合に、rawストレージデバイスを準備するのに役立ちます。

ストレージについて説明するために使用されるいくつかの用語の詳細については、ストレージ用語に関する記事を参照してください。

dfを使用したストレージ容量と使用量の検索

多くの場合、システム上のストレージについて知りたい最も重要な情報は、接続されているストレージデバイスの容量と現在の使用率です。

合計で使用可能なストレージスペースの量を確認し、ドライブの現在の使用率を確認するには、dfユーティリティを使用します。 デフォルトでは、これは測定値を1Kブロックで出力しますが、通常はあまり役に立ちません。 -hフラグを追加して、人間が読める形式で出力します。

df -h
OutputFilesystem      Size  Used Avail Use% Mounted on
udev            238M     0  238M   0% /dev
tmpfs            49M  624K   49M   2% /run
/dev/vda1        20G  1.1G   18G   6% /
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1000
/dev/sda1        99G   60M   94G   1% /mnt/data

ご覧のとおり、/にマウントされている/dev/vda1パーティションは6% f ullで、18Gの空き容量がありますが、/dev/sda1パーティションは/mnt/dataにマウントされているのは空で、94Gの空き容量があります。 他のエントリは、tmpfsまたはdevtmpfsファイルシステムを使用します。これは、永続ストレージであるかのように使用される揮発性メモリです。 次のように入力すると、これらのエントリを除外できます。

df -h -x tmpfs -x devtmpfs
OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.1G   18G   6% /
/dev/sda1        99G   60M   94G   1% /mnt/data

この出力は、いくつかの疑似デバイスおよび特殊デバイスを削除することにより、現在のディスク使用率をより焦点を絞って表示します。

lsblkを使用したブロックデバイスに関する情報の検索

ブロックデバイスは、特定のサイズのブロックを読み書きするストレージデバイスの総称です。 この用語は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、フラッシュメモリなど、ほぼすべての種類の不揮発性ストレージに適用されます。 ブロックデバイスは、ファイルシステムが書き込まれる物理デバイスです。 次に、ファイルシステムはデータとファイルの保存方法を決定します。

lsblk ユーティリティを使用すると、ブロックデバイスに関する情報を簡単に表示できます。 ユーティリティの特定の機能は、インストールされているバージョンによって異なりますが、通常、lsblkコマンドを使用して、ドライブ自体に関する情報、およびドライブに書き込まれたパーティション情報とファイルシステムを表示できます。 。

引数なしで、lsblkは、デバイス名、メジャー番号とマイナー番号(Linuxカーネルがドライバーとデバイスを追跡するために使用)、ドライブがリムーバブルかどうか、サイズ、マウントされているかどうかを表示します。のみ、そのタイプ(ディスクまたはパーティション)、およびそのマウントポイント。 一部のシステムでは、これを正しく表示するためにsudoが必要なため、以下で使用します。

sudo lsblk
OutputNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
vda    253:0    0   20G  0 disk 
└─vda1 253:1    0   20G  0 part /

表示される出力の中で、最も重要な部分は通常、/devの下のデバイス名、サイズ、タイプ、およびマウントポイントを参照する名前です。 ここでは、/パーティションとして使用されている1つのパーティション(/dev/vda1)と別のディスク(/dev/sda)を持つ1つのディスク(/dev/vda)があることがわかります。 ])パーティション化されていない。

ディスクとパーティションの管理により関連性のある情報を取得するために、一部のバージョンで--fsフラグを渡すことができます。

sudo lsblk --fs
OutputNAME   FSTYPE LABEL  UUID                                 MOUNTPOINT
sda                                                       
vda                                                       
└─vda1 ext4   DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /

ご使用のバージョンで--fsフラグが使用できない場合は、-oフラグを使用して出力を手動で複製し、特定の出力を要求できます。 -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINTを使用して、これと同じ情報を取得できます。

ディスクトポロジに関する情報を取得するには、次のように入力します。

sudo lsblk -t
OutputNAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE  RA WSAME
sda            0    512      0     512     512    1 deadline     128 128    2G
vda            0    512      0     512     512    1              128 128    0B
└─vda1         0    512      0     512     512    1              128 128    0B

ディスクとパーティションに関連する特性を表示するために利用できるショートカットは他にもたくさんあります。 -Oフラグを使用して使用可能なすべての列を出力するか、-oフラグを使用して列名を指定することで表示するフィールドをカスタマイズできます。 -hフラグを使用して、使用可能な列を一覧表示できます。

lsblk -h
Output. . .

Available columns (for --output):
        NAME  device name
       KNAME  internal kernel device name

       . . .

  SUBSYSTEMS  de-duplicated chain of subsystems
         REV  device revision
      VENDOR  device vendor

For more details see lsblk(8).

ファイルシステムマウントの操作

新しいディスクを使用する前に、通常、ディスクをパーティションに分割し、ファイルシステムでフォーマットしてから、ドライブまたはパーティションをマウントする必要があります。 パーティション分割とフォーマットは通常1回限りの手順であるため、ここでは説明しません。 前述のように、Linuxでドライブをパーティション分割およびフォーマットする方法の詳細については、この記事を参照してください。

一方、マウントは、より頻繁に管理できるものです。 ファイルシステムをマウントすると、選択したマウントポイントでサーバーがファイルシステムを利用できるようになります。 マウントポイントは、新しいファイルシステムにアクセスできるディレクトリです。

取り付けを管理するために、主に2つの補完的なコマンドmountumountが使用されます。 mountコマンドは、ファイルシステムを現在のファイルツリーに接続するために使用されます。 Linuxシステムでは、システムが構成されている物理デバイスの数に関係なく、システム全体で単一の統合ファイル階層が使用されます。 umountコマンド(注:これはumountであり、unmountではありません)は、ファイルシステムのマウントを解除するために使用されます。 さらに、findmntコマンドは、マウントされたファイルシステムの現在の状態に関する情報を収集するのに役立ちます。

マウントコマンドの使用

mountを使用する最も基本的な方法は、フォーマットされたデバイスまたはパーティションと、それが接続されるマウントポイントを渡すことです。

sudo mount /dev/sda1 /mnt

ファイル階層のどこに新しいファイルシステムを接続するかを指定する最後のパラメータであるマウントポイントは、ほとんどの場合、空のディレクトリである必要があります。

通常、マウントするときは、より具体的なオプションを選択する必要があります。 mountはファイルシステムの種類を推測することができますが、ほとんどの場合、-tオプションを使用してファイルシステムの種類を渡すことをお勧めします。 Ext4ファイルシステムの場合、これは次のようになります。

sudo mount -t ext4 /dev/sda1 /mnt

ファイルシステムのマウント方法に影響を与える他の多くのオプションがあります。 一般的なマウントオプションがあります。これは、man mountFILESYSTEM INDEPENDENT MOUNTOPTIONSセクションにあります。 ファイルシステムには通常、同じマニュアルページのファイルシステム依存オプションの FILESYSTEM SPECIFIC MOUNTOPTIONSヘッダーの下にセクションがあります。

-oフラグを使用して他のオプションを渡します。 たとえば、デフォルトのオプション(rw,suid,dev,exec,auto,nouser,asyncの略)でパーティションをマウントするには、-o defaultsを渡すことができます。 読み取り/書き込み権限をオーバーライドして読み取り専用としてマウントする場合は、後のオプションとしてroを追加できます。これにより、defaultsオプションからrwがオーバーライドされます。 :

sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt

/etc/fstabファイルで概説されているすべてのファイルシステムをマウントするには、-aオプションを渡すことができます。

sudo mount -a

ファイルシステムのマウントオプションの一覧表示

特定のマウントに使用されるマウントオプションを表示するには、それをfindmntコマンドに渡します。 たとえば、上記の例としてfindmntを使用して示した読み取り専用マウントを表示すると、次のようになります。

findmnt /mnt
OutputTARGET SOURCE    FSTYPE OPTIONS
/mnt   /dev/sda1 ext4   ro,relatime,data=ordered

これは、複数のオプションを試していて、最終的に気に入ったセットを見つけた場合に非常に役立ちます。 findmntで使用しているオプションを見つけることができるので、将来のマウントのために/etc/fstabファイルに何を追加するのが適切かがわかります。

ファイルシステムのアンマウント

umountコマンドは、特定のファイルシステムをアンマウントするために使用されます。 繰り返しますが、これはunmountではなくumountです。

コマンドの一般的な形式は、現在マウントされているファイルシステムのマウントポイントまたはデバイスに名前を付けることです。 マウントポイントでファイルを使用していないこと、およびマウントポイント内で動作しているアプリケーション(現在のシェルを含む)がないことを確認してください。

cd ~
sudo umount /mnt

大多数のユーザーにとって、デフォルトのアンマウント動作以外は必要ありません。

結論

このリストは完全なものではありませんが、これらのユーティリティは、日常のシステム管理タスクに必要なもののほとんどをカバーしているはずです。 いくつかのツールを学ぶことで、サーバー上のストレージデバイスを簡単に処理できます。