↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

わんこ日記 [RDF] YouTubeも始めました→


2018-11-15(Thu) [長年日記] この日を編集

[ZFS][HDD] 結果

昨日のZFSミラーのリビルドは無事に終わって、最大値は1023IOPS Throughput 123.14Mbype/secだった。

画像の説明画像の説明


2018-11-14(Wed) [長年日記] この日を編集

[ZFS][HDD] ディスク交換 3TB→8TB

先日の日記のようにHDDが壊れたようで8セクターが読めなくなったのでHDD交換をする。

従来は、3TBと4TBのzfs mirrorで、生き残った4TBを最大容量使っていないので、ミラーの生きている方を最大容量使え切るようにpartedで1MiB単位でzfs poolを最大化してからHDDを物理的に入れ替えた。

マルチユーザでブートしてから、gpartedでパテーションテーブル作ったりパティーションを未フォーマットで切った。

このへんは、昔と違ってサーバをマルチユーザで完全に起動した状態になってからGUIベースでできるので助かる。

で、zfsの玉のリプレース。リプレースするとミラーのリビルドも自動的に走る。

# zpool replace tank 2189429116797733421 ata-TOSHIBA_MD05ACA800_ZZRCK0MSZZZZ-part1

# zpool status -v

pool: tank

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 Tue Nov 13 23:50:17 2018

19.2G scanned out of 1.79T at 16.1M/s, 32h10m to go

19.2G resilvered, 1.04% done

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror-0 DEGRADED 0 0 0

ata-ST4000DM000-1F2168_Z307V2E2-part1 ONLINE 0 0 0

replacing-1 DEGRADED 0 0 0

2189429116797733421 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-TOSHIBA_DT01ACA300_66SWYX9FS-part1

ata-TOSHIBA_MD05ACA800_ZZRCK0MSZZZZ-part1 ONLINE 0 0 0 (resilvering)

errors: No known data errors

ってわけで、ミラーのリビルドには一日かかる模様。


2018-11-12(Mon) [長年日記] この日を編集

[ZFS][HDD] HDDやはり壊れた

ZFSからエラーのメールを頂いていたのを、昨日の日記で書いたけど、今日はSMARTからもメールが来た。

# smartctl -l error /dev/sdb

smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-2-amd64] (local build)

Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Error Log Version: 1

ATA Error Count: 2

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 2 occurred at disk power-on lifetime: 42730 hours (1780 days + 10 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

-- -- -- -- -- -- --

40 51 d8 a0 a2 d4 0f Error: UNC 216 sectors at LBA = 0x0fd4a2a0 = 265593504

Commands leading to the command that caused the error were:

CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name

-- -- -- -- -- -- -- -- ---------------- --------------------

25 00 00 78 a2 d4 e0 08 3d+14:16:29.677 READ DMA EXT

35 00 58 50 e7 79 e0 08 3d+14:16:29.677 WRITE DMA EXT

b0 d0 01 00 4f c2 00 08 3d+14:16:29.489 SMART READ DATA

35 00 90 e0 75 48 e0 08 3d+14:16:29.489 WRITE DMA EXT

ef 10 02 00 00 00 a0 08 3d+14:16:29.489 SET FEATURES [Enable SATA feature]

Error 1 occurred at disk power-on lifetime: 42722 hours (1780 days + 2 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

-- -- -- -- -- -- --

84 51 ba 46 83 61 08 Error: ICRC, ABRT at LBA = 0x08618346 = 140608326

Commands leading to the command that caused the error were:

CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name

-- -- -- -- -- -- -- -- ---------------- --------------------

61 00 80 00 83 61 40 08 3d+06:13:43.240 WRITE FPDMA QUEUED

61 00 50 00 82 61 40 08 3d+06:13:43.240 WRITE FPDMA QUEUED

61 00 78 00 81 61 40 08 3d+06:13:43.239 WRITE FPDMA QUEUED

61 a0 d8 10 d8 35 40 08 3d+06:13:43.239 WRITE FPDMA QUEUED

61 80 48 50 73 10 40 08 3d+06:13:43.239 WRITE FPDMA QUEUED

というとこなので、2013年12月の日記から、5年近く使ったHDDも交換だね。3TB→8TBにする。


2018-11-11(Sun) [ZFS] DISKが壊れた? [長年日記] この日を編集

ZFSでエラー発生メールを受け取る

From: root

Subject: ZFS device fault for pool 0x9773EB28D655981A on on-o.com

The number of I/O errors associated with a ZFS device exceeded

acceptable levels. ZFS has marked the device as faulted.

impact: Fault tolerance of the pool may be compromised.

eid: 40

class: statechange

state: FAULTED

host: on-o.com

time: 2018-11-11 07:25:07+0900

vpath: /dev/disk/by-id/ata-TOSHIBA_DT01ACA300_66WYX9FS-part1

vguid: 0x1E626A2E7FA04A2D

pool: 0x9773EB28D655981A

マジですか? と思っていたら自動的にscrubも実行されて、メールが来た

Subject: ZFS scrub_finish event for tank on on-o.com

ZFS has finished a scrub:

eid: 43

class: scrub_finish

host: on-o.com

time: 2018-11-11 11:00:20+0900

pool: tank

state: DEGRADED

status: One or more devices are faulted in response to persistent errors.

Sufficient replicas exist for the pool to continue functioning in a

degraded state.

action: Replace the faulted device, or use 'zpool clear' to mark the device

repaired.

scan: scrub repaired 288K in 10h36m with 0 errors on Sun Nov 11 11:00:20 2018

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror-0 DEGRADED 0 0 0

ata-ST4000DM000-1F2169_Z997V2F2-part1 ONLINE 0 0 0

ata-TOSHIBA_DT01ACA300_66SWYX9FS-part1 FAULTED 0 0 9 too many errors

errors: No known data errors

というわけで、TOSHIBAの3TB HDDでチェックサムエラーが9回発生して、too many errorsでFAULTEDになっている。

詳しく見てみると

# zpool status -v

pool: tank

state: DEGRADED

status: One or more devices are faulted in response to persistent errors.

Sufficient replicas exist for the pool to continue functioning in a

degraded state.

action: Replace the faulted device, or use 'zpool clear' to mark the device

repaired.

scan: scrub repaired 288K in 10h36m with 0 errors on Sun Nov 11 11:00:20 2018

config:

NAME STATE READ WRITE CKSUM

tank DEGRADED 0 0 0

mirror-0 DEGRADED 0 0 0

ata-ST4000DM000-1F2169_Z997V2F2-part1 ONLINE 0 0 0

ata-TOSHIBA_DT01ACA300_66SWYX9FS-part1 FAULTED 0 0 9 too many errors

errors: No known data errors

「zpool clear」してみろとのことなので、まずはSMARTと並行してエラーのクリアをしてみる

# zpool clear tank ata-TOSHIBA_DT01ACA300_66SWYX9FS-part1

# zpool status

pool: tank

state: ONLINE

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 Mon Nov 12 22:53:58 2018

338G scanned out of 1.79T at 858M/s, 0h29m to go

5.44G resilvered, 18.37% done

config:

NAME STATE READ WRITE CKSUM

tank ONLINE 0 0 0

mirror-0 ONLINE 0 0 0

ata-ST4000DM000-1F2169_Z997V2F2-part1 ONLINE 0 0 0

ata-TOSHIBA_DT01ACA300_66SWYX9FS-part1 ONLINE 0 0 0 (resilvering)

errors: No known data errors

29分待てば良いのかと思いきや、いま見ると3時間待ちなので、SMARTテストも同時実行する。

SMART shortテスト

# smartctl -t short /dev/sdb

smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-2-amd64] (local build)

Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===

Sending command: "Execute SMART Short self-test routine immediately in off-line mode".

Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.

Testing has begun.

Please wait 1 minutes for test to complete.

Test will complete after Mon Nov 12 22:47:49 2018

Use smartctl -X to abort test.

# smartctl -l error /dev/sdb

smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-2-amd64] (local build)

Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Error Log Version: 1

No Errors Logged

# smartctl -l selftest /dev/sdb

smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-2-amd64] (local build)

Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Self-test log structure revision number 1

Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error

# 1 Short offline Completed without error 00% 42719 -

# 2 Short offline Completed without error 00% 32323 -

# 3 Extended offline Aborted by host 90% 32323 -

# 4 Short offline Completed without error 00% 25958 -

# 5 Short offline Completed without error 00% 25958 -

とりあえず、shortテストはOK

SMART offlineテスト

# smartctl -t offline /dev/sdb

smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-2-amd64] (local build)

Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===

Sending command: "Execute SMART off-line routine immediately in off-line mode".

Drive command "Execute SMART off-line routine immediately in off-line mode" successful.

Testing has begun.

Please wait 23082 seconds for test to complete.

Test will complete after Tue Nov 13 05:12:42 2018

Use smartctl -X to abort test.

朝までかかるので、果報は寝て待つ


2018-06-06(Wed) [長年日記] この日を編集

Debian bugreportしました

昨日の日記のStunnel4で、compressionが使えなくなった件をバグレポートした。

Debian Bug report logs - #900896

stunnel4: "compression" configuration occurred an error

本日のツッコミ(全1件) [ツッコミを入れる]

_ わんこ [何のことない、OpenSSLで圧縮サポートされなくなってた]


2018-06-05(Tue) stunnel動かない [長年日記] この日を編集

inetdで起動しているstunnelが何故か起動しないので、手動起動すると

$ /usr/bin/stunnel4 /etc/stunnel/stun.cnf

[ ] Clients allowed=500

[.] stunnel 5.46 on x86_64-pc-linux-gnu platform

[.] Compiled/running with OpenSSL 1.1.0h 27 Mar 2018

[.] Threading:PTHREAD Sockets:POLL,IPv6,SYSTEMD TLS:ENGINE,FIPS,OCSP,PSK,SNI Auth:LIBWRAP

[ ] errno: (*__errno_location ())

[.] Reading configuration from file /etc/stunnel/httpsssh.cnf

[.] UTF-8 byte order mark not detected

[.] FIPS mode disabled

[!] No compression method is available

[!] Global options: Failed to initialize TLS

[ ] Deallocating section defaults

と、compressionの指定が有効にならずexitしている。

compression = deflate

[/etc/stunnel/stun.cnfより引用]

がダメみたい。 zlibにしてもダメなので、no compresssにしたら動くようになった。

Debianパッケージのstunnel4 3:5.45-1からcompressできなくなったようだ。


2018-05-06(Sun) [長年日記] この日を編集

Webカムからvsftpdに入れなくなっていた

Webカメラの記録をftpで、おうちさーばのvsftpdに送っているのだけど、

Mon Apr 30 06:16:36 2018 [pid 20621] CONNECT: Client "192.168.0.27"

Mon Apr 30 06:16:38 2018 [pid 20620] [ユーザ] FAIL LOGIN: Client "192.168.0.27"

って事で入れなくなっていた。

調べた結果、ログインするユーザのshellが/sbin/nologinだとだめ。

rbashならOKなので、~/.bash*をrootのものにしてPATH=$HOME/binを.bash_profilesに書いてrbashにした。

と書いてから/etc/shellsにnologinが無いことに気がつく

ちなみに/sbin/nologinというファイルもない。有るのは/usr/sbin/nologin

ということで、/etc/shellsに/usr/sbin/nologinを追記して、/usr/sbin/nologinにしたらFTPで入れるようになった。

rshよりnologinの方が安全なのでnologinで運用する


2018-04-19(Thu) [長年日記] この日を編集

Mediawiki 1.27から1.30へupgrade

で、去年同様にうごかなくなる。今回は、 DB関係の例外エラー

# /var/lib/mediawiki/maintenance/update.php

...

Adding index rc_name_type_patrolled_timestamp to table recentchanges ...done.

...rev_page_id index not found on revision.

Making pl_namespace, tl_namespace and il_to indices non-UNIQUE ...done.

Adding ct_id field to table change_tag ...Set $wgShowExceptionDetails = true; and $wgShowDBErrorBacktrace = true; at the bottom of LocalSettings.php to show detailed debugging information.

# /var/lib/mediawiki/maintenance/update.php

...

Category cleanup complete.

Populating page_props.pp_sortkey...

Populating page_props.pp_sortkey complete.

Copying IP revisions to ip_changes, from rev_id 0 to rev_id 2863

...checking 3 revisions for IP edits that need copying, between rev_ids 0 and 200

Attempted to insert 2 IP revisions, 2 actually done.

Set the local repo temp zone container to be private.

Purging caches...done.

Done in 36 s.

と一度目でエラーがでたけど、二度やったら動いた。


2018-01-12(Fri) [長年日記] この日を編集

MovableType 5.2動かなくなる

2003のMovableType 3.0の頃から、ずっと使っているMovableTypeですが、正規表現が正しくない「{」使い方が悪いとperlのバージョンアップに伴い起動しなくなってしまった。movabletype-opensoce 5.1.4パッケージや、Ubuntu(こちらの方は5.2)のパッケージをつかっていたれど、既にEOL

MovableType 6からは、ソースは、GitHub movabletype/movabletypeで公開されていものの商用は有料なので、足踏みしていたのだけど、背に腹は代えられず。Debianパッケージも無いのでソースをGitHubから取ってきて、MovableType 6.3.6に上げた。

Debianパッケージの/usr/share/movabletypeに張っていたシンボリックリンクを/usr/local/movabletypeに張り替えたり、/etc/apache/conf-d.avalable/movabletype-opensource.confのローカル版を作ったり、.htacessをコピーしたりして動くようにした。

/staticが、/mt-staticになっていたり、/mt-static/support/themes/minimalist-red/minimalist-red.cssが、/mt-static/themes/minimalist-red/screen.css に変わっているので、スタイルシートテンプレートを手直ししたりする必要も有った。

Digest::SHA1は、debianパッケージに無いので

$ dh-make-perl --build --cpan Digest::SHA1

$ sudo dpkg -i libdigest-sha1-perl.deb

でビルドしてインストール。ここで、~/.cpanや~/.local/.cpanが、sudoではなくてローカルインストールになっていて、出来たパッケージが$HOME/perl5/のファイルを含んでいて少し混乱したが、

$ dh-make-perl --cpan Digest::SHA1

ここでlib:localにsudoを指定

$ cd libgigest-share1-perl

$ dpkg-buildpackage -rfakeroot -uc -us

$ cd ..

$ dpkg-deb -c libdigest-sha1-perl_2.13-1_amd64.deb #中身確認

で、$HOMEを含まないパッケージが出来た。

Podcast用のEncolsures.pl 1.4.5.0プラグインは、昔のをそのまま持ってきた。

ついでに、既にサービスがなくなっているtrackword, trackfeedなどの切れているリンクを治した。

PodSafeのpodshow.comは、どこにいったの? テンプレートは治せるけどエントリーの中にもたくさん書き込んでいてやばい。


2017-12-26(Tue) [長年日記] この日を編集

リブートしたらdocker起動せず

リブートしたらdokcerが起動しなくなってしまった。

・/etc/docker/daemon.jsonを書き換えてからdockerをrestartしていなかったのが問題なのか?

・Debian 10(testing,buster)なのにdocker-ce 17.09を使っているのかいけないのか?

・kernel parameterに書いてある「cgroup_enable=memory swapaccount=1 systemd.legacy_systemd_cgroup_controller=yes」がまずいのか?

など疑ったけど、Troubleshooting - Kernel compatibilityのcheck-config.shでも

# check-config.sh

warning: /proc/config.gz does not exist, searching other paths for kernel config ...

info: reading kernel config from /boot/config-4.13.0-1-amd64 ...

Generally Necessary:

- cgroup hierarchy: nonexistent??

(see https://github.com/tianon/cgroupfs-mount)

[check-config.shより引用]

とエラーになっている事がわかり、cgroupfs-mountでマウントされるはずの/sys/fs/cgroup/cpu...がマウントされていないのが原因だった。

# cgroupfs-mount

mkdir: ディレクトリ `cpuset' を作成できません: 読み込み専用ファイルシステムです

との事なので、とりあえず、

# mount -o remount,rw /sys/fs/cgroup

# cgroupfs-mount

として、dockerを立ち上げることに成功した。

Dokcer 17.11をインストールした

上の調査の中で「Debian 10(testing,buster)は、docker-ce 17.11 edgeだよ。」という記述をみて

deb [arch=amd64] https://download.docker.com/linux/debian buster edge

# deb-src [arch=amd64] https://download.docker.com/linux/debian buster edge

[/etc/apt/sources.list.d/docker-ce.listより引用]

を加えて、17.11をインストールした。


Google Web検索 on-o.com内を検索