最近の変更サイトマップ

zpool detachしようとしたらno valid replicasと言われたでござる

ZFSプールが手狭になったため、HDDを順繰り大容量のものにzpool replaceしてた。

$ zpool status zdata
  pool: zdata
 state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
   see: http://illumos.org/msg/ZFS-8000-8A
  scan: resilvered 8.82T in 25h57m with 2 errors on Tue Jan 23 22:47:38 2018
config:

    NAME             STATE     READ WRITE CKSUM
    zdata            ONLINE       0     0     2
      raidz1-0       ONLINE       0     0     4
        ada3p1       ONLINE       0     0     0
        ada2p1       ONLINE       0     0     0
        replacing-2  ONLINE       0     0     0
          ada1p1     ONLINE       0     0     0
          da0p1      ONLINE       0     0     0
        ada5p1       ONLINE       0     0     0
    logs
      mirror-1       ONLINE       0     0     0
        ada6p5       ONLINE       0     0     0
        ada7p5       ONLINE       0     0     0

errors: 2 data errors, use '-v' for a list

replace-2でada1p1をda0p1にreplaceしてた感じ。置き換え中のデバイスには(resilvering)表記が付くのだが、ご覧の通り上記のda0p1には付いてない。てなもんで、処理が終わったと判断し、ada1p1を切り離そうとしたら…

# zpool detach zdata ada1p1
cannot detach ada1p1: no valid replicas

と、言われてしまった所で日記タイトルなのである。

「有効なレプリカがない」とな…。ZFS暦7年目にして初めて目にするエラーでござる。errors: 2 data errors, use '-v' for a listで報告された壊れているファイルを消してもダメぽ。それどころか、、、

# zpool status -v zdata
  pool: zdata
 state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
   see: http://illumos.org/msg/ZFS-8000-8A
  scan: resilvered 8.82T in 25h57m with 2 errors on Tue Jan 23 22:47:38 2018
config:

    NAME             STATE     READ WRITE CKSUM
    zdata            ONLINE       0     0     0
      raidz1-0       ONLINE       0     0     0
        ada3p1       ONLINE       0     0     0
        ada2p1       ONLINE       0     0     0
        replacing-2  ONLINE       0     0     0
          ada1p1     ONLINE       0     0     0
          da0p1      ONLINE       0     0     0
        ada5p1       ONLINE       0     0     0
    logs
      mirror-1       ONLINE       0     0     0
        ada6p5       ONLINE       0     0     0
        ada7p5       ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zdata/NFC/data/Decomo:<0x196090>

なんやねん、zdata/NFC/data/Decomo:<0x196090>って。こうなったら神頼みのzpool scrubするしかない。

# zpool scrub zdata
$ zpool status zdata
  pool: zdata
 state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
   see: http://illumos.org/msg/ZFS-8000-8A
  scan: scrub in progress since Tue Jan 23 23:39:17 2018
        100G scanned out of 18.1T at 427M/s, 12h15m to go
        25.0G repaired, 0.54% done
config:

    NAME             STATE     READ WRITE CKSUM
    zdata            ONLINE       0     0     0
      raidz1-0       ONLINE       0     0     0
        ada3p1       ONLINE       0     0     0
        ada2p1       ONLINE       0     0     0
        replacing-2  ONLINE       0     0     0
          ada1p1     ONLINE       0     0     0
          da0p1      ONLINE       0     0     0  (repairing)
        ada5p1       ONLINE       0     0     0
    logs
      mirror-1       ONLINE       0     0     0
        ada6p5       ONLINE       0     0     0
        ada7p5       ONLINE       0     0     0

修復が始まった。replaceでのresilveringは一体なんだったのか…。しばらく放置してからプールの状態を見てみると、、、

$ zpool status zdata
  pool: zdata
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
    still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
    the pool may no longer be accessible by software that does not support
    the features. See zpool-features(7) for details.
  scan: scrub repaired 4.51T in 15h42m with 0 errors on Wed Jan 24 15:21:24 2018
config:

    NAME        STATE     READ WRITE CKSUM
    zdata       ONLINE       0     0     0
      raidz1-0  ONLINE       0     0     0
        ada3p1  ONLINE       0     0     0
        ada2p1  ONLINE       0     0     0
        da0p1   ONLINE       0     0     0
        ada5p1  ONLINE       0     0     0
    logs
      mirror-1  ONLINE       0     0     0
        ada6p5  ONLINE       0     0     0
        ada7p5  ONLINE       0     0     0

errors: No known data errors

修復が終わりデバイスの置き換えまで行われてる!

今回得た知見:

  • zpool replaceでは、新しいデバイスの再同期が終わると旧デバイスが自動でdetachされる
  • 可能ならzpool replace前にscrubでプールの状態を確認するのが吉

PS4 Proに挿してたST2000LX001が壊れた件!Seagate絶許!!

PS4 Proで使ってたSeagateのSSHD、ST2000LX001が壊れた。PS4起動中に停電に見舞われた後、そのまま帰らぬ畜生となりますた。享年11ヶ月ですた。

何度起動を試みてもエラーコードCE-34335-8「本体ストレージにアクセスできません」でPS4が立ち上がらず、セーフモードにすら入れず、おかしいと思ってHDDを取り出してPCに繋いでみるも、文字通りうんともすんとも言いやがらねーの。スピンアップを試みる気配さえ一切なし。まさに”へんじがない。ただの しかばね のようだ。”状態。

ええ、ええ、正規の手順で電源落とせなかったのが悪いってのは分かってますとも。何回かやらかしてるし…。いや、でもさ、ノートPCやポータブル用途に使われる事が前提の2.5インチHDDがさ、数回の不意の電源断で壊れるって脆すぎじゃないですかね……。他メーカーでは2.5, 3.5関係なく、こんな状況に陥ったことないし。

悪名高きST3000DM001は言うまでもなく、SeagateのHDDには過去に何度も泣かされており、不買の誓いをたてたのに購入してしまった自分への天罰なのか…。だって仕方ないじゃん、9.5mm厚に収まる2TBのHDDってキング・オブ・クソの海門しか出してないんだもん(この状況は現在も変わらず)。自分だって買いたくはなかったですよ。で、戒律を破って購入した結果がこのザマだよ!

もう絶対にSeagateは買いません。絶対に買いません。選択肢がSeagateしかなくても買いません。買いません。買いません。買いません。

とりあえず転がってたIntel DC S3500 240GBをPS4に挿したら無事セーフモードに入ったので、PS4自体は無事っぽい。このまま内蔵ストレージはSSDにして、足りない分は外付けの3.5インチ6TBを使う運用にしよう…。ちょうど鯖のHDD入れ替えで余ってたことだし……。ST2000LX001はさっさとRMAして売っぱらったるわ!

HGST HUH728080ALE604購入

リファービッシュのHGST HUH728080ALE604が安く出てたので買ったった。初ヘリウム封入HDDなんだぜ。ちなみに、タイミング良いと米尼で199ドルで売ってる。直送してくれないけど。今回のは国内購入でござる。

例によって簡単にベンチ。これまた例によってUSB 3.0接続なので参考程度に。

15628053167セクタを13時間37分でゼロフィルしたので、平均転送速度は155MB/sということに。ゼロフィル中、並行で他の作業をしていた点を差し引いてもMD05ACA800よりは遅いと言えそう。

Windowsインストール時にdiskpartで手動でパーティションを作る方法

いつごろからは知らんが少なくともWindows 10では、大規模更新時に回復パーティションの容量が不足していると、新たな回復パーティションを作るという大変お行儀の悪いことをしてくれやがる。だもんで、最近は手動でパーティションを切るようにしてるのだが、毎度やり方を忘れるのでメモ。

diskpartの起動

Windowsインストーラのパーティション設定画面でShift+F10を押すとコマンドプロンプトが開く。そこでdiskpartに入る。

パーティションの設定

GPT/UEFIで必要なパーティションと容量は下表の通り。

MS推奨

種類 ファイルシステム 容量 備考
ESP FAT32 従来100MiB、4kセクタの場合260MiB
MSR - 16MiB
Windows NTFS 最低20GiB Windowsのインストール先
回復 NTFS 最低300MiB、推奨1GiB

オレオレ構成

種類 ファイルシステム 容量 備考
ESP FAT32 512MiB 根拠:ESPの容量は512MiB以上が推奨らしい
MSR - 128MiB Windows 7ではこの容量だったので踏襲。後から足りなくなるよりはマシかと。
回復 NTFS 3072MiB 推奨容量×2+念のため1GiB
Windows NTFS 20GiB〜 パーティションを拡大・縮小する可能性があるので最後に配置

diskpartで設定

ディスクや容量は適宜読み替えてくだしあ。

GPTで初期化

select disk 0
clean
convert gpt

ESP

create partition efi size=512
format quick fs=fat32 label="System"
assign letter="S"

MSR

create partition msr size=128

回復

create partition primary
format quick fs=ntfs size=3072 label="Recovery tools"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001

Windows

create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"

list volume, list partitionで↓こんな感じになってればおk

パーティション情報のリロード

コマンドプロンプトをexitか右上のバッテンを押して終了後、パーティション設定ウィンドウの「最新の情報に更新」を押し、設定したパーティション情報を認識させる。

あとは通常通りWindowsをインストールする。

参考サイト

Excelアドインファイルの自分自身のフルパスを取得する

エクセルのVBAプロジェクトで、自身の.xlamファイルのフルパスを取得する方法。まずはコード。

' 自身のファイル名
Const kMyXlamFileName = "MyAddIn.xlam"
 
Private Function GetMyXlamFullPath()
    Dim proj As Object
    For Each proj In Application.VBE.VBProjects
        If InStr(proj.Filename, kMyXlamFileName) <> 0 Then
            GetMyAddInFullPath = proj.Filename
            Exit Function
        End If
    Next
    GetMyAddInFullPath = ""
End Function

ThisProject.Filepathみたいな感じで簡単に取れるかと思いきや、存在するVBProjectを全舐めする方法しか見つからなかった…(´・ω・`)。自身の名前をリテラルでコード内に持ってるのがイケてないが、もしxlamファイル名を変えたらExcelのアドイン設定をし直さなきゃならんので、そう易易と変えることは無いだろうってことで。

「実行時エラー'1004': プログラミングによるVisual Basicプロジェクトへのアクセスは信頼性に欠けます」エラーが出た場合は、Excelのファイル>オプション>セキュリティセンター>セキュリティセンターの設定から、マクロの設定>VBAプロジェクトオブジェクトモデルへのアクセスを信頼する、にチェックを入れるべし。

参考サイト

start.txt · 最終更新: 2016-05-07 17:46 by decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0