SVX日記
2011-02-25(Fri) VPSまでトンネルを掘る
先日より「さくらのVPS」を契約している……いや、先日、というか……先月、というか……実は、契約したのはかなり前(10月17日)だったりするのだが、その後、仕事が忙しくなったので、金だけ払って放置、という状態が続いていたのだった。
まぁ、980円/月だし、ちょっとカジってみようか、という動機だったのだが、されど、980円/月である。使わなければもったいない話だ。とりあえず、20Gもあることだし、iSCSIターゲットの設定をして「外付けハードディスク」にでも仕立ててみようか、などと、変なことを考えてみた。
ところが、iSCSIは暗号化をしない。よって、暗号化トンネルを確保してやる必要があるだろう。そんな時、OpenVPNがリングに上がるのである。あ、別に、iSCSIに限らずとも、nfsやsambaなどを利用するにしても、通信経路の暗号化はしておいた方がいいと思うので、今回の手順は有用なはずである。
OpenVPNには、サーバとクライアントの概念がある。もちろん、通信経路としては双方向に利用できるが、関係としては一方向というわけである。クライアントが提出するデジタル証明書を、サーバが検証、接続を許すというカラクリだ。
sheonite.itline.jp:/root # yum install openvpn
sheonite.itline.jp:/root # cd /etc/openvpn/
sheonite.itline.jp:/etc/openvpn # cp /usr/share/doc/openvpn-2.1/sample-config-files/server.conf .
sheonite.itline.jp:/etc/openvpn # cp -a /usr/share/openvpn/easy-rsa/ .
sheonite.itline.jp:/etc/openvpn # cd easy-rsa/2.0/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # vi vars
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # diff vars.org vars
64,68c64,68
< export KEY_COUNTRY="US"
< export KEY_PROVINCE="CA"
< export KEY_CITY="SanFrancisco"
< export KEY_ORG="Fort-Funston"
< export KEY_EMAIL="me@myhost.mydomain"
---
> export KEY_COUNTRY="JP"
> export KEY_PROVINCE="Aichi"
> export KEY_CITY="Nagoya" ★自宅は名古屋
> export KEY_ORG="ITLine, Inc."
> export KEY_EMAIL="hoge@fuga.jp"
★認証局/サーバの証明書への登録内容を入力
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # . ./vars
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # ./clean-all
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # ./build-ca
★Returnキー連打で、認証局の証明書と秘密鍵を作る
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # ./build-key-server itline.jp
★Returnキー連打で、サーバの証明書と秘密鍵を作り、認証局の証明書で署名する
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # ./build-dh
★共通鍵交換用のパラメータを作る
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/ca.crt /etc/openvpn/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/itline.jp.crt /etc/openvpn/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/itline.jp.key /etc/openvpn/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/dh1024.pem /etc/openvpn/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cd /etc/openvpn/
sheonite.itline.jp:/etc/openvpn # vi server.conf
sheonite.itline.jp:/etc/openvpn # diff server.conf.org server.conf
79,80c79,80
< cert server.crt
< key server.key # This file should be kept secret
---
> cert itline.jp.crt
> key itline.jp.key # This file should be kept secret
★サーバの証明書と秘密鍵を指定する
162c162
< ;client-config-dir ccd
---
> client-config-dir ccd
★常に同じIPアドレスでトンネルを掘るための設定
sheonite.itline.jp:/etc/openvpn # mkdir ccd
sheonite.itline.jp:/etc/openvpn # vi ccd/darius.ddo.jp
sheonite.itline.jp:/etc/openvpn # cat ccd/darius.ddo.jp
ifconfig-push 10.8.0.101 10.8.0.102
★VPSクライアントホスト「darius.ddo.jp」は、常に10.8.0.101/10.8.0.102でトンネルを掘る
sheonite.itline.jp:/etc/openvpn # service openvpn start
★openvpnのサーバ側の待ち受け開始!
sheonite.itline.jp:/etc/openvpn # ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
★トンネルI/Fが出現、サーバ側の出入口は10.8.0.1
sheonite.itline.jp:/etc/openvpn # chkconfig openvpn on
[root@www1234x ~]# yum install openvpn
[root@www1234x ~]# cd /etc/openvpn/
[root@www1234x openvpn]# cp /usr/share/doc/openvpn-2.1.1/sample-config-files/client.conf .
[root@www1234x openvpn]# cp -a /usr/share/openvpn/easy-rsa/ .
[root@www1234x openvpn]# cd easy-rsa/2.0/
[root@www1234x 2.0]# vi vars
[root@www1234x 2.0]# diff vars.org vars
64,68c64,68
< export KEY_COUNTRY="US"
< export KEY_PROVINCE="CA"
< export KEY_CITY="SanFrancisco"
< export KEY_ORG="Fort-Funston"
< export KEY_EMAIL="me@myhost.mydomain"
---
> export KEY_COUNTRY="JP"
> export KEY_PROVINCE="Tokyo"
> export KEY_CITY="Shinjyuku" ★VPSはたぶん新宿
> export KEY_ORG="ITLine, Inc."
> export KEY_EMAIL="hoge@fuga.jp"
★クライアントの証明書への登録内容を入力
[root@www1234x 2.0]# . ./vars
[root@www1234x 2.0]# ./clean-all
[root@www1234x 2.0]# ./build-req darius.ddo.jp
★Returnキー連打で、クライアントの証明書(未署名)と秘密鍵を作る
ここで、いったん自宅側に戻る。クライアントの証明書(未署名)に、認証局として署名をしてやらないといけないからだ。巷のサイトでは、このようにクライアント側ではなく、サーバ側でクライアントの証明書を作ってしまう手順を紹介している事例が多いが、そういうコトを書いてしまうということは「非対称鍵のなんたるかは全く理解できてません」と公表しているようなモンである。
sheonite.itline.jp:/etc/openvpn # cd easy-rsa/2.0/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp ~user/darius.ddo.jp.csr keys/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # ./sign-req darius.ddo.jp
★クライアントの証明書に認証局の証明書で署名する
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/ca.crt ~user/
sheonite.itline.jp:/etc/openvpn/easy-rsa/2.0 # cp keys/darius.ddo.jp.crt ~user/
[root@www1234x 2.0]# mv ca.crt keys/
[root@www1234x 2.0]# mv darius.ddo.jp.crt keys/
[root@www1234x 2.0]# cp keys/ca.crt /etc/openvpn/
[root@www1234x 2.0]# cp keys/darius.ddo.jp.crt /etc/openvpn/
[root@www1234x 2.0]# cp keys/darius.ddo.jp.key /etc/openvpn/
[root@www1234x 2.0]# cd /etc/openvpn/
[root@www1234x openvpn]# vi client.conf
[root@www1234x openvpn]# diff client.conf.org client.conf
42c42
< remote my-server-1 1194
---
> remote itline.jp 1194
★接続先であるOpenVPNサーバを指定する
89,90c89,90
< cert client.crt
< key client.key
---
> cert darius.ddo.jp.crt
> key darius.ddo.jp.key
★クライアントの証明書と秘密鍵を指定する
[root@www1234x openvpn]# service openvpn start
★openvpnのクライアント側の接続開始!
[root@www1234x sysconfig]# ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.101 P-t-P:10.8.0.102 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:86 errors:0 dropped:0 overruns:0 frame:0
TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:15903 (15.5 KiB) TX bytes:10959 (10.7 KiB)
★トンネルI/Fが出現、クライアント側の出入口は10.8.0.101
[root@www1234x sysconfig]# chkconfig openvpn on
なお、以上の手順で証明書ファイルをやりとりする限り、暗号化された通信経路でやる必要はない。もちろんフロッピーやUSBメモリで運ぶ必要もない(無理だし)。ファイルどこかに置き忘れても構わない。なぜなら、証明書に対応する秘密鍵を各々のホストの上から「移動していない」からだ。
これに関しては著名なITサイトですらアフォなことを書いている。まさに「非対称鍵のなんたるかは全く理解できてません」と公表している。要するに、以前に書いたこの記事と同じことなのだが、今回はクライアント側もLinuxであるだけに、サーバ側でクライアントの証明書を作らなければならない理由は皆無である。
# openvpn
-A INPUT -m udp -p udp --dport 1194 -j ACCEPT
sheonite.itline.jp:/root # ping 10.8.0.101
PING 10.8.0.101 (10.8.0.101) 56(84) bytes of data.
64 bytes from 10.8.0.101: icmp_seq=1 ttl=64 time=9.82 ms
64 bytes from 10.8.0.101: icmp_seq=2 ttl=64 time=9.10 ms
64 bytes from 10.8.0.101: icmp_seq=3 ttl=64 time=9.86 ms
64 bytes from 10.8.0.101: icmp_seq=4 ttl=64 time=9.59 ms
★pingを打つと……
sheonite.itline.jp:/root # tcpdump -i tun0
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
23:12:56.979174 IP 10.8.0.1 > 10.8.0.101: ICMP echo request, id 63070, seq 1, length 64
23:12:56.988956 IP 10.8.0.101 > 10.8.0.1: ICMP echo reply, id 63070, seq 1, length 64
23:12:57.980163 IP 10.8.0.1 > 10.8.0.101: ICMP echo request, id 63070, seq 2, length 64
23:12:57.989201 IP 10.8.0.101 > 10.8.0.1: ICMP echo reply, id 63070, seq 2, length 64
23:12:58.980788 IP 10.8.0.1 > 10.8.0.101: ICMP echo request, id 63070, seq 3, length 64
23:12:58.990588 IP 10.8.0.101 > 10.8.0.1: ICMP echo reply, id 63070, seq 3, length 64
23:12:59.981796 IP 10.8.0.1 > 10.8.0.101: ICMP echo request, id 63070, seq 4, length 64
23:12:59.991334 IP 10.8.0.101 > 10.8.0.1: ICMP echo reply, id 63070, seq 4, length 64
★トンネルI/F上ではICMPパケットに見えるが……
sheonite.itline.jp:/root # tcpdump -i ppp0 port openvpn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
23:12:56.979393 IP CEPci-12p34-567.ppp89.odn.ad.jp.openvpn > www1234x.sakura.ne.jp.46126: UDP, length 125
23:12:56.988794 IP www1234x.sakura.ne.jp.46126 > CEPci-12p34-567.ppp89.odn.ad.jp.openvpn: UDP, length 125
23:12:57.980387 IP CEPci-12p34-567.ppp89.odn.ad.jp.openvpn > www1234x.sakura.ne.jp.46126: UDP, length 125
23:12:57.989083 IP www1234x.sakura.ne.jp.46126 > CEPci-12p34-567.ppp89.odn.ad.jp.openvpn: UDP, length 125
23:12:58.981005 IP CEPci-12p34-567.ppp89.odn.ad.jp.openvpn > www1234x.sakura.ne.jp.46126: UDP, length 125
23:12:58.990467 IP www1234x.sakura.ne.jp.46126 > CEPci-12p34-567.ppp89.odn.ad.jp.openvpn: UDP, length 125
23:12:59.982007 IP CEPci-12p34-567.ppp89.odn.ad.jp.openvpn > www1234x.sakura.ne.jp.46126: UDP, length 125
23:12:59.991210 IP www1234x.sakura.ne.jp.46126 > CEPci-12p34-567.ppp89.odn.ad.jp.openvpn: UDP, length 125
★PPP接続上では暗号化されている、ということがわかる
2011-02-26(Sat) デグRAIDする
そういえば、このHDDはファームウェア問題を持っていたっけ。24時間稼働で使っているので、発現確率は低いと見積もり、対処してなかった。フツーに壊れた今となってはどうでもイイ話だけど。
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.11
Device Model: ST3500320AS
Serial Number: 9QM6THGV
Firmware Version: SD15
User Capacity: 500,107,862,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Sat Feb 26 22:11:11 2011 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 650) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 120) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103b) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 084 084 006 Pre-fail Always - 9800766
3 Spin_Up_Time 0x0003 095 094 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 65
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 2045
7 Seek_Error_Rate 0x000f 077 060 030 Pre-fail Always - 8698539546
9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 19213
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 65
184 Unknown_Attribute 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 204
188 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 061 039 045 Old_age Always In_the_past 39 (31 161 39 38)
194 Temperature_Celsius 0x0022 039 061 000 Old_age Always - 39 (0 14 0 0)
195 Hardware_ECC_Recovered 0x001a 040 021 000 Old_age Always - 9800766
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 2
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
SMART Error Log Version: 1
ATA Error Count: 235 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 235 occurred at disk power-on lifetime: 19213 hours (800 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
04 71 04 9d 00 32 e0 Device Fault; Error: ABRT
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
a1 00 00 00 00 00 e0 00 20d+21:02:03.382 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:02:03.361 IDENTIFY DEVICE
e5 00 55 9d 00 32 e0 00 20d+21:02:03.359 CHECK POWER MODE
a1 00 00 00 00 00 e0 00 20d+21:02:01.283 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:02:01.261 IDENTIFY DEVICE
Error 234 occurred at disk power-on lifetime: 19213 hours (800 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
04 71 04 9d 00 32 e0
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
ec 00 00 00 00 00 e0 00 20d+21:02:03.361 IDENTIFY DEVICE
e5 00 55 9d 00 32 e0 00 20d+21:02:03.359 CHECK POWER MODE
a1 00 00 00 00 00 e0 00 20d+21:02:01.283 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:02:01.261 IDENTIFY DEVICE
e5 00 55 01 00 00 e0 00 20d+21:02:01.259 CHECK POWER MODE
Error 233 occurred at disk power-on lifetime: 19213 hours (800 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
04 71 04 9d 00 32 e0
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
e5 00 55 9d 00 32 e0 00 20d+21:02:03.359 CHECK POWER MODE
a1 00 00 00 00 00 e0 00 20d+21:02:01.283 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:02:01.261 IDENTIFY DEVICE
e5 00 55 01 00 00 e0 00 20d+21:02:01.259 CHECK POWER MODE
00 00 00 00 00 00 00 ff 20d+21:01:56.167 NOP [Abort queued commands]
Error 232 occurred at disk power-on lifetime: 19213 hours (800 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
04 71 04 9d 00 32 e0 Device Fault; Error: ABRT
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
a1 00 00 00 00 00 e0 00 20d+21:02:01.283 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:02:01.261 IDENTIFY DEVICE
e5 00 55 01 00 00 e0 00 20d+21:02:01.259 CHECK POWER MODE
00 00 00 00 00 00 00 ff 20d+21:01:56.167 NOP [Abort queued commands]
a1 00 00 00 00 00 e0 00 20d+21:01:24.676 IDENTIFY PACKET DEVICE
Error 231 occurred at disk power-on lifetime: 19213 hours (800 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
04 71 04 9d 00 32 e0
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
ec 00 00 00 00 00 e0 00 20d+21:02:01.261 IDENTIFY DEVICE
e5 00 55 01 00 00 e0 00 20d+21:02:01.259 CHECK POWER MODE
00 00 00 00 00 00 00 ff 20d+21:01:56.167 NOP [Abort queued commands]
a1 00 00 00 00 00 e0 00 20d+21:01:24.676 IDENTIFY PACKET DEVICE
ec 00 00 00 00 00 e0 00 20d+21:01:24.651 IDENTIFY DEVICE
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md8 : active raid1 sdb8[2](F) sda8[0]
244189056 blocks [2/1] [U_]
md7 : active raid1 sdb7[2](F) sda7[0]
145893248 blocks [2/1] [U_]
md0 : active raid1 sdb1[2](F) sda1[1]
16383872 blocks [2/1] [_U]
unused devices: <none>
md: bind<sdb1>
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:1, o:1, dev:sdb1
disk 1, wo:0, o:1, dev:sda1
md: recovery of RAID array md0
md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
md: using 128k window, over a total of 16383872 blocks.
md: bind<sdb7>
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda7
disk 1, wo:1, o:1, dev:sdb7
md: delaying recovery of md7 until md0 has finished (they share one or more physical units)
md: bind<sdb8>
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda8
disk 1, wo:1, o:1, dev:sdb8
md: delaying recovery of md8 until md7 has finished (they share one or more physical units)
md: delaying recovery of md7 until md0 has finished (they share one or more physical units)
usb 5-2: reset low speed USB device using uhci_hcd and address 3
usb 5-2: reset low speed USB device using uhci_hcd and address 3
md: md0: recovery done.
md: delaying recovery of md8 until md7 has finished (they share one or more physical units)
md: recovery of RAID array md7
md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
md: using 128k window, over a total of 145893248 blocks.
RAID1 conf printout:
--- wd:2 rd:2
disk 0, wo:0, o:1, dev:sdb1
disk 1, wo:0, o:1, dev:sda1
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: cmd c8/00:10:d0:c9:96/00:00:00:00:00/e0 tag 0 dma 8192 in
res 71/04:04:9d:00:32/00:00:00:00:00/e0 Emask 0x1 (device error)
ata4.00: status: { DRDY DF ERR }
ata4.00: error: { ABRT }
ata4.00: both IDENTIFYs aborted, assuming NODEV
ata4.00: revalidation failed (errno=-2)
ata4: soft resetting link
ata4.00: both IDENTIFYs aborted, assuming NODEV
ata4.00: revalidation failed (errno=-2)
usb 5-2: reset low speed USB device using uhci_hcd and address 3
ata4: soft resetting link
ata4.00: both IDENTIFYs aborted, assuming NODEV
ata4.00: revalidation failed (errno=-2)
ata4.00: disabled
ata4: EH complete
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 9882064
raid1: sdb1: rescheduling sector 9882032
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 9882080
raid1: sdb1: rescheduling sector 9882048
raid1: sdb1: rescheduling sector 9882056
raid1: sdb1: rescheduling sector 9882064
raid1: sdb1: rescheduling sector 9882072
raid1: sdb1: rescheduling sector 9882080
raid1: sdb1: rescheduling sector 9882088
raid1: sdb1: rescheduling sector 9882096
raid1: sdb1: rescheduling sector 9882104
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 200956448
raid1: Disk failure on sdb7, disabling device.
raid1: Operation continuing on 1 devices.
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 200957472
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 200958496
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 200959520
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 32767776
end_request: I/O error, dev sdb, sector 32767776
md: super_written gets error=-5, uptodate=0
raid1: Disk failure on sdb1, disabling device.
raid1: Operation continuing on 1 devices.
md: md7: recovery done.
md: recovery of RAID array md8
md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
md: using 128k window, over a total of 244189056 blocks.
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:1, o:0, dev:sdb1
disk 1, wo:0, o:1, dev:sda1
RAID1 conf printout:
--- wd:1 rd:2
disk 1, wo:0, o:1, dev:sda1
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 488394784
raid1: Disk failure on sdb8, disabling device.
raid1: Operation continuing on 1 devices.
md: md8: recovery done.
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 488395808
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 488396832
sd 3:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 488397856
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda7
disk 1, wo:1, o:0, dev:sdb7
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda7
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda8
disk 1, wo:1, o:0, dev:sdb8
RAID1 conf printout:
--- wd:1 rd:2
disk 0, wo:0, o:1, dev:sda8
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: WDC WD10EADS-00L5B1
Serial Number: WD-WCAU45330156
Firmware Version: 01.01A01
User Capacity: 1,000,204,886,016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sat Feb 26 22:10:41 2011 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x84) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (23400) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 255) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x303f) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
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 - 0
3 Spin_Up_Time 0x0027 169 166 021 Pre-fail Always - 6533
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 28
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 075 075 000 Old_age Always - 18784
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 26
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 7
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 28
194 Temperature_Celsius 0x0022 118 094 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
2011-02-28(Mon) 世界中の誰よりきっと……
1月23日にPSPの「ナムコミュージアムVol.2」をダウンロード購入してからというもの、マジになってワンコインクリアを目指している。別にドルアーガ目当てで購入したんじゃなく、どっちかってーとドラバス&ドラスピ&ロリサン目当てだったのだが、気がつくと、一番ドルアーガに熱中していた。
今まで、宝箱の出し方を見ながら、無理無理クリアしたことは何度かあった。X1版に至っては買ったような気もする。しかし、ワンコインクリアを目指すとなると、遊び方が変わるのね。ゲームの本質が「戦略と確率と運とのせめぎ合い」に化けるのだ。宝箱の出し方なんて、攻略以前の問題としてサクッと暗記だ。このゲーム、こんなに奥が深かったのか……ぜんぜん、気づかんかったなぁ。
いま、電車の中でPSPを出している99%の目的はモンスタ狩りだろうが、オイラの目的は悪魔狩りである。つーか、PSPの購入目的が「テグザー」で、ゲームアーカイブばかりいくつも購入して、ようやくPSP用ソフトを購入したかと思ったら、それが「ナムコミュージアム」って、どうなんだろう……。
今日は、久々に仕事が早く終わったので、仕事帰りにゲーセンに向かった。そこには、なんと気まぐれなことにドルアーガの塔があるのだ。エミュでなくちゃんとオリジナルで。しかし、まさかの先客。なんと、連コインで59階まで登っている。よしッ!! キミを、この瞬間に「ドルアーガの塔」に熱中している世界で2番目と認定しよう。
そういえば、以前にこんなことを書いたが、この調子だとかなりの確率で、将来、実際にやってそうだなぁ……。