2013/10/07(月)FreeBSD 9.2R リリース

2017/10/12 5:42 サーバ運営・管理
掲載が遅れましたが、9/30 にリリースされました。
FreeBSD 9.1R または FreeBSD 8.3R/8.4R からのアップデートが可能のようです。
また、FreeBSD 10のα版がお目見えしています。

アナウンスによれば(適当な意訳です):
・ZFS ファイルシステムは、TRIM をサポートした.
・virtio(4) ドライバを amd64とi386 アーキテクチャー向け GENERICカーネルコンフィギュレーションに追加した.
・ZFS ファイルシステムは、lz4 圧縮を新たにサポートした.
・OpenSSL のバージョンを 0.9.8y に更新した.
・DTrace を GENERIC カーネルコンフィギュレーションにてデフォルト有効に変更した.
・DTrace のバージョンを1.9.0 に更新した.
・Sendmail のバージョンを 8.14.7 に更新した.
・OpenSSH のバージョンを 6.2p2 に更新した.
・headブランチ(先進開発チームの意)から、unmapped I/O サポートを組み込んだ.
#ちょっと、最後だけ具体的な内容がわかりません・・・

となっています。
新たに設定されたサポート期限は、以下の通りです。
20131007.png

2013/09/30(月)サーバ監視ツール munin 1.4.x → 2.0.x

2017/10/12 5:40 サーバ運営・管理
この手のツールには、zabbix や Nagios などあるのですが、どちらかといえば大規模向けであり、実際は専用の監視サーバを用意しないと使い物にならない代物で、中小規模には不向き感が強い。

筆者は munin 1.2 の頃から使ってはいますが、アップデート作業の負担が大きい感があり、久々に重い腰を上げて対応してみたというところです。

まだ蓄積を始めたばかり(以前の監視データは思い切って削除・・・)なので、観るべきデータはスカスカですが。。。こんな感じで各種情報がグラフの形で得られます。
20130930_1.png

全体の感じはこんな感じ。目の前のディスプレイはまだワイドタイプではないので、横が切れています。
20130930_2.png

というか、最近はワイドタイプディスプレイ前提のWebアプリケーションやWebサイトが当たり前になってきたのです・・・あぁ。。orz

今回から、FreeBSD の Ports にて構築することにしました。
/usr/ports/sysutils/munin-node ・・・ 監視対象のサーバにインストール
/usr/ports/sysutils/munin-master ・・ 監視を行うサーバにインストール

監視を行うサーバには、当然のことながら Apache などの Web サーバが稼動していなければなりません。munin は、監視を行うサーバにて、監視対象のサーバから独自プロトコルで情報を取得し、統計情報の蓄積と HTML・グラフ生成を行うような仕組みになっています。

詳しい構築方法は、各所で紹介されているのでとりあえずそちらに任せるとして、
忘れがちなのは、監視対象のサーバにて、具体的な監視対象を設定する操作。

FreeBSD にて munin-node をインストールすると、/usr/local/etc/munin 配下に設定ファイルが作成されています。ここの munin-node.conf を適宜変更するのですが、これだけでは駄目で、 /usr/local/etc/munin/plugins 配下に具体的な監視対象をシンボリックリンクの形で設定する必要があります。

まず、/usr/local/etc/munin/plugins にディレクトリを移動しておいて、
rootユーザ にて、
munin-node-configure --suggest
を実行。そうすると、監視対象サーバにおいて、実際に監視対象にできる内容などが表示されます。
Plugin                     | Used | Suggestions
------                     | ---- | -----------
amavis                     | no   | no
apache_accesses            | no   | yes
apache_processes           | no   | yes
apache_volume              | no   | yes
利用可能はものは、Suggestions のところに yes が表示されます。
ここで、
munin-node-configure --shell
とすると、設定するための unix コマンドが表示されます。
上記の例とは合いませんが、こんな感じ:
root# munin-node-configure --shell
ln -s '/usr/local/share/munin/plugins/if_' '/usr/local/etc/munin/plugins/if_usbus'
ln -s '/usr/local/share/munin/plugins/if_errcoll_' '/usr/local/etc/munin/plugins/if_errcoll_usbus'
ln -s '/usr/local/share/munin/plugins/munin_stats' '/usr/local/etc/munin/plugins/munin_stats'
この部分をカレントディレクトリ(/usr/local/etc/munin/plugins) にて、コマンドラインにて実行すれば設定完了。
このあと、監視対象サーバをリブートすれば設定完了。
以前のバージョンより動作も軽いです。

2013/09/26(木)Apache 2.4.6 + mod_perl2

2017/10/12 5:38 サーバ運営・管理
記事が消えてしまったので、再度書き直し...orz
Apache は有名な Web サーバアプリケーションで、当方でも多用しています。
現行バージョンは 2.0.65(Ver 2.0系)、2.2.25(Ver 2.2系)、2.4.6(Ver 2.4系) の3つ。
現時点で最も普及しているのは、おそらく 上記のVer2.2系でしょう。

ですが、Ver 2.4系への以降が始まっています。
Linux の Debian や Fedora あたりはサポートの主力を Ver 2.4系に移行したとか。
当方でも FreeBSD ではありますが、このブログを含むWebサーバを Apache 2.4に移行しました。
20130926.png

題名の Apache 2.4.6 + mod_perl2 ですが、この組み合わせではそのままではインストール自体ができません。正式対応もしていません。
Apache 2.4 に対応したパッチを mod_perl2 に施す必要があります。
#mod_perl 2.0.8 用のパッチはありませんが、mod_perl 2.0.7用のパッチを一部変更で対応できます。

また、Perl 5.18 で mod_perl2 を動作させるには、 mod_perl 2.0.8 を導入する必要があります。
公式サイト(?)には掲載がありません)

特に新規案件で Apache 2.4 に移行しようか否か迷っているサーバ管理者も居られると思いますが、まだ時期尚早だと思います。ソフトウェア対応でまだ苦労しますので、、
mod_perl2 が Apache 2.4 対応になれば検討してもいいでしょう。

mod_perl2 は現在、Apache 2.4 対応作業が進められていますが、提供形態の検討を経て、作業が始まったのは先月くらいからのようです。

また、最近の mod_perl2 は、ソースコードから構築作業の際、
uninitialized value $v in concatenation (.) or string at
Apache-Test/lib/Apache/TestRun.pm line 1100
のようなエラーが出て、構築処理が中断してしまいます。
# mod_perl 2.0.5 あたりからこの現象は確認できるが、何故か一向に対処されない。

これの対処は、上記ファイルの 1100行目付近を
    while (my($k, $v) = each %args) {
      if (defined $v) {
        $v =~ s/\|/\\|/g;
        $body .= "\n\$Apache::TestConfig::Argv{'$k'} = q|$v|;\n";
      }
    }
のように変更して、再度構築作業をやり直せば大丈夫です。

2013/09/24(火)FreeBSD - ices0 が配布パッケージから除外(icegenerator の導入)

2017/10/12 5:37 サーバ運営・管理
ices0 というのは、インターネットラジオ放送において、エンドレスで繰り返し音楽などを流すためには欠かせないソフトウェアのひとつです。
これを「ストリーミング」などと言います。

有線放送におけるBGMを流すために不可欠なものと思って結構です。
今般、2ヶ月ぶりにサーバの各種モジュールをアップデートしようとしたら、FreeBSD の配布モジュール Ports において、24000余りのモジュールが更新・削除などされている模様。。orz

その過程で、提起の ices0 の提供が無くなってしまい、MP3 形式で保存してある数多くの音楽をストリーミング出来なくなりました。
ices0 の代わりになるものを探さなければならない。
ちょっと調べると icegenerator を代わりに使えということらしい。仕方が無いので、これを導入すること にしました。

しかし、いざ導入となるとあまり情報がありません。しかも結構古く、更新が2006年あたりで止まっている。。。大丈夫かいな? と心配でしたが、案の定少し嵌りました。。
以下、自分メモ。

MP3 形式のストリーミングには、この icegenerator のほかに
・icecast2 (現バージョン 2.3.3、libshout,lame など別途必要)
・id3lib (現バージョン 3.8.3、曲目メタ情報の処理に必須)

を予めインストールする必要があります。
上記をインストールした環境で icegenerator をインストールしないと面倒です。
icegenerator は、FreeBSD の場合は Ports からインストールが無難。
先ず、
# cd /usr/ports/audio/icegenerator
として、該当モジュールのディレクトリへ移動。
ここで、Makefile を以下の赤文字部分追加:
CONFIGURE_ARGS=   --exec-prefix=$PREFIX --with-shout=/usr/local --with-id3=/usr/local

ここで、
# make install
とすると、自動的にインストール作業が始まりますが、コンパイルエラーが2箇所出て途中で止まってしまうので、コンパイルエラーで指摘された部分をエラーメッセージを参考に手動修正しなければなりませんでした。

コンパイルが通って、インストールが終われば今度は設定ファイルの作成。
icecast2 の設定は、基本的に以前の設定を変える必要無し。
icecast2 の設定は、ここ を参考に。

問題は、icegenerator の設定。一応 ここ にわかりやすくまとめられてはいるが、鵜呑みにできま せん。
自らの環境に合わせて変えるのは言うまでもないですが、
SOURCE=source
は、このままでOK.ですが、
BITRATE=48000
は、WinAMP では上手く再生できるものの、当方には これ↓ (BB-shout) があり、
webradio01.jpg
接続してみると、どういうわけかエラーになります。
1時間ほど試行錯誤繰り返してみると、どうもここは、
BITRATE=48
のように 1kbps 単位で指定しないと駄目っぽい。BB-shout のバグなのか、icegenerator のバグか判りませんが、ともかくこの指定で動作するようになりました。

2013/08/13(火)Twitter への自動連携がダメダメだった件・・・

2017/10/12 5:32 サーバ運営・管理
とある友人に指摘されたのですが・・・
1日2~3回、当方の私設観測所で常時観測している気温の自動ツイートと、
1日2回自動ツイートしている、日の出・日の入り時刻が上手く行っていないことに気がつき、昨夜遅くに対処しました。

今年5月か6月くらいに自動観測機器が風雨の影響で不具合起こし、修理したのでその影響かと思っていたのですが、原因調べたら、Twitter API のバージョンアップに対応していなかったのが原因だったです。はい 。

こんな感じで、当方のTwitter アカウントにて自動ツイートされます。
20130813.png


ご指摘頂き、ありがとうございました(^^)。

2013/06/11(火)FreeBSD 8.4R リリース

2017/10/12 5:24 サーバ運営・管理
6月7日にアナウンスがありました。いつもの適当な意訳です。

元ネタ:FreeBSD 8.4-RELEASE Announcement

・Gnome を Version 2.32.1 に、KDE を Version 4.10.1 にそれぞれ更新。
・ZFS ファイルシステムは、Feature flags 5000 バージョンに更新。
・現時点で流通している全ての LSI ストレージコントローラをサポート。

本日時点でもサイトには反映されていませんが、アナウンス原文によると、FreeBSD 8.4R は Extented サポートになり、サポート終了は 2015/06/30 になります。

FreeBSD 8.3R のサポート終了は 2014/04/30 ですので、この日までに 8.4R/9.1R/STABLE版 に更新することになります。

FreeBSD 9 では、ストレージ周りの変更がされていますので、アップデートインストールでストレージデバイスの自動割り振りで不具合を起こすことがあります。
トラブルシュートの時間が取れない場合は、8.4R をお勧めできます。

筆者の環境では、S-ATA と従来の IDE 混在環境でこの現象が起き、シングルユーザモードで何とか対処した事例があります。

2013/04/02(火)vim 7.3を更新すると何故か文字化けするようになる・・・

2017/10/12 5:19 サーバ運営・管理
vim は、伝統的 unix ライクなスクリーンエディタです。
筆者は、このタイプのスクリーンエディタを20年以上愛用しています。

vim7.3 は多くの機能を「ユーザからのパッチ」で提供するという、一風変わったスタイルで、本日(2013/04/02) 現在で、その数は 875 に及ぶようです。
FreeBSD では、本日(2013/04/02) 現在でパッチ 669 までのものが提供されています。

最近、ports でソフトウェアの更新を図ると、日本語混じりのファイルを編集しようとすると、以下のように文字化けするようになりました。
before vim 7.3-669

先月あたりに発見し、原因が判らずじまいだったが、以下のブログ記事が解決してくれました。

vim で日本語が中途半端に文字化け (solved)
http://lesguillemets.blogspot.jp/2013/03/vim-solved.html

ここに書いてある記述にしたがって、診てみました。
# vim --version
・・・省略・・・
+mouse_xterm -mouse_urxvt -mouse_sgr -multi_byte +multi_lang -mzscheme
・・・省略・・・

赤文字のところに注目。同じように multibyte が何故か無効になっています。
全角文字はマルチバイトでないと対応できませんからね。

こうなれば、対処は暫定ですが簡単です。
ports の vim に以下のように変更を加えます。
# cd /usr/ports/editors/vim
# vi Makefile

(以下赤文字部分を追加)
MAKE_ARGS+= CONF_ARGS="--prefix=$PREFIX --with-tlib=termlib $CSCOPE_ARG --enable-multibyte "

# portupgrade -rf vim-lite-7.3.669

再構築が完了したら、再度確認します。
# vim --version
・・・省略・・・
+mouse_xterm -mouse_urxvt -mouse_sgr +multi_byte +multi_lang -mzscheme
・・・省略・・・


今度は大丈夫そうです。
確認のために、同じファイルを編集してみます。
after vim 7.3-669

おかげさまで修復できました(^^)
ports の不具合なのか? 環境の問題なのか?

2013/02/07(木)旧版 FreeBSD のサポート期限

2017/10/12 5:15 サーバ運営・管理
自分メモということで、、、
20130207.png

FreeBSD 7.x のサポートは今月末、FreeBSD 9.0 のサポートは来月末で終了のようです。
提供の主力は FreeBSD 9系に移行しています。

FreeBSD 7.x/8.x で動作する殆どのソフトウェアは、FreeBSD 9系でもそのまま動作しますが、FreeBSD 9では、ディスクパーティション周りが変更されているので注意が必要です。

こちらでは、FreeBSD 9系に移行する際、HDDパーティションが正しく認識されない現象が起き、起動できない不具合が1台のみで発生しました。

HDDが全て IDE タイプのみか、S-ATA タイプのみで構成されている場合は、問題ないのですが、混在している場合にBIOSとの相性のせいか、この不具合がまれに起きるようです。

2013/01/07(月)FreeBSD 9.1 リリースの正式アナウンス

2017/10/12 5:14 サーバ運営・管理
年末年始のどさくさにまぎれて、12/31 のアナウンスでした。

個人的には、この時期でないと出来ないような色々と収益にならないが環境維持に不可欠な作業があり、全く休めませんでした。。

いつものように適当な意訳を、、間違ってたらコメントを。
元ネタ:FreeBSD 9.1-RELEASE Announcement〔FreeBSD オフィシャルサイト〕

・新たにインテル製の GPU ドライバ (GEM/KMS) をサポートした。
・netmap(4) ユーザ定義可能な高速パケットI/O フレームワーク。
・illumos プロジェクトにより、改良された ZFS システムを提供。
・CAMターゲットレイヤによる、ディスクおよびプロセッサデバイスエミュレーション・サブシステム
・新たに C++ 11 スタックは、LLVM、libc++、libcxxrt を含んでいる。
・このバージョンの Jail は、devfs、nullfs、zfsマウントおよび設定ファイルをサポート。
・POSIX2008の拡張ロケールサポート。Darwin extensions と互換がある。
・oce(4) ドライバは、Emulex OneConnect 10Gbit イーサネットカードを新たにサポート。
・sfxge(4) ドライバは、10Gbit イーサネットカード Solarflare SFC9000 ベースものを新たにサポート。
・Xen Paravirtualize 対応 バックエンドイーサネットドライバを改良。
・hpt27xx(4) ドライバは、 HighPoint RocketRAID 27xx ベースものの SAS 6Gb/s HBA サポート。
・GEOM マルチパス改良。
・GEOM RAID は、ataraid(8) で提供され、デフォルトでソフトウェア RAID が有効。
・カーネルは、AVX FPU 拡張をサポート。
・IPv6ハードウェアに対応する多数の改良。運用サポート負荷軽減が期待される。

2012/12/23(日)FreeBSD ソースツリーは subversion 管理へ

2017/10/12 5:12 サーバ運営・管理
ということで、面倒だなぁと思いつつ・・・
#個人的にはあまり subversion の使い勝手が好きになれなくて、、、orz

今まで csup 使っていたのですが、「もうサポートしないすよ」みたいな感じですので、、
#とはいえ、csup で 9.1R に出来たのだが、、、

○最初の1回
# cd /usr/src
# rm -rf *
# svn checkout svn://svn.FreeBSD.org/base/releng/9.1 /usr/src


releng/9.1 の部分が、リリースの度に変わります。
FreeBSD 9.2 だと、おそらく、releng/9.2 になります。

○次回から
# svn update /usr/src


尚、 subversion は、 FreeBSD ベースシステムには入っていません。ports や packages から手動インストールする必要があります。