2014年2月27日木曜日

自宅のデータ管理について考える

最近、自宅のPCの調子がよくないです。

家族が使っているのも含め、我が家には3台のPC(+iPad)があります。
  • MacBook Pro
  • VAIO
  • 自作PC(OSはWindows、VMでLinuxサーバを常時起動)

先日、自宅のブレーカーが落ちた影響で自作PCの電源が故障。起動できず。
MacBook Proもだいぶ年季が入ってきて、動作が重たい。
VAIOはめったに使っていないので、メインで使ってる2台が使えなくなって悩み中。

電源トラブルは電源を買い替えれば復旧できるけど、
データ消失のリスクやら、PCの有効活用やら考えて、
自宅のマシンを見直したい。

◆やりたいこと

まずは要件定義すると、こんな感じかな。
  1. メインで使うMac環境
    (開発系やらiTunes/iLifeとかで利用シーン多々あるため)
  2. 以下ができる常時起動のサーバ
    -Webサーバ
    -DLNAサーバ
    -ファイル共有サーバ
    -Macのバックアップサーバ
    (-メディアサーバ(iTunes/iPhotoのデータ保存先))
    (-マシン監視サーバ(MRTGとか))
  3. ゲームができるWindows環境

3は最悪なくても良いが、1,2はほしい。
ということで、これを満たすマシン構成を考える。

◆お金を気にせずプラン

  • MacBook Proを買い替え
  • Mac mini購入(Server+メモリ増設+CPU Up)
  • HDD2台購入してRAID化してMac miniに接続 or RAID対応のNASでも買ってくる
    →まぁ文句ありません、これだけ準備できれば。


◆現実プラン1

  • Mac mini購入(+自前でメモリ増設)
    →Mac miniを常時起動して、サーバとして利用。
    MacBook Proから画面共有すれば、十分スペックな開発マシンとして利用できるし。
    →ただデータ管理の問題は解決してない、外付けHDDをUDB接続でとりあえず管理。

◆現実プラン2

  • HDDを購入し、自前RAID化。
    →データ管理は問題ない。
    VMにHDDを接続して管理していく。
    →Macの使い勝手が改善されていないけど我慢...

って上まで書いてたら、新しいMacが欲しくなってきたw
ので、まずは以下プランで行こう。増税までにMac miniとHDDと増設用メモリも買おうw

◆マシン構成

  • Mac mini
    メイン環境。メモリ増設も追加で実施する。
  • Macbook Pro
    ブラウジングのみ。作業系はMiniにリモート接続して作業。
  • HDD(2TB * 2台をミラーリング)
    iTunesとかiPhotoデータをここにうつす。
  • 自作マシン(Linuxサーバは継続。おいおいMacに移行かな。)


◆以下、調査メモ

  • Mac miniのグラボはオンボードなので、ゲームは無理。交換もできないから、ゲームやるなら現在のマシンが必要。
  • 無線LANルータにHDDをUSB接続すれば、一応NASとして利用可能。ただ、フォーマットによっては認識有無があったので、仕様を確認しておくこと。

2014年2月22日土曜日

net useコマンドでファイルサーバに接続できなくなった

Windowsでネットワークドライブの追加を行うコマンドとして、net useコマンドがあります。
これで先日ハマったことを書き残しておく。

ネットワークドライブ接続をバッチ化しており、net useコマンドを利用していました。
バッチを書いておきこれをスタートアップに登録しておくことで、
マシン起動時にネットワークドライブを自動で接続するようにしていました。
例えば以下みたいな感じで。

> net use Z: \\hogehoge.com\hogehoge /user:USERNAME PASSWORD

最近ファイルサーバに接続できなくなる現象が発生し、原因を調査。
ファイルサーバにpingで確認したり、
他マシンから接続できることを確認したり、
ネットワークドライブを切断→再接続をしたり、
マシンを再起動したり、
...

通信/環境に問題なさそうだったので、
バッチのコマンドをよーく確認していると、
余計なスペースが入っていたことが判明。
↓例えばこんな感じ(サーバ名とユーザー名とパスワードの間に半角空白が2つ入っています)
>net use Z: \\hogehoge.com\hogehoge  /user:USERNAME  PASSWORD
これを直したあとにバッチを実行すると、なぜか接続できた。
まさか空白が多いと問題ある?とか思い、少し調べると、
以下の仕様が見つかりました。

接続時に認証情報を指定する際、パスワードが存在しないユーザー名を指定したい場合、パスワードを指定しない(=空白文字を指定)する

つまり、空白文字を余計に入れることで、パスワードが省略され、
なおかつ、PASSWORDって余計なオプションが付加されてコマンドが実行されたっぽい。

うーん、この仕様...