設定 - ストレージのフォーマットとパーティション

提供:MochiuWiki : SUSE, EC, PCB
2020年10月28日 (水) 14:32時点におけるWiki (トーク | 投稿記録)による版 (→‎ファイルシステムの作成)
ナビゲーションに移動 検索に移動

概要

Linuxにおいて、新しいストレージを準備することは簡単である。
ここでは、次の事柄について説明する。

  1. システム上の新しいディスクを識別する。
  2. ストレージ全体にまたがる単一のパーティションを作成する。
  3. Ext4ファイルシステムでパーティションをフォーマットする。
  4. マウント時のファイルシステムの自動マウントとマウント。



パーティションツールのインストール

ここでは、ストレージをパーティション分割するには、partedを使用する。
このソフトウェアは、多くのLinuxディストリビューションにおいて、標準でインストールされている。

もし、インストールされていない場合は、以下のコマンドを入力してインストールする。

# CentOS
sudo yum install parted

# SUSE
sudo zypper install partd



新しいストレージの識別

ストレージを設定する前に、Linux上でストレージを適切に識別できる必要がある。
簡単に識別する方法は、パーティション分割スキームがないことを確認することである。

partedコマンドを使用して、ストレージのパーティションレイアウトを一覧表示すると、有効なパーティション構成を持たないストレージに対してエラーが発生する。
これを使用して、新しいストレージを識別できる。

sudo parted -l | grep error

# 出力
Error: /dev/sdb: unrecognised disk label


また、lsblkコマンドを使用して、関連付けられたパーティションが無いストレージを探すこともできる。

lsblk

# 出力
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
sda     253:0    0   100G  0 disk 

└─sda1 253:1 0 100G 0 part /

sdb       8:0    0    50G  0 disk


ストレージに割り当てられた名前が判明したら、ストレージをパーティション分割することができる。


ストレージのパーティションの分割

このセクションでは、ストレージ全体にまたがる単一のパーティションを作成する。

パーティション形式(GPT/MBR)の選択

最初に、使用するパーティション形式を指定する必要がある。
特別な事情がない場合は、GPTを使用することを推奨する。

GPT形式を選択する場合は、以下のコマンドを実行する。

sudo parted /dev/sdb mklabel gpt


MBR形式を選択する場合は、以下のコマンドを実行する。

sudo parted /dev/sda mklabel msdos


パーティションの作成

次に、ストレージ全体にまたがるパーティションを作成する。

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


lsblkコマンドを確認すると、利用可能な新しいパーティションが表示される。

lsblk

# 出力
NAME     MAJ:MIN  RM   SIZE RO TYPE MOUNTPOINT
sda        8:0     0   100G  0 disk 
└─sda1   8:1     0   100G  0 part / 
sdb      253:0     0    50G  0 disk 
└─sdb1 253:1     0    50G  0 part



ファイルシステムの作成

ここでは、Ext4ファイルシステムとしてフォーマットする。
これを行うには、mkfs.ext4コマンドを実行する。また、-Lオプションを使用することで、パーティションラベルを追加できる。これは、ストレージを識別するのに役立つ。

sudo mkfs.ext4 -L datapartition /dev/sda1


※注意
ストレージ全体ではなく、パーティションを渡すようにすること。
Linuxでは、ストレージ名は、sda、sdb、hda等である。これらのパーティションには末尾に番号が追加されており、sda1等を使用する。

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

sudo e2label /dev/sdb1 <新しいラベル名>


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

sudo lsblk --fs


バージョンに適切なフィールドがすべて表示されない場合は、手動で要求できます。
強調表示された出力は、新しいファイルシステムを参照するために使用できるさまざまな方法を示しています。

sudo lsblk -o NAME,FSTYPE,LABEL,UUID,PARTUUID,FSAVAIL,FSUSE%,MOUNTPOINT

# 出力
NAME     FSTYPE   LABEL         UUID                PARTUUID                              FSAVAIL FSUSE% MOUNTPOINT
sda                                                              
└─sda1   ext4   datapartition F2769EBE769E82D1    4b313333-a7b5-48c1-a957-d77d637e4fda  494.4M      1%
sdb                                                              
└─sdb1   ext4   DOROOT        1000CC2F00CC1E1A    050e1e34-39e6-4072-a03e-ae0bf90ba13a   16.6G     33% /



特殊なフォーマット : FAT32

Windows 10

フォーマットを行う前に、FAT32ファイルシステムでフォーマットするストレージをPCに接続する。
ストレージに割り当てられている文字を確認する。

Powershellを起動して、以下のコマンドを実行する。
ここでは、FAT32でフォーマットするストレージをFドライブとする。

format /FS:FAT32 F:


次に、[Enter]キーを押下する。
ストレージ上の全てのデータが消去されることを警告するメッセージが表示されるので、[Y]キーを押下する。
[Y]キーを押下すると、フォーマット処理が開始する。

CentOS / SUSE

まず、ストレージをFAT32ファイルシステムでフォーマットするため、以下のパッケージをインストールする。

# CentOS 7
sudo yum install dosfstools

# CentOS 8
sudo dnf install dosfstools

# SUSE
sudo zypper install dosfstools


次に、フォーマットを行うストレージ名を確認する。
ここでは、/dev/sdcとする。

sudo fdisk -l


最後に、以下のコマンドを実行して、フォーマットを行う。
フォーマットを行う前に、ストレージ上にパーティションを作成しておく必要があるので注意すること。

sudo mkdosfs -F 32 -I /dev/sdc1



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

パーティションの作成が完了すると、ファイルシステムをマウントして使用できるようになる。

Filesystem Hierarchy Standardでは、一時的にマウントされたファイルシステムは/mntディレクトリまたはその直下のサブディレクトリを使用することを推奨している。
このセクションでは、ストレージを/mnt/dataディレクトリ下にマウントする。

sudo mkdir -p /mnt/data


ファイルシステムの一時的なマウント

以下のコマンドを実行して、ファイルシステムを一時的にマウントできる。

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


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

Linuxの起動時にファイルシステムを自動的にマウントする場合は、/etc/fstabファイルを変更する。
UUIDまたはPARTUUIDで記述することを推奨する。

sudo vi /etc/fstab

# /etc/fstabファイル
/dev/sdb1       /mnt/data  ext4  defaults  0  2
または
UUID=9811-2A4E  /mnt/data  ext4  defaults  0  2


以前にファイルシステムをマウントしていなかった場合は、以下のコマンドを実行してマウントできる。

sudo mount -a


マウントのテスト

ファイルシステムのマウント後、ファイルシステムにアクセスできることを確認する必要がある。
dfコマンドを実行することで、使用可能かどうかを確認できる。

df -h -x tmpfs -x devtmpfs

# 出力
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       100G   10G   90G  10% /
/dev/sdb1        50G    0M   50G   0% /mnt/data


/mnt/dataディレクトリ内のlost + foundディレクトリが表示できるはずである。これは通常、Ext2/3/4ファイルシステムのルートを示している。

ls -l /mnt/data

# 出力
total 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


マウントしたファイルシステムが正しく機能していることを確認したら、ファイルを削除する。

sudo rm -rf /mnt/data/test_file