Linuxでストレージデバイスを分割およびフォーマットする方法
序章
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では、ディスクの名前はsda
、sdb
、hda
などです。 これらのディスクのパーティションには、末尾に番号が追加されています。 したがって、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がストレージに使用できるファイルシステムに変換するために使用できる一般的なプロセスです。 パーティション分割、フォーマット、およびマウントのより複雑な方法があり、場合によってはより適切な場合がありますが、上記は一般的な使用の開始点として適しています。