- blogs:
- cles::blog
OmniOS/ZFS サーバに wbadmin でイメージバックアップが取れない時に確認すべきこと
omnios
windows 以前、SMB 2.0 以降を使う Samba サーバの共有フォルダを対象にして Windows のイメージバックアップを取ろうとすると Sparse File の関係でバックアップが取れたり取れなかったりするという問題がありました。
同じような問題が OmniOS(illumos) でも発生していたので困っていました。
OmniOS は Open Solaris の系譜なので、ファイル共有は Samba ではなく Kernel 内蔵の smb です。
というわけで、Linux のSamba と同じテクニックは使えず、原因も Sparse File ではありません。
† まず、結論から
いつも通り、解決するための結論から書いて置きます。
以下のようなコマンドで zfs 共有の nbmand(Non Blocking mandatory locks)*1*2 プロパティを on にしてやります。
どうもこの nbmand というプロパティが off だとクライアントがファイルをうまくロックすることができず、これが原因になっていたようです。
nbmand のデフォルトは off ですし、おそらくパフォーマンス等に対するペナルティもあると思われるので、今回はバックアップに使う共有でだけ on にしています。Open Solaris の時から nbmand は cross-protocol locking (例えば NFS と SMB を同時に使う)が必要な時だけ on にする必要がある*3という認識だったのですが、どうやらちょっと僕の認識が間違っていたようです。これまで off でもファイルサーバとしては特に問題になる挙動に当たったことがなかったのですが、このあたり近日中に詳しく調べてみたいと思います。
† 実際に発生するエラー
実際にバックアップを取ろうとすると発生するエラーは以下のような感じです。
- *1: illumos: manual page: zfs.8
- *2: illumos: manual page: mount.8
- *3: Managing CIFS Shares (Task Map) (Solaris CIFS Administration Guide)
MariaDB が yum/dnf でアップデートできなくなっていたので
mysql
centos7
centos8
rockylinux9 MariaDB は yum/dnf で自動的にアップデートされるようにしていたのですが、いつの間にか以下のようなエラーが出るようになってしまっていました。
どうやら GPG のキーが新しくなった*1ようで、エラーを解消するにはこれをインストールしてやる必要があります。
MariaDB の公式マニュアル通りに以下を実行することで大丈夫でした。
File Locksmith でファイルをロックしているプロセスを探す
windows
windows11 以前、Windows でファイルをロックしているプロセスを調べることができる LockHunterというアプリについてのエントリを書きましたが、これと同じことをすることができる MS 謹製の File Locksmith というユーティリティをみつけました。PowerToys というユーティリティ群のひとつとして搭載されています。
導入する場合、以下の GitHub のリリースから PowerToys としてダウンロードすることになります。
使い方はファイルを右クリックして「このファイルは何で利用していますか?」という項目を選択するだけです。PowerToys は File Locksmith に限らず便利なツールがいろいろ揃っているので、導入しておくと良いと思います。
PowerToysWindows 用の File Locksmith ユーティリティ | Microsoft Learn
エクスプローラー内の 1 つ以上のファイルまたはディレクトリを選択します。 ディレクトリが選択されている場合、そのすべてのサブファイルとサブディレクトリもスキャンされます。 がアクティブ化されると File Locksmith 、アクセスできる実行中のすべてのプロセスがスキャンされ、使用しているファイルが確認されます。
AI Suite III の代わりに使える「Fan Control」
windows
asus ASUS の AI Suite 3 の代わりに使えるファンコントロールユーティリティを見つけたのでメモ。
† AI Suite 3 は一旦インストールしてしまうと微妙なので・・・
ASUS のマザーボードには専用のユーティリティとして AI Suite 3 というものがあるのですが、これがちょっと曲者で、アンインストールしてもファイルやサービスが残ってしまったり、一旦構成が壊れると再インストールしても動かなかったりでどうしようもありません。
もちろんファンスピードは UEFI から調整できるのですが、いちいち UEFI を起動するのも面倒なので Windows 上からファンコントロールできるサードパーティ製のアプリがないかと思って探してみたら、なんとか見つけることができました。今後は AI Suite 3 ではなく、こっちだけを使っていこうと思います。
Windows 上で .pfx/.p12 の中身を確認するには
ssl
windows Windows 上で .pfx の中身をチェックするためには certutil -dump (cert.pfx) のようにコマンドを使えば確認できますが、面倒なのでドラッグアンドドロップで確認できるスクリプトを書いてみました。
show_pfx.bat
† 実行例
以下のような感じで証明書の中身が表示できます。
ちなみに PFX のパスワード入力はエコーバック(画面表示)されないので注意しましょう。
全角スペースが入りのファイルを bat にドラッグアンドドロップする
bat
windows 昔、作ったドラッグアンドドロップでファイル名に日付を追加する .bat ファイルですが、全角スペースが含まれたファイルが上手く扱えないので、使えるように改良してみました。
bat ファイルでの全角スペースの扱いは、半角スペースの扱いと違うのでみんな苦労しているようです。
今回は一度違う文字(___)に置換してから、ループ内で逆に置換するようにしました。
作成時の注意点は文字コードを Shift-JIS にして保存する必要があるということだけです。
こんな感じで、全角スペース入りの複数のファイルをドラッグアンドドロップしても大丈夫になりました。
bat でコマンドを途中で改行するには
bat
windows Linux でシェルスクリプトを書くときに長いコマンドを途中改行するためには改行の直前に \ を書きますが、Windows の bat ファイルでは同様のやり方を知らなかったので調べてみました。
† これはどこにドキュメンテーションされているのか
ネットを検索すると ^ を使えば良いというのはすぐに見つかりました。
書いて見ると実際に問題なく動きましたが、公式のドキュメントで仕様を確認しておきたかったのでどこに記載があるのかちょっと調べてみました。
エスケープに関する記述は set コマンドの解説の以下でしょうか。明確に escape character が ^ である と書いてありますが、これが bat 全体で使えるという記述は見つけることができませんでした。この仕様はおそらく DOS の時から変わっていないと思われるのですが、DOS に関するドキュメントは今や MS のサイトにはないですからしょうがないですね。
The characters <, >, |, &, and ^ are special command shell characters, and they must be preceded by the escape character (^) or enclosed in quotation marks when used in
(for example, "StringContaining&Symbol").
ドラッグアンドドロップでフォルダ毎に zip アーカイブを作る bat
bat
windows フォルダをドラッグ&ドロップすると、zip にアーカイブしてくれるという bat ファイルを書いてみました。
複数のフォルダを一度にドラッグ&ドロップすると、フォルダ毎にアーカイブされるようになっています。
圧縮に 7-zip を使っているので、予めインストールしておいてください。
完成してみれば非常に簡単な bat ですが、パスにスペースが入っている場合を考慮するのが大変でした。
zip.bat
† 参考
Dokcer で Redmine + MariaDB サーバを立ててみた
docker
redmine
mysql
dockercompose 今度は Redmine + MariaDB を Docker 化していきます。
Redmine も MariaDB もどちらも公式のイメージを使います。
今回の Redmine は要件として
- バージョンは 3.x 系統であること
- パスは /redmine で参照できること
というのがあるので、この部分についてはカスタマイズを行っています。
ファイルを配置したら以下のコマンドで起動できます。
起動ができたら http://hostname:3000/redmine/ でアクセスができるはずです。
† マイグレーション
既存の環境からの DB のマイグレーションについては、docker-compose exec redmine-db bashで MariaDB のコンテナに入り、MariaDB にデータをインポートすれば良いと思います。ファイルについては ./data ディレクトリ以下に必要なファイルをコピーすれば OK です。
† ファイル構成
アイコンを見るだけで NTFS が破損する問題については MS が修正へ
windows パス名に $i30 が含まれているフォルダにアクセスするだけで NTFS が破損する脆弱性*1については、少し前から結構話題になっていましたが、近日中に修正されることになったようです。
問題の再現方法については調べれば簡単にわかりますが、本当にディスクが飛びますので、ちょっと試してみるみたいなことはやめておいた方が無難です。
アイコンを見るだけでディスクが破損するNTFSの脆弱性が修正へ - PC Watch
この脆弱性は、Windows 10 1803以降のバージョンにおいて文字列“$i30”を含んだコードがWindowsショートカットに含まれる場合に、そのショートカットを実行しなくてもドライブが破損するというもの。コマンドプロンプトのcdコマンドなどでコードを実行した場合はもちろん、Windows上でアイコンが見えた時点で、そのショートカットがZIPファイルの中に存在するだけでも発生する。
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5057)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4193)
4 . 年次の人間ドックへ(4123)
5 . 2023 年分の確定申告完了!(1つめ)(3980)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]

