2014年12月23日火曜日

プリンター壊してしまいがっかりした

EPSONのPM-700C-UGという超古いプリンターを使っていたのだが、とうとう目詰まりして印刷できなくなり、「目詰まり解消」なる怪しい溶解液を購入、いろいろ試したのだが、とうとう壊してしまった。
ヘッドを外して清掃していたのだが、戻す際にフィルム状のケーブルを逆に挿してケーブルを壊してしまったのだった。たぶん接触確保の構造がありそうで逆挿しは致命的なのかも?
インクのストックがあったのでいろいろ試したのだが、無駄になりがっかり。
そこそこ時間をかけたのでなんとも悔しいのだが、まぁ捨てれば少しは部屋が片づくのでよしとすべきか。。それにしても悔しい。。

まぁ、プリンターはめったに使わないので、別室の複合機に無線プリントサーバーをつけて使おうと思い、LPV4-U2を発注。スムーズに動いてくれると良いのだが。

2014年10月5日日曜日

devstackはデフォルトでいろいろ動かさない

devstackでopenstackをdeployしてみたらneutronが動いていなかったわけだが、devstackのREADME.mdに、デフォルトだといろいろ動いてないよと書いてあった。READMEは読むべきだ。そんなわけで、local.confに以下を追記してやり直してみた。

いつものとおり
git clone https://github.com/openstack-dev/devstack.git
local.confに以下を追記 
# Swift
enable_service s-proxy s-object s-container s-account
# Neutron
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
# README.mdには書いてないけど必要?
enable_service neutron
 
stack.shを実行。deploy完了したら以下で試す。
# 環境変数を設定
% . openrc
# 仮想マシンのリスト?
% nova list
# VMに埋め込む鍵を作っておく 
% nova keypair-add mykey > mykey
# セキュリティグループの設定
% neutron security-group-list
# defaultセキュリティグループにICMPとSSHの設定追加 
% neutron security-group-rule-create --direction ingress --protocol icmp default
% neutron security-group-rule-create --direction ingress --protocol tcp --port_range_min 22 --port_range_max 22 default
# VM起動してみたけどエラーになった。
# net-idと起動イメージの指定は、それぞれneutron net-listとglance image-listで取得
% nova boot --flavor 1 --key-name mykey --security-groups default --nic net-id=bc732b67-5d1f-415a-b93f-34b14c2f4544 --image fcc7a346-8e4a-472d-9694-394d2183f17b vm1
# screenでログを確認できる。ウィンドウの切り替えは^A 数字、または^A ' ENTERで数字or名前
% screen -x
# 下記でエラーメッセージが得られた
% nova show vm1
# ネットワークの指定をやめたらACTIVEになった。
nova boot --flavor 1 --key-name mykey --security-groups default --image fcc7a346-8e4a-472d-9694-394d2183f17b vm1
# privateの方ならネットワーク指定でも起動できた
% nova boot --flavor 1 --key-name mykey --security-groups default --nic net-id=66159297-ee95-46ae-9aad-b82f9f1b6da5 --image 4e883dcc-132d-4dfd-8c85-42204983405c vm1
# やっぱりVMと通信できないのは、まだ設定が足りていないのだろうか。

OpenStackをJunoで試してみる

OpenStackのJunoがもうじきリリースなので、IceHouseではなくJunoで試してみる。 
Ubuntu14でapt-get updateしてapt-get install gitしたら、以下でDevStackを取得。
git clone https://github.com/openstack-dev/devstack.git
cd devstack
cp samples/* .
したら、local.confのmilestone-proposedのところをコメント外す。と、おもったら
milestone-proposedは無いって話なので、コメントのままで進める。
 
コマンドラインでの操作はこちらを参考にさせてもらう。
認証関係パラメータを環境変数に設定しておくとオプション指定不要になる。
% export OS_USERNAME=demo
% export OS_TENANT_NAME=demo
% export OS_PASSWORD=nomoresecrete
% export OS_AUTH_URL=http://10.0.2.15:5000/v2.0/
キーペア生成
% nova keypair-add mykey > mykey
% nova keypair-list 
ネットワークの確認だがエラーになる。 
% neutron net-list
これもだめ 
% neutron router-create myrouter
keystone関連らしいのだが、よく分からない。
% keystone service-list
% keystone catalog
作ってみたら?というのを見かけたので試してみる。
% keystone service-create --name neutron --type network --description "OpenStack Networking"
service-id はkeystone service-listで表示されるもの。
% keystone endpoint-create --service-id faa021a618844bd681f22ae1c052adf4 --publicurl http://10.0.2.15:9696 --adminurl http://10.0.2.15:9696 --internalurl http://10.0.2.15:9696
以下のエラーになり効果なし 
% neutron net-list
Unable to establish connection to http://10.0.2.15:9696/v2.0/networks.json

2014年9月27日土曜日

OpenStack?

OpenStackをDevStackで試している。

git clone https://github.com/openstack-dev/devstack.git
 
2014/9/27時点で、特に何も設定せずにstack.shを実行したらPythonのdogpile.cacheパッケージが入らずにエラーで止まった。一応、動いている状態になるようなので、unstack.shで止めて、パッケージを入れて、もう一度stack.shを試す。

もうひとつ、libpcre3-devも必要。

get_or_add_user_role等でエラーが出まくったのだが、unstack.shして再度stack.shするとエラーが消えている。どうもハッシュ値か何かでユーザー名が生成されたためのようだ。メモリー4GBでは厳しいようなので、もう一度Ubuntuのインストールからやり直してみよう。

その後、何度か試していると、libpcre3-devを入れた状態ならつつがなくstack.shが終了する模様。

画面サイズがしんどいので、調べたら、guest additionを入れる必要があるとのことで、まずは以下で準備するらしい。
sudo apt-get install build-essential module-assistant
sudo m-a prepare
VirturalBoxのメニューから以下を選ぶ 
"Devices > Insert guest additions CD image" 
これでUbuntu側にメディアがマウントされるので、
sudo ./VBoxLinuxAdditions.run
でビルドできる。 
 
Cinder => block storage
Swift => object storage

VirtualBoxでVERR_VMX_MSR_LOCKED_OR_DISABLEDエラー

FreeBSDホストのVirtualBoxに64bitのUbuntuを入れようとしたら掲題のVERR_VMX_MSR_LOCKED_OR_DISABLEDエラーが発生した。なにしろマイナーな環境だからダメなのかと思いながら調べてみると、なんとBIOS設定でIntel VTxがDISABLEになっているためだった。

そんなわけで、BIOSでEnableしたらあっさりインストールできたのであった。

2014年9月23日火曜日

HDDは長いことアクセスしないファイルから壊れる

以前からそんな印象はあったのだけれど、今回に調べてみて本当にそうらしいと思えた。
これまでHDDのエラーは長いことアクセスしていないファイルで起きる印象があったのだが、これはHDDが怪しくなってきたブロックに出会うと回復処理をしていたためと思われる。

smartctlでHDDの情報を見ると以下のようなものがある。
 ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       5388
 197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       409
Pending_Sectorの方は、エラーが検出されたが回復できていないセクター数を表している。
上記のようなエラーとして現れるケースでカウントアップされるものと思われる。

それでは頻繁にアクセスしているとなぜエラーにならないか。どうも読みだしアクセスであってもリトライが必要など怪しいセクターに出会うと、読めたデータを書き直してリトライ要不要を見る、改善しないならスペアセクターへ移すなどしているようなのだ。そのため、頻繁にアクセスするファイルはリフレッシュがかかり、そうではないファイルにアクセスするとエラーに出会うことになる。

どうしても読めないセクターは書き込めばスペアに移るので、最悪はそのようにするわけだが、どうも定期的にディスク全域をスキャンして回復処理をさせた方がデータを失わずにすみそうに思える。

英語なのだが、Linuxの場合に不良セクターをどう処理するか、以下に良く説明されている。
Linuxの不良セクター回復方法(英語)
FreeBSDの場合もfsdb(8)でブロック番号をiノード番号に変換できるので、同じようなことはできる。
後日追記予定


ath0が動かなくなって難儀した

HDD交換のついでにメモリーを4GByteに替えたら、Atherosの無線LANカードが動かなくなって難儀した。なんでだろうといろいろ考えていて、ふとカードのアドレスが大幅に変わっているのに気がついた(メモリー増やしたのであたりまえ)。
ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 17 at device 0.0 on cardbus1
ath0: [ITHREAD]
ath0: AR2413 mac 7.9 RF2413 phy 4.

上記が正しいのだが、メモリーを替えると以下になる。

cardbus1: Expecting link target, got 0x0
cardbus1: Expecting link target, got 0x0
ath0: <Atheros 5212> mem 0xbf690000-0xbf69ffff irq 17 at device 0.0 on cardbus1
ath0: [ITHREAD]
ath0: unable to attach hardware; HAL status 13
device_attach: ath0 attach returned 6

なぜなんだろう。

2014年9月22日月曜日

3TのHDDが不調になって大変でした

一年ちょっと前からつかっていたWDの3TのHDDが不調になってえらい目にあった。
とりいそぎ新しいのを購入してようやく動き出したが、ほぼ丸2日を要してまだ引っ越し未完。
いろいろ勉強になったこともあったので、ちょこちょこ書き加えていきたい。ところでツクモで安く買えたのだが、WDの箱入りでちょっとうれしかった。バルクよりは当てにできるかも?バルクもあたりをひきれば悪くないのだが。

エラーがたまってくるとドライブが勝手にチェックを始めて異常に遅くなるような気がする。
smartctl -t pending,65535 -t select,0-5860533101 /dev/ada2
などとすると、selectで指定した範囲(3Tの最初から最後)のテストを65535分間は停止するので、スピードが戻る。といっても、まだ遅い気がするので、何か勝手に動いているのかも。

だいぶ前に雑誌記事にも書いたことあるが、fsck(8)もstatusシグナル(^t)を受け付けるようだ。
下記のような進捗状況を表示してくれるので、動いているのか?と心配な時はありがたい。
/dev/ada2p4: phase 1: cyl group 717 of 1058 (67%)

2014年8月14日木曜日

noipがうまく使えない件

永らく世話になってきたDynDNSが有料化されたのでnoipを試しているのだが、どうもホスト名の更新がうまくいかない。portsのdns/noipが更新できないようなので、ddclientで試しているが、これもうまくいかない。かれこれ3-4ヶ月たつと思うが、いつも30日経過して登録抹消からWebでログインして再登録を繰り返している。
最初はno-ipドメインを使ったので、ちょっと前のMicrosoftの騒動に巻き込まれたせいもあるのかも。それにしても、いつになったら安定するのやら。以前のDynDNSが懐かしい。

2014年7月20日日曜日

mplayerが動かなくなってドッキリした話

諸般の事情でPostgreSQLサーバーを動かすことになったのだが、全く関係ないと思われるmplayerが動かなくなってびびった。PostgreSQLのインストールで必要ならSystemV IPCのMAX値を増やせとメッセージが出ていたのが気になって調べてみたら、見事にshared memoryを使いきってくれていたらしい。PostgreSQLの方はそれほどヘビーに使う気もないので、/usr/local/pgsql/data/postgresql.confでshared_buffersを減らしてみた。ま、ダメそうならカーネルの設定変更だね。もしや関連のshared libraryが更新されたせいかとも心配したが、関係なかった(影響ありそうな更新してないし)。
SystemV IPCの状況はipcs(1)で調べることができる。