FreeNAS 8が出た後もFreeNAS Legacyとして開発が継続していたFreeNAS 0.7系が、最近NAS4Freeという名前に変わりましたね(もしくはフォークした?FreeNAS 0.7系のプロジェクトを直接的に継承したもののようです。)。
私も少し前にLegacyからNAS4Freeにアップグレードしました。
WebGUIから普通にアップグレード出来たので本当に中身はあまり変わってないみたいです。
で、NAS4Freeをしばらく使ってたんですが、ある日ZFSのプールを確認してみると1つだけデバイス名がおかしくなってる事に気づきました。
(先に書いておきますが、この問題の原因はNAS4Freeではないです。)
freenas:~# zpool status tank pool: tank state: ONLINE scan: resilvered 44K in 0h0m with 0 errors on Sun Nov 25 22:19:43 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada5 ONLINE 0 0 0 ada6 ONLINE 0 0 0 ada7 ONLINE 0 0 0 ext2fs/aaa ONLINE 0 0 0 errors: No known data errors
(resilveredの時間がおかしいのはすぐにキャンセルしたから。)
なんだよ ext2fs/aaa って!
上の結果から予想するに、 ext2fs/aaa という謎のデバイスが ada4 のフリをしてるみたいだけど、プールは普通に使えてるという。
でもさ、ZFSのプールの構成ディスクなわけだからext2fsな訳ないじゃんw
とにかくext2fsというのは置いといて、aaaというのはGEOM LABELで付けたラベルっぽいし、aaaという適当な名前からも自分で設定して忘れてる可能性大だと判断しました。
freenas:~# glabel status Name Status Components ext2fs/aaa N/A ada4 (以下略) freenas:~# glabel list ada4 Geom name: ada4 Providers: 1. Name: ext2fs/aaa Mediasize: 2000398934016 (1.8T) Sectorsize: 512 Stripesize: 4096 Stripeoffset: 0 Mode: r0w0e0 secoffset: 0 offset: 0 seclength: 3907029168 length: 2000398934016 index: 0 Consumers: 1. Name: ada4 Mediasize: 2000398934016 (1.8T) Sectorsize: 512 Stripesize: 4096 Stripeoffset: 0 Mode: r0w0e0
で、確認してみたら案の定GEOM LABELだったので消してみることにしました。
freenas:~# zpool export tank freenas:~# glabel destroy aaa freenas:~# glabel status Name Status Components (略)
ラベルが消えたっぽいので再起動したが、なんと ext2fs/aaa が復活w
manで調べたら glabel destroy は This command does not touch on-disk metadata! と書いてあるので永続的に反映されないみたいです。
clear なら ディスクのメタデータを弄ってくれるらしいので使ってみました。
freenas:~# zpool export tank freenas:/# glabel clear ada4 Can't clear metadata on ada4: Invalid argument. glabel: Not fully done.
実行できない。どゆこと〜?
検索したらこういう記事を発見しました。
ほんのり技術系のブログ
少々問題が違うんですが、そのなかでGEOMのメタデータを消す方法として、 dd でパーティションの情報を消す。なんて少々荒っぽい方法が載ってたんですが、まぁraidz2だしディスク1台分データが消えても問題ないよねということで、思い切って実行してみました。
freenas:~# glabel destroy aaa freenas:~# glabel status Name Status Components (略) freenas:~# dd if=/dev/zero of=/dev/ada4 bs=512 count=1 skip=1
しかしこれで再起動してもだめ。
(ちなみに、リンク先と同じくZFSのプールには影響無いみたいでした。)
調べてみると、「glabel label ラベル名 デバイス名」でラベルを付けた場合は、 /dev/label/ラベル名 になるらしく、元々 aaa というラベルは glabel で付けたわけじゃなかったみたいです。
(ただし、ラベルの仕組み自体はGEOM LABELで動いてるのは間違いないです。)
さらに調べると、「tunefs -L ラベル名 デバイス名」でUFSなパーティションにラベルを付けることができ、その場合は /dev/ufs/ラベル名 になるらしい。
で、ext2版を探したらありました。
freenas:~# tune2fs -L "" /dev/ada4 tune2fs 1.42.6 (21-Sep-2012)
コレでラベルが消え、再起動したらZFSプールのデバイス名も直りました。
タイトルには「ZFSのプールのデバイス名がおかしくなった」って書いてますけど、状況証拠的に「自分でおかしくしたのにその事を忘れてる」だけっぽいですすいません(;´Д`)
最近のコメント
名前
しゅごい
Jane Doe
FYI Avoid Annoying Unexpe…
Jane Doe
ご存じとは思いますが、whileには、”~の間”と…
peta_okechan
針金みたいなパーツを引っ張ると外れます。 他の方の…
虎徹ファン交換
虎徹の標準ファンを外す際に、どのようにして外されま…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…