Ellinikonblue.com Weblog

夢は夢のまま終わらせない…

Posted on Mar 15, 2014 at 18:07

ついに GIGABYTE GB-BXCE-2955 で NAS4Free が動くまで(完結編)

 前回までで GIGABYTE GB-BXCE-2955 で、 Realtek 8111G を認識して NAS4Free を起動させるカーネルをコンパイルするための準備は 完了しました。  では、いよいよコンパイルです。今回も作業はすべて root ユーザーで行いました。
 再度、 make.sh を起動します。
# cd /usr/local/nas4free
# svn/build/make.sh
 make.sh を起動して最初のメニューで 「 2 - Compile NAS4FREE from Scratch. 」を選び、 次のメニューで今度は「 3 - Build/Install the Kernel. 」を選びます。

 すると「 NAS4Free - Build/Install Kernel 」というダイアログ(下図)が表示されますので、 prebuild と build を選択して OK を選びます。
Image:20140312NAS4FreeCompile-0.jpg
 次に表示される「 NAS4Free - Kernel Patches 」はデフォルトのまま、 OK を選ぶと、コンパイルがスタートします。
Image:20140312NAS4FreeCompile-1.jpg
 あとは待つばかり…

 コンパイルが終了してから make.sh を終了させると /usr/local/nas4free/work 以下に待望の kernel.gz が!! (T-T)

 これを NAS4Free を仕込んだ USB メモリーの boot/kernel ディレクトリ以下( NAS4Free が起動したときの /cf/boot/kernel ディレクトリ以下)の kernel.gz と入れ替えます。
 すでにうちには FreeBSD をインストールした 東芝 dynabook UX がありましたので、 これに NAS4Free を仕込んだ USB メモリーを接続し マウントして置き換えました。

 そして GB-BXCE-2955 に 作業の終わった USB メモリーを接続して起動…感動です。 ちゃんとネットワークインターフェイスを認識して起動しました! ついに…ついにやりました!! p(T-T)q

 長かった。。。ここまでの道のり。。。
 と言うことで、やっと我が家で元気に稼働を始めました > GIGABYTE GB-BXCE-2955
Image:20140312NAS4FreeCompile-2.jpg
Ellinikonblue.com Weblog 「 ついに GIGABYTE GB-BXCE-2955 で NAS4Free が動くまで(準備編)」
Posted on Mar 14, 2014 at 18:43

ついに GIGABYTE GB-BXCE-2955 で NAS4Free が動くまで(準備編)

 東芝 dynabook UX に インストールした x86 版の FreeBSD 9.2 で コンパイルした 9-STABLE の x64(amd64) 向け実行ファイルでは、 GIGABYTE GB-BXCE-2955 で うまく動かなかったもので、最後の手段、NAS4Free の コンパイルに挑むことにしました。  そもそもにして FreeBSD の素人が、 クロスコンパイルなんてことに挑もうというのが間違いの始まり(<今頃、気づいた (_ _;> )

 いろいろ考えたのですが、 今回は MacBook Air にインストールしてある Parallels で仮想環境を作成し、 ここにちゃんと x64 版の FreeBSD をインストールして チャレンジすることにしました。
 これは NAS4Free をビルドするための make.sh を斜め読みして、どうもクロスコンパイルには対応していないような感じがしたというのも 大きな理由です。

 Parallels 上の仮想環境への FreeBSD のインストール自体は さほど難しくはないのでここでは省略します。
 ちなみに 1CPU/512MB Mem/12GB HDD くらいの環境で問題なく以下の作業は終了できます。

 仮想環境へのインストールが終わったら、まずは NAS4Free を ビルドするために必要な FreeBSD の最新のファイルを取得します。

 その前に…
 FreeBSD のコンパイル環境作成時と同様に、 subversion と、NAS4Free の ビルドするための make.sh を動かすために bash をパッケージインストールします。
# pkg_add -r subversion
# pkg_add -r bash
 次に NAS4Free の最新コードを取得します。
 まずは /usr/local 以下に「 nas4free 」という名前でディレクトリを作成して、 以下のコマンドを実行します。
# cd /usr/local/nas4free
# svn co http://svn.code.sf.net/p/nas4free/code/trunk svn
 NAS4Free のソースの取得が終わったら、 次は FreeBSD 9-STABLE のコードを取得します。
 これは先般、行ったように
# svn co svn://svn.freebsd.org/base/stable/9 /usr/src
として取得し、ひとまず /usr/src を /usr/src.9-STABLE としてリネームして保存しておきます。
# 9-STABLE のソースをコンパイルする必要はありません。

 それから再度 /usr/src ディレクトリを作成しておきます。

 ここまでの作業を正確に行っていれば、 NAS4Free をビルドするための make.sh を編集する必要はないはずです。
 make.sh を起動します。
# cd /usr/local/nas4free
# svn/build/make.sh
 make.sh を起動するとまずメニューが出てきます。
 このメニューで「 2 - Compile NAS4FREE from Scratch. 」を選びます。 するとメニューが遷移して 次のメニューで「 1 - Update FreeBSD Source Tree and Ports Collections. 」を選ぶと、 「 NAS4Free - Update Sources 」というダイアログ(下図)が出てきます。
Image:20140310NAS4FreeCompile.jpg
 ここで「 svnco 」を選択して OK すると FreeBSD 9.2 のコードの取得が始まります。
 これが終わったら、コンパイルを始めずに一度、make.sh を終了させます。

 目的は Realtek 8111G を認識させることなので、 これに該当する部分だけ、先ほど保護しておいた 9-STABLE のコードと置き換えます。
# cp /usr/src.9-STABLE/sys/pci/if_rlreg.h /usr/src/sys/pci/
# cp /usr/src.9-STABLE/sys/dev/re/if_re.c /usr/src/sys/dev/re/
 これで準備は終了です。
 次回はいよいよコンパイルして、 GIGABYTE GB-BXCE-2955Realtek 8111G が NAS4Free が動作する感動の最終回です (^^;;;>
Posted on Feb 16, 2014 at 22:04

NAS4Free でグループとユーザーを作成する

 うちの デル Inspiron HD ( AMD Athlon II X2 P340 /DDR2 2GB メモリー搭載)に セットアップした NAS4Free ですが、 なにせ環境がしょぼいので ZFS をごりごり動かして…なんて運用にはかなり不安がありますが、 ひとまず、一人っ子の MacBook Air のおもり (^^; として、 Time Machine サーバー化してみることにしました。
Image:20101229DELLInspironZinoHD.jpg
 順序としては以下のようになります。
  1. 認証用のグループおよびユーザーの作成
  2. ディスクの追加
  3. AFP(Apple Filing Protocol) の有効化と共有の設定
 これら NAS4Free 側の設定が終わると、 あとは端末 (MacBook Air) 側を設定すれば完了です。

 それでは、まず、 NAS4Free で 認証用のグループとユーザーを作成します。

 NAS4Free の管理画面で、 「アクセス」メニューの「ユーザーとグループ」を選び、 まずは「グループ」タブに切り替えます。
Image:20140211NAS4FreeGroupAdd-0.jpg
 ユーザーを追加するだけであれば、わざわざグループを作成する必要はないのですが、 うちでは Linux も使っていて、 FreeBSD 系と Linux では 規定で定義されるグループとユーザーが違うので、ある程度整合性をあわすために グループも作成しておきました。

 上図の画面でユーザー定義グループの欄で「+」のアイコンをクックすると、 グループ追加画面に遷移します。
Image:20140211NAS4FreeGroupAdd-1.jpg
 入力する項目はグループ名と ID 、その説明だけで必須項目は前者二つです。
 Linux との整合性を確保することが目的なので、 当方ではグループ名は「 users 」とし、その ID は 100 として追加しました。

 次にユーザーを作ります。
 同じく管理画面から「アクセス」メニューの「ユーザーとグループ」を選び、 まずは「ユーザー」タブに切り替え、同じく「+」のアイコンをクリックします。
Image:20140211NAS4FreeUserAdd-0.jpg
 ユーザー追加時の必須項目は「ユーザー名」「フルネーム」「パスワード」「ユーザー ID 」 「シェル」と「プライマリグループ」で、 適宜設定します。プライマリグループは先ほど作成したユーザー定義グループを割り当てておくといいでしょう。
Image:20140211NAS4FreeUserAdd-1.jpg
 ちなみに当方ではすでに運用している Linux サーバーでのアカウントに合わせて、 おのおのの値を設定しています。

 以上でユーザーとグループの設定は終了です。
 次回は Time Machine で使うディスクの追加を行います。
Posted on Feb 11, 2014 at 10:36

NAS4Free には VirtualBox + phpVirtualBox があるじゃないか!

環境さんぷる 「 NAS4Free 9.1.0.1 で phpVirtualBox と VirtualBox 4.2 系 を使う。」

 話の発端は、たまたま読んだ 9.2.0 リリース時の FreeNAS の記事に 「 Linux Jail 」という初見の言葉を見たことでした。

 私の頭の中では jail とは、 主に FreeBSD で使われる仮想化機構となっていて、 Linux にも Linux-VServer など類似した仮想化技術はありますが、 そもそも FreeBSD がベースの FreeNAS で「 Linux jail 」ってどういうこと? 何それ??となったわけです。

 そういう訳でよくよく調べてみると、 FreeNAS は jail 環境で動作する Linux ディストリビューションを組み込むことができるのです。

 今、ストレージサーバーと仮想化ハイパーバイザーで 自宅環境を集約することを考えているので、ぜーんぶストレージサーバーに集約できるのは、 ちょっと魅力的だなと思ったわけです。

 NAS4Free でも同じことはできないのか? と思って調べてみたのですが、これが同じ FreeBSD を ベースにしていながらできません orz
 しかし、 NAS4Free にも VirtualBox とこれを GUI で管理するためのフロントエンド phpVirtualBox を セットで拡張 (EXTENTION) として組み込むことができるようで、 そこで見つけたのが上記の記事。

 これはちょっと魅力的なソリューションです。
 ただ過去、 KVM で集約した環境を構築したことがあるのですが、 いざ運用してみるとあまりにも煩雑で結局、単純な構成に戻した経緯があります。
 こういうものもあると言うことを記憶した上で、 ちょっと真剣に我が家のバックエンド環境の将来構想を整理した方が良さそうです。

「 FreeNAS 9.2.0 登場」マイナビニュース より)
Posted on Feb 08, 2014 at 18:38

NAS4Free v9.2.0.1.943 にアップグレード

 試験的に動かし始めた NAS4Free を インストールしたサーバーですが、 使い始めてちょっとすると 9.2.0.1 がリリースされ、 「システム」メニューの「ファームウェア」を選択すると、 オンラインバージョンチェックの欄に最新バージョンが表示されるようになりました。
Image:20140206NAS4FreeUpgrade-0.jpg
 ひょっとすると市販の NAS 製品のように簡単バージョンアップができるのか? やるならまだほとんど何も設定していない今のうちだ! (^^;A と判断し、実行に踏み切りました。

 実際、実行してみると実に簡単 (^^)b
「ファームウェアアップロードを許可」なんてボタンがあるのでこれを押せば一発! 。。。なんてそこまで簡単ではありません (^^;A

 オンラインバージョンチェックの欄に表示されている最新リリース版のリンクをクリックすると、 NAS4Free のダウンロードページが開きますので、 ここから該当ファイルを(ブラウザを動かしているローカルの PC に)ダウンロードします。
 それから「ファームウェアアップロードを許可」ボタンを押すと、 ファームウェアイメージファイルを指定できるようになりますので 「参照」ボタンを押して、先ほどダウンロードしたイメージファイルを指定します。
 そして、「ファームウェアアップグレード」のボタンを押します。あとはじっと待つだけ…
Image:20140206NAS4FreeUpgrade-1.jpg
 NAS4Free の Embedded 版のイメージファイル (9.1.0.1.847) は、 拡張子が .iso のはずなのに .gzip で圧縮されていたりしましたが、 9.2.0.1.943 のイメージファイルは解凍などせずとも、そのままアップグレードに使えました。
 数分待つと NAS4Free を動かしている機器が 自動で再起動し、再びブラウザでアクセスしてみると無事、 アップグレードが完成していました。簡単 (^^)b

 新しい 9.2.0.1.943 はこれまで日本語化されていた文章が所々英語に戻っていたり、 うちの デル Inspiron Zino HD では ディスクを再度登録し直したりしなければなりませんでしたが、 どれもこれも大きな問題にはなりませんでした。

 アップグレードも超簡単!すてき (*^^*) > NAS4Free
Posted on Feb 05, 2014 at 00:06

NAS4Free の基本設定

 最近、いろいろなことを始めようと、 調べ物をしていると、自分で過去にやったことで ここ に 記録されていないことが結構あることを思い知りました orz
 ちょっと気になることができるとそっちへ行ってしまって、 それまでやったことをおざなりにする。 これは早々にも直した方が良さそうです。

 そういうわけで、ちょっと間が開きましたが、 自宅でセットアップした NAS4Free の 基本設定をまとめておきます。

 起動が終了すると、インストール後に設定した IP アドレスへ HTTP でアクセスできます。
 ID が「 admin 」、パスワードを「 nas4free 」とすると、 ログインできます。

 セットアップ直後にまず以下の設定を行いました。
 ログイン後、「 System 」メニューの「 General 」を選びます。

 まずは WebGUI のところの Language を Japanese にします。 こうしてから「 Save 」するとインタフェイス画面が日本語になります。
Image:20140201NAS4Free.jpg
 必要に応じて、ホスト名、ドメインを設定します。 DNS の設定などはインストール時にコンソールから設定していると、 その設定が保持されているはずです。
 あとはタイムゾーンを「 Asia/Tokyo 」に、 うちでは NTP も有効にしています。

 あと最後にセキュリティー面から root のパスワード (=ログインするときの admin のパスワード)を、 タブを「パスワード」に切り替えて変更し「保存」しておきます。

 以上で基本設定は終了です。

 さて、このセットアップした NAS4Free の ファイルサーバーでまず何をしようかと考えたのですが、 うちの MacBook Air は一人っ子 (^^; なので、 Time Machine を有効にするために Time Machine サーバー化してみることにしました。
 次回はこれに向かって、まず「ディスクの追加」「ユーザーの登録」についてまとめたいと思います。
Posted on Jan 21, 2014 at 19:47

NAS4Free: USB メモリーへのインストールの成功例

 起動はできてもそのままでは使えそうにない NAS4Free の x64 Live USB 版を起動すると、コンソールに以下のようなメニューが出てくきます。
1) Configure Network Interface
2) Configure Network IP Address
3) Reset WebGUI Password
4) Reset to Factory Defaults
5) Ping Host
6) Shell
7) Reboot Server
8) Shutdown Server
9) Install/Upgrade from LiveCD/LiveUSB 
 このときに 9) Install/Upgrade from LiveCD/LiveUSB を選ぶと、 メディアへのインストールを行うことができる(らしい)のですが、 起動に使った USB メモリーへのインストールはどうもできそうにありません。

 ただそのインストールの流れをみてみると、 たとえばハードディスクにフル OS 一式をインストールするか、 USB メモリーなどに "Embedded" な OS をインストールするかを選択する事になります。

 ここまできてやっと気づきました。
 x64 版の NAS4Free を 運用に使える(設定をちゃんと記憶する) USB メモリーを作成するには
  • NAS4Free-x86-LiveUSB-9.1.0.1.847.img
ではなく、
  • NAS4Free-x64-embedded-9.1.0.1.847.img
の方を使用しなければならなかったのです。

 実際、このイメージをダウンロードして、 USB メモリーに書き込んで、これで起動すれば…起動せんがな! o...rz

 しかし、ここで NAS4Free に関して調べまくっていたときに、 ちょっと気になる記述があったことを思い出して、 上記のイメージファイルの末尾に .gz を付加してリネームして解凍してみると なんと解凍できちゃいました (^^;A

 以下の作業は Linux(Ubuntu) を インストールした端末で行いました。
 まずは NAS4Free のサイトから辿って、 x64 Embedded 版、バージョンは 9.1.0.1.847 でこれをダウンロードしてきます。
 これを gzip で解凍します。
mv NAS4Free-x64-embedded-9.1.0.1.847.img NAS4Free-x64-embedded-9.1.0.1.847.img.gz
gzip -d NAS4Free-x64-embedded-9.1.0.1.847.img.gz
 できあがったファイルを、 うちに転がっていた USB メモリーに以下のコマンドで書き込みました。
 Ubuntu などでは、 USB メモリーを差すと勝手にマウントするので、マウントは一度解除してから行ってください。
dd if= NAS4Free-x86-LiveUSB-9.1.0.1.847.img of=/dev/sdb bs=64k
※ これは USB メモリーが /dev/sdb として認識されたれた場合の例です。

 ちなみに USB メモリーへの書き込みを Windows などで行う場合は、 Silicon Linux 社が 無料配布している DD for Windows を 使えばできます(できるそうです)。

 あとは、NAS4Free を起動する PC の BIOS の設定を変更して、この USB メモリーからブートするだけです。

 起動するとコンソールに出てくるメニューは、 Live USB 版と違って 9) のメニューが出てこなくなるだけで、あとは一緒です。

 2) Configure Network IP Address を選んで、 固定の IP アドレス(同時にサブネットマスク、デフォルトゲートウェイ、 DNS )の設定だけしておけば、 いつでも同じアドレスへウェブブラウザからアクセスできるので、 ネットワーク環境に合わせて固定の IP アドレスを設定しておきます。

 あとは設定した固定の IP アドレスへ HTTP でアクセスして、 ID を「 admin 」、パスワードを「 nas4free 」でログインすると 設定画面に入れるようになります。

 これでインストールは成功で一段落です。再起動しても設定値は保存されるはずです (少なくとも当方ではちゃんとされました)。 さて、まずはこれを使って何をするかだな…考えよ (^^;A
Image:20101229DELLInspironZinoHD.jpg
Ellinikonblue.com Weblog 「 NAS4Free: USB メモリーへのインストールの失敗例」
Posted on Jan 13, 2014 at 10:58

NAS4Free: USB メモリーへのインストールの失敗例

 先般、片手間で家に落ちていた USB メモリーに NAS4Free v9.1.0.1.847 の x64 LiveUSB 版をダウンロードしてきて書き込み、 これを デル Inspiron Zino HD ( AMD Athlon II X2 P340 /DDR2 2GB メモリー搭載)に差し込んで、ここから起動するとあっさり起動したもので、 ちょっといい気になってました。
Image:20101229DELLInspironZinoHD.jpg
 軽く固定の IP アドレスを設定などして、そのときはシャットダウンして、 続きはまた後日と思ったのですが、その後日に立ち上げてみると、 まったく設定を記憶していない…
 あれ?っと思って何度か設定→リブートを繰り返しましたが、 やっぱり全く設定を覚えてくれません。
 この子 (Inspiron Zino HD) 、頭悪いのかな…一瞬、まじめにそう思いました f^O^;

 ちょっとコマンドを叩いて調べてみると、なんてことはない。 メモリー上に仮想デバイスを作って、そこで OS 一式を展開して起動しているので、 そりゃあ電源消したら設定も飛びますわな…
「 Live USB 」 版ってそういうことだったのね… orz

 この Live USB 版というのは、 要は Linux ディストリビューションなどにある Live CD 版と発想は同じもので、 ひとまずここから起動もでき、そして起動してから別のメディア (ハードディスクや USB メモリーなど)へのインストールも 可能なバージョンです。
 ただし、この NAS4Free の Live USB/Live CD 版は起動して設定した内容を別のメディアに ( conf ディレクトリを作成してそこに)記録して、 設定だけそこから読み込んで起動することもできるようです。

「できるようです」というのも、 Inspiron Zino HD には SD カードスロットがあるので、 SD カードに conf ディレクトリを作ってそこに設定を記録して、 起動してもうまくいきませんでした。
 どうもブートシークエンスを見ていると、 フロッピーディスクか USB メモリーからしか読み込んでくれないようです。 今時、フロッピーってあんた。。。 orz

 しかも、 USB メモリーで起動して 同じ USB メモリーへインストールすることもできませんでした。
 可用性を考えると、設定を USB メモリーに記録しておくというのもいいかとも思うのですが、 さすがに我が家でも使っていない USB メモリーがそんなにごろごろ転がっているわけでもないので、 たった数 KB のデータを記録するためだけにもう一本買うというのも豪気すぎるような気がします。 CD からブートするというのも、起動に時間がかかりそうで却下しました。

 そもそもにして、USB メモリーにインストールした状態のイメージはないのか?

 あったんですな。これが。。。
 再度、NAS4Free のダウンロードページを見てみると。。。
  • NAS4Free-x64-embedded-9.1.0.1.847.img
ってなんだよ。てか、最初にこれ、組み込み用途とかの特殊なイメージだと 勝手に思っていたのですがどうも違うようです。

 ただこのファイルも一筋縄では使えないんだな。。。次回に続きます。。。 困ったものです f^^;A Ellinikonblue.com Weblog 「 なぜ NAS4Free をつかうのか?」
Posted on Jan 10, 2014 at 10:26

NAS4Free カテゴリ新設

 先般から、 NAS4Free を使い始めて、 いろいろ試している最中ですが、 今、ほぼ「使える」と判断していて、 最終的に我が家のストレージサーバーをこれで構築する方向で 考えています。

 と言うことで、この関連の話が続きそうなのでこれらの記事をまとめるために、 UNIX カテゴリ以下に、 サブカテゴリとして NAS4Free カテゴリを 新設することにしました。

 そういうわけで、 ここに至るまでの経緯となった記事をまずはインデックス化しておきます。

Ellinikonblue.com Weblog
「 2TB HDD を四発も買ったあとに感じた ZFS の必要性」
「 この年末に自宅ストレージの拡張と次期環境構築に向けた準備など」
「 なぜ ZFS をつかうのか?」
「 なぜ NAS4Free をつかうのか?」