start

gptzfsboot error 49

家鯖を久々にモニタに繋いで起動してみたら、ブート時に

gptzfsboot error 49 lba 32
gptzfsboot error 49 lba 1

という謎エラーが出てた。なにこれこわい。

直前にHDDのSATAポートを入れ替えたりしてたので「もしかして弾みでHDDをぶっ壊した!?」とビクビクしながらググってみたら、FreeBSDのMLがヒットした。

やり取りによると、49というのはBIOSが返すエラーコードで「No media in drive.」を表すそうな。ZFSブートストラップがリムーバブルドライブを見つけ、かつメディアが入ってない場合に出る警告で、今まで通りシステムがブートするなら無視しておkとの事。

そういえば先日、内蔵のSDカードリーダーをブート候補に加えたので、きっとそのせいだな……。

と言う訳で一件落着。

Portsにnetatalk 3.0.1がキタ━━━(゚∀゚)━━━ !!!!!

この問題はnetatalk 3.0.2で修正されました。

FreeBSD Portsのnetatalkが3.0.1になっていたのでインストールした。

前のバージョンはビルドでこけていたが、今回はすんなり入った。

HATさんのところを参考にafp.confを書いて、netatalkを起動。Macからログインユーザーのホームディレクトリにアクセスしてみたら、「Something wrong with the volume's CNID DB, using temporary CNID DB instead. Check server messages for details!」ウィンドウがキタ━━━(゚∀゚)━━━ !!!!!

ログを見るとcnid_metad {netatalk_conf.c:1316} (E:Default): getvolbypath(“/usr/home/Decomo”): no volume for pathとのこと。はて、/usr/home/Decomoは間違いなく存在してるんだけどな…。ならばと、basedir regex = /usr/homeにしてみると、今度は共有一覧にホームディレクトリが出なくなってしまった。passwdのホームディレクトリパスは/home始まりだから、マッチしなくなったんだろうね……多分。

他の共有ボリュームも同様のエラーが出たので調べてみたら、netatalk 2とはシンボリックリンクの扱いが変わったっぽい?

うちのFreeBSD鯖はMacの流儀に合わせ、/Volumes以下に必要なボリュームのシンボリックリンクを置き、それらを使うようにしてある。netatalkも例外ではなく、/Volumes/XXXXを公開する設定にしていたのだが、これらボリュームで軒並み Somethin wrong… CNID DB と、no volume for pathが発生していた。

pathを実体に置き換える事で問題は無く使えるようになったが、俺的運用では微妙に不便というか気持ち悪い。

てか、この仕様だとFreeBSDで[Homes]を使ったログインユーザー毎のホームディレクトリ共有が無理っぽい気が。

basedir regex = /homeだとgetvolbypathで失敗するし、かといって/usr/homeにするとpasswdからユーザーのホームディレクトリを引けなくなる。オワタ。設定か何かで回避出来るんだろうか…?

とりあえず、家鯖は自分一人しか使ってないので、通常ボリュームとしてホームディレクトリを共有する設定にした。最終的なafp.confはこんな感じ。

;
; Netatalk 3.x configuration file
;
 
[Global]
; Global server settings
vol preset = _DEFAULT
log file = /var/log/netatalk.log
 
[_DEFAULT]
file perm = 0600
directory perm = 0700

;[Homes]
;basedir regex = (/home|/usr/home)
;home name = $u
 
[Decomo]
path = /usr/home/Decomo
 
[Time Machine]
;path = /Volumes/TimeMachine/
path = /zdata3/NFC/backup/TimeMachine
time machine = yes
vol size limit = 2097152
 
[Data]
;path = /Volumes/Data
path = /zdata3/NFC/data
 
[Public]
path = /usr/home/PUBLIC
file perm = 0660
directory perm = 0770

Portsにnetatalk 3がキタ━━━(゚∀゚)━━━ !!!!!

ようやくFreeBSDのPortsにnetatalk 3が来たのでmakeしてみたが、libeventの扱いがおかしいらしく、ビルドが通らなかった。

ググってみたら他にも変な所があるようで、暫くはお預けかな……。

早く.AppleDoubleとオサラバしたいよ〜。

サーバマシン新調

2TB HDDx4のRAID-Zで構成してた家鯖の空きが少なくなってきた。

ProLiant MicroServerでは3.5インチHDDが4台しか積めず、単純にHDDを3TBに置き換えてもそう遠くない未来に限界に達する事は目に見えてるので、普通のケースで鯖マシンを新調した。

スペック

MicroServer 新サーバ
CPU Athlon II NEO N36L Xeon E3-1260L
M/B - ASRock H77 Pro4/MVP
メモリ 8GB (TED38192M1333C9DC) 16GB
GPU 内蔵(RADEON HD4200相当) 内蔵(Intel® HD Graphics 2000)

消費電力

状態 MicroServer 新サーバ
アイドル51〜5250~53
ubench -c55〜58 (Ubench CPU: 144707) 69~72~76 (Ubench CPU: 1342148)
ubench -m57〜61 (Ubench MEM: 100004) 62〜64〜67 (Ubench MEM: 311924)
bonnie(起動ドライブ) 53〜58〜6160〜91(70後半〜80中盤を行き来する事が多い)
HDDフルアクセス&CPU100%60〜64〜70 81〜99

ZFSのストレージプールにHDDをミスって丸ごと追加しちゃったあああぁぁぁ………

3TBx3から成るRAID-Zプールに、

  pool: zdata3
 state: ONLINE
 scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	zdata3      ONLINE       0     0     0
	  raidz1-0  ONLINE       0     0     0
	    ada4p1  ONLINE       0     0     0
	    ada2p1  ONLINE       0     0     0
	    ada0p1  ONLINE       0     0     0

errors: No known data errors

2TBx3を丸ごと追加しちゃった…

$ sudo zpool add zdata3 raidz ada1 ada3 ada5
$ zpool status
  pool: zdata3
 state: ONLINE
 scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	zdata3      ONLINE       0     0     0
	  raidz1-0  ONLINE       0     0     0
	    ada4p1  ONLINE       0     0     0
	    ada2p1  ONLINE       0     0     0
	    ada0p1  ONLINE       0     0     0
	  raidz1-1  ONLINE       0     0     0
	    ada1    ONLINE       0     0     0
	    ada3    ONLINE       0     0     0
	    ada5    ONLINE       0     0     0

errors: No known data errors

追加自体は意図したものなので別にいいんだが、パーティション切りたかったよママン……(´Д⊂

これまで、折角4KiBセクタを考慮してプールを作ってきたのに……HDDを丸ごと追加した場合はZFSが先頭セクタから全部使ってくれるのかなぁ?それならアライメントはズレないハズだから特に問題はないんだが、もし違ったら………:y=-( ゚д゚)・∵;; ターン

やらかしたのが2TBのHDDだったのが不幸中の幸いか。HDDを交換する際に2TB以上にすれば確実に置き換えられるし、今度こそパーティションも切れるしね。

ZFSは操作がお手軽で良いんだが、こういう不可逆操作までお手軽に出来てしまうのは考えもの。

  • start.txt
  • 最終更新: 2022-07-27 15:26
  • by Decomo