開発者ドキュメント

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

序章

Linuxシステムで使用するための新しいディスクの準備は簡単なプロセスです。 特別なニーズがある場合にプロセスを変更する可能性のあるツール、ファイルシステム形式、およびパーティションスキームは多数ありますが、基本は同じです。

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

ステップ1—Partedをインストールします

ドライブをパーティション分割するには、 parted 効用。 低レベルのファイルシステムと対話するために必要なコマンドのほとんどは、Linuxではデフォルトで使用可能です。 partedパーティションを作成するは、唯一の例外の1つです。

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

  1. sudo apt update
  2. sudo apt install parted

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

  1. sudo dnf install parted

このチュートリアルで使用される他のすべてのコマンドは、次のステップに進むことができるように、プレインストールされている必要があります。

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

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

これが完全に新しいドライブである場合、サーバー上でそれを識別する1つの方法は、パーティションスキームがないことを探すことです。 あなたが尋ねれば parted ディスクのパーティションレイアウトを一覧表示するには、有効なパーティションスキームがないディスクに対してエラーが発生します。 これは、新しいディスクの識別に役立ちます。

  1. sudo parted -l | grep Error

あなたは見るべきです unrecognized disk label 新しい、パーティション化されていないディスクのエラー:

Output
Error: /dev/sda: unrecognized disk label

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

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

注:必ず確認してください lsblk 変更を加える前にサーバーに再接続するたび。 The /dev/sd*/dev/hd* ディスク識別子はブート間で必ずしも一貫しているとは限りません。つまり、ディスク識別子を正しく検証しないと、間違ったディスクをパーティション分割またはフォーマットする危険性があります。

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

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

ステップ3—新しいドライブを分割する

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

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

これを行うには、最初に使用するパーティショニング標準を指定する必要があります。 GPTとMBRの2つのオプションがあります。 GPTはより新しい標準ですが、MBRは古いオペレーティングシステムでより広くサポートされています。 一般的なクラウドサーバーの場合、GPTの方が適しています。

GPT標準を選択するには、識別したディスクをに渡します partedmklabel gpt:

  1. sudo parted /dev/sda mklabel gpt

MBR形式を使用するには、 mklabel msdos:

  1. sudo parted /dev/sda mklabel msdos

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

フォーマットを選択したら、を使用してドライブ全体にまたがるパーティションを作成できます parted -a:

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

このコマンドは次のように分類できます。

詳細については、Partedのマニュアルページを参照してください。

チェックすれば lsblk、利用可能な新しいパーティションが表示されます。

  1. lsblk
Output
NAME 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 /

これで新しいパーティションが作成されましたが、ファイルシステムとしてまだ初期化されていません。 これらの2つのステップの違いはやや恣意的であり、Linuxファイルシステムの動作方法に固有ですが、実際には2つのステップです。

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

使用可能なパーティションができたので、Ext4ファイルシステムとして初期化できます。 Ext4は、利用可能な唯一のファイルシステムオプションではありませんが、単一のスタンドアロンLinuxボリュームにとって最も簡単なオプションです。 WindowsはNTFSexFATなどのファイルシステムを使用しますが、他のプラットフォームでのサポートは制限されています(つまり、一部のコンテキストでは読み取り専用であり、他のオペレーティングシステム)、およびmacOSは HFS+およびAPFSを使用しますが、同じ注意事項があります。 ZFSBTRFSなどのExt4よりも新しいLinuxファイルシステムもありますが、これらは異なる要件を課し、一般的にマルチディスクアレイに適しています。

Ext4ファイルシステムを初期化するには、 mkfs.ext4 効用。 でパーティションラベルを追加できます -L 国旗。 この特定のドライブを識別するのに役立つ名前を選択してください。

注:ディスク全体ではなく、パーティションへのパスを指定してください。 Linuxでは、ディスクの名前は次のようになります。 sda, sdb, hda、など。 これらのディスクのパーティションには、末尾に番号が追加されています。 だからあなたは次のようなものを使いたいでしょう sda1、 いいえ sda.

  1. sudo mkfs.ext4 -L datapartition /dev/sda1

後でパーティションラベルを変更する場合は、 e2label 指図:

  1. sudo e2label /dev/sda1 newlabel

パーティションを識別するためのさまざまな方法をすべて確認できます。 lsblk. パーティションの名前、ラベル、およびUUIDを見つける必要があります。

のいくつかのバージョン lsblk この情報のすべてを --fs 口論:

  1. sudo lsblk --fs

手動で指定することもできます lsblk -o 関連するオプションが続きます:

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

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

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

次のステップでファイルシステムをマウントするときに使用するので、この出力をメモしておきます。

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

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

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

を使用してそのディレクトリを作成します mkdir:

  1. sudo mkdir -p /mnt/data

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

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

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

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

サーバーが起動するたびにファイルシステムを自動的にマウントするには、にエントリを追加します。 /etc/fstab ファイル。 このファイルには、システムのすべての永続ディスクまたは定期的にマウントされるディスクに関する情報が含まれています。 を使用してファイルを開く nano またはお気に入りのテキストエディタ:

  1. sudo nano /etc/fstab

最後のステップでは、 sudo lsblk --fs ファイルシステムの識別子を表示するコマンド。 このファイルでは、これらのいずれかを使用できます。 この例では、パーティション 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

を超えて LABEL=datapartition 要素の場合、これらのオプションは次のように機能します。

注:のさまざまなフィールドについて学ぶことができます /etc/fstab マニュアルページを確認してファイルを確認する特定のファイルシステムタイプで使用できるマウントオプションについては、以下を確認してください。 man [filesystem] (お気に入り man ext4).

終了したら、ファイルを保存して閉じます。 使用している場合 nano、 押す Ctrl+X、確認を求められたら、 Y その後 Enter.

以前にファイルシステムをマウントしていなかった場合は、次のコマンドでマウントできます。 mount -a:

sudo mount -a

マウントのテスト

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

ディスクが利用可能かどうかは、からの出力で確認できます。 df 指図。 時々 df と呼ばれる一時ファイルシステムに関する不要な情報が含まれます tmpfsdf 追加することで除外できる出力 -x tmpfs:

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

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

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

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

  1. cat /mnt/data/test_file
Output
success

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

  1. sudo rm /mnt/data/test_file

結論

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

次に、SSHFSを使用してSSH経由でリモートボリュームをマウントする方法を学びたいと思うかもしれません。

モバイルバージョンを終了