NWエンジニアの勉強ブログ

NWエンジニアです。勉強した内容を気ままにまとめていきます。

VirtualBox上のLinuxへのHDD追加からマウントまでの流れ

今回は、VirtualBox上のLinux(CentOS7)へHDD追加からマウントまでの流れをアウトプットしていきたいと思います。

<目次>

やりたいこと

VirtualBox上のLinuxにHDDを追加し、特定のディレクトリ(『/data』とします)に保存されたファイルやディレクトリは、今回追加するHDDに保存されるようにしたい。


流れは下記の通り。

  1. HDDを追加する
  2. パーティションを作成する
  3. 作成したパーティションファイルシステムを作成する
  4. ファイルシステムをマウントする
  5. 『/etc/fstab』ファイルにファイルシステムを追記する(任意)

HDDを追加する

まずは、現状確認。システムが認識しているブロックデバイスをlsblkコマンドで確認します。
lsblkコマンドはブロックデバイスの一覧を表示するコマンドです。
*1

早速、HDDを追加します。
VirtualBoxマネージャーの画面で、『設定』→『ストレージ』と進み、HDDを追加後、OKを押します。
今回は、「CentOS7minimal_1.vdi」を追加しています。

再度lsblkコマンドを実行し、追加したHDDをシステムが認識しているか、確認してみます。

追加したHDDがデバイスファイル/dev/sdbとして認識されているので準備完了です。

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

次に、追加されたHDD(/dev/sdb)にパーティションを作成していきます。
パーティションの作成には、fdiskコマンド、gdiskコマンド、partedコマンドが使用可能です。
今回はfdiskコマンドで基本パーティション/dev/sdb1を作成していきます。

fdiskコマンドを実行すると、サブコマンドを使用し対話形式でパーティションの作成(削除、変更なども可)を行うことができます。サブコマンド『m』でサブコマンドメニューを表示できます。

まずはサブコマンド『p』で/dev/sdbのパーティションテーブルを確認します(当然何も表示されません)。
パーティションの作成はサブコマンド『n』を実行します。今回は下記の通りで指定しました。
 ・基本パーティション
 ・パーティション番号は1
 ・開始位置はデフォルト通り
 ・終了位置は+1M

再度サブコマンド『p』でパーティションテーブルを確認します。/dev/sda1が追加されていることがわかります。

最後に、サブコマンド『w』でパーティションテーブルの変更を保存して終了します。

作成したパーティションファイルシステムを作成する

作成したパーティションは、まだファイルを保存することができない状態のため、ファイルシステムを作成していきます。ファイルシステムを作成するコマンドは、mkfsコマンド、mke2fsコマンドなどがありますが、今回はmkfsコマンドを使用します。ファイルシステムタイプはext2とします。

ファイルシステムをマウントする

最後に作成したファイルシステムをマウントしていきます。今回は下記のイメージ図のように、あらかじめ作成した『/data』ディレクトリをマウントポイントとし、『/dev/sdb1』をマウントします。

マウントするにはmountコマンドを使用します。

マウントされているかを確認するために、dfコマンドを実行します。
※なお、mountコマンド(引数指定なし)を実行することでも、マウントされているかが確認できます。

dfコマンドは、引数にディレクトリ名を指定することで、そのディレクトリが属しているファイルシステムを表示することができます。

lsコマンドで『/data』ディレクトリを確認してみます。

※『lost+found』という空のディレクトリがデフォルトで表示されます。これはHDDのチェックを行い、必要に応じて修復を行うfsckコマンドで使用されるデータが保存されるディレクトリです。

試しに『/data』ディレクトリ上に『file』ファイルを作成してみます。

以上で、追加したHDD上のファイルシステムをマウントすることができました。

本当に追加したHDD上に保存されているのか?

『/data』ディレクトリ配下のファイルやディレクトリが追加したHDDに保存されているかを確認するため、『/dev/sdb1』をアンマウントしてみます。アンマウント後、『/data』ディレクトリ内にあったファイルやディレクトリが表示されなくなった場合、たしかに追加したHDD上にあることがわかります。

アンマウントを行うにはumountコマンドを使用します。引数には、マウントポイント(/data)かデバイスファイル名(/dev/sdb1)を指定します。

アンマウント後、dfコマンドとlsコマンドを実行してみます。
『/data』ディレクトリは『/』ディレクトリに属し、ファイルが何も保存されていないことがわかります。

再度マウントし、dfコマンドとlsコマンドを実行してみます。

アンマウント前と同じ状態に戻っていることがわかります。
したがって、たしかに追加したHDDにデータが保存されていることがわかりました。

『/etc/fstab』ファイルにファイルシステムを追記する(任意)

今回マウントしたファイルシステムを、次回の起動以降も同様にマウントさせておきたい場合、『/etc/fstab』ファイルにファイルシステムの情報を記述しておく必要があります。
今回のみマウントする場合は、本作業は不要です。

記述例は下記の通りです。『/etc/fstab』ファイルの書式に従って追記します。

 

まとめ

今回はVirtualBox上のLinuxにHDDを追加し、マウントするまでの流れをまとめてみました。LPICの最初の難敵とも言っても過言ではない本トピックですが、これからも手を動かして技術力を上げていきたいと思います!

ありがとうございました。

*1:ブロックデバイス⇒HDDやSSDといった、任意の場所にアクセスすることができるデバイス