2012年7月16日月曜日

M2NPV-VM NVIDIA_RAID1 から P8H61-M LE iSCSI へVista64を移行

・M2NPV-VM
・NVIDIA RAID1(HDD2台)
・Vista64
の環境から、
・P8H61-M LE
・iSCSI
の環境へ、次の手順で移行した。

1
HDDのバックアップをとる。

2
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci\Start
を(3から)0に変更し、SATA-AHCIでの起動を有効にする。

3
HDD1台をP8H61-M LEにSATA(BIOSでAHCIモードに設定)で接続、Vista64を起動する。
この時点で再アクティベーション(3日以内)を求められるが、先送り。

4
全てのドライバを入れ、再起動テストをする。

5
HDDイメージをiscsiターゲット化し、P8H61-M LEでipxe(ipxe.lkrn)を使ってsanbootする。
ブート(ログインユーザ選択まで)に5分もかかり、とても遅いが解決策不明。
(2012-07-17追記:
  普通のundiドライバを使うundi.lkrn(kpxe形式ならundionly.kpxe)に変更すると
  3.5分程度で起動するようになった。それでも遅い。)
ログイン後については、移行前と大差ない感じで使える。

6
3日問題なく動作するか確認し、再アクティベーションした。
OSのアップグレードとかはiSCSIブートじゃ不可かもしれないので、
SATA-AHCIでの起動を有効なままにしてある。


ちなみに、iSCSIターゲットの仕様は以下のとおり
・ubuntu 12.4 LTS
・tgt(stgt), MaxRecvDataSegmentLengthとMaxXmitDataSegmentLengthを256KBに設定
・HDDイメージは通常ファイル(HDD 2台によるRAID1(/dev/md0), ext4)
lio(lio-target)も試したが、設定方法がよくわからないせいか、
転送速度がstgtの半分以下しか出なかった。

iSCSIターゲットに対して正確な値を出せないと思いますが、CrystalDiskMarkの結果はこれ。

4K読み込みが早いのは、iSCSIターゲット内のキャッシュを無効にできていないからだろう。
ただし、通常のHDDはせいぜい128MBのキャッシュしかないが、
このiSCSIターゲットは2GB以上のキャッシュがあり、
しかもRAID1 HDD2台構成なので、4K読み込みは実際そこそこ早い。

2012年7月4日水曜日

home server (その1) ubuntu12.04LTSの初期設定記録(編集中)

OSインストール


mini.iso(AMD64)を使い最小インストール。タイムゾーンは日本、言語は英語(USA)を選んだ。
起動時にraidエラーがあったとき、気にせず起動ではなく、回復コンソール(モードだったかな)
を開始する方を選択した。

パーティション

md0(raid1:sda1+sdb1) /boot 512MB    ext4
md1(raid1:sda2+sdb2) /       残り全部 ext4 スーパーブロック1% inodeの割り当て1MB毎(largefile)

サーバ等の設定

主なパッケージ

  • exim4 dovecot-pop3d
  • ntp
  • openssh-server
  • dnsmasq
  • iptables-persistent
  • qemu-kvm bridge-utils uml-utilities
  • netcat-openbsd dtach

メールの設定

raidのエラーが発生した時mdadmが送るメールを見逃さないことが最大の目的。
人気のあるパッケージを使いつつ、設定が簡素な方法を選んだつもり。

設定概要
  • root宛のメールはmy-admin宛に転送
  • my-adminのメールボックスをPOP3Sで外部ホストから読めるようにする
  • POP3Sのパスワードはloginパスワードとは別に設定
  • 外部ホストへのメール配送・送信は不可(不要なので)
  • my-admin以外のメールボックスを外部ホストから読むことは不可(不要なので)
まずはexim4の設定。 exim4の細かい設定は、自分には難しそうなので、dpkg-reconfigureで可能な設定だけ行った。local配送のみを選択、 root宛のメールはmy-admin宛に転送、メールボックスはMaildir形式を選択した。
$ sudo dpkg-reconfigure exim4-config
次にdovecot の設定。まずはPOP3S用に100年間有効のオレオレ証明書を作成
$ cd /tmp
$ umask 077
$ openssl req -newkey rsa:1024 -keyout private-dovecot.pem -nodes -x509 -days 36500 -out certs-dovecot.pem
$ sudo sh -c "cat  certs-dovecot.pem > /etc/ssl/certs/dovecot.pem"
$ sudo sh -c "cat  private-dovecot.pem > /etc/ssl/private/dovecot.pem"
$ rm  certs-dovecot.pem private-dovecot.pem
認証で平文不可(ただしSSL接続なら可、つまりPOP3Sは平文可),  ユーザとパスワードはauth-static.conf.extで設定
$ cd /etc/dovecot/conf.d
$ sudo cp -p  10-auth.conf 10-auth.conf--dist
$ sudo vi 10-auth.conf
$ diff 10-auth.conf*
10d9
< disable_plaintext_auth = yes
122c121
< #!include auth-system.conf.ext
---
> !include auth-system.conf.ext
128c127
< !include auth-static.conf.ext
---
> #!include auth-static.conf.ext
ユーザは任意(メールボックスはユーザ名に関係なくmy-adminを対象とする。このホストにmy-adminというユーザが存在することをMUAに教えなくて済む)、パスワードはmy-pass
$ sudo cp -p auth-static.conf.ext auth-static.conf.ext--dist
$ sudo vi auth-static.conf.ext
$ cat auth-static.conf.ext
passdb {
  driver = static
  args = user=my-admin password=my-pass
}
userdb {
  driver = static
  args = uid=my-admin gid=my-admin home=/home/%u
}
メールボックスはMaildir形式を選択
$ sudo cp -p 10-mail.conf 10-mail.conf--dist
$ sudo vi 10-mail.conf
$ diff 10-mail.conf*
31d30
< mail_location = maildir:~/Maildir
設定内容の表示コマンドで最終確認
$ doveconf -n
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-23-generic x86_64 Ubuntu 12.04 LTS
mail_location = maildir:~/Maildir
passdb {
  args = user=my-admin password=my-pass
  driver = static
}
protocols = " pop3"
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  args = uid=my-admin gid=my-admin home=/home/%u
  driver = static
}
dovecot リスタート
$ sudo service dovecot restart
mdadmでメールの送信テスト
$ sudo mdadm --monitor --scan --test -1

NTPの設定

ntpdateをcronで呼び出す方が単純そうだが、時計を一気に1秒以上ずらすと、
いろいろ問題が生じそうなので、大きくずれても徐々にずらしてくれそうなntpdを使う事にした。
$ cd /etc
$ sudo cp -p ntp.conf ntp.conf--dist
$ sudo vi ntp.con
$ diff ntp.conf*
19,26c19,22
< #server 0.ubuntu.pool.ntp.org
< #server 1.ubuntu.pool.ntp.org
< #server 2.ubuntu.pool.ntp.org
< #server 3.ubuntu.pool.ntp.org
< server ntp1.jst.mfeed.ad.jp
< server ntp2.jst.mfeed.ad.jp
< server ntp3.jst.mfeed.ad.jp
<
---
> server 0.ubuntu.pool.ntp.org
> server 1.ubuntu.pool.ntp.org
> server 2.ubuntu.pool.ntp.org
> server 3.ubuntu.pool.ntp.org
27a24,25
> # Use Ubuntu's ntp server as a fallback.
> server ntp.ubuntu.com

その他の設定

 /etc/default/* をいじってからdpkg-reconfigureしたパッケージ
  •  grub-pc (bootセレクターを表示させる,)
  •  console-setup (コンソールでcapslockをctrl化)

※つづく・・・

2012年6月3日日曜日

ブッシュゴムを使って3.5インチHDDを防振マウントするためのケース加工したが無駄だった

ATXマザーボード対応のスチールケースを加工して、
底に3.5インチHDDを2台とりつけられるように穴あけ加工をしてみた。

だが、無駄だった。

[計画]
MicroATXマザーボードを使う場合、底が空くので活かしたいと考えた。
HDDの向きは、電源・SATAケーブルを刺す側面がケース中央で向かい合うようにした。
ケーブルを刺す側面の左半分にコネクタを刺す部分が集中しているので、
向かい合うと配線しやすい。ついでに、マザーボードのSATAコネクタ位置もケース中央から近いし。
手元ケースでは、HDD間に38mm程度の間隔を確保できそう。

[使ったもの]
・八幡ねじ ブッシュゴム K-67 (10個入りをホームセンターで購入)
・壊れたHDD (取りつけイメージテスト、加工後の取り付けテスト用)
・長めのHDD固定ネジ(#6-32 長さ8mmサイズ)
・スチール対応の6.5mmドリル刃とそれを使えるドリル
・実寸大で3.5HDD底面を印刷した紙
等

[加工]
最初6mmのドリル刃で穴をあけたが、これでは小さすぎた。
6.5mmの刃だとピッタリだった。
素人加工なので、6.8mmぐらいの穴になってそう。


加工後、ゴムを取り付けたところ。

とりあえず、テスト用HDDを無理なくとりつけられた。

[結果]
・底面で防振マウント、共振も回避
・ケース内で温度が低そうな下部にHDDをマウント
という2点を、眠っていた粗大ゴミのようなケースで実現できる予定だったが、
普通に3.5インチベイにマウントした時と同じく共振して使い物にならなかった。

[ファイル]
3.5HDD実寸大画像(HGST仕様書より引用), A4用紙印刷向け
3.5hddsize_paper.png
※壊れたHDD等により実寸大で印刷できたか確認が必要

穴あけ位置決めサンプル
OpenOfficeDrawhgst3.5hdd_mount.odg
PDFhgst3.5hdd_mount.pdf

2012年2月29日水曜日

GeanyPortable(0.20)の日本語対応化

  • Geany Portable 0.20(GeanyPortable_0.20.paf.exe)インストール時、
    [ ]additional languages
    オプションにチェックを入れ、追加インストールする
  • インストール後、「....\GeanyPortable_0.20\Other\Source」にある「GeanyPortable.ini」を
    「....\GeanyPortable_0.20\」にコピーし、開く(編集する)。
    編集する部分は、
    ApplicationLanguage=
    のところを
    ApplicationLanguage=ja
    にする。
以上で完了。GeanyPortable.exeを実行すればメニュー等が日本語になってるはず。
ついでに、日本語漢字変換のインライン入力もできるようになってるはず。

検証環境:Windows Vista