「設定 - ストレージのフォーマットとパーティション」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
25行目: 25行目:
<br><br>
<br><br>


== ストレージの確認 ==
== ストレージの識別 ==
ストレージをフォーマットする前に、Linux上でストレージを識別できる必要がある。<br>
ストレージをフォーマットする前に、Linux上でストレージを識別する必要がある。<br>
識別する方法は、パーティション分割スキームが無いことを確認することである。<br>
識別する方法は、パーティション分割スキームが無いことを確認することである。<br>
<br>
<br>
partedコマンドを使用して、ストレージのパーティションレイアウトを一覧表示すると、有効なパーティション構成を持たないストレージに対してエラーが発生する。<br>
<code>parted</code>コマンドを使用して、ストレージのパーティションレイアウトを一覧表示すると、<br>
有効なパーティション構成を持たないストレージに対してエラーが発生する。<br>
これを使用して、新しいストレージを識別できる。<br>
これを使用して、新しいストレージを識別できる。<br>
  sudo parted -l | grep error
  sudo parted -l | grep error
   
   
  # 出力
  # 出力
  Error: /dev/sdb: unrecognised disk labelン
  Error: /dev/sdb: unrecognised disk label
<br>
<br>
また、<code>lsblk</code>コマンドを使用して、関連付けられたパーティションが無いストレージを探すこともできる。<br>
また、<code>lsblk</code>コマンドを使用して、関連付けられたパーティションが無いストレージを探すこともできる。<br>
45行目: 46行目:
  sdb      8:0    0    50G  0 disk
  sdb      8:0    0    50G  0 disk
<br>
<br>
ストレージに割り当てられた名前が判明したら、ストレージをパーティション分割することができる。<br>
ストレージに割り当てられた名前(sda、sdb、sdc等)が識別できると、ストレージの削除およびパーティションの分割を行うことができる。<br>
<br><br>
<br><br>



2020年10月28日 (水) 22:12時点における版

概要

Linuxにおいて、新しいストレージを準備することは簡単である。

ここでは、以下の4つのセクションにおいて、ストレージのフォーマット手順を記載する。

  1. システム上のストレージを識別する。
  2. ストレージ全体にまたがる単一のパーティションを作成する。
  3. Ext4等のファイルシステムでパーティションをフォーマットする。
  4. ストレージを自動マウントおよび手動マウントする。



パーティションソフトウェアのインストール

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

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

# CentOS 7
sudo yum install parted

# CentOS 8
sudo dnf 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


ストレージに割り当てられた名前(sda、sdb、sdc等)が識別できると、ストレージの削除およびパーティションの分割を行うことができる。


パーティションの削除

パーティションを消去するには、ddコマンドを実行する。
ddコマンドでは、ifパラメータはデータの送信元を決定して、ofはコピー先を示す。
以下のコマンドは、ストレージのデータを全てすべて消去(ゼロに置き換える)する。

sudo dd if=/dev/zero of=/dev/sdx



パーティションの分割

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

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

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

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

sudo parted /dev/sdb mklabel gpt


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

sudo parted /dev/sdb 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


※注意
ストレージ全体ではなく、パーティションを渡すようにすること。(sdbではなくsdb1と入力する)
Linuxにおいて、ストレージ名はsda、sdb、hda等である。これらのパーティションの末尾には番号が付加されており、sda1等を使用する。
もし、NVMe SSDを使用している場合は、ストレージ名がnvme0n1等と表示される。

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

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


lsblk --fsコマンドを実行して、パーティションの識別を確認する。
このコマンドにより、パーティションの名前、ラベル、およびUUIDが確認できる。

lsblk --fs


バージョンに適切なフィールドが全て表示されない場合は、以下のコマンドを実行する。

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ファイルシステムでフォーマットするストレージを接続する。
ストレージに割り当てられている文字を確認する。

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