2008年7月31日

Xen 3.2 on Ubuntu でNFSが固まる

捨てるには勿体ない ASUSTek P4P800-VM / Pentium 4 3GHz の構成を生かそうと思い Xen 3.2 on Ubuntu で準仮想化を試そうとした。

幾つかの地雷原を上手く避けたのだが、どうも Dom0 上の NFS サーバが動作時に下記メッセージを吐いて固まってしまう。

BUG: unable to handle kernel paging request at virtual address xxxxx

同様なメッセージは Xサーバでも出るがドライバを i810 から vesa に変更すれば回避が可能である。

イマイチ分からん挙動で Dom0 上で NFS サーバを使わなければ良いのだが、、、少なくともワシはやじゃ!

CentOS5.2 でも試そう

2008年7月28日

libvirt on MacOSX を試してみる

あまり意味は無いが、libvirt は Windows 上でも動いているので、UNIXを名乗ってる MacOSX でも動かないことは無いと思うので試してみた。

依存するライブラリやパッケージをインストールするために MacPorts を使う。。。取り敢えず適当に入れとく。

次に、gnutls/pkgconfigを入れる。

$ sudo port install gnutls
$ sudo port install pkgconfig

libvirtのサイトから、ソースを取ってくる。4カ所修正を行い、configure & make を行う。

$ tar xfz libvirt-0.4.4.tar.gz
$ cd libvirt-0.4.4
$ sed -i .bak 's/test -z "\$PKG_CONFIG/test -n \"$PKG_CONFIG/' configure
$ sed -i .bak 's#-Wl,--version-script=\$(srcdir)/libvirt_sym.version##' src/Makefile.in
$ sed -i .bak 's/xdr_quad_t/xdr_int64_t/;s/xdr_u_quad_t/xdr_u_int64_t/' qemud/remote_protocol.c
$ sed -i .bak 's/rl_completion_matches/completion_matches/' src/virsh.c
$ ./configure --without-xen --without-qemu --without-libvirtd --without-storage-fs
$ make
$ make install

実際使えるのは、virsh のみだが、リモート対向の libvirtd の設定に応じてURIを指定する必要がある。 ssh経由のトランスポートを指定する場合、socket オプションを明示する必要がある。 あと、お互いのシステムで nc コマンドが動く必要がある。

$ virsh -c qemu+ssh://remote-machine/system?socket=/var/run/libvirt/libvirt-sock


普通に動く。。。

ただ、virt-managerを入れようとしてるが macports の gtk2 が上手く入らんので、試せん。。。意味無いなぁ。 gtk2が入らないのは #15816が原因で、port sync で問題なくインストールで来た。でも、virt-managerが依存する virtinst とかは libxen ? が必要なのでイマイチ動かん。。。

2008年7月24日

Solaris on Linux KVM はまだまだ?

KVM+libvirt の組み合わせは最高!Redhat6.2からFedora9まで起動し安定している。

勢い余って、Solarisをインストールしたが、どうもだめだめの状態

  1. Solaris 8/9 に関しては、CDブートでのインストールは出来るが、 初回のHDDの起動時に、しょっぱなから「Can't read gemotery」と出力されて先に進まない。どうも、ブート処理のかなり初期の段階 mboot か pboot のどっちかが巧く動かないようで、KVMの16bit命令のエミュレートの問題か、BIOSの挙動の問題のどちらのような気がする。
  2. Solaris 10/OpenSolaris に関しては、インストールも起動も出来る。ただし、ゲストOSがアイドル時にホスト側のエミュレータが 100% CPU を食いつぶしている状態で、ちょっといただけない。KVM/QEMU側のMONITOR/MWAITのエミュレートが巧くいっていないので busy wait になってるとか、なってないとからしい。 (参考「OpenSolaris Forums: QEMU and MWAIT/HLT? cpu idle loop ...」等々) どうも思い過ごしだったらしく、起動して暫くするとアイドル状態になりほぼ 0% になる。ただし、Solaris10は最新パッチまで当てると起動しなくなる。
Virtual Box とかではきっと動くんだから、そのうち、安定するんでしょうね。

sata_nv で NCQ を有効にする方法

何となく、dmesgを見てたら

[   51.265072] ata3.00: 625142448 sectors, multi 1: LBA48 NCQ (depth 0/32)

と、NCQが有効になっていなかった。

どうやら sata_nv.swncq=1 をカーネルオプションを付ければ良いのだが、イマイチ有効にならないようだ。

はて、どうしたもんだか?

Debian/Ubnuntu のカーネルはディスク周りもモジュールになるような修正が入ってるためか、オプションを記述する部分は制限されるようで、initramfs-tools の設定で渡す必要があるらしい?

/etc/initramfs-tools/modules

sata_nv swncq=1

その後、initrd を再構築して、再起動。

# update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-2.6.24-19-generic

dmesg で確認すると、NCQが有効になってるっぽい

[   44.429828] sata_nv 0000:00:0e.0: Using SWNCQ mode
...
[   44.953114] ata1.00: 625142448 sectors, multi 1: LBA48 NCQ (depth 31/32)

ただし、イマイチ速くなった気がしないが、いいのかなぁ

2008年7月23日

FreeBSD 7.0 と Linux KVM

KVM 上に FreeBSD 7.0 をインストールした。

その前に、FreeBSD は CD 数枚組で配布されており、DVD は無い。 Creating Your Own FreeBSD 7.0 DVDを参考に作成してみた。

FreeBSD 7.0 DVD イメージの用意

近場のミラーサイトから

  • 7.0-RELEASE-i386-disc1.iso
  • 7.0-RELEASE-i386-disc2.iso
  • 7.0-RELEASE-i386-disc3.iso
  • 7.0-RELEASE-i386-docs.iso
を入手する。

DVDイメージの作成

下記コマンドは、Linux上で作業。

# mkdir /path/to/dvd-freebsd7
#
# for suffix in "disc1 disc2 disc3 docs"; do
#   iso="7.0-RELEASE-i386-$suffix.iso"
#   mount -oloop /path/to/$iso /mnt
#   tar -C /mnt -c . | tar -C /path/to/dvd-freebsd7 x
#   umount /mnt
# done
#
# rm -Rf /path/to/dvd-freebsd7/rr_moved
#
# sed -ie 's/|[123]$//' /path/to/dvd-freebsd7/all/packages/INDEX
#
# cat >> /path/to/dvd-freebsd7/cdrom.inf <<EOF
CD_VOLUME = 0
CD_VOLUME = 1
CD_VOLUME = 2
CD_VOLUME = 3
EOF
#
# mkisofs -v -V FreeBSD -J -R -no-emul-boot -b boot/cdboot -o /path/to/7.0-RELEASE-i386-dvd.iso /path/to/dvd-freebsd7

インストール

KVM上では、2点問題がでたが、それを除けば難なくインストールできた。

ACPI/APICが機能しない

ACPI/APICが上手く機能しいので、それを除けてインストールし、最後にブートローダ側での設定を行った。

/boot/loader.conf
/boot/device.hints

hint.acpi.0.disabled=1
hint.apic.0.disabled=1

libvirtではshutdown制御がACPI経由で行われるようなので、いちいちログインして終了する必要があり、自動でVMが終了しない。ちょっと嫌ですな。。。そのうちFreeBSD on Linux KVM でACPI対応するんだろうなぁ

追記(2008/07/24)

ACPIを無効にして、APMを使うようにすれば、自動でVMを終了することができる。但し、libvirtではshutdown制御は効かない。。。

  • /boot/device.hintsに、hint.apm.0.disabled=0
  • /boot/loader.confに、apm_load="YES"
  • /etc/rc.confに apm_enable="YES"

参考「FreeBSDでACPIを無効にしAPMを有効にする方法

NICが安定しない

また、KVMのデフォルトで選択される rtl8139では、FreeBSD側のドライバが安定してない。何か timeout とかのメッセージが出る。

libvirt 0.4.2 から NIC のmodel指定ができるようになったので、手動で最新ソース libvirt_0.4.4-0ubuntu1 からパッケージを構築し、NICのモデルに e1000 を指定したら安定して動くようになった。

...
   <interface type='bridge'>
     <mac address='xxxxxx'/>
     <source bridge='br0'/>
     <model type='e1000'/>
   </interface>
...

NetBSD on Linux KVM も似た感じで、ACPI無効で適当なNICモデルを選択すれば良い。

完全仮想化のときディスクの CHS 値がちょっとだけおかしい?

KVM / QEMU 等で、ちょっと古めの OS を入れて遊んでいたら、次のようなメッセージが出るが、 何事もなく動く場合がある。

kernel: hda: C/H/S=780/0/63 from BIOS ignored

多分、CHS変換が上手くいっていないがLBAモードでアクセスするので問題が起きていないんだろうが、 正直言うと気持ちが悪い。

Googleの検索だと6件くらい引っかかる

くよくよ調べてみた。

  1. 起動時にホスト側のエミュレータでディスクのCHS値から変換方法は自動的に最適な変換アルゴリズムが選択される。(「bochs: The Open Source IA-32 Emulation Project (New Bochs Documentation)」にあるnone, large, rechs, lbaの4種類)
  2. 仮想マシン上で実行されるBIOSの初期化処理で、論理CHSの最大値が計算される。
  3. エミュレータで指定された変換アルゴリズムで計算した値が EBDA(Extended BIOS Data Area)に保存されている。
  4. 上とは無関係な方法で計算した値がFDPT (Fixed Disk Parameter Table)に保存される。
    (「Enhanced Disk Drive Specification Ver 1.1」に基づいた方法。。。1995年に作成って)
  5. EBDAとFDPT上の論理CHSの最大値が一致しない場合がある。
  6. FDPTの計算に使われる方法は、Head値が256の可能性があり、古いシステムでは誤認識する場合もある。(おおよそディスクサイズが 4Gの以上の時かなぁ?)

変なメッセージが出るのが嫌なのでパッチを作ってみた。ただし、FDPTはどう扱うべきかイマイチ分からないので、正しい対処法かどうかは分からない。

--- kvm-62+dfsg/bios/rombios.c	2008-02-25 18:30:14.000000000 +0900
+++ ../rombios.c	2008-07-23 15:39:17.000000000 +0900
@@ -2450,6 +2450,15 @@
       write_word(ebda_seg,&EbdaData->ata.devices[device].lchs.cylinders, cylinders);
       write_word(ebda_seg,&EbdaData->ata.devices[device].lchs.spt, spt);
 
+      if (device == 0 || device == 1) {
+       Bit8u *fdpt = (device==0) ? EbdaData->fdpt0 : EbdaData->fdpt1;
+
+       write_word(ebda_seg, fdpt, cylinders);
+       write_byte(ebda_seg, fdpt+0x02, heads);
+      }
+
       // fill hdidmap
       write_byte(ebda_seg,&EbdaData->ata.hdidmap[hdcount], device);
       hdcount++;

パッチ書いた後、Googleって見たら、Virtual Box では同様のパッチ Changeset 6294 - VirtualBox が当たってるようである。(Sunの古いシステムで不具合とかあったのかなぁ。。。)

まとめ

FDPTの値に不整合があるが、相当古いシステムしか影響を受けないので、気にする必要は無いらしい。 そのうちKVM/QEMU等のrombios.cにも変更が下りて来るのかもしれない。。。

2008年7月22日

Ubuntuだと Bridge設定すると WakeOnLan 出来ないの何故?

仮想化のため bridge の設定を行ったあと、WOL (Wake-On-Lan) の機能が動かなくなってしまった。

はて、どうしたもんだか?

現状

  1. M2NPV-VM の nForce 430 組込みのGigabit のNIC
  2. BIOSでWOLの設定(Power Up On By PCI/PCIE Devices)済み
  3. forcedeth (ver 0.61)
  4. 起動毎に、WOLの設定を有効化するために、/etc/rc.localの中に記述する。
    ...
    /usr/sbin/ethtool -s eth0 wol g
    ...

これで、Bridgeの設定を行わなければ、癖があるがWakeOnLanが有効に機能する。

不具合の現象に関しては類似の報告があり、シャットダウン時にブリッジの設定を無効にすれば良いらしい。。。

よくよく調べると、Ubuntu 特有の問題で、「netbase 4.25ubuntu2 (source) in ubuntu edgy」の変更で、 シャットダウン時にネットワークを落とす処理を削除したためのようである。つまり、Debian etch/lennyには影響しない。。。

何を思って変更したのだろ?dhcdbd/NetManager側で対処してるので、冗長として切ったのだろうか。。。

対応

単に、削除した処理を手動で実行すれば良い。

# update-rc.d -f networking remove
# update-rc.d -f networking start 40 S . start 35 0 6 .

まとめ

がんばれ Ubuntu!

libvirt 経由で日本語キーボードを扱う

libvirt の管理下の仮想化ドメインから、virt-manager を使って、仮想グラフィック画面をVNC経由でアクセスすると、正しくキー入力ができない場合がある。

kvm/qemu のエミュレータに対してキーボードのレイアウトを指定するオプションを付ければ、対応が可能であるが、、、libvirt のドメイン設定ファイル 「libvirt: Domain XML format」にはどうも関連する設定項目が無いようである。(追記2009/04/14 記事の最後の方を参照)

まぁ、日本語キーボードの keycodes の問題なんで、英字キーボードを用意すれば済むのだが、 日本にいる以上、日本語配列には慣れていかないといけないわけで、、、

はて、どうしたもんだか?

まぁ、スクリプトを挿めばいい

実行バイナリを別名に変更し

# mv /usr/bin/kvm /usr/bin/kvm.bin
# mv /usr/bin/qemu-system-x86_64 /usr/bin/qemu-system-x86_64.bin

/usr/bin/kvm/usr/bin/qemu-system-x86_64の中身を次のラッパースクリプトに変更する。

#!/bin/sh

exec $0.bin -k ja $*

これにより、日本語キーボードでも正しく文字が入力できるようになる。

なんだろ?

VNCでkeycodes配列をネゴしないのが問題なのかなぁ、、、イマイチ分からん

追記 (2009/04/14)

ふと、気づいてみると XMLフォーマットの中で、VNCのキーマップの指定が出来るようになっている!

    <graphics type='vnc' port='-1' autoport='yes' listen='' keymap='ja'/>

開発サイトのデータを検索する 「libvirt.git/search: keymap」と、 どうもドキュメントに記載が無いだけで libvirt 0.4.1 位から使えてたようでした。 なので、このバッドノウハウは要らなくなりました。

2008年7月21日

Ubuntu + KVM + libvirt で仮想化

以前、Xenで完全仮想化ができるのでAthlon64x2 を購入したのだが、 ちょっとしか試していなかった。 変な結構制約があったりで比較的安定している VMware Server を使っていた。

時は経って、Linux KVM というのが活発に開発が行われており、前途有望である。 同時に、色々な仮想化技術を統一したAPIで扱えるlibvirtも整備されてきている。 特に、virt-managerは、 VMware Server Console を彷彿し、ローカルからリモートまで管理が可能になりつつある。

なので、Ubuntu+KVM+libvirt に移行してみようと思う。

インストール

KVM と virt-manager のパッケージをインストール。

# apt-get install kvm libvirt-bin virt-manager
# addgroup <自分> libvirtd

ついでに、QEMU/KQEMU も入れとくと何かと便利かも、、、仮想化命令をサポートしないCPUを使っている場合はこっちがメインになると思う。

# apt-get install qemu kqemu-source
# module-assistant prepare
# module-assistant build kqemu
# module-assistant install kqemu
# modprobe kqemu
# echo "kqemu" >> /etc/modules

あとは、virt-managerを使うと仮想化ドメインがGUIで簡単に作れるようになる。

20080721virt-manager

ブリッジの設定

何もしなければ、仮想化ドメインのネットワークは、専用のサブネットが割り当てられる。なので、NATで外に出るか、ルーティングをせっせと張ることになる。

外からサーバ用途としてアクセスしたければ、bridge が簡単でいい。 Ubuntu libvirt guide を参考にして。 そいつの設定をする

まず、現在のNetworkManager/dhcdbd等の自動ネットワーク設定機能切る。

# /etc/dbus-1/event.d/26NetworkManagerDispatcher stop
# /etc/dbus-1/event.d/25NetworkManager stop
# echo "exit" > /etc/default/NetworkManager
# echo "exit" > /etc/default/NetworkManagerDispatcher
# /etc/init.d/dhcdbd stop
# update-rc.d -f dhcdbd remove
# /etc/init.d/networking stop

固定IPアドレスと bridge の設定を行う。

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
	address 192.168.1.123
	netmask 255.255.255.0
	network	192.168.1.0
	broadcast 192.168.1.255
	gateway 192.168.1.254
	bridge_ports eth0
	bridge_fd 9
	bridge_hello 2
	bridge_maxage 12
	bridge_stp off

ネットワークを有効化する。

# cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
EOF
# sysctl -p /etc/sysctl.conf
# /etc/init.d/networking start

virt-manager を使って新規の仮想化ドメインを作成時に、ブリッジが選択できるようになる。

20080720virt-manager.png

まとめ

Linux KVM よ〜、賢くな〜れ

2008年7月16日

Ubuntu 8.04 LTS に乗り換える。

Debian 安定版の進捗はあまりにも遅く、testing や sid ではあまりにもパッケージの更新が頻繁すぎる。インストールするパッケージを選別すれば良いのだが、それも結構骨の折れる作業である。

世の中を見渡してみると、Ubuntu LTS のリリース方針が自分の要望に怖いほど合致している。

  1. 初期インストールで、日常作業に必要かつ最小限度のパッケージが使える状態になる。
  2. X の設定とかも、Debian だと鬼門だったのだが、Ubuntu では手厚いサポートがある。
  3. 近年 freedesktop.org で整理された部分が、普通に使えるようになってる。
  4. その他、沢山。

兎に角、最初に悩まなくて良いのが一番良い。上手くいかなくても、Debian 使いのバッドノウハウを使えば良いだけのことだし。

なので、Debian/etch から Ubuntu 8.04 LTS に乗り換えてみた。

あと認証系とかの赤帽の authconfig を移植すれば完璧な気がする。。。。

やべ本当だ。。。頼んだ > Ubuntu

iPod touch で App Store から沢山落としてみた。

P1010221.jpg

巷では iPhone 3G の話題が沸騰してるが、 2年でトータル20万以上も出費とは、、、 私は当分買わない。

iPod Touch でもカメラとBluetoothとGPSが付けば、電話機能なんて要らんし。。。

「iPhone 2.0 Software Update 」を適用さえすれば、Wi-Fiが届く場所にいる限り、殆ど同じ触りごごちが味わえる。

幾つか漫画のアプリがあるが、結構サクサクして読み易い。コミックの配信プラットフォームとしてもありかと思う。

ただし、アプリ単体のみの課金パターンしか用意されていないようなので、ホーム画面に漫画の数だけ無数のアイコンが並ぶのはやだなぁ。

「無料のビューア」+「専用の有料コンテンツ」のパターンとかそのうち出てくるのかなぁ。。。課金はそれぞれ用意するとかなのかぁ。。。

ふぅーむ。。。アップルに期待すっかぁ

Blogger で title を変更してみる

どうも長々としたブログ名のためかタイトルがどうもクドいくらい長い。

Blogger の標準的なテンプレートだと個々の投稿のタイトルが「ブログ名:投稿タイトル」なので、これを「投稿タイトル」変更したい。

Google にお伺いを立てたらタイトルは結構いじくりたい人が多いらしく、トリッキーな方法が沢山出てきたが、、、今やってもテンプレートが不正だとかで修正できなくなってる。

どうしたもんだろうかと、思っていたら、 本家で2008/05に修正が入っていて結構簡単にできることが分かった。

そのまま「Change Title for Blogger Post Pages」に書かれた通りにすればできる。

具体的に書けば、Blogger の管理画面で「レイアウト」> 「HTMLの編集」に遷移して、

<title><data:blog.pagetitle/></title>
の部分を
<!-- Start of Changing the Blogger Title Tag -->
<b:if cond='data:blog.pageType == "item"'>
<title><data:blog.pageName/></title>
<b:else/>
<title><data:blog.pageTitle/></title>
</b:if>
<!-- End of Changing the Blogger Title Tag -->
に変更すれば良い。

2008年7月10日

ブログ移転と検索インデックスの移行

ブログを移転したが、検索サイトの結果も移転したい気がする。殆どアクセスが無いサイトだけど、結構 Google の検索順位は高かったので、勿体ない。いろいろ調べると 301リダイレクトを行えば良いらしい。

詳細は Google のヘルプ「サイトの移転に関するヒント」に記述があり、他の検索エンジンとかの対処法も同様らしい。

自前で運用してた typo は、Apache 2.0.x + mod_proxy -> mongrel -> Rails 1.2.x なので、色んな所に実装できそうだが、一番簡単な apache の方で対応してみた

対応

Blogger が生成する permalink は記事タイトルの適当に変換したもので、特定の文字列に変更することはどうも出来ないらしい。記事毎に旧ブログと新ブログのURLの対応づけを指定する必要がある。

対応付け毎に 301リダイレクトする設定に加えて、 移行済みの記事は railsのアプリサーバに渡さないようにすると、次のようになる。

ProxyPass <旧ブログのURLパス> !
redirect 301 <旧ブログのURLパス> <Bloggerでの対応するURL>

これを、記事毎に用意すれば良い。。。後は力技だわ。

力技

記事を移行しつつ、対応付けを下記の書式で一行毎に記録する。

redirect.conf.in

<旧ブログのURLパス片> <Bloggerでの対応するURLパス>

このファイルを上の設定に変換する perl スクリプトに通して、

cvt.pl

#!/bin/env perl

$dsite = "http://XXXXX.blogspot.com";

while (<>) {
 ($s, $d) = split(/\s+/);
 $surlpath = "/articles$s";
 $durl = "$dsite$d";
 print <<EOM
ProxyPass $surlpath !
redirect 301 $surlpath $durl
EOM
}

出てきた設定を include 命令で読み込むようにすれば良い。

# cvt.pl redirect.conf.in > redirect.conf
# /etc/init.d/httpd configtest
Syntax OK
# /etc/init.d/httpd graceful

この時点で、旧ブログで移行済みの記事を参照すると、Bloggerへ誘導されるようになる。

あとはクローラが認識するまで180日くらいは必要らしい。。。本当に移行できるんかいなぁ。

追記(2008/08/05)

RSS/Atom の移転に関しても、301のレスポンスを返すと参照先を変更してくれるらしい。なので、RSS/Atomに関しても301リダイレクトを返すようにした。。。

2008年7月9日

typo の markdown を ecto3 で扱う方法

typo と ecto を組み合わせるとき、 ecto 内の markdown パーサが性能が悪いので、プリビューが上手く表示できないことがある。

Markdown Extra for ecto」を使えば、対処が可能らしいが、ecto 3.0b49 では上手くいかなかった。 パッチの内容は、Perlスクリプトの markdown -> html コンバータを、PHP ベースの変えるものらしい。

ふーむ。

typo は Ruby の RedCloth モジュールの markdown パーサを利用してるので、こっちを使う物を変えれば、上手くいきそうである。

RedCloth インストール

MacOSX 10.5 では、rubygems が使えるので、

# sudo gem install RedCloth

で完了

ecto の markdown フォーマッタの変更

ファイル ecto.app/Contents/PlugIns/Markdown.formatter/Contents/Resources/markdown.perl を名前を変えてバックアップを取り、 次のように変える。

#!/usr/bin/ruby

require 'rubygems'
require 'RedCloth'

text = ""
readlines.each { |line|
  line.gsub!(%r{<typo:code>},"<pre><code>")
  line.gsub!(%r{</typo:code>},"</code></pre>")
  text += line
}

doc = RedCloth.new(text)
puts doc.to_html(:markdown)

めでたく、プリビューが上手く表示されるようになりましたっす。

Writing your own formatter」 に従えば、独自のフォーマッタが結構簡単に作れるらしいので、、、余力があれば遊んでみるのも良いかも。

ブログの移転してきたお知らせ

インターネットは Google 優勢なので Blogger に 移行することに決めました。

更新が滞ることが多いので、Web上ではなくブログ投稿アプリを使おうと思ったら、 そういうツールとかは、markdownとか「はてな記法」とかは結構サポート度合いが低い。 ごちゃごちゃするより、HTMLベースの記法の方が不具合が少ない気がする。

MacOSX でのブログ投稿アプリは有名どころで ectoMarsEdit か悩んだが、ecto に決めた。

まあ安かったからだが。。。

新しいURLは http://moimoitei.blogspot.com/ になります。 順次古い投稿も移していこうかと思います。古いURLは http://blog.moimoitei.jp/ でした。

2008年7月3日

XFSのファイルシステムがまた壊れた。。。

何でも無いが、LVM+XFS で運用したファイルシステムが壊れた。。。

強制電源断をしたからだけど、ほとんど書き込みが無いボリュームで修復も出来ないほど壊れるのは何故だ!!

いっそう XFS が嫌いになったっす。

dm とかは write barrier 機能が有効でないのが問題らしいが、、、はぁ。

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...