我が家はCPUオンボードのマザーボードAsrock Q1900B-ITXにUbuntuをインストールして構築したファイルサーバーを運用しています。
4台のHDDをSATAで、1台のHDDをUSBでサーバーに接続していますが、たまにフリーズ状態(画面は表示されるが、マウスでもキーボードでも操作できなくなる状態)になってしまいます。
以前、下記の記事でフリーズの原因はUSB接続のHDD(USB-HDD)かもと書きました。
しかし、その後、試しに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
- 出版社/メーカー: インテル
- 発売日: 2010/11/10
- メディア: 付属品
- 購入: 1人 クリック: 36回
- この商品を含むブログ (1件) を見る
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
- 出版社/メーカー: アイ・オー・データ
- 発売日: 2015/10/31
- メディア: Personal Computers
- この商品を含むブログを見る
- CentOS 7のISOイメージをダウンロードする
- USBメモリにISOイメージを書き込む
- D525MWをUSBブート可能にする
- USBブートしてCentOS 7をインストールする
- USB-HDDにアクセスできるように設定する
CentOS 7のISOイメージをダウンロードする
今回は最小限のパッケージのみが含まれたISOイメージを使います。
下記のURLにアクセスし、「Minimal ISO」をクリックするとたくさんダウンロードリンクが表示されるので、上の方にある日本サイトのリンクをクリックしてダウンロードします。
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カードを刺せば、ですが。
- USBメモリをWindowsPCに刺す。
- 「Image File」にダウンロードしたCentOSのISOイメージを指定する。
- 「Device」にUSBメモリのドライブを指定する。
- 「Write」ボタンを押下する。
D525MWをUSBブート可能にする
USBに接続したデバイスから起動できるようにBIOSを設定します。
D525MWを起動してすぐにF2キーを押すとBIOS画面に入ることができます。
BIOS画面はすべてキーボードで操作します。操作方法は画面右下に表示されています。
BIOS画面が開いたら、まず、USBが有効になっていることを確認します。
上のメニューから「Advanced」を選びます。
「USB Configuration」を開き、「USB Ports」を「Enable All」にします。多分すでにそうなっていると思います。念のため「USB Legacy」も「Enable」にしておきます。
次に、USBブートを有効にします。
下記のように「USB Boot」と「Boot USB Devices First」を「Enable」にし、「USB Mass Storage Emulation Type」を「Auto」にします。
これでUSBブートの設定ができましたので、いったん電源を切り、USBメモリーを刺します。
そして、電源を入れると無事USBメモリーから起動できました。
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やスマホなどからアクセスできるようにしていきたいと思います。