ということで、foltia ANIME LOCKER の話題も3回目。今回も基本はハードウェア話です。DLNA絡みの問題解決方法とか、ソフトウェア的な話はこれまた次回に。
日数が空いてしまいましたが、foltia ANIME LOCKER の構築した環境をご紹介。ただし、運用に際しては若干のトラブルもあったので、その改善を含めたネタは次回に(まだ新環境はテスト中なので)。
家庭の事情やら、再び無職デビューしたにも関わらず、なぜか色々忙しくバタバタしていましたが、そんな中、foltia ANIME LOCKER を使って、ようやくテレビ録画環境を整えることができたので、その辺りのお話。
実際の環境は次の投稿辺りで説明したいと思いますが(長くなるし)、今回は表題の説明を。foltia ANIME LOCKER を選んだ理由は、個人的に録画サーバーでWindowsはちょっとなーという思いがあり、またFreeNASやVMware ESXi等のように、システムをUSBブートにすればトラブったときも対応楽だしそもそも可動部分少ないからトラブりにくいし最高じゃね? と考えた結果です。(1年くらい前に買ってたPT3をいい加減使いたかったというのも理由)
で、そんなUSB-Boot CentOSな foltia ANIME LOCKER、お店で売っているVer.3を初めは購入しようとしてたんですが、ニュースリリースのこの一文に引っかかっていました。
3.0からは永久無料アップグレード保証ライセンスではなくカレントメジャーバージョンでのみ有効なライセンスとなります。既存の永久無料アップグレード保証ライセンスをお持ちのお客様は引き続き3.0以降をご利用頂けます。
つまり、店頭で foltia ANIME LOCKER Ver.3 を買った場合は、カレントバージョン、すなわちVer. 3.Xのバージョンアップは無料だけど、今後メジャーバージョンアップとなるVer.4が出た場合、バージョンアップするには追加料金が必要となると読めます。
Ver1と2を購入していた人は永久無料バージョンアップ保証があるようなので、今後もしメジャーバージョンアップするなら何となく損した気分だよなーと思っていたところ、商品ページのダウンロード版の部分には、こんな一文がありました。
永久無料アップグレード保証付き
ダウンロードできる評価版のデータはVer.3なのに、こっちはなんで永久無料アップグレードできるんだろうと思い、メーカーに問い合わせしてみました。すると、ダウンロード販売はVer.2のものであり(なので店頭で買えるVer.3より価格が高い)、永久無料アップグレード権が付いているとのこと。
ダウンロード版のシリアルは最新のVer.3でも使えるため(永久無料アップグレードのシリアルのため)、今後長く使うなら(そしてメジャーバージョンアップされることを信じるなら) こちらの方が圧倒的にお得なので、サクッと購入しました(PayPalも使えたし)。Webサイトにもある通り販売終了予定の商品なので、永久無料アップグレードに魅力を感じる方は買えるうちに買っておいた方がいいかもですね。
以上、foltia ANIME LOCKER のステマ ご紹介でした。実際の使い勝手や環境については、続編にて。
Aipo7のバックアップスクリプトは、backup_handler.sh としてデフォルトで用意されているが、定期的に削除する機能は付いていないため、いちいち古いバックアップを手動で削除する必要があった。
その辺りが面倒だったので、自動的にバックアップを削除だけするスクリプトを書いてみた。backup_handler.sh を改造してもよかったのだけど、リストアスクリプトとの兼ね合いや動作検証が面倒&バージョンアップ時にバックアップスクリプトの確認・検証するのが面倒という理由で、単独で動くようにした。
前提条件として、素のままの backup_handler.sh を cron で毎日回している環境を想定している。このスクリプトも同じように cron で回せば、古いバックアップは自動で削除してくれるはず。(CentOS 6環境にて検証)
今回の内容は長文になりすぎてしまったため、結論だけ先に書く。業務サービスとか、シビアなものには さくらのVPS はやめておいた方がいい(そういったものには普通使わないだろうけど)。利用可能リソースを明記している会社のサービスか、SLAを明記しているサービスにすること。
業務で利用しているVPSに、突然制限をかけられて対応に苦労することを考えるなら、高くてもリソースの制限が明確な Linode とか、SLAをうたってる GMOクラウドVPS 、Amazon EC2 等がいいのではないかと思われる。
私の場合もミッションクリティカルと言うほどではないにしろ、社内グループウェアと外部向けのWebサービスに利用していたサーバーにおいて、突然リソース制限が掛かってしまったため、非常に焦った。せめて制限をするならするで同時に自動メール送信を行うなど、ユーザーに対する連絡は欲しかった。(これがなかったせいで、乗っ取られたことも考えてログ総ざらえする羽目になり、1日徹夜したんだぜ・・・)
どうしても予算がなくて高いサービスを使えないという場合であっても、そういったサポート体制を前提にサービスを選ばなければ、最後に泣くのは技術者たる自分である。サポート対応に定評があり、自分も信じていただけに裏切られた感が強いが、さくらインターネットには、今後もよりよいサービスに向けた改善を行ってもらいたい。
なお、今回の事例は事実に基づき記載しているが、この内容は個人としての感想を述べただけのものであり、さくらインターネットのサービス運用・体制を批判・非難するものではなく、私の所属する会社を代表した意見として記載したものではない。
・・・以上、一応会社が絡む話なので免責事項も記載してみました。
やあ、俺だ。今回はなぜこんなスクリプトを書いたのか、その理由からお話ししよう。
順番が逆になったけど、SaaSes Industria Smallの初期状態とかいろいろ。
申し込んでから利用できるまでには、10分程度の時間しかかからなかった。さくらのVPS よりも早かったかな。急いでいる時にはありがたいかも。
デフォルトでは必要最低限のサービスしか立ち上がっていないため、特に各種設定ファイルを編集しなくても問題なさげ。初期ブート時で400MB程度メモリの空きがある。
初期状態では22番ポートしか開いていないので、セキュリティ面でもまだ安全なほうか。現時点ではCentOS x64のみ選択できる。yum check-update したところ、全てのパッケージが最新で、更新が必要な物はなかった。これには好感。
あとは さくらのVPS でもやったように、sshdのポート番号を変えたり、iptablesの設定を変えたりといった感じ。
あとは今回、nginx を利用したWebサーバーにする予定なので、その辺りの設定などをまた別記事にでもまとめます。
個人向けの提供を待ちきれず、知人がやっている会社でIndustriaを申し込んでもらい、試してみた。
早速使用してみたところ、もともとのXenを動かしているサーバーの時計が狂っているのか、18時間ぐらい前の時刻になっている。
Xenはホストとの間で自動時刻調整されるため、普通に時刻合わせをしてもダメなので、以下のようにした。
/etc/sysctl.conf に以下の行を追加して再起動する。
xen.independent_wallclock = 1
その場で変更したい場合は、rootになって以下のコマンドを打ってやる。
echo 1 > /proc/sys/xen/independent_wallclock
そのあとで
/usr/sbin/ntpdate ntp1.jst.mfeed.ad.jp
とすれば、正しい時刻が反映された。
ただ、再起動するとホストOS側の時刻に再設定されてしまうので、/etc/rc.d/rc.local あたりに、
/usr/sbin/ntpdate ntp1.jst.mfeed.ad.jp
と追加で書いた。これで再起動しても、常に時刻は正しく設定されるようになった。
余談だが、Industriaのデフォルトではntpが入っていないので、
yum install ntp
として、事前にインストールする必要がある。XenのホストOSと時刻が同期するから不要という事かもしれないが(さくらのVPS にはデフォルトで入っている)、ホストOSの時計が狂っていたのでは意味がないので、ホストOS側の時刻は正確に保っていただければと思う。
数年前にも一度これで悩んで、最近再び同じ事で悩むハメになったので、今度こそ忘れないように記録しておく。
ぴろり様が作成された、以下のスクリプトを改造して自分のサーバーのデータ領域とMySQLの両方をバックアップさせるようにしたのだが、このスクリプトはさくらインターネット用に作成されたものであるため、FreeBSDベースのものだった。
MySQLのデータベースをダンプして圧縮して90日間分保存するスクリプト
http://www.magicvox.net/archive/2009/02172054/
そのため、私が使っているさくらのVPS(CentOS) では date -v というオプションが存在せず、バックアップは正常に取れるものの、自動削除がうまくいかない。これをLinuxで利用できるように修正したときのメモ。
date -v -"30"d
というコマンドは、30日前の日付を求めるコマンドとなるが、これはLinuxだと
date --date="30 day ago"
と置き換えられる。
上記スクリプトでは、
RMFILE=mysql.`date -v -"$KEEPDAY"d +'%y%m%d'`.gz
という行を、
RMFILE=mysql.`date --date="$KEEPDAY day ago" +'%y%m%d'`.gz
とすることで、エラーもなく正常動作するようになった。
さくらのVPS で若干ハマった話。というか、CentOS系のApacheでハマった話の方が正しいかな。
/etc/httpd/conf.d/
に、NameBased Virtualhost用の設定ファイルを置いていたんだけど、この設定ファイルで、IPアドレスを指定してアクセスしてきたユーザーは全て拒否するようにしていたのに、何故か拒否されずにCentOSのデフォルトページが表示されていた。
内容は以下のような感じ。
ServerName any
DocumentRoot /tmp
order deny,allow
deny from all
同じディレクトリにあった、welcome.conf に書かれていた以下の内容が優先されていたようなので、コメントアウトして対処。(ファイルを消しておいても問題ないけど)
Options -Indexes
ErrorDocument 403 /error/noindex.html
以上でIPアドレスを指定した接続には403が返るようになった。