ktmr のすべての投稿

ポート開放が要らないVPN

背景

自宅回線をMoneyForwd 光に変更した結果、v6Plus接続になりダイナミックDNS等でのVPN接続は難しくなったしまったので、別の方法を探していました。

やりたいこと

  • 自宅のHEMSなどにiPhoneからアクセスしたい
  • UGREEN NASyncのdockerコンテナで実現したい

TailScale

探した結果、TailScaleというサービスがあることを知りました。イメージとしてはクラウド上にあるルーターにVPN接続したい機器がVPNを張りに行ってそこでルーティングしてもらう感じですね。なので、OUT方向が通れば固定IPやポート開放ができなくてもOKです。

TailScaleはPersonalプランという無償プランがあります。 3 Users 100 Devicesまで無料というなんとも太っ腹なサービス! 素晴らしい(笑)

早速やってみる

  1. iPhoneでTailScalアプリをダウンロード
  2. 新規にアカウント作成してVPN接続!
  3. PCからTailScalの管理ページに入りSettings -> Keysで Auth KeysをGenerate Auth keyをポチっとと押してキーを払い出しコピーしておく
  4. UGREEN NASyncでdockerアプリからプロジェクト作成で適当なプロジェクト名(vpnなど)と保存パス(docker様にアサインした共有フォルダがいいでしょう)を指定して、以下の内容をCompose設定に記載して今すぐデプロイ!
version: "3.8"

services:
  tailscale:
    image: tailscale/tailscale:latest
    container_name: tailscale
    hostname: nasync
    network_mode: "host"
    privileged: true
    volumes:
      - /var/lib:/var/lib
      - /dev/net/tun:/dev/net/tun
    environment:
      # Tailscale 管理画面で作成した AuthKey を入れる
      - TS_AUTHKEY=tskey-auth-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      # LAN 全体 (192.168.1.0/24) を iPhone に広告
      - TS_EXTRA_ARGS=--advertise-routes=192.168.1.0/24
    restart: unless-stopped
  1. TailScaleの管理ページからMachinesを見ると、iPhoneとnasyncが繋がってるはず!nasyncの…からEdit route settingsを選んで目的のサブネットにチェックを入れて保存すればそのサブネットに行けるようになります。

Machines Edit Route Settings

超簡単で素晴らしい!(^_^)/

HP ProNote Aero G8 Bluetoothが見えなくなる

原因は定かではないのですが、Windows 11 24H2累積更新(KB5062553)を適用したあたりからBluetoothホストが完全に見えなくなり、一切のBluetoothが使えなくなりました。

とりあえず、BIOSで有効になっているかの確認をしたり、HP System Diagなど掛けたりした結果、いつの間にか見えてました。。。(恐らく、タイミング的にはSystem Diagだと思います。詳細モードでテストした結果オールクリアでした。)

まぁ、釈然としないですが、以前にもUSB給電での充電ができないという問題があったなぁ。。。

HP ProBook 635 Aero G8でtype-c給電できない | Lamb EDEN

SoftBank光からマネーフォワード光に乗り換えた話

値上がりを機に脱SoftBank完了です。移行先はMoneyForward光という家計簿サービスマネーフォワードのコラボ回線で USEN NETWORKSが運営しているUSEN光01というサービスのコラボ商品です。PPPoEは払い出さず、v6プラスのみの提供にある代わりに戸建てで税込み4950円しかもMoneyForward MEのプレミアムサービス・スタンダード(月額500円)が無料になるという私にとってはとても嬉しいサービスです 🙂

切り替えすったもんだ

切り替えは以下の手順で進んでいくんですが、切り替え当日、SoftBank光が終了せず、USEN側の作業が進まずビビりました。。。

  1. MoneyForward光に仮申し込みする
  2. SoftBank光に事業者変更承諾番号を発行してもらってUSENに連携
  3. 当日にSoftbankのモデムを外しておく?(これが必要?私は繋いだままだったらいつまで経っても切り替わりませんでした。。。)
  4. SoftBankのユーザページ(解約手続きすると開設される)でステータスを確認
  5. ルーターの再起動(IPv6アドレスが変わるのでrenewコマンド叩くか、まぁ、再起動した方が楽)

以上

速度は?

SoftBank光PPPoE接続( 7/31 19:00ごろ)
MoneyForward光(USEN光01) (8/1 20:00ごろ)

MoneyForward光の方が微妙に遅い気もするけど、まぁ、誤差レベル?これで、MoneyForward料金込みだと月千円くらい下がるなら全然いいです。しかし、なんでISPがauとでてるんだろう?昔auのアドレス空間だったとかですかね。まぁ、そもそもJPIXのv6プラスサービス使ってるのでJPIXのIPな気がしますが。

注意点

MoneyForward光はv6プラス形態の接続です。ユニークGlobalはアサインされず、ポート番号をいくつか割り振られる感じのようです。なので、公開サーバとかしたい人には向かないです。

ちなみに、UGREEN NASはUGREEN Linkサービスを使えば普通に使えます 🙂

QNAP TS-230 to UGREEN DXP2800 番外編

前回の記事で書いていたHEIC写真とJPGファイルの重複を何とかできないものかとNASyncの重複写真・類似写真検索やPCツールのDupFileEliminatorなどを試した見たのですが、検出されなかったので、chatGPTに相談した結果、何度かやり取りをした結果スクリプトが完成しました(^_^)/

ただし、もっと簡単な方法はUGREENが取ったバックアップからQNAP QuMagieでバックアップしていた日以前のHEICファイルを消してしまうことです。そうすれば、それ以前のデータはJPGで残っているわけですが重複は発生しません。まぁ、これが一番楽だと思います。

今回は、HEICとJPGの同じ写真を同じ写真として区別できるのかをテーマに実験してみました。

Pythonを使ったプログラムなのですが、Windows版Pythonだと HEICの処理がうまくいかなかったのでWSLのUBUNTU 22.04上で実行しました。

一発で目的の物が出てくることは稀ですがうまくいかない場合はエラー内容などをChatGPTに伝えれば対策を教えてくれます。素晴らしい。

方針

  1. 方針 HEICと JPG をハッシュ比較1して同じ写真を検出する
  2. 比較して同じ写真のペアを作る
  3. 確認用にファイルをコピー
  4. 人が確認して2問題なければ削除実施3

脚注

  1. フォーマットが違うのでハッシュ比較するために一旦、どちらの画像もPIL.Imageという形式に変換してハッシュを取っているようです。 ↩︎
  2. 比較用に./compare_outputフォルダにcompare.htmlと対象写真のコピーを作成してくれる仕様なんですが、写真が大きいので大量に読み込むとブラウザが固まってしまって使いもにならなかったので比較はExplorerで特大アイコンモードで見比べました。1つも間違ってませんでした。素晴らしい。 ↩︎
  3. 削除は比較スクリプトが吐き出したmatched_files.txtというリストをもとに削除します。 ↩︎
比較スクリプト
import os
from PIL import Image
import pyheif
import imagehash
from pathlib import Path
import shutil

# === 設定 ===
HEIC_ROOT = Path("<HEICファイルのパス>")
JPG_ROOT = Path("<JPGファイルのパス>")
OUTPUT_DIR = Path("compare_output")
MATCH_LIST_FILE = Path("matched_files.txt")
HASH_FUNC = imagehash.phash

# === 準備 ===
OUTPUT_DIR.mkdir(exist_ok=True)
heic_hashes = dict()
matched_pairs = []
heic_total = 0
jpg_total = 0
heic_errors = 0
jpg_errors = 0

print("🔍 HEICファイルをスキャン中...")
#print(f"📁 HEICルート: {HEIC_ROOT}")
#if not HEIC_ROOT.exists():
#    print("❌ 指定したHEICフォルダが存在しません。パスを確認してください。")
#    exit(1)
#else:
#    print("📂 HEICフォルダ一覧:")
#    for path in HEIC_ROOT.rglob("*"):
#        print("   ", path)

#for heic_file in HEIC_ROOT.rglob("*.heic"):
for ext in ["*.heic", "*.HEIC"]:
    for heic_file in HEIC_ROOT.rglob(ext):
        try:
            heif = pyheif.read(heic_file)
            image = Image.frombytes(heif.mode, heif.size, heif.data, "raw", heif.mode)
            h = str(HASH_FUNC(image))
            heic_hashes[h] = heic_file
            heic_total += 1
        except Exception as e:
            print(f"⚠️ HEICエラー: {heic_file} → {e}")
            heic_errors += 1

print(f"📸 HEIC読み込み成功: {heic_total} 件 / エラー: {heic_errors} 件")

print("📋 JPGファイルと照合中...")
for ext in ["*.jpg", "*.JPG"]:
    for jpg_file in JPG_ROOT.rglob(ext):
        try:
            with Image.open(jpg_file) as image:
                h = str(HASH_FUNC(image))
                if h in heic_hashes:
                    matched_pairs.append((jpg_file, heic_hashes[h]))
                jpg_total += 1
        except Exception as e:
            print(f"⚠️ JPGエラー: {jpg_file} → {e}")
            jpg_errors += 1

print(f"📸 JPG読み込み成功: {jpg_total} 件 / エラー: {jpg_errors} 件")
print(f"🔗 一致したペア数: {len(matched_pairs)}")

# === HTMLと画像出力 ===
html_lines = [
    "<html><head><meta charset='utf-8'>",
    "<style>body{font-family:sans-serif;} img{max-width:300px; margin:5px;} .pair{margin-bottom:40px;}</style>",
    "</head><body><h1>HEIC vs JPG 比較結果</h1>"
]

with open(MATCH_LIST_FILE, "w", encoding="utf-8") as f:
    for i, (jpg_path, heic_path) in enumerate(matched_pairs):
        base = f"pair_{i}"
        jpg_out = OUTPUT_DIR / f"{base}_jpg.jpg"
        heic_out = OUTPUT_DIR / f"{base}_heic.jpg"

        try:
            shutil.copy2(jpg_path, jpg_out)

            heif = pyheif.read(heic_path)
            heic_img = Image.frombytes(heif.mode, heif.size, heif.data, "raw", heif.mode)
            heic_img.save(heic_out, "JPEG")

            html_lines.append(f"<div class='pair'><h3>{base}</h3>")
            html_lines.append(f"<p><b>JPG:</b> {jpg_path}<br><b>HEIC:</b> {heic_path}</p>")
            html_lines.append(f"<img src='{jpg_out.name}' alt='JPG'>")
            html_lines.append(f"<img src='{heic_out.name}' alt='HEIC'>")
            html_lines.append("</div>")

            f.write(str(jpg_path) + "\n")
        except Exception as e:
            print(f"⚠️ 出力失敗: {jpg_path} / {heic_path} → {e}")

html_lines.append("</body></html>")
with open(OUTPUT_DIR / "compare.html", "w", encoding="utf-8") as f:
    f.write("\n".join(html_lines))

print(f"✅ 完了!{len(matched_pairs)} ペアを {OUTPUT_DIR}/ に保存しました。")
print("🖼 `compare_output/compare.html` をブラウザで開いて確認してください。")
print(f"📝 削除対象候補リスト: {MATCH_LIST_FILE}")

削除スクリプト

from pathlib import Path

MATCH_LIST_FILE = Path("matched_files.txt")
deleted = 0

if not MATCH_LIST_FILE.exists():
    print("❌ matched_files.txt が見つかりません。先に比較スクリプトを実行してください。")
    exit(1)

with open(MATCH_LIST_FILE, "r", encoding="utf-8") as f:
    jpg_paths = [Path(line.strip()) for line in f if line.strip()]

print(f"🗑 削除対象 JPG 数: {len(jpg_paths)}")
for jpg_path in jpg_paths:
    if jpg_path.exists():
        try:
            jpg_path.unlink()
            print(f"✅ 削除: {jpg_path}")
            deleted += 1
        except Exception as e:
            print(f"⚠️ 削除失敗: {jpg_path} → {e}")
    else:
        print(f"⚠️ ファイル存在しない: {jpg_path}")

print(f"✅ 削除完了: {deleted} 件")

まとめ

Python書けない私ですがChatGPTを使えば実用的なものができてしまうという素晴らしいですね。ただし、HEICとJPGではアルゴリズムの違いにより復元したRAWデータに差異が出てしまい完全には拾いきれず、結構違う写真として判断されてしまってるものが残ってしまいます。これは中々難しい問題です。まぁ、実用的には撮影情報からその日以前のHEICファイルを消した方が速いと思います(あるいは逆の方法でJPGを)

蛇足

何枚かHEICファイルじゃないってエラーが出たので調べてみたのですが、iPhoneの画像ファイルで.HEICなのにJPGなものがあるようです。iPhoneのBUG?

$ file IMG_xxxx.HEIC: ISO Media, HEIF Image HEVC Main or Main Still Picture Profile

$file IMG_yyyy.HEIC: JPEG image data, JFIF standard 1.01, aspect ratio, density 72×72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=12, manufacturer=Apple, model=iPhone 12, xresolution=174, yresolution=182, resolutionunit=2, software=16.6, datetime=2023:09:11 15:33:46, hostcomputer=iPhone 12], baseline, precision 8, 4032×3024, components 3

さらに蛇足ですが、Pythonってループとかの構造を{}で囲ったりせず、インデントで判断するんですね。。。新鮮でした。インデントずれてたらエラーになったのでビビりました。

中華製無線802.11ahブリッジを買ってみた

我が家のガレージにはWiFiは届かない。まぁ、携帯電波は入るのでそれでもいいのだが。ふと、Amazonで900MHz帯のIEEE 802.11ah(Wi-Fi HaLowtm)を見つけたのでつい買ってしまった(笑)

早速、接続テスト

TXとRXと書いた見た目同じ箱が2つ。TXからRXを複数繋ぐこともできる様だ。設定は特に要らず、ただ電源とLANケーブル繋ぐだけ。今回はTP-LinkのRE200という中継器をAPとして繋いで測定しました。

結果、1F-2F間で普通にWiFi飛ぶ範囲なのにアンテナ強度「中」。

通信速度は下り 8.42Mbps、上り 7.53Mbps。理論値が16Mbpsなので、まぁ、こんなもんか。にしても1F-2Fはアンテナ強度「高」になって欲しかった。。。

で、問題のガレージへ。アンテナ強度「低」、写真撮り忘れた。。。速度は倉ぢ2.45 Mbps、上り1.47Mbps。まぁ、通信できてるっちゃできてるんだけど。

ちなみに、楽天モバイルでの通信はこんな感じです。

結論

まぁ、使えるっちゃ使えるけど、これ、7000円くらいするんだよね。。。あんまりコスパよくないかも。。。

QNAP TS-230 to UGREEN DXP2800 使い勝手レポート編

まだ、QNAP TS-230から完全な移行はできてないのですが、使ってみた感触をレポートしていきたいと思います。

写真

  • iPhoneで写真のバックアップをすると、HEICのままバックアップされるのだが、サムネイルの作成は問題なし。写真をクリックするとなぜか小さな写真が表示される。「元の画像を見る」ボタンを押すと元の写真が表示される。負荷低減ってことなのかな。
  • 共有写真を作りたい場合、ファイルアプリからフォルダを作ると写真アプリから見えない。写真アプリから共有ギャラリーを作るという仕様のようだ。
  • 人物識別はQuMagieよりは正確だと思う。識別速度もすぐにって訳にはいかないけど、ちょっと待てば反映される感じなのでストレスはない感じ。ただし、識別が間違っている場合、認識したグループとグループを結合することは可能だが、同じグループに分類してしまっているものを分けたり、新たに顔を指定して認識させたりといったことはできない様だ。GooglePhotosの様にこれは同じ人物ですか?とか聞いて精度を上げる仕組みを入れて欲しい。それと、AI認識系の処理にほとんどGPUを使ってない様に見える。認識がバリバリに走ってるときでもGPU使用率が20%程度なので、是非活用して処理速度を上げて欲しい。
  • QuMagieから写真の撮影日付を変えるとファイルのEXIF情報じゃなくてQuMagieのメタファイルに記録するので、他の写真管理ソフトに取り込むと全部消えるのですが、UGREENの写真アプリはちゃんとファイルのEXIF情報を書き換えていた。ただし、複数の写真を選択して一気に日付を変えることはできない。
  • AI認識ジョブがどこまで進んでるかは各ルーザーの写真アプリでしか分からない。管理者アカウントのタスクセンターに出して欲しい。
要望
  • 人物識別の修正をできるようにして欲しい。これは同じ人物ですか?の機能も付けて欲しい。
  • 複数の写真を選択して撮影日を変更できるようにして欲しい→これはできた。右クリックとかではなく、選択中は黒帯のメニューが出ていて、・・・から「撮影日時を編集する」で直せる。→が、大量に選択して日時を変更すると何枚かが変更されずに残る。。。BUG?
  • AI処理にGPUを利用する様にして欲しい(速くなるなら)
  • AI処理の進行状況を管理者のタスクセンターに表示して欲しい
  • HEICとJPGで同じ写真を重複検出できるようにして欲しい(これ、類似写真検出にも引っかからない。。。)
  • 写真お回転させてもその場の表示が回転するだけで保存はされないので写真を回転して保存して欲しい

バージョンマネージャー

  • バージョンマネージャーは同期とバックアップでバージョン保持を有効にする必要があると書いてあるんだけど、有効にしなくてもバージョンマネージャー側の設定でバージョン保留を有効にすれば履歴が見えてる気がする。。。どっちが正しいんだろ?「保持」と「保留」ってのは翻訳の揺れなのかなぁ。。。

あと、これSMBでPCから見てる時にWIndows側から以前のバージョンからは見えないのね。残念。

https://support.ugnas.com/#/detail/eyJpZCI6MjgyLCJ0eXBlIjoidGFnMDAxIiwicGF0aENvZGUiOiJwcm8wMDIsYVR0cjlhLHlVUlRWdSIsImxhbmd1YWdlIjoiemgtQ04iLCJjbGllbnRUeXBlIjoiUEMiLCJhcnRpY2xlVmVyc2lvbiI6IiJ9

要望
  • Windowsの以前のバージョンから履歴が見えるようにして欲しい

同期とバックアップ

QNAPのHBS3はローカルのRsyncなどの他にもS3などへのバックアップが可能になっている。しかしUGREENの同期とバックアップはRsync同期はある様だけどクラウドストレージへのバックアップ機能はない様だ。他に、クラウドドライブというアプリもあるのだけどこちらもS3への同期は不可(現時点でGoogle DriveとOneDriveだけ対応)

要望
  • S3 Deep Archiveなどへのバックアップ機能を作って欲しい。

テキストエディター

  • 複数ファイル開いている時にマウスホイールでスクロールすると全部のタブでスクロールしちゃう?
要望
  • マウスホイールでスクロールはカレントタブだけにして欲しい
  • 置換機能で選択範囲だけの置換ができるようにして欲しい

Docker

  • dockerフォルダーをSMB共有掛けるとDockerコンテナから読めなくなることがある?原因よよくわからない。。。

温度

室温30℃湿度63%の環境でCPU温度が80℃まで上がることがある。FANが高速になりすぐに下がるので問題ないと思うけど、FAN設定をフルスピードにすると75℃くらいまでしか上がらなくなるけど、それなりにうるさい(笑) 消費電力はピークで40Wくらいかな。構成はM.2 SSD Gen3 256GB x2 HDD 12TB 7200rpm x2 です。

もう1つ気になるのがHDD1がHDD2より2,3℃高いことですね。SSDスロットがHDD1の側面にあるのでその影響だと思うのですが、HDD温度が50℃ってのはちょっと高いと思います。

トラブル

  • SMR HDDは使わない方がいい

トラブル編にも書いたけど、SMRのディスクはやめた方がよさそうです。QNAP TS-230では大丈夫だったんですが、高速な分、HDDへの要求も高いみたいです。不安案人は互換リストにあるHDDを利用しましょう。

Y!mobileやめたらSoftbank光の値段が上がった

モバイルをY!mobileから他社に乗り換えたら一緒に入ったSoftbank光の値段が6,660円(税抜き)に上がった。。。なんか1000円くらい上がってるんですけど。。。

どうも、サポートに聞くとY!mobileをやめたことにより、Wifiマルチパックが外れて個別オプション契約になっていると。。。なんじゃそりゃ。

もういいや。Softbankさんさようなら。

という訳で、元々移行しようと思っていた、マネーフォワード光に移行することにしました。戸建て1Gで税込み4950円です。

が。大丈夫だろうとたかをくくっていたんですが、まさかのルーターが対応してねー(笑)

私のルーターはYAMAHA RTX810というかなりのお年寄りなのですが、最近もう新しいファームも出ておらず機能アップの対象からは外れている機器ですね。

前に楽天モバイルでクロスパス接続はできたので問題ないだろうと思っていたのですが、マネーフォワード光はv6プラスという形式が使えないとだめだと。しかも、PPPoEも提供されないそうで。。。これやばいじゃん。

ま。考えても仕方ないのでメルカリでRTX1210を買うことにw

RTX830と悩んだんですが、RTX 830 は19,000円くらいが相場で、RTX1210が16000円くらいが相場みたいで、私は15000円程度で出てる業者払下げのちょっと傷物君を買うことに。

まぁ、LANマップやSNMPの64bitカウンターなんかも使えなくて困っていたのでまぁ、いいか(笑)

マネーフォワード光繋いでみたらまたレポートしまーす。

ちなみに、今のSoftbank光はこんな感じ。結構早いんですよね。しかもこれ、PPPoEだよ。

2025/7/15 18:30ごろ

p.s. 2025/7/16

やっちまった。perplexityのハルシネーションに引っかかった。。。RTX1210は64bitカウンターに対応してないじゃん。

YAMAHA RTX810はSNMPの64bitカウンター(ifHCInOctets/ifHCOutOctets)には対応していません
ヤマハ公式FAQによると、64bitカウンターに対応している機種は限定されており、RTX810は含まれていません1

また、RTX810のSNMP機能について解説している他の資料でも、64bitカウンターに関する記載はなく、32bitカウンターのみの対応となっています45

そのため、RTX810で1Gbps以上のトラフィックを正確に監視する場合、32bitカウンターのラップアラウンド問題を回避する方法はありません
より新しい機種(例:RTX830、RTX1210など)では64bitカウンターに対応しているため、高速回線の監視にはこれらの機種を利用することが推奨されます1

  1. https://www.rtpro.yamaha.co.jp/RT/FAQ/SNMP/snmp-counter.html
  2. https://www.rtpro.yamaha.co.jp/RT/docs/snmp/index.html
  3. https://www.harumaki.net/2011/05/12/snmp_32-bit_counters_rtx120/
  4. https://www.mikan-tech.net/entry/2020/05/22/210135
  5. https://changineer.info/network/yamaha_router_rtx/yamaha_router_rtx_snmp_example.html
  6. https://shop.emission.jp/categories/4503272
  7. https://nttwest.ssdl1.smartstream.ne.jp/nttwest/flets/solution/kiki_info/software/firmware/rtx830/ReleaseNotes_Rev.15.02.05.pdf
  8. https://www.ysk.co.jp/yskfair2024/cms/wp-content/uploads/2024/04/274e3a53e55c37b36a1f8b4b3b86e0cb.pdf
  9. https://ex1.m-yabe.com/archives/6786

っていうからリスト見てみたら
64bitのMIBカウンターに対応している機種は以下になります。それ以外の機種は32bitとなります。ってばっちり書いてあるじゃん。。。(;_;

vRXシリーズすべてのリビジョン
RTX3510
RTX1300
RTX83015.02.03 以降

RTX830にしとけば64bitカウンター行けたのねしょぼーん。

まぁ、本命のv6プラスには間違いなく対応してる様なので良しとするか。。。

QNAP TS-230 to UGREEN DXP2800 トラブル編2

前回からの続きです。結局、戻ってこず、諦めました。今は、HDDがRead-Onlyになっちゃってるので抜いて挿しなおしたら復帰しないかとダメ元でやってみたら。。。見事に死亡(笑)よい子の皆さんは消してまねしないですください。

まぁ、ここまで壊れればサクッと諦めて新たに買ったHDDで新規にストレージプールを組むことに(笑)

新しいディスクは昨日お話しした通りSkyHawk AI 12TBという監視カメラとか用に開発されたHDDでそもそもエンタープライズ向けのHDDを整備して払い下げてる?感じなんだと思います。型番がST12000VE007とあんまり見かけない型番でした。まぁ、CMRだし結構早くてエラーも出てないです。ちなみに、再生備品といってもS.M.R.Tを見る限り新品でした。

今回は2本あるので最初からRAID1で組みます。同期には13時間かかると出てました。この状態でも既に利用可能です。ただし同期が遅くなります。試しに200GB弱コピーしてみたら、同期完了予定が16時間21分に伸びてしまった(笑)おとなしく待っているのが良いでしょう。

といいつつ、ついやってしまう。ベンチマーク。裏で同期が走ってるので(といっても優先順位を下げてるのでユーザアクセスがあると同期を後回しにしてくれる)少し影響あるかもしれないけど、結構早かった。SSDキャッシュはまだ入れてません。

買ったディスクも中々速いです。これ、SSD要らなかったんじゃ。。。

うん。やっぱSSDキャッシュ要らないな。。。というか、買った安物のSSDがランダムアクセス遅いんだね。。。でもRND4Kはもう少し早くなってもいい気がするよなぁ。キャッシュアルゴリズム問題?

SSDをストレージプールとしてアクセスした場合

まぁ、なんにしてもこれで晴れてフル装備状態になりました。これから使い倒してみようと思います 🙂

QNAP TS-230 to UGREEN DXP2800 トラブル編

朝見たらDXP2800がエラーを起こしてました。。。アプリが利用できない状態になっており、調べてみるとストレージシステムの状態が「重大」と。。。

エラーが起きてるからリードオンリーになってるよと。

HDD、SSDの状態は正常??

ここで昨日追加したSSDキャッシュがエラってるかと思って、SSDキャッシュの削除を実施しちゃったんですよね。。。これが悪手でした。ずっと、SSDをカリカリ読んでるけど、書き戻しが一向に進まない。。。

ここでサポートに連絡してヘルプを求めたのですが、原因はHDD側でした(;_; とりあえず、手元にあったArchiveHDDっていうSMRのディスクを使ったのですが、こいつが頻繁にエラーを起こしているようで。確かにRsync中に少し固まることが何度かあったんですよね。。。

HDDは互換リストにあるものを利用してくださいと。まぁ、ごもっともで。。。

https://nas.ugreen.jp/pages/compatibility

実はもう互換性にないHDD買っちゃったんですよね。アマプラで(笑)

一応CMRだけとNAS用という訳ではなく、監視カメラとか用のSkyHawkってディスクですね。当然サポートは保証しないやつですね。

こっちも互換リストにはないですがNAS用って明記されてて14TBでそんなに値段変わらないのでこれのがよかったかなぁ。。。まぁ、あんまり変わらないと思うけど。

まぁ、不安な人は互換リストに載ってるHDDを使ってください(笑)

さて、どうしたものか。まぁ、データはまだQNAPにあるので、大丈夫なんですが、コンテナとかも作り直しだしめんどくさいよね(-_-;

実はQNAPの方も1本HDDが怪しくなってきててS.M.A.R.Tで以上セクターが32あるって出てるんですよね。。。

まぁ、このあたりが自宅NASを持つってことですよね。私は趣味なので問題ないですが、これ、一般の人管理できるのかなぁ?とも思いますね。RAIDは間違うとデータ飛ばしますからね。特にRAID5。私は怖いのでRAID1しか組まないですが。今回、SSDキャッシュ一抹の不安はあったんですよねぇ。問題はHDD側でしたが、仮にHDDの問題でも単なるRAID1のディスク不良ならディスク交換すれば再同期して終了なので。やっぱ、シンプルにRAID1だけで組もうかなぁ。。。

明日まで待って復帰しなかったら明日届く、HDDを入れて新規に作り直そう。。。

QNAP TS-230 to UGREEN DXP2800 SSDキャッシュ編

結局SSDも買ってしまいました(笑)。SSDのライトキャッシュを有効にするためには2枚いるそうなのでfanxiangなる中華メーカーの安い250GB SSDを2枚買いました。

DXP2800ってSSDスロットがHDDスロットの側面にあるんですが。想像はしてましたがいやー入れんくいですね。まぁ、慣れれば大丈夫ですが。

まずはSSDの速度測定

SSDキャッシュに組み込む前にまずはRAID1を組んでストレージプールとして使ってみます。はい。シーケンシャルは問題なく、ワイヤーレート付近まで出てんすね。ランダムは遅いですね。安物TLCだからこんなもんか。

SSDキャッシュ設定

HDDのストレージプールにSSDをキャッシュを追加するにはストレージプールの右上の「・・・」をクリックしてSSDキャッシュ管理へ行きます。

あとは、メニューに沿って進めば、SSDキャッシュの設定ができます。もちろん書き込むキャッシュ利用で。こんな感じ。

では早速、測ってみますか。

参考までにSSDキャッシュ入れる前の状態はこんな感じ。

結論

うーん。シーケンシャルは早いですねぇ。でもシーケンシャルはHDDも結構早いので別にSSD入れなくても。。。

なんでランダムリードがこんなに遅いんだ?なんかキャッシュアルゴリズムが悪いのかも。

これ。SSDをキャッシュで使うより、別にSSDのプールを作って速さが必要な用途用に使った方がいいのでは。。。例えば仮想マシンのバックエンド用とか。