カテゴリー
FreeBSD PC

構築済みのRAIDZを、ディスクを交換しながら容量を拡張した(1:きっかけ)

うちのファイルサーバーは、FreeBSDを使って 2.5TB×4でRAIDZ(ZFSを使ったRAID5)で7.5TBの大容量を誇っていた。このたび手狭になったのと後述の理由により、HDDを新調して容量を拡張した時の作業記録を記す。

読んでられない人向けのまとめです。

  • RAIDZは、HDDを全部大きいものに入れ替えてから「zpool online -e (ディスクのうちの1つ)」するとアレイの容量を拡張できます。
  • HDDを入れ替えるときは、古いHDDを外して付け替えるのではなく、外付けHDDケースなどを使って、古いHDDと新しいHDDが同時に見える状態で「zpool replace」しましょう。
  • HP Proliant Microserver固有の問題もありました。

次回

カテゴリー
FreeBSD PC

FreeBSD 10.1-RELEASE + ezjail + VIMAGE

昔書いたエントリの更新版。表題の環境でJailを作ってみる。

カテゴリー
iPhone PC

iTunesの楽曲がいつの間にかiTunes Plusになっていたでござる

iPhoneで曲を全部持ち歩くのは不便だと思い、何とかならないかと思って調べたら、外国ではiTunes matchというクラウドサービスが始まっているんですな。で、どうにか日本からも使えないかとゴニョゴニョした結果、使えることが判明したんだけど、その前にやっておいた方がいい話。

昔に買ったiTunesの楽曲は、DRM付きのAAC 128kbpsだったんだけど、どうやら過去の配信分も含め、全曲がDRMフリー、256kbpsでエンコードされ直して配信されているようだ。DRM付きのはずの曲がなぜかiTunes matchでマッチして「おっかしぃなぁ。便利だからいいけど」と頭をかいていたら、そういうことだった。

ところが、我々のライブラリの那珂中にはまだ加古過去の配信分が残っている。不可解なことに、過去の曲でも「自動的にDRMフリーな曲がダウンロードされ直しているもの」とそうでないものが混在しているので始末に負えない。

ということで、何とかして過去の配信分だけ抽出したいのだが、幸いにもスマートプレイリストで抽出することが出来る。ライブラリの「プレイリスト」タブをクリックし、左下の「+」マークから「新規スマートプレイリスト」を選択し、以下のように設定しよう。

20140123_1

これで、過去の配信分だけを抽出することが出来る。

ただし面倒なのはここから。
抽出されたファイルを1つづつ削除する必要があるのだが、ファイルの削除はプレイリスト上からは行えないので、曲名の右の「>」をクリックし「アルバムへ移動」からライブラリに移動し、そこから削除してやる必要がある。めんどくさい!

このようにして、全てのファイルを削除したら、iTunes Storeにアクセスし、「購入済み」をクリックすると、購入した曲のうちライブラリにない曲が一覧で出てくるので、まとめて再ダウンロードするリンクを押せばいい(奥歯に物が挟まった言い方で恐縮なのだが、もう米国版iTunes Storeに同期しているので、スクショがとれないんだよ!)

さて最後に、なんで「iTunes matchをやる前にやっておいた方がいい」かという話。

コンピュータを一度あるApple IDに関連づけると、そのコンピュータは「90日間」他のApple IDと関連づけることが出来ない。そのため、一度米国版iTunes Store用のApple IDに関連づけると……後はわかるな? 皆は気をつけてくれ。

なお、好評なら「日本からiTunes matchを使う方法」も書きたいところだけど、ググってもらった方が早いかな。

カテゴリー
PC

chinachuで使ってるNode.jsのモジュール

自分用メモ。今日現在。

カテゴリー
PC

chinachu改造(ディレクトリ分け対応)の要求仕様書

chinachuに新機能を自分で書いてみようと思う。番組ごとに別のディレクトリに分ける改造。
今まではperlでスクリプトを書いて、録画していない時間を見計らってシェルから実行してたんだけど、やっぱWebから実行したいよね、ってことで。
(適宜更新します)

  1. 起動すると設定したポートでブラウザからの接続を待ち受け、同時に録画ディレクトリの監視を開始する。
  2. 録画終了後(n秒前からファイルのサイズが変わらなかったら録画終了とみなす)に、ルールに従って録画ファイルをディレクトリに移動する。
  3. ルールは、番組名をマッチさせる正規表現と、移動先のディレクトリ名の組。
  4. chinachuが別の番組を録画している間は移動を行わない。
  5. 現在時刻から一定の秒数以下で次の録画が始まる場合も移動を行わない。
  6. 移動するのは1ファイルづつとする。
  7. ルールや設定はWebで編集可能にする。
  8. BASIC認証に対応する(chinachuのconfig.jsonを読んで対応する)。
  9. Node.jsで書く。
  10. GUIはchinachu本体に倣う。
  11. ファイルの移動に失敗したらエラーログを残す。
  12. ゆくゆくは本体に取り込んでもらえるようにがんばる。