▪️目的
今回はLinuxのディスク操作を行い、パーティションを作成します。
パーティションは「GPT」形式で行います。もう一つ「MBR」もありますが、これについてはまた後日別の記事で解説します。
ディスク上でのパーティション作成は、大まかには以下の順番で行います。
①ディスクをアタッチ
②パーティション作成
③ファイルシステムを指定
④ディレクトリへマウント
▪️手順
♦︎ディスクをアタッチ
まずはパーティション作成の前にディスクをアタッチします。
(1) 「VMware fusion」のアイコンをクリックします。

(2) [仮想マシン]-[設定]をクリックします。

(3) [デバイスを追加]をクリックします。

(4) [新規ハードディスク]をクリックします。

(5) 任意の[ファイル名]を入力します。

(6) [バスタイプ]で接続規格を指定できます。
今回は[NVMe]を選択します。

(7) [ディスクサイズ]を設定します。今回は[40GB]にします。
入力後、[適用]をクリックします。

(8) [仮想マシン]を選択して、指定のハードディスクがアタッチされていることを確認します。

(9) 対象の仮想マシンを起動してログインします。
ログイン後、以下のコマンドを実行してディスクがアタッチされていることを確認します。
*ここでは「nvme0n2」
・lsblk

♦︎パーティション作成
使用するディスクのアタッチが完了したので、次にパーティションを作成します。パーティション形式は「GPT」を選択します。
(1) アタッチされたディスクの情報(ディスクファイル)は「/dev」配下に配置されます。
以下のコマンドを実行して対象のディスクファイルが配置されていることを確認します。
・ls /dev | grep nvme0n2

(2) パーティションを作成します。
以下のコマンドを実行します。
・sudo fdisk /dev/nvme0n2

(3) 以下のようなメッセージが表示されます。

(4) 「Command(m for help)」が表示されます。
ここでまずは「パーティション形式」を指定します。「GPT」なので以下のように入力します。
入力後、「Created a new GPT........」が表示されることを確認します。
*もし既存パーティションがある状態で、さらに新規でパーティションを作成する場合は「パーティション形式」は選択しません。
何も選択せずにEnterを押します。「パーティション形式」を指定するのはディスクを初期化する際の一度のみであり、再度指定すると再びディスクが初期化されて既存のパーティション上のデータが見れなくなります。
・g

(5) 続けてコマンドを入力します。
今回は新しくパーティションを作成するので、以下のように入力します(n = newです)。
*もしディスク上に既存パーティションがある場合は、そのままEnterをクリックします。
・n

(6) 「パーティション番号」を入力します。「1」を指定します。そのままEnterをクリックします。

(7) 「開始地点のセクター」を指定します。ディスク開始地点を入力したいので、そのままEnterをクリックします。

(8) 「終端地点のセクター」を指定します。容量は「20GB」を設定します。
いくつかの指定方法がありますが、ここでは以下のように入力します。
・+20G

(9) 入力後、以下のようなメッセージが表示されることを確認します。

(10) パーティションを作成できたので、設定を保存して作業を終了します。
以下のように入力します。
・w

(11) パーティションが作成されたことを確認します。
以下のコマンドを入力して、「nvme0n2」上に「nvme0n2p1」が20GBで作成されていることを確認します。
・lsblk

♦︎ファイルシステム設定
パーティション作成後は、ファイルシステムを指定します。
(1) 以下のコマンドを入力して、ディスクのファイルシステムを指定します。
今回は「ext4」を指定します。
・sudo mkfs -t ext4 /dev/nvme0n2p1

(2) ファイルシステムが設定されたことを確認します。

♦︎ディレクトリへマウント
最後に指定のディレクトリへマウントを行います。
ここでははマウント先に「/lovelab」を指定します。
(1) 初めにマウント先のディレクトリを作成します。
以下のコマンドを入力します。
・sudo mkdir /lovelab

(2) 以下のコマンドを入力して、マウントを行います。
・sudo mount /dev/nvme0n2p1 /lovelab
*「mount マウント元 マウント先」

(3) 以下のコマンドを入力して、マウントが行われたことを確認します。
・df -h

(4) ここで一度仮想マシンを再起動してみてください。
(5) 再起動後、以下のコマンドを入力します。
・df -h

<重要!>
*再起動前に存在した[ファイルシステム]〜[マウント位置]の記載が消えていますよね。
実は「mount」コマンドでの手動マウントは、OSを再起動すると消えます。
再起動後も維持するには、「/etc/fstab」にマウント設定を書く必要があります。
(6) 「/etc/fstab」に設定を記載します。
その前に以下のコマンドを実行して、設定ファイルのバックアップを取りましょう。
・sudo cp /etc/fstab /etc/fstab_bk

(7) 「/etc/fstab」に設定を記載します。
以下のコマンドを実行します。
・sudo vi /etc/fstab

(8) キーボードの「i」を押して「挿入モード」に切り替えます。
設定ファイルの一番下の行に以下のように記載します。
記載終了後は、「escキー」→「:」→「wq」→「Enter キー」を押して保存をします。

*左から
「デバイス名 マウントポイント ファイルシステムの種類 マウントオプション dumpフラグ fsckフラグ」
の順に記載します。
① dumpフラグ
ファイルシステムを「dump」コマンドのバックアップ対象にするかを指定します。。
| 値 | 意味 |
|---|---|
0 | dumpの対象にしない |
1 | dumpの対象にする |
ただし、現在のLinux環境では dump自体を使う機会がかなり少ないので、基本的に 「0」にしていることが多いです。
② fsckフラグ
起動時に fsck でファイルシステムをチェックする順番を指定します。。
| 値 | 意味 |
|---|---|
0 | fsckチェックしない |
1 | 最優先でチェック |
2 | 1 のチェック後にチェック |
例えば、
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 0 2
なら、
/ → fsckフラグ 1 → 最優先
/home → fsckフラグ 2 → / の後
ということです。
特に ルートファイルシステム(/)は 「1」、その他のファイルシステムは 「2」 という設定が典型的です。
(9) 以下のコマンドを入力して、設定ファイルの構文にエラーがないことを確認します。
「Success....」と表示されればOKです。
・sudo findmnt --verify

(10) 以下のコマンドを入力して、再びマウントを行います。
「/etc/fstab」に記載されたマウント情報をもとにマウントが行われます。
・sudo mount -a

(11) 試しに再度サーバの再起動を行なってください。
再起動後、以下のコマンドを入力してマウント情報を確認します。
・df -h

(12) マウント情報が保持されていることを確認します。

▪️まとめ
いかがだったでしょうか。次回は「MBR」方式のパーティション作成を行う予定です。

No responses yet