start

さくらのVPSのVNCコンソールが英語キーボードに対応!

さくらのVPSのVNCコンソールがいつの間にか英語キーボードに対応してた。「VNCコンソールを開く」をクリック後、キー配列を切り替えられるようになっている。2013年10月31日のメンテナンスで追加されたのかな?

それとカスタムISOインストールで、早速FreeBSD 9.2が選べるようになってた。神。これでZFSでLZ4圧縮が使えるぞー。

しかしあれだな、いい加減本腰入れてサーバ構築せんとあかんな…。さくらのレンタルサーバから移行しようと思い、5月にVPS借りたものの大絶賛放置中で未だ二重契約状態。やっぱり一から構築するのは中々大変だ。

VMware Fusion 6 Professionalにしてみた

VMware Fusion 6では最大16CPUに対応したとの事なので、VMware Fusion 4からアップグレードした。

これでうちの12コアMac Proで動画のエンコが捗る。

折角なのでx264 HD Benchmark 5.0.1でベンチマークしてみた。

マシンMac Pro (Early 2009)
CPUXeon L5640 (2.26GHz/6コア) × 2個
メモリDDR3-1333 ECC 4GB × 8 = 32GB (1066MHz動作)
OSOS X v10.8.5

仮想マシンはVMware Fusion 4ではCPU8個、VMware Fusion 6では8個と16個、メモリは全て8GBを割り当て。OSはBootCampパーティションのWindows 7 SP1で、環境は一緒。

同一条件で比べると、6の方が僅かに性能が良いようだ。16コア(と言っても物理12コア+論理4コアだけど)でもう少し伸びるかなーと思ったけど、それほどでもなかった。まぁ、OS X側にもリソース持ってかれてるからこんなものか。

HDD「ンッーカッチャコンカッチャコンカッチャコン ンッーカッチャコンカッチャコンカッチャコン」

ファイルサーバから表題のような、いやーな音が聞こえてきた。

恐る恐るzpool statusをしてみると…

$ zpool status
  pool: zdata3
 state: DEGRADED
status: One or more devices has been removed by the administrator.
	Sufficient replicas exist for the pool to continue functioning in a
	degraded state.
action: Online the device using 'zpool online' or replace the device with
	'zpool replace'.
 scan: scrub repaired 0 in 8h58m with 0 errors on Sun Jun 30 21:56:04 2013
config:

	NAME                     STATE     READ WRITE CKSUM
	zdata3                   DEGRADED     0     0     0
	  raidz1-0               DEGRADED     0     0     0
	    ada2p1               ONLINE       0     0     0
	    ada1p1               ONLINE       0     0     0
	    7910286219826960147  REMOVED      0     0     0  was /dev/ada0p1
	  raidz1-1               ONLINE       0     0     0
	    ada3                 ONLINE       0     0     0
	    ada5                 ONLINE       0     0     0
	    ada12                ONLINE       0     0     0
	logs
	  da1                    ONLINE       0     0     0
	cache
	  da2                    ONLINE       0     0     0
	spares
	  ada14p1                AVAIL   

errors: No known data errors

いやあああああああああああああああ!!

更にsyslogを見てみると…

Aug 19 08:11:04 Freyja kernel: ahcich0: Timeout on slot 9 port 0
Aug 19 08:11:04 Freyja kernel: ahcich0: is 00000000 cs 00000200 ss 00000000 rs 00000200 tfd c0 serr 00000000 cmd 0000c917
Aug 19 09:41:10 Freyja kernel: ahcich0: Timeout on slot 12 port 0
Aug 19 09:41:10 Freyja kernel: ahcich0: is 00000000 cs 00000000 ss 0000f000 rs 0000f000 tfd 40 serr 00000000 cmd 0000cf17
Aug 19 09:41:41 Freyja kernel: ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000080)
Aug 19 09:42:11 Freyja kernel: ahcich0: Timeout on slot 15 port 0
Aug 19 09:42:11 Freyja kernel: ahcich0: is 00000000 cs 00008000 ss 00000000 rs 00008000 tfd 80 serr 00000000 cmd 0000cf17
Aug 19 09:42:42 Freyja kernel: ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000080)
Aug 19 09:43:12 Freyja kernel: ahcich0: Timeout on slot 15 port 0
Aug 19 09:43:12 Freyja kernel: ahcich0: is 00000000 cs 00008000 ss 00000000 rs 00008000 tfd 80 serr 00000000 cmd 0000cf17
Aug 19 09:43:12 Freyja kernel: (ada0:ahcich0:0:0:0): lost device
Aug 19 09:43:43 Freyja kernel: ahcich0: AHCI reset: device not ready after 31000ms (tfd = 00000080)
Aug 19 09:44:13 Freyja kernel: ahcich0: Timeout on slot 15 port 0
Aug 19 09:44:13 Freyja kernel: ahcich0: is 00000000 cs 00078000 ss 00078000 rs 00078000 tfd 80 serr 00000000 cmd 0000cf17
Aug 19 09:44:14 Freyja kernel: (ada0:ahcich0:0:0:0): removing device entry
Aug 19 09:44:17 Freyja kernel: ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
Aug 19 09:44:17 Freyja kernel: ada0: <ST3000DM001-9YN166 CC4B> ATA-8 SATA 3.x device
Aug 19 09:44:17 Freyja kernel: ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
Aug 19 09:44:17 Freyja kernel: ada0: Command Queueing enabled
Aug 19 09:44:17 Freyja kernel: ada0: 2861588MB (5860533168 512 byte sectors: 16H 63S/T 16383C)
Aug 19 09:44:17 Freyja kernel: ada0: Previously was known as ad4
Aug 19 09:44:30 Freyja kernel: ahcich0: Timeout on slot 18 port 0
Aug 19 09:44:30 Freyja kernel: ahcich0: is 00000000 cs 00040000 ss 00000000 rs 00040000 tfd c0 serr 00000000 cmd 0000d217
Aug 19 09:44:30 Freyja kernel: ahcich0: Error while READ LOG EXT

凄く・・・ご臨終です・・・・。

8/19ってことは、実家帰省のさなか延々カッコンカッコンしてたのか…。RAID-Z1なのでガクブルもの。てか、ホットスペアを自動で使ってくれないのね。何でだろう?

取りあえず、手動でお亡くなりになったHDDとスペアを置き換える。

まず、死んだHDDをプールから切り離す。

$ sudo zpool offline zdata3 ada0p1
$ zpool status zdata3
  pool: zdata3
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
	Sufficient replicas exist for the pool to continue functioning in a
	degraded state.
action: Online the device using 'zpool online' or replace the device with
	'zpool replace'.
 scan: scrub repaired 0 in 8h58m with 0 errors on Sun Jun 30 21:56:04 2013
config:

	NAME                     STATE     READ WRITE CKSUM
	zdata3                   DEGRADED     0     0     0
	  raidz1-0               DEGRADED     0     0     0
	    ada2p1               ONLINE       0     0     0
	    ada1p1               ONLINE       0     0     0
	    7910286219826960147  OFFLINE      0     0     0  was /dev/ada0p1
	  raidz1-1               ONLINE       0     0     0
	    ada3                 ONLINE       0     0     0
	    ada5                 ONLINE       0     0     0
	    ada12                ONLINE       0     0     0
	logs
	  da1                    ONLINE       0     0     0
	cache
	  da2                    ONLINE       0     0     0
	spares
	  ada14p1                AVAIL   

errors: No known data errors

それから、スペアと入れ替える。

$ sudo zpool replace zdata3 ada0p1 ada14p1
$ zpool status zdata3
  pool: zdata3
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
	continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scan: resilver in progress since Sat Aug 24 10:42:18 2013
    53.5M scanned out of 10.1T at 4.86M/s, 602h18m to go
    8.17M resilvered, 0.00% done
config:

	NAME                       STATE     READ WRITE CKSUM
	zdata3                     DEGRADED     0     0     0
	  raidz1-0                 DEGRADED     0     0     0
	    ada2p1                 ONLINE       0     0     0
	    ada1p1                 ONLINE       0     0     0
	    spare-2                OFFLINE      0     0     0
	      7910286219826960147  OFFLINE      0     0     0  was /dev/ada0p1
	      ada14p1              ONLINE       0     0     0  (resilvering)
	  raidz1-1                 ONLINE       0     0     0
	    ada3                   ONLINE       0     0     0
	    ada5                   ONLINE       0     0     0
	    ada12                  ONLINE       0     0     0
	logs
	  da1                      ONLINE       0     0     0
	cache
	  da2                      ONLINE       0     0     0
	spares
	  8748654380753058766      INUSE     was /dev/ada14p1

errors: No known data errors

replaceコマンドの応答がなかなか(十数秒)返ってこず、少し焦ったw 3TBのHDD買ってこないとだな…。

それにしても、自分はSeagateとの相性がすこぶるよろしくない。HDDは去年の6/20に買ったものなので、1年ちょいでお亡くなりという事に。昔使ってた鯖でも、Seagate製が1年足らずで死んだんだよなぁ。RMAで動作品に交換出来ると思うが、さっさと売って新HDD費用の足しにしよう……。

(2014/8/25 1:18追記)

10TBのプールを10時間ほどでリビルド完了。

死んだHDDを切り離す。

$ sudo zpool detach zdata3 ada0p1
$ zpool status zdata3
  pool: zdata3
 state: ONLINE
 scan: resilvered 2.37T in 10h6m with 0 errors on Sat Aug 24 20:49:04 2013
config:

	NAME         STATE     READ WRITE CKSUM
	zdata3       ONLINE       0     0     0
	  raidz1-0   ONLINE       0     0     0
	    ada2p1   ONLINE       0     0     0
	    ada1p1   ONLINE       0     0     0
	    ada14p1  ONLINE       0     0     0
	  raidz1-1   ONLINE       0     0     0
	    ada3     ONLINE       0     0     0
	    ada5     ONLINE       0     0     0
	    ada12    ONLINE       0     0     0
	logs
	  da1        ONLINE       0     0     0
	cache
	  da2        ONLINE       0     0     0

errors: No known data errors

ada0がケース内のどのHDDなのか特定するには、HDDの型番とシリアル番号が分かればいいので、通常はcamcontrol identify ada0すればOK。 ただし今回はada0の情報が全く表示されなかったため、生きている同型のHDDを1つずつidentifyし、死んだ玉を消去法で探し当てた。

Apache 2.4でアクセス制御の書式が変わっていた件

Apache 2.4でバーチャルホスト環境を構築し、サイトにアクセスしてみたらForbiddenになった。

公開ディレクトリまでのパーミッションは何度確認しても755だし、意味わかんねー!!とファビョってても仕方ないので、エラーログを見ると「AH01630: client denied by server configuration: /path/to/public_html」とな。

ググってみると、アクセス制御を適切に設定せよと。

設定してるはずなんだけどなぁ、と思い更にググってみるとApache 2.4でアクセス制御の書き方が変わったと。

<Directory /path/to/public_html>
    Order allow,deny
    Allow from all
</Directory>

こーんな見慣れた書式から

<Directory /path/to/public_html>
    Require all granted
</Directory>

こーんな風になったと。

とりあえず、新書式にしたら無事アクセス出来た。

教訓:ログはしっかり見よう!

FreeBSDでNetatalkのログをローテーションさせる

Netatalkのログを見ようと思い立ちcat /var/log/netatalk.logしてみたら、ダダダーっとログが表示され一向に終わる気配がなかった。じーっと眺めてみると、3ヶ月前の日付が見える。ついでに、ログの粒度が物凄く細かい。

そういえばHATさんにログを提供するためにlog level = default:maxdebugにしてたなーと思いつつ、ログファイルのサイズを確認したら20GBまで膨らんでたwww Netatalkのボリュームに同時アクセスすると、パフォーマンスが一気に落ちたり不安定だったのはこいつのせい?

maxdebugを止めるのは当然として、ログローテーションも行う事にした。

/etc/newsyslog.confに以下の一文を付け加え、# newsyslogすればよさそう。syslogのデフォルト設定に倣い、100KBでローテーションさせ、履歴は5つbz2圧縮で保持するようにした。

/var/log/netatalk.log			644  5	   100	*     JC
  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo