コンピューター好きのブログ

主にコンピューター・ラズパイと電子工作・オーディオ関連の記事を書いています。

Intel D525MWにCentOS 7をインストールしてUSB-HDDを使えるようにする方法

我が家はCPUオンボードのマザーボードAsrock Q1900B-ITXにUbuntuをインストールして構築したファイルサーバーを運用しています。

4台のHDDをSATAで、1台のHDDをUSBでサーバーに接続していますが、たまにフリーズ状態(画面は表示されるが、マウスでもキーボードでも操作できなくなる状態)になってしまいます。

 

以前、下記の記事でフリーズの原因はUSB接続のHDD(USB-HDD)かもと書きました。

 

www.toomath.net

 

しかし、その後、試しにUSB-HDDを外してみましたが、フリーズしてしまいました。

このため、USB-HDDが原因ではない可能性が高いのですが、私の中で疑いを払拭できていません。根拠は特にないのですが。。

 

そこで、売ってしまおうか迷っていたIntel D525MW(こちらもCPUオンボード)にCentOS 7をインストールし、USB-HDD専用のファイルサーバーにすることにしました。

 

Intel M/B Essential mini-ITX DDR3-800 GMA3150 VGA GbE LAN PCI x1 BOXD525MW

Intel M/B Essential mini-ITX DDR3-800 GMA3150 VGA GbE LAN PCI x1 BOXD525MW

 

 

CentOSを選んだのは、IBMがRed Hatを買収したことで、今後Red Hat Enterprise Linuxがさらに幅を利かせてくるかもしれないので、その互換OSであるCentOSで使い方に慣れておこうと思ったからです。

最近はUbuntu系ばかり使っていますので、ちょっと毛色の違うLinuxを使ってみたいという思いもありました。

 

それでは、D525MWにCentOS 7をインストールしてUSB-HDDにアクセス可能とするまでの手順をご紹介したいと思います。

なお、ここで接続するHDDは下記の4TBバージョンになります。

 

I-O DATA HDD 外付けハードディスク 3TB オシャレなデザイン 日本製 テレビ録画/USB3.0/mac対応 HDEL-UT3ORB
 

 

 

 

CentOS 7のISOイメージをダウンロードする

今回は最小限のパッケージのみが含まれたISOイメージを使います。

下記のURLにアクセスし、「Minimal ISO」をクリックするとたくさんダウンロードリンクが表示されるので、上の方にある日本サイトのリンクをクリックしてダウンロードします。

Download CentOS

 

USBメモリにISOイメージを書き込む

まず、WindowsのPCにISOイメージをUSBメモリやSDカードに書き込むためのツール(Win32DiskImager)をインストールします。

下記のURLにアクセスし、「Files」タブをクリック→「Archive」をクリック→「win32diskimager-1.0.0-install.exe」をクリックしてWin32DiskImagerのインストーラーをダウンロードします。

Win32 Disk Imager download | SourceForge.net

win32diskimager-1.0.0-install.exeがダウンロードできたら、実行して普通にインストールします。

 

次に、Win32DiskImagerを起動し、下記の手順でUSBメモリに書き込みます。

USBメモリの内容はすべて消えますのでご注意ください

ちなみに、USBのSDカードリーダーもUSBメモリの様に使えます。もちろんSDカードを刺せば、ですが。

  1. USBメモリをWindowsPCに刺す。
  2. 「Image File」にダウンロードしたCentOSのISOイメージを指定する。
  3. 「Device」にUSBメモリのドライブを指定する。
  4. 「Write」ボタンを押下する。

 

D525MWをUSBブート可能にする

USBに接続したデバイスから起動できるようにBIOSを設定します。

D525MWを起動してすぐにF2キーを押すとBIOS画面に入ることができます。

 

BIOS画面はすべてキーボードで操作します。操作方法は画面右下に表示されています。

 

BIOS画面が開いたら、まず、USBが有効になっていることを確認します。

上のメニューから「Advanced」を選びます。

BIOSのAdvanced画面

BIOSのAdvanced画面

 

「USB Configuration」を開き、「USB Ports」を「Enable All」にします。多分すでにそうなっていると思います。念のため「USB Legacy」も「Enable」にしておきます。

BIOSの「USB Configuration」画面

BIOSの「USB Configuration」画面

 

次に、USBブートを有効にします。

下記のように「USB Boot」と「Boot USB Devices First」を「Enable」にし、「USB Mass Storage Emulation Type」を「Auto」にします。

BIOSの「Boot」画面

BIOSの「Boot」画面

 

これでUSBブートの設定ができましたので、いったん電源を切り、USBメモリーを刺します。

そして、電源を入れると無事USBメモリーから起動できました。

USBメモリーからブートしたCentOS 7のインストーラー

USBメモリーからブートしたCentOS 7のインストーラー

 

USBブートしてCentOS 7をインストールする

USBメモリからCentOSのインストーラーが起動したら、「Install CentOS 7」を選択してインストールを開始します。

そして、使用言語などを選択しながらインストールを進めます。

 

私はHDD内に残したい領域(パーティション)があったので、自分でパーティションを構成しましたが、新規HDDや残すパーティションが無ければ自動構成で良いと思います。

 

一点気をつけたいのは、ネットワーク設定です。

デフォルトで無効になっているため、手動で有効にする必要あります。

 

下記のサイトは非常に丁寧にCentOS 7のインストール方法をまとめられています。

あまりLinuxをインストールしたことがない方は、とても参考になると思います。

CentOS 7 インストール方法 - eTuts+ Server Tutorial

 

USB-HDDにアクセスできるように設定する

CentOSマシンにUSB-HDDを接続すると、自動で認識はしてくれますが、マウントまではしてくれません

そこで、マウントの設定を行います。

マウントとは、HDDやSSDなどのパーティションを任意のディレクトリに割り当てることを言います。

 

まず、USB-HDDのマウントするパーティションをparted -lで調べます。

このコマンドはrootで実行する必要がありますので、事前にsuコマンドでrootになってください。

私の環境では下記のように出力されました。

 

# parted -l
モデル: I-O DATA HDEL-UT (scsi)
ディスク /dev/sda: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 4001GB 4001GB ext4

 

これでマウントしたいパーティションがディスク/dev/sdaの1番目であり、ファイルシステムのタイプはext4であることが分かります。 

 

次に、ls -l /dev/disk/by-uuid/ でUSB-HDDのマウントしたいパーティションのUUIDを調べます。

下記のようになっていました。赤字が目的の領域になります。

$ ls -l /dev/disk/by-uuid/
合計 0
lrwxrwxrwx. 1 root root 10 1月 19 22:15 0044e334-6f30-41f1-a819-1f5bcb68a5be -> ../../sda1
lrwxrwxrwx. 1 root root 10 1月 19 22:15 10b5b254-a798-4d38-8bf1-d6bd073bf8fb -> ../../sdb5
lrwxrwxrwx. 1 root root 10 1月 19 22:15 5f20469d-26db-415f-bd78-f795637db06e -> ../../sdb3
lrwxrwxrwx. 1 root root 10 1月 19 22:15 9E80227980225853 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 1月 19 22:15 C842242C42242224 -> ../../sdb2

 

最後に、/etc/fstabファイルにUSB-HDDのマウント方法を記載します。

マウント方法は下記としました。

  • UUID:0044e334-6f30-41f1-a819-1f5bcb68a5be
  • マウントポイント:/mnt/USB-HDD※
  • ファイルシステムタイプ:ext4
  • 起動時に自動でマウントする

※マウントポイントとなるディレクトリはあらかじめ作成しておく必要があります。

 

この場合、/etc/fstabの末尾に下記のように記載します。

/etc/fstabはrootでないと編集できないので、事前にsuコマンドでrootになります。

UUID=0044e334-6f30-41f1-a819-1f5bcb68a5be /mnt/USB-HDD ext4 rw,suid,dev,exec,auto,nouser,async,user_xattr 0 1

 

/etc/fstabの編集が終わったら、mountコマンドでマウントします。

こちらもrootになって行います。

mount /mnt/USB-HDD

 

以上でUSB-HDDの内容を読み書きすることができるようになりました!

次にPCを起動したときは 、自動的にUSB-HDDがマウントされるようになっています。

 

今度はCentOSにsambaサーバーとnfsサーバーをインストールして他のPCやスマホなどからアクセスできるようにしていきたいと思います。

 

(c) 2018 toomath