起動用zpoolでzpool removeしてはいけない

死ぬので。(@FreeBSD 13.0-RELEASE, 2021/07/13時点) そもそも何故zpool removeしたのか まずディスクを交換したかった。 大体の場合は、mirrorを作って古いディスクを外せばいい。(zpool attach + zpool remove) ただ今回はboot領域にうっかりでっかいディスクを使ってしまっていて、SSDに交換しようとしたら容量が足りなかった。 調べたところ、最近のzpoolはzpool addしたあとremoveできて、これを使うと、poolのshrinkができる。 てきとーにやってみたら、簡単にできてしまった。(ぎりぎりに縮小することはできなくて、ものすごく余裕を持たせる必要はあったが) 感心&安心していた。数日後にrebootするまでは。 panicする 停電etc.でrebootすることもあるが、そのときに(今回みたいな)障害に遭いたくない。というわけで時間があるときにやる。 rebootしたら、こんなpanicが出てrebootループに入ってしまった。 余談1: その前にbootcodeの書き替え忘れもあった。 余談2: rebootが早すぎて読めなかったので、iPhoneで動画撮影して見る羽目になった。 Root mount waiting for: usbus0 uhub2: 4 ports with 4 removable, self powered panic: VERIFY(nvlist_lookup_uint64(configs[i], ZPOOL_CONFIG_POOL_TXG, &txg) == 0) failed 困る ZFS絡みなのが分かったので、すぐに別のマシンに繋いでテストしたりしたが、まったく問題が見つからない。 zpool importは正常だし、zpool scrubしても何も出ない。 解決 実は大分前に、ZIL(log)を取り外したときに同じ現象だったことを(奇跡的に)思い出した。 このときにどうしたかは思い出せなかったが、つまりpoolが悪い。 どうするかは簡単で、zfs sendしてzfs receiveすればいい。 boot用なので5GB程度しかなく、すぐに復旧できた。 […]

Raspberry PI 4 Model B + FreeBSD 13 BETA3 + ZFS

試してうまくいったのでメモとして残しておく。 後から手順にしているので、余計な手順や、抜けている手順があるかもしれない。(が、参考くらいにはなるはずと思っている) なお、初期設定ほかではこちらを参考にさせてもらった。 本稿執筆時点(2021/02/23)では、シリアルコンソールなしで、USB+HDMIディスプレイというごく普通の装備だけで動かせている。 FreeBSD on RaspberryPi 4 Model B 発動篇 必要なもの Raspberry PI 4 Model B+ (以下、RPI。なお、2Gモデルで実験している。) FreeBSD-13.0-BETA3-arm64-aarch64-RPI.img microSDカード (4GB以上) USBメモリ (4GB以上、ZFSを認識させるために使用) 適当な作業用FreeBSDマシン + USB-SDカードアダプタ 手順 適当な方法でイメージをSDカードに焼く。 # dd if=/tmp/FreeBSD-13.0-BETA3-arm64-aarch64-RPI.img of=/dev/da0 bs=65536 念の為、この時点でRPIが起動することを確かめておく。 SDカードを作業用PCに接続する。(以下、SDカードはda0になっているとする) 現在のUFS内データをバックアップする。 # mkdir /mnt/raspi # mount -t ufs /dev/da0s2a /mnt/raspi # cd /mnt/raspi # tar -cf /tmp/raspi-rootfs.tar . # cd […]

FreeBSDのバージョンを取得する

そんなものはfreebsd-versionコマンドで取れるのは分かってる。 でも、どうしてもコマンドを叩けない、叩きたくない、というときのためのメモ。 主にjailの管理用で、User Land側のバージョン取得が目的。

WiFi設定用QRコードの生成

自分用のメモ。 アプリで生成だのなんだの、面倒そうなことばっかり。 Webサイトで生成できる。 pure JS WiFi QR Code Generator “pure JS”でブラウザ上だけで動く。通信しないので安心。 検索すると上のほうに出てくる mqr.kr (当然リンクしないよ)はSSIDやパスワードをURLに含めて送っちゃうので、とても推奨できない。というかダメだろう、これ。 怪しいなと思って、ダミーのデータを入れつつチェックしていてよかった。 追記: zxing.appspot.com/generator も同じくGETで送ってるのでダメ。 みんな気にしないのか、堂々と罠をかけてるのか。

matrix(の実装であるsynapse)をFreeBSDで動かす

気がつけば2週間。 decentralizedなコミュニケーションツール “matrix” の実装である “synapse” をFreeBSDで動かした。 メモを見ながら書くので抜けている可能性大。

寝正月2018

新年明けましておめでとうございます。 寝正月万歳です。 去年はGo Langに手を染め、しかし見た目の汚さが許容できず、LispやらSchemeに逃げました。 長年親しんだC/Perl/Pythonのようには自由にかけませんが、いずれはメイン言語にしていきたいものです。 さて、寝ぼけた頭で、いま頭に詰まっている内容を吐き出します。 Schemeまわりは以下の件でどこかにこぼれ落ちていったので、またそのうち。

GitLabでmermaidを使う

GitLabでmermaidを使いたい。 PlantUMLが使える?なんで絵をWikiに入れたいだけなのにJava VMなんて重いものを動かさなきゃならないんだ。

Pandora FMSで遊ぶ(1)

Zabbixもいい加減古い。 UIも古臭いから、なにか試そうと思って見つけたPandora FMSをFreeBSD環境に入れてみた。 今回はインストールの話だけ。

SAN付きSSL証明書を作る

サーバが複数の名前を持つときに使いたい、SSL証明書のSAN(Subject Alternative Name)。 どこを見ても微妙に気に入らなかったので自分流に。