Mac mini Serverの不調とSSD換装メモ

Pocket

本ブログもホストしているMac Mini Server  2011が不調で、SSD交換を敢行しました。

不調の現象としては、

  • 異常な速度低下(シャットダウンに30分とか。CPUなどの利用率はさして高くない)
  • 外部のサーバー稼働チェッカーで日に何回か数分程度のサーバーダウンが記録される
  • ファイル破損(OpenLDAPのDBが壊れてユーザ情報が消えたり)
  • Mac AppStoreにアクセスできない(グルグルのまま。El Capitainリリース当初に話題になった証明書修正は効果無し)

など。1番目なんかは特にSSDっぽいなぁと。ただMac AppStoreにつながらないのでベンチアプリとかも入れられず。搭載SSDはCrucialのM4/128GBで有名な0309アップデートは適用済み。ただし最新ファームでもない、という状態。これも更新を試みるもUSBでブートできず。どのみち容量も逼迫していたのでこの機会に10年保証を謳うSAMSUNGの850PROに。容量はとりあえず倍の256GBで。

また換装の直前にも色々やっていて、

  • OpenLDAPのDBをTimeMachineから復元
  • 初期設定ウィザードを強制再実行してadminユーザを再作成(ただし最後まで進まず)
  • NVRAMリセット
  • リカバリーモードからのFirstAid

実際にはどれが効いたかは不明です。

換装手順は先に物理交換。購入当時にやってるはずがもう完全にバラし方を忘れてて、ネットで手順をググりました。850Proを内蔵させ、取り外したM4をUSBケースにいれて接続。Optionキーを押しながら電源を入れると、M4側のリカバリー領域が見えるので、それでブートしてEl Capitainのクリーンインストールを実行。直接TimeMachine復元もできたけど、なんとなく。インストール完了後のウィザードの中でTimeMachineからの復元を実行。異常な速度低下は起きなかったので、やはりハード要因ではなかったのかな?なんとなく気になったのは、SSDコネクタをはずす時に若干緩んでた気がする点。まぁいまとなっては確認しようがありません。

TimeMachineからの復元後に驚愕したのは、Webサーバーやメールサーバーのデータが移ってない。移ってないところか手動でTimeMachineに入っても当該ディレクトリにデータがない。なんとTimeMachineではバックアップされていなかった!?わざわざ除外していたとは考えにくいんですが、、、いままでTimeMachineがあるさ、と暢気に構えてたけどあぶないあぶない。今回はM4からコピーで事なきを得たんですが、これどういうことなんでしょうね?再度TimeMachineセットアップをして様子をみたいと思います。なんか他のバックアップ手段も併用した方がいいのかも知れません。

とりあえず今のところ順調に動いてる気がします。adminユーザも復活。ただそのデスクトップでSafariとか使う度にKeyChainのエラーが出て、毎回「リセットしますか?」的なダイアログが出ます。これも追々調べないと。

ともあれ、やたらレスポンスが落ちることがあった当ブログがこれで健全化するといいなぁ。

ついにWordPress移行を敢行

Pocket

少し前にサーバーのHDDが逝ってしまわれて、MovableTypeで吐き出した静的HTMLを仮で置いてしのいできましたが、ようやく新サーバーにWordPressを入れてデータを移行しました。

OSX ServerのApacheは設定ファイルがややこしくて難儀したり、WordPressのMT importerが一定文字数以上のエントリをさくっとスルーして読み込まない仕様に時間くわれたししましたが、どうにか形になった気がします。レスポンシブなテーマをチョイスしたのでモバイル端末からの見やすさも向上したかなと思います。

一応すべての記事は移ってるはずですが、おそらくRSSは互換性がない気がするので、いるかどうかわかりませんがRSSリーダーなどに登録いただいている方がいらしたら、念のため再登録していただくのが吉かも知れません。あと、プログラミングやサーバー設定の話題は公共性などを考えてQiitaに書いていくことにしました。

WordPressの方がモダンなプラグインも多く、色々試せるかと楽しみです。執筆環境としてもついにWindows Live Writerから卒業できるかも。もうMacBookに仮想Windows入れておかなくてもいい?!

今後ともよろしくお願いいたします。

ブログがダウンしている間にゲットしたガジェットのレビューも貯まっているので精力的に書いていきたいと思います。

以下レビュー予定。

Darwin Streaming Serverを試す

Pocket

先日の「Macで手持ち動画ファイルをソーシャルビューイングする」というエントリで書いたHangoutを使う方法は、やはりフレームレートの低さに我慢がならず他の方法を模索しました。そういえば、OSX ServerもSnow LeopardまではQuicktime Streaming Serverを搭載してたのにLionでなくなったんだよなぁ、と思って代替ソリューションをググったところ、元々オープンソースで公開されていたので、野良ビルドというかポートされたものがあるのを発見。Darwin Streaming Serverという名前で、OSX以外にもLinuxやWindowsでも動かせるみたい。OSX用のパッケージはここで拾えます。いくつかつまづいたので導入メモなど。執筆時点のバージョンは6.0.3。もうApple的にはメンテが終息してるっぽいのであまり進化はしないかも知れないですね。

■導入メモ

・OSX Serverにインストールできるようにする

なぜかインストーラー.pkgがServer OSを弾く設定になっています。もともとServer OSには入ってたものなのでその名残?こちらに回避策がありました。まず.dmgファイルを開いて仮想ドライブとしてマウントし、中の.pkgファイルをローカルドライブにコピーします(そうしないと編集できないから)。.pkgファイルは実はフォルダなので、ターミナルでcdしていけば中に入れるんですが、DarwinStreamingServer.pkg/Contents/Resources/VolumeCheck というファイルをエディタで開いて、サーバーOSかどうか調べて弾く部分を丸々コメントアウトします。具体的には29行目以降に赤字の#を挿入します。

#  don’t install on OS X Server                                                                   
#if ( -e $INSTALLED_SERVER_OS_VERS )                                                              
#{                                                                                                
#    if ( -e $ERROR_STRINGS )                                                                     
#    {   #there are localized error strings so use them                                           
#        $RESULT = 114;                                                                           
#    }                  

これでインストーラーを起動すれば普通にインストールできます。管理者パスワードや動画の保存場所などを指定すると、インストーラーが最後にブラウザで設定ページを開いてくれるので、そこをブックマークするなりしておけば、以後全ての設定はそちらで行えるようになります。

 

・動画ファイルにヒントトラックを付加する

H.264+AACなMP4ファイルが利用できるはずですが、そのまま登録しても非対応と言われてしまいます。動画にヒントトラックというインデックス情報のようなものが含まれている必要があるみたいです。QuickTime Proやmp4boxというフリーのコマンドラインツールで付加できるようです。mp4boxはエンコ作業で普段から使ってるので、以下はWindows機で作業。

mp4box.exe –hint (元ファイル名).mp4 –out (新ファイル名).mp4

などとすればヒントトラック入りの別ファイルが作成されます。再エンコードするワケではないのでファイルコピー程度の時間で終わります。

ただ手持ちのmp4box 0.4.6-DEV (internal rev. 5)では「Invalid IsoMedia File」というエラーが出てハマりました。最新版とされている0.4.6-rev2735をゲットしてみたらOKでした。バージョンは、

mp4box.exe –version

で調べられます。

最近のMediaCoderならエンコード時に自動で付加することもできるっぽいですが、ファイルサイズで比べると1,2割は大きくなるようなので、全部のファイルに予め付与しておくのは無駄かなという印象。

 

・動画ファイルへのアクセス権を付与する

これはOSX Serverだけの現象かも知れませんが、プレイリストに動画を登録して再生スタートすると、

– PlaylistBroadcaster: Permission to access the SDP reference movie was denied.
   Read access required.
   (path: /Library/QuickTimeStreaming/Movies/hoge.mp4, errno: 13).

のようなエラーが出ます。他のサンプルファイルをみるとオーナーが_qtssとなっているので、それに揃えてやります。

sudo chown _qtss hoge.mp4

 

・80番ポートを使わない場合のポート番号

インストーラーまたはポート設定画面に「80番ポートを使う」という項目がありますが、通常80番はWebサーバーが使うので重複の心配があります。そこでオフにしてみたんですが、じゃぁ代わりに何番になるかというのがどこにも表示されていません。

わかった範囲では、

1022番:管理ページ

8000: http://プロトコロルによる動画配信(iOS向け?)

554番:rtsp//プロトコルによる動画配信

等。ただし8000番を使ったhttp配信はまだ成功していません。エラーメッセージ的にはつながってるっぽいってだけ。

 

・プレイリストを作って疑似ライブストリーミングをする

PC/Macでの視聴にはrtspプロトコルに対応した動画プレーヤーを使います。具体的にはQuickTime PlayerかVLC辺りがお手頃でしょう。ファイルメニューから「URLを開く」とか「場所を開く」「ネットワークを開く」といった文言の項目を選び、アドレスを入力するだけです。

サーバーの設定画面で指定したフォルダに、hoge.mp4というファイルを置いた場合、

rtsp://(IPアドレスまたはホスト名)/hoge.mp4

というアドレスを入れれば視聴できます(ルーター越えさせる場合は554ポートを開放しておく必要があります)。ただしこれだと個々にオンデマンドで再生されるので、単純にファイル共有して視聴するのとあまり代わりありません。せっかくストリーミングサーバーを介すのだから同期視聴してこそです。それにはプレイリストを作成します。管理ページ上で「Playlists」を選ぶとプレイリスト一覧画面になるので、「New Media Playlist」を選択し新規作成します。仮にNameをhoge、Mount Pointをhoge.sdpなどとしておきます。そしてファイル一覧に動画フォルダのファイル一覧が見えてるのでドラッグして右側のリストに追加し、「Save Changes」で保存して一覧画面に戻ります。一覧画面のプレイリストに再生ボタンがついているのでクリック。Statusが「Playing」になれば成功です。エラーが出た場合はアイコンをクリックすると詳細が確認できます。またServer自体が起動しているか左上の表示で確認しましょう。

「Playing」になっていると、誰かが見て様が見てまいがサーバー上では再生が進んでいる状態です。そこで、クライアントのプレーヤーソフトから、

rtsp://(IPアドレスまたはホスト名)/hoge.sdp

のようにMount Pointを指定してやると、視聴できると思います。

■使用感

・画質

画質に関してはHangoutやSkype、iChatの画面共有に比べてはっきりと優位を感じます。というか回線速度が追いついている限り、ローカルで再生しているのと同等だと思います。

 

・使い勝手

ここはやはりHangout等に比べると若干落ちます。まずホスト側ですらあまり自由に再生を制御できません。プレイリストの再生と停止しかできないので、ちょっと面子がトイレいくから一時停止ね、とかもできない。止めたらまたプレイリストの最初からになります。クライアント側でポーズはできますが、それは当人のところで止まるだけ。Hangout等であれば画面共有しているホスト役の人が一時亭ししたりオープニングをスキップしたりも自在なので、ここは惜しいところです。

また、サーバー側でプレイリストをPlayingにしてないとクライアントからつなぐこともできないので、全員接続してから再生スタート、ということもできず、サーバーでスタートさせてからチャットなどで「よしお前らつなげ!」などと号令をかけるしかない。それでも頭の数秒は見損ねてしまうでしょう。プレイリストの先頭にダミーの動画を10秒程度入れておくと良いかも知れません。

そしてもちろんチャット周りについては何も機能がないので、SkypeなりLive Messengerなりを別途使うしかありません。まぁここはお互いがIDをもってて使いやすいものを選べるというメリットでもありますが。

クライアント側に再生ソフトをインストールしなければならない点も負担な人には負担ですが、まぁ今時QuickTime PlayerはiTunes入れてればほぼ強制的に入るし、VLCもフリーだし許容範囲ですかね。今回ネットカフェから参加した人もいましたが、VLCは再起動しなくて使えるので好都合でした(ネットカフェのPCはセキュリティの為、再起動すると全ての変更が巻戻る)。

惜しいのは動画にヒントトラックをつけないと使えない点ですね。我が家にある膨大なライブラリから「よし今日はアレ観ようぜ」とかいって即座に始められません。さりとて現状の利用頻度では全てのファイルにあらかじめヒントトラックを埋め込んで置くのはちょっと手間的にも容量的にも非効率。mp4bpxでの付加自体にはそう時間はかからないので、なにかバッチファイルなり簡単に一括付加できるフロントエンドツールなどを作っておくといいんでしょう。

 

・安定性

やはり途中何度か映像が乱れたり音声が途切れたりということがありました。もともとストリーミングを意識してエンコした動画ファイルではないので、仕方ないかも知れません。感覚的にはやはり動きが激しくビットレートが高くなるところが不安定になってた気がします。たぶん可変ではなく固定ビットレートにすると良い気がしますが、普段使いの画質を優先するかトレードオフですね。1~2Mbps程度の動画で光同士ならほぼ無問題、WiMAXでたまに不調、一番ヒドいのは某ネットカフェから参加した人、って感じでした。一度乱れだしたら、軽く(数秒?)ポーズして先読みを進めてやると良いとか、それでもダメなら再接続が確実っぽかったです。

またどうしても接続後数秒(最初のIフレームまで?)は乱れまくります。

あと、プレイリスト上の動画ファイルをまたぐ時に、次のファイルが正常に再生されないという現象が何度か出ました。出る時は全員なのでサーバー側、それも個別のファイルの問題な気がします。ちょっとまで原因がつかめてないですが、こうなったら再生を止めてプレイリストを編集して前のファイルを消し、そのファイルを先頭にして再スタートさせるしかないみたい。

サーバー自体はエンコードなど負荷の高い処理をするわけではないので、余裕っぽいです。特にファンがうなりをあげるようなことはなかったです。>Mac mini Server 2011(Core i7)

 

とまぁ、こんな状況でアポイントの数時間前から突貫で準備を始め、なんとか4人で6時間に及ぶ動画視聴マラソンを楽しく実施することができました。

Lion ServerでiChatサーバーを設置する

Pocket

ちょっと必要があってLion Server上にプライベートなチャットサービスを立ち上げるべく、iChatサーバーの設定に挑戦しました。

Lion ServerのiChatサービスには基本的にほとんど設定の余地はなく、

  • 他のサーバーと連携するか(する場合はドメイン指定)
  • チャットログを保存するか

しかありません。ぶっちゃけスイッチをONにするだけで起動します。

ただしウチ限定の現象かも知れませんがハマったので覚え書き。

■ポート開放

ルーターで開放(Lion Serverにリダイレクト)する必要があるポートは、

ポート番号 プロトコル 備考
5222 TCP チャット
5223 TCP チャット(SSL)
7777 TCP ファイル送受信
5678 UDP  
16384-16403 UDP ビデオチャット

という感じでした。この辺りを見ると他にもあるっぽいですが、とりあえずウチでは上記のみで一通り使えてる気がします。全クライアントにSSL利用を強制できるなら5222は開けなくてもいいかも。サーバー間連携を使う場合は5269(TCP)とかも必要でしょう。またウチのルーターはポート番号を範囲指定できす、ビデオチャット用のポートを全て個別に指定することはできず、欄がある限りで16384-16390のみ開放していますが、これもいまのところ問題なさげです。同時利用者数が増えたりすると足りなくなるのかも知れません。

■認証が通らない

次にハマったのが認証で蹴られてログインできない現象。「サーバー」アプリの「ログ」でiChatのサービスログをみると、

Jul 12 20:25:55 jabberd/c2s[52503]: SASL callback for non-existing host: hoge.com

というエラーが記録されています。どうも、アカウント名として、ホスト名無しの「ユーザ名@ドメイン名」形式は標準では受け付けないようです。「ユーザ名@ホスト名.ドメイン名」なら問題ないんですが、ウチの場合Lion Serverを外向けDNSに登録してなかったし、無駄にアドレスが長くなるし、ということで、こちらを参考に設定ファイルを直接書き換えました。

/etc/jabberd/sm.xml:

<local>
        <!– Who we identify ourselves as.
         Users will have this as the domain part of their JID.
         If you want your server to be accessible from other
         Jabber servers, this IDs must be FQDN resolvable by DNSes.
         If not set, the SM id is used. –>
        <id><myserver>.<mydomain>.com</id>

/etc/jabberd/c2s.xml:

<id require-starttls="true" pemfile="/etc/certificates/frontier.orange-road.com.947515504262B5757AB90D084DF 652A0EA8E0B76.concat.pem" private-key-password="C4D239B3-87B9-4F58-9D3E-541587EFD7EF" cachain="/etc/certificates/frontier.orange-road.com.947515504262B5757AB90D084DF 652A0EA8E0B76.chain.pem"><myserver>.<mydomain>.com</id>

それぞれ赤字部分を削除し、iChatサービスを再起動すればOKです。この手の編集はバージョンアップなどで元に戻ってしまう可能性もありますが、まぁ当面様子をみようと思います。

■クライアント

Lion まではiChat、Mountain Lion以降は「メッセージ」を使います。Lion + β版「メッセージ」で動作確認しました。またiChatサーバーはJabberのXMPPというプロトコル互換なので、Windows用の互換ツールでも(少なくともプレゼンスやテキストチャットのレベルは)問題ないと思います。

また残念ながらAppleからiChatクライアントはリリースされていませんが、Jabber/XMPPアプリは数多くあります。例えばimo instant messengerは日本語も含めて大丈夫っぽいです。画像もアップできますが、imo社のサーバーに置かれてURLが先方に届く形式のようで、プライベートな写真のやりとりには向かないかも知れません。

他にMonalはデザインも良く無料でなかなかなのですが、残念ながらiOS5の日本語キーボードサイズ変更問題に対処できておらず、日本語<->英語と切り替えると入力欄に文字が打てなくなる問題を孕んでいます。更新されたら是非こちらを使いたいとは思います。

その他、Cisco Jabber IM for iPhoneはログインできず、ボイスチャットも対応というOctro Talkはすぐにログイン、ログアウトを繰り返して実用にはなりませんでした。有料アプリではBeejiveIMシリーズ辺りが評価が高いようですが、まぁimoで必要最低限のことができそうなので試していません。

■iChatでできること

で、そもそもな話、iChatでなにができるのか、SkypeやiMessageとなにが違うのか、という話。

まず大きなのは自前のサーバーを立てることで、クローズドなチャットシステムを構築できるということですね。企業内でのやりとりをするのにSkypeやLive Messengerなどの半ば公のサービスを使えないところも少なくないでしょう。

Mountain Lionになって「メッセージ」アプリと統合されるので、iChatのために別アプリを立ち上げておかなくても良くなるのも嬉しいです。

機能面では、オンラインプレゼンス(退席中などのステータス表示)、テキストチャ
ット、ボイスチャット、ビデオチャット、画面共有など競合サービスにひけをとらない感じです。ただしビデオチャットの画質はSkype HD等には及ばず、従来のSkypeやLiveなどと同レベルという印象です。またiChat Theaterという機能で動画やPDFなどを共有することができます。ビデオチャット中に動画ファイルをドロップすると、ファイル転送するか再生するのか選択肢が表示され、再生すると向こうとこちらで同期して動画視聴ができます。この時、スライダーを動かしたり一時停止したりといった操作はファイルをドロップした側の人のみ可能です。これも残念ながら画質はVGA程度です。また常に相手のカメラ映像も並んで表示され、全画面で動画を表示することはできません。でもまぁ動画を観ながらチャットというのはなかなか楽しげな気はします(ちなみにYouTube上の動画であればGoogleのHangoutで似たようなことが可能です)。

2012.07.15追記:

画面共有は相手側の操作もできますね。これはSkypeなどでもできないのでWindows同士でのLive Messengerに匹敵するメリットです。遠隔のMacをサポートする時などは便利です。Live Messengerはルーター環境によってつながらないこともあって、最近はSkypeで画面を”見るだけ”で操作は相手に口頭で伝えてやってもらうことが多かったんですが、Mac同士ならウチのサーバーにアカウント発行してつないでもらうのがヨサゲ。

Lion ServerでMySQLを動かす

Pocket

サーバー刷新を機にMovableTypeからWordPress移行も考えていて、試験的にOSX ServerにWordPressも入れてみようと思ったんですが、MySQLが必要。しかしLion ServerからはMySQLに代わってPostgreSQLが標準RDBMSになってしまった。はて。

で、man mysqldとするとそれに関する情報があり、「まだMySQLが欲しい人はhttp://dev.mysql.com/downloads/mysql から取ってくるといいよ。」と書いてありました。で、行ってみると10.7用はないものの、とりあえず10.6用の64bitの.dmgファイルがあり、メインのインストーラーpkg、コントロールパネル、自動起動スクリプトのインストーラーpkgの3点セット入りで、普通にインストールできました。

■初期設定

readmeによると、mysql、mysqladminの実行バイナリは/usr/local/mysql/bin/にあるとのことです。起動状態と自動起動設定はコントロールパネルから行えます。

まずは(mysqlの)rootパスワードを設定。

sudo /usr/local/mysql/bin/mysqladmin –u root password

最初にsudoの為の管理者パスワードを聞かれ、その後でMySQLのパスワードを求められるので注意。

設定ファイルのサンプルを/etcにコピー

sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf

support-files内には他にも設定ファイルがあるみたいだけど、とりあえず一番シンプルそうなのをチョイス。

コピーしたファイルを編集して、デフォルト文字セットをutf8にしておく(適当に該当箇所を探して赤字部分を追加)。

[mysql]
default-character-set=utf8

[mysqld]
character_set_server=utf8

[mysqldump]
default-character-set=utf8

システム環境設定->MySQLから再起動。

実際にはWordPressなりのアプリケーションを動かしてみないとですが、とりあえずこれでいいんじゃないかと。

MacOSX Server 移行ログ DNS、メール、その他編

Pocket

先月購入したMaxOSX Lion Server入りMac mini Serverへの移行作業が割と手間取っています。LinuxサーバーでCUIでやっていたことと、OSX ServerのGUI上でのマッチングがよくわからなかったり。参考書籍も検索結果も10.6世代の情報ばかりで、しかも結構ファイル構成とか違ってたり。MC936J/Aの品薄感で焦ってしまったものの、もう少し情報出そろってからでも良かったかもですw。

でもまぁボチボチ進めてます。σ(^^)の様にLion Serverの値頃感で参入する人も多いでしょうからなるべく情報共有できるよう、作業ログはブログの方にあげてくことにします。

■初期設定&概要

まずハマりやすいのは初回起動時のユーザ設定。うっかり自分の普段使いのアカウント名を管理者として使ってしまうと、後でその名前でOpen Directoryアカウントが作れなくなり、結果としてメールサービスなどが設定できなくなります。adminなどの汎用アカウント名を設定しましょう。

次にビビるのは「サーバー管理」アプリがインストールされておらずAppleから自分でダウンロードして入れる必要がある点。最初から入っている「Server」というアプリからだとDNSやDHCPなどの項目がなくて、「Lion Serverは値段も下がったけど機能も削られてるのかっ!?」と一瞬青ざめました。

管理操作はクライアント側に「サーバー管理」をインストールすることで遠隔管理できます。また画面共有も使えます。のでMacから管理する限りは結構便利。ただ読み込み待ちが少し短縮されるといいなーという感じ。SSHを有効にすればコマンドラインであれこれもできますが、サービス再起動等のコマンドはLinuxと違うのでまだよくわからず。今のところemacsで設定ファイル書き換えたりする用。

■DHCP

特に難しいことはなかったですが、MACアドレスによる静的割り振りの設定にインポート機能がなかったので、従来のdhcpd.confから設定を書き写すのが手間でした。

■DNS

CentOSではdjbdnsをソースからコンパイルして入れてたので、Lion ServerのBIND9は結構面食らいました。外向け、内向けどちらかの設定のみならGUI(=「サーバー管理」アプリ)で全て設定完結できるんですが、1台で両方するにはCUIでnamed.confを編集してviewという記述を用いる必要があるようです。内向けは必要ないっちゃないんですが、技術的な興味で立ててみることにした感じです。

普通に外向けDNSサーバーを構築するだけなら結構簡単です。逆引きのレコードは勝手に作ってくれるし。ただ設定してて突然(GUI上から)設定内容が消える現象が発生。1つずつ検証していったところ、do-gugan.comのようにホスト名なしのCNAMEレコードを設定するとアウト(GUIがnamed.confを解釈しきれなくなる?)で全て真っ新になるようでした。AレコードにしたらOKっぽい。そんなことを繰り返してるうちに動作が微妙に。現時点でGUI上にログが表示されなくなってしまいました。また時々ゾーン転送を許可するチェックボックスが勝手に外れてしまうことがあります。などなどどうにも不安定でなるべく触らずにそっとしておきたい部分になってます。

DNS部分だけ設定をリセットして最初からやり直したいのですが、ググってもその方法が見つからないんですよねー。

■メール

内部的にはpostfix + dovecotで構成されていて、今までのCentOS環境と同じでした。ただし細かいところで違いも。

  • メール保存方式がmboxではなくMaildir
  • ユーザ設定はOpenDirectoryで行われ、「ワークグループマネージャ」というアプリを使用
  • サーバー振り分けはprocmailではなくSieveという実装を使用
  • エイリアスはpostfixレベルでaliasesに書く方法と、ワークグループマネージャを使う方法の2つ

あたり。mbox->Maildir変換はLinux側で行いLion Serverにフォルダーコピーすればなんとかなりそう。ユーザ管理は慣れてしまえばまぁむしろ楽です。サーバー振り分けはユーザ単位の設定であればWebメールでログインしてブラウザ上でルール設定ができるのでこれもわかってしまえば便利ですね。エイリアスが2種類あるのは一長一短みたいで後者は設定が楽だけどSieveルールが適用されないという弱点があるとのこと。postfixに慣れてるなら前者でやった方がいいかもです。あと仮想ドメインはGUIで設定できました。まだ本番運用してないのでちゃんと動くか未確認ですが。迷惑メールやウィルスチェックも統合されているのでGUIで簡単に管理できますが、細かい例外ルールとかは先々CUIを使うことになるかもって印象。

■ソフトウェア・アップデート

Appleのソフトウェア・アップデートをLion Serverがプロキシ&キャッシュサーバーになって経由させることができます。複数台Macがある場合には有効ですね。ウチは(サーバー自身を除くと)2台だけなので微妙ですが、技術的関心で設定。とりあえずクライアントMac上でのアップデートの確認が一瞬で終わるのが幸せ。

■TimeMachineサーバー

AirMac Extremeに外付けしたUSB HDDをTimeMachine領域にしていたのですが、使用中エラーになってAMEを再起動しないと復旧しなくなるという現象が頻繁に起きるのでこの機会にこれもLion Server担当に振り替えてみました。比較的遅くてあまり使い道がない内蔵500GBを指定。最初設定してもクライアントから見えなくて悩みましたが、サーバーを再起動したら解決。使用中エラーなどが改善するかどうかはしばらく見守ってみないとです。

 

とまぁあれこれ便利ではあるし、OSX Serverでしかできないこともあるんですが、1万円台で買える安鯖にLinux入れて出来てた事を、なんだかんだで10万近くかけて移行するのは(個人用としては)完全に自己満足の世界ですねぇ。ゼロから新規で立ち上げようという人にはリーズナブルだとは思います。

自宅サーバー用にMac mini Serverを導入

Pocket

現在のdo-gugan.comサーバーは4,5年前に購入した激安サーバーhp ML115をCPU換装、HDD増設しつつ使っています。最初についてた160GBのHDD(OSが入ってるパーティション)がそろそろ心配になってくる頃です。HDDも合計4台となり消費電力、発熱、騒音面でもイケてない状態。LVMなので古いドライブから新しい大容量ドライブにパーティションを移動していけばいいんですが、仮想環境とあいまってややこしい状態になってて恐くて手を出せない(^^;)。また先日でたCentOS6は結構あれこれ変わっていて今までのようなアップグレードインストールは難しいっぽい。

ならいっそ、ということでLion入りのMac mini Server (MC936J/A)を購入しました。省電力、静音、省スペースと三拍子揃ったハード。光学ドライブがなく密閉度が高いのも好感度高いです。吊しの4GBメモリ、500GB HDDx2台モデルを購入し、メモリを8GBに増設(置換)、HDDの1台をSSD(Crucial m4 128GB)に換装しました。本体はLABIで3,000円引き、13%ポイント、メモリも爆安とはいえ、トータルで10万超え。ベース価格がアフォみたいに安かったML115(Lights-Out入れて5万弱だったような?)に比べると割高感がありますが、上記三拍子や我が家ですっかりメインになったMacとの相性や連携機能を考えればアリかなと。

内蔵ストレージは2.5inchなので弱いですが、FireWire800、Thunderbolt等インターフェイスは充実してますし、近々iSCSI対応のNASが手に入りそうなのでそれと連携してもいいかなとか。

ML115が一昨年くらいから夏に不調を来すようになってて、今年も予防策として扇風機の風あてっぱなしで運用してるくらいなので、とっとと移行したいと思っています。

予定では、メール、Webといった基本サービスはOSX Server、Linuxでないと動かせそうにないサービスはVMWare上のCentOSで。あとWHS2011も一緒に購入して来たのでこちらも移行するつもりです。

■ハード面

光学ドライブスロットがないのでとてもスッキリしていて良いです。デスクトップ用としてはポートやスイッチ類が全て背面にあるのはユーザビリティ的に不利ですが、サーバー用であれば無問題。

片方SSDにしたせいもあるんでしょうが、セットアップ作業厨、アイドリング状態では耳を近づけてもほぼ無音。ぴったり耳をつけるとモーター音がかすかにしてるかな、って位。2chで天板の熱が指摘されてましたがいまんとこ気になりません。エンコードやトランスコードをしない限りまったく心配はなさそうです(ちなみに天板よりにHDD、その下にSSDという配置)。

Thunderbolt I/FのついたRAID箱の登場が待たれます。

■換装作業

購入後一度も電源を入れずに換装作業実施w。換装作業はこちらのブログを参考にさせていただきました。工具としてトルクスドライバーのT6とT8が必要。またm4が厚み的に微妙に入らないのでケースの片側を外すのにプラスドライバーを使いました。試してないですが、ケースが干渉するのは入れる時だけなのでもう少し深くまで分解して入れるのであればそのままでも入るんじゃないかって印象でした。まぁSSDだし据え置き機なんであまり気にせず、元のHDDについてた絶縁シートだけ基板剥き出しの側に貼っておきました。

ちなみに2台のHDDは縦に積まれるように入っており、底面側からアプローチする形なのですが最初に見える下側のドライブにOSが入っていて、SSD換装には便利な作りになっていました。もう1台も換装する場合はさらにバラす必要があるっぽいです。あと元から1台しか入ってないモデルだとスペースはあるもののケーブルが内蔵されていないので現状追加は難しいようです。

難易度としてはMBPよりは面倒だけどメチャクチャ難しいという点はないです。普通の自作erならできるでしょう。唯一気をつけるべきなのは上記ブログにもあるように金属メッシュパネルを取り外す時。円形の窓の奥の方に若干刺さっているので、それを引き出してから持ち上げないと簡単にひん曲がってしまいます。

いまんとこ6Gbpsでリンクしてるようです。

■インターネット経由リカバリ

OSと共にリカバリ領域の入った下側のドライブを換装してしまってもLion世代のマシンはインターネットからリカバリできます。スゴい時代になったものです。電源投入時にCommand + Rを押すとリカバリーモードに入るとのことですが2点ハマりました。

1つはたまたま使ったUSBキーボードにCommandキーに相当するWinキーがついてなかった(^^;)。サーバー用ということで純正キーボードを用意せずに一時的にそこら辺に余ってるキーボードで済ますケースも多いと思いますが地味にハマります。またBluetoothキーボードはリカバリーモード前には上手くペアリングできませんでした。

あと「Command + Rを押しながら電源ON」とあちこちに書かれてますが、本当にCommand + R押さえてから電源入れるとうまくリカバリーモードになってくれませんでした(?マーク入りのフォルダアイコンが点滅する状態に)。先に電源を押して「ジャーン」が鳴った直後くらいに押したら行けました。

ちなみに電源ボタンは正面から見て右側背面にあります。

リカバリーツールのDLが3分程度。SSDにパーティションがないとリカバリーしようとしても指定できないので先にディスクユーティリティを選んで領域確保するのもポイントです。ディスクイメージのダウンロードは予測で3時間弱と出たので放置してテレビ見てたんですが実際には1時間かからないで完了しました。勝手に再起動してインストール。こちらも最初19分と出ますが実際にはもっと短い時間で完了。こっちはSSDのお陰もあるでしょう。

純正SSDではないので当然Trimは「いいえ」。Trim Enablerで強制オンにしてみました。いっそ問題が出るなら早め(移行作業中)に出てくれってことで。

 

そんなこんなで2時間弱くらいで初期設定が完了しました。これからサーバー設定を少しずつ進めてい
きます。