Linuxでストレージデバイスの基本的な管理タスクを実行する方法
序章
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/vda
)単一のパーティション(/dev/vda1
)として使用されている /
パーティションと別のディスク(/dev/sda
)パーティション化されていません。
ディスクとパーティションの管理により関連性のある情報を取得するには、 --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
国旗。 The -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つの補完的なコマンドは、主にマウントを管理するために使用されます。 mount
と umount
. The mount
コマンドは、ファイルシステムを現在のファイルツリーに接続するために使用されます。 Linuxシステムでは、システムが構成されている物理デバイスの数に関係なく、システム全体で単一の統合ファイル階層が使用されます。 The umount
コマンド(注:これは umount
、 いいえ unmount
)は、ファイルシステムをアンマウントするために使用されます。 さらに、 findmnt
コマンドは、マウントされたファイルシステムの現在の状態に関する情報を収集するのに役立ちます。
マウントコマンドの使用
最も基本的な使用方法 mount
フォーマットされたデバイスまたはパーティションと、それが接続されるマウントポイントを渡すことです。
- sudo mount /dev/sda1 /mnt
ファイル階層のどこに新しいファイルシステムを接続するかを指定する最後のパラメータであるマウントポイントは、ほとんどの場合、空のディレクトリである必要があります。
通常、マウントするときは、より具体的なオプションを選択する必要があります。 それでも mount
ファイルシステムの種類を推測することができますが、ほとんどの場合、ファイルシステムの種類を次のように渡すことをお勧めします。 -t
オプション。 Ext4ファイルシステムの場合、これは次のようになります。
- sudo mount -t ext4 /dev/sda1 /mnt
ファイルシステムのマウント方法に影響を与える他の多くのオプションがあります。 一般的なマウントオプションがあります。これは、の FILESYSTEM INDEPENDENT MOUNTOPTIONSセクションにあります。 man mount
. ファイルシステムには通常、同じマニュアルページのファイルシステム依存オプションの FILESYSTEM SPECIFIC MOUNTOPTIONSヘッダーの下にセクションがあります。
他のオプションを -o
国旗。 たとえば、デフォルトのオプション( rw,suid,dev,exec,auto,nouser,async
)、渡すことができます -o defaults
. 読み取り/書き込み権限をオーバーライドして読み取り専用としてマウントする場合は、次のように追加できます。 ro
後のオプションとして、これは rw
から defaults
オプション:
- 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
将来のマウント用のファイル。
ファイルシステムのアンマウント
The umount
コマンドは、特定のファイルシステムをアンマウントするために使用されます。 繰り返しますが、これは umount
いいえ unmount
.
コマンドの一般的な形式は、現在マウントされているファイルシステムのマウントポイントまたはデバイスに名前を付けることです。 マウントポイントでファイルを使用していないこと、およびマウントポイント内で動作しているアプリケーション(現在のシェルを含む)がないことを確認してください。
- cd ~
- sudo umount /mnt
大多数のユーザーにとって、デフォルトのアンマウント動作以外は必要ありません。
結論
このリストは完全なものではありませんが、これらのユーティリティは、日常のシステム管理タスクに必要なもののほとんどをカバーしているはずです。 いくつかのツールを学ぶことで、サーバー上のストレージデバイスを簡単に処理できます。