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

紹介

Linuxでストレージを管理するための多くのツールが利用可能です。しかし、日常のメンテナンスと管理にはごくわずかしか使用されません。このガイドでは、マウントポイント、ストレージデバイス、およびファイルシステムの管理に最も一般的に使用されるユーティリティのいくつかを確認します。

その他のリソース

このガイドでは、Linuxシステムでストレージデバイスを初めて使用するための準備方法はカバーされません。Linuxシステム上でブロックデバイスをパーティション分割およびフォーマットする方法については、Linuxでのブロックデバイスのパーティショニングとフォーマットのガイドが役立ちます。

ストレージに関する用語の説明についての詳細は、ストレージ用語に関するこの記事を読んでみてください。

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

よく、システムのストレージに関する最も重要な情報は、接続されたストレージデバイスの容量と現在の利用状況です。

全体のストレージ容量とドライブの現在の利用状況を確認するには、dfユーティリティを使用します。デフォルトでは、これは1Kブロック単位で測定されますが、これは常に役立つわけではありません。人が読める単位で出力するには、-hフラグを追加してください:

  1. df -h
Output
Filesystem 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%使用されており、利用可能なスペースは18Gです。一方、/mnt/dataにマウントされている/dev/sda1パーティションは空で、利用可能なスペースは94Gです。その他のエントリは、tmpfsまたはdevtmpfsファイルシステムを使用しており、これらは永続的なストレージのように使用されるボラタイルメモリです。これらのエントリを除外するには、次のように入力します:

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

この出力により、疑似デバイスや特殊デバイスを除去することで、現在のディスク使用状況のより焦点を絞った表示が提供されます。

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

A block device is a generic term for a storage device that reads or writes in blocks of a specific size. This term applies to almost every type of non-volatile storage, including hard disk drives (HDDs), solid state drives (SSDs), and so on. The block device is the physical device where the filesystem is written. The filesystem, in turn, dictates how data and files are stored.

lsblkユーティリティは、ブロックデバイスに関する情報を表示するために使用できます。ユーティリティの具体的な機能はインストールされているバージョンに依存しますが、一般的にlsblkコマンドは、ドライブ自体に関する情報、パーティション情報、および書き込まれたファイルシステムについて表示できます。

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

  1. sudo lsblk
Output
NAME 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)と1つのパーティション(/dev/vda1)が/パーティションとして使用されていること、および他のディスク(/dev/sda)がパーティションされていないことがわかります。

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

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

システムで--fsフラグを使用できない場合は、-oフラグを使用して特定の出力をリクエストすることで出力を手動で再現できます。 -o NAME、FSTYPE、LABEL、UUID、MOUNTPOINTを使用して、同じ情報を取得できます。

ディスクトポロジに関する情報を取得するには、次のように入力してください:

  1. sudo lsblk -t
Output
NAME 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フラグを使用します。

  1. 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).

ファイルシステムのマウントに関する作業

新しいディスクを使用する前に、通常はパーティションを作成し、ファイルシステムでフォーマットし、ドライブまたはパーティションをマウントする必要があります。パーティショニングとフォーマットは通常、一度だけ行われます。Linuxでドライブをパーティション分割してフォーマットする方法については、Linuxでストレージデバイスをパーティション分割してフォーマットする方法で詳細情報を見つけることができます。

マウントは、より頻繁に行う作業です。ファイルシステムをマウントすることにより、選択したマウントポイントでサーバーから利用できるようになります。マウントポイントは、新しいファイルシステムにアクセスできるディレクトリです。

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

mountコマンドの使用方法

mountを使用する最も簡単な方法は、フォーマットされたデバイスまたはパーティションと、それがアタッチされるマウントポイントを渡すことです:

  1. sudo mount /dev/sda1 /mnt

マウントポイントは、新しいファイルシステムがアタッチされるファイル階層内の場所を指定する最後のパラメータであり、ほとんどの場合は空のディレクトリであるべきです。

通常、マウントする際にはより具体的なオプションを選択する必要があります。 mountはファイルシステムのタイプを推測することができますが、ほとんどの場合、-tオプションでファイルシステムのタイプを指定する方が良いアイデアです。 Ext4ファイルシステムの場合、次のようになります:

  1. sudo mount -t ext4 /dev/sda1 /mnt

多くの他のオプションが、ファイルシステムのマウント方法に影響を与える可能性があります。ジェネリックなマウントオプションは、FILESYSTEM INDEPENDENT MOUNT OPTIONSセクションで見つけることができます。the mount manual内。

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

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

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

  1. sudo mount -a

ファイルシステムのマウントオプションのリスト

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

  1. findmnt /mnt
Output
TARGET SOURCE FSTYPE OPTIONS /mnt /dev/sda1 ext4 ro,relatime,data=ordered

これは、複数のオプションで実験して最終的に気に入った設定を見つけた場合に役立ちます。将来のマウントのために/etc/fstabファイルに追加する適切なものを知るために、findmntで使用されているオプションを見つけることができます。

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

umountコマンドは、指定されたファイルシステムをアンマウントするために使用されます。再度強調しますが、これはumountであり、unmountではありません。

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

  1. cd ~
  2. sudo umount /mnt

通常、デフォルトのアンマウント動作に追加するオプションはありません。

結論

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

Source:
https://www.digitalocean.com/community/tutorials/how-to-perform-basic-administration-tasks-for-storage-devices-in-linux