Linuxでストレージデバイスを分割およびフォーマットする方法

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

序章

Linuxシステムで使用するための新しいディスクの準備は迅速かつ簡単です。 特殊なニーズがある場合にプロセスを複雑にする可能性のあるツール、ファイルシステム形式、およびパーティションスキームは多数ありますが、すばやく起動して実行したい場合は、かなり簡単です。

このガイドでは、次のプロセスについて説明します。

  • システム上の新しいディスクを識別します。
  • ドライブ全体にまたがる単一のパーティションを作成する(ほとんどのオペレーティングシステムは、ファイルシステムが1つしかない場合でも、パーティションレイアウトを想定しています)
  • Ext4ファイルシステム(最新のLinuxディストリビューションのほとんどのデフォルト)を使用してパーティションをフォーマットする
  • 起動時のファイルシステムのマウントと自動マウントの設定

ツールをインストールする

ドライブをパーティション分割するには、partedユーティリティを使用します。 ほとんどの場合、これはすでにサーバーにインストールされています。

UbuntuまたはDebianサーバーを使用していて、partedがまだない場合は、次のように入力してインストールできます。

sudo apt-get update
sudo apt-get install parted

CentOSまたはFedoraサーバーを使用している場合は、次のように入力してインストールできます。

sudo yum install parted

システム上の新しいディスクを特定する

ドライブをセットアップする前に、サーバー上でドライブを正しく識別できる必要があります。

これが完全に新しいドライブである場合、サーバー上でそれを見つける最も簡単な方法は、パーティショニングスキームがないことを探すことかもしれません。 partedにディスクのパーティションレイアウトを一覧表示するように依頼すると、有効なパーティションスキームを持たないディスクに対してエラーが発生します。 これは、新しいディスクを識別するのに役立ちます。

sudo parted -l | grep Error

新しいパーティション化されていないディスクに対して、unrecognized disk labelエラーが表示されるはずです。

OutputError: /dev/sda: unrecognised disk label

lsblkコマンドを使用して、パーティションが関連付けられていない正しいサイズのディスクを探すこともできます。

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 /

警告

変更を加える前に、すべてのセッションでlsblkを確認することを忘れないでください。 /dev/sd*および/dev/hd*ディスク識別子は、ブート間で必ずしも一貫しているとは限りません。つまり、ディスク識別子を正しく確認しないと、間違ったディスクをパーティション分割またはフォーマットする危険があります。

/dev/disk/by-uuid/dev/disk/by-label/dev/disk/by-idなどのより永続的なディスク識別子の使用を検討してください。 詳細については、Linuxでのストレージの概念と用語の概要の記事を参照してください。


カーネルがディスクに割り当てた名前がわかったら、ドライブをパーティション分割できます。

新しいドライブを分割する

はじめに述べたように、このガイドでは、ディスク全体にまたがる単一のパーティションを作成します。

パーティショニング標準を選択してください

これを行うには、最初に使用するパーティショニング標準を指定する必要があります。 GPTは最新のパーティショニング標準ですが、MBR標準はオペレーティングシステム間でより幅広いサポートを提供します。 特別な要件がない場合は、この時点でGPTを使用することをお勧めします。

GPT 標準を選択するには、次のように識別したディスクを渡します。

sudo parted /dev/sda mklabel gpt

MBR 形式を使用する場合は、代わりに次のように入力してください。

sudo parted /dev/sda mklabel msdos

新しいパーティションを作成する

フォーマットを選択したら、次のように入力して、ドライブ全体にまたがるパーティションを作成できます。

sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

lsblkをチェックすると、新しいパーティションが使用可能であることがわかります。

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

新しいパーティションにファイルシステムを作成する

使用可能なパーティションができたので、Ext4ファイルシステムとしてフォーマットできます。 これを行うには、パーティションをmkfs.ext4ユーティリティに渡します。

-Lフラグを渡すことで、パーティションラベルを追加できます。 この特定のドライブを識別するのに役立つ名前を選択してください。

ノート

ディスク全体ではなく、パーティションを渡すようにしてください。 Linuxでは、ディスクの名前はsdasdbhdaなどです。 これらのディスクのパーティションには、末尾に番号が追加されています。 したがって、sda1ではなくsdaのようなものを使用したいと思います。


sudo mkfs.ext4 -L datapartition /dev/sda1

後日パーティションラベルを変更したい場合は、e2labelコマンドを使用できます。

sudo e2label /dev/sda1 newlabel

lsblkを使用してパーティションを識別するさまざまな方法をすべて確認できます。 パーティションの名前、ラベル、およびUUIDを検索します。

lsblkの一部のバージョンでは、次のように入力すると、この情報がすべて出力されます。

sudo lsblk --fs

お使いのバージョンに適切なフィールドがすべて表示されていない場合は、手動でリクエストできます。

sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

このようなものが表示されるはずです。 強調表示された出力は、新しいファイルシステムを参照するために使用できるさまざまな方法を示しています。

OutputNAME   FSTYPE LABEL         UUID                                 MOUNTPOINT
sda                                                              
└─sda1 ext4   datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda 
vda                                                              
└─vda1 ext4   DOROOT        050e1e34-39e6-4072-a03e-ae0bf90ba13a /

新しいファイルシステムをマウントする

これで、使用するファイルシステムをマウントできます。

Filesystem Hierarchy Standard は、一時的にマウントされたファイルシステムには、/mntまたはその下のサブディレクトリを使用することをお勧めします。 より永続的なストレージをどこにマウントするかについては推奨されていないため、任意のスキームを選択できます。 このチュートリアルでは、ドライブを/mnt/dataの下にマウントします。

次のように入力してディレクトリを作成します。

sudo mkdir -p /mnt/data

ファイルシステムを一時的にマウントする

次のように入力して、ファイルシステムを一時的にマウントできます。

sudo mount -o defaults /dev/sda1 /mnt/data

起動時にファイルシステムを自動的にマウントする

サーバーが起動するたびにファイルシステムを自動的にマウントする場合は、/etc/fstabファイルを調整します。

sudo nano /etc/fstab

以前、sudo lsblk --fsコマンドを発行して、ファイルシステムの3つのファイルシステム識別子を表示しました。 このファイルでは、これらのいずれかを使用できます。 以下のパーティションlabelを使用しましたが、コメントアウトされた行の他の2つの識別子を使用すると、行がどのように見えるかを確認できます。

/ etc / fstab

. . .
## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2

ノート

man fstabと入力すると、/etc/fstabファイルのさまざまなフィールドについて知ることができます。 特定のファイルシステムタイプで使用できるマウントオプションについては、man [filesystem]man ext4など)を確認してください。 今のところ、上記のマウントラインで開始できます。

SSDの場合、継続的なTRIMを有効にするために、discardオプションが追加されることがあります。 この方法で継続的なTRIMを実行することによるパフォーマンスと整合性への影響については議論があり、ほとんどのディストリビューションには、代替として定期的なTRIMを実行する方法が含まれています。


終了したら、ファイルを保存して閉じます。

以前にファイルシステムをマウントしていなかった場合は、次のように入力してファイルシステムをマウントできます。

sudo mount -a

マウントのテスト

ボリュームをマウントした後、ファイルシステムにアクセスできることを確認する必要があります。

dfコマンドからの出力で、ディスクが使用可能かどうかを確認できます。

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

また、/mnt/dataディレクトリ内にlost+foundディレクトリが表示されるはずです。これは通常、Ext*ファイルシステムのルートを示します。

ls -l /mnt/data
Outputtotal 16
drwx------ 2 root root 16384 Jun  6 11:10 lost+found

テストファイルに書き込むことで、ファイルが読み取りおよび書き込み機能でマウントされていることを確認することもできます。

echo "success" | sudo tee /mnt/data/test_file

書き込みが正しく実行されたことを確認するために、ファイルを読み戻します。

cat /mnt/data/test_file
Outputsuccess

新しいファイルシステムが正しく機能していることを確認した後、ファイルを削除できます。

sudo rm /mnt/data/test_file

結論

これで、新しいドライブがパーティション化され、フォーマットされ、マウントされ、使用できるようになります。 これは、生のディスクをLinuxがストレージに使用できるファイルシステムに変換するために使用できる一般的なプロセスです。 パーティション分割、フォーマット、およびマウントのより複雑な方法があり、場合によってはより適切な場合がありますが、上記は一般的な使用の開始点として適しています。