私はZFSプール-2つのvdevを含むミラー-をFreeBSDサーバーで実行していました。ミラーからディスクを1つだけ取得し、そこからファイルを回復しようとしています。
ZFSデータは、ディスク上のGPTパーティションにあります。
プールをインポートしようとしたときに、プールが存在するという兆候はまったくありません。私はいくつかの方法を試しましたが、何も起こりません。
パーティションでzdb -lu
を実行しましたが、ラベルが正常に検出されたようです。
# zpool import
# zpool import -D
# zpool status
no pools available
# zpool import -f ztmp
cannot import 'ztmp': no such pool available
# zpool import 16827460747202824739
cannot import '16827460747202824739': no such pool available
パーティション情報:
# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 3907029134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: da0p1
Mediasize: 65536 (64K)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 17408
Mode: r0w0e0
rawuuid: d7a10230-8b0e-11e1-b750-f46d04227f12
rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
label: (null)
length: 65536
offset: 17408
type: freebsd-boot
index: 1
end: 161
start: 34
2. Name: da0p2
Mediasize: 17179869184 (16G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 82944
Mode: r0w0e0
rawuuid: d7aa40b7-8b0e-11e1-b750-f46d04227f12
rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
label: (null)
length: 17179869184
offset: 82944
type: freebsd-swap
index: 2
end: 33554593
start: 162
3. Name: da0p3
Mediasize: 1905891737600 (1.7T)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 82944
Mode: r0w0e0
rawuuid: d7b6a47e-8b0e-11e1-b750-f46d04227f12
rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
label: (null)
length: 1905891737600
offset: 17179952128
type: freebsd-zfs
index: 3
end: 3755999393
start: 33554594
Consumers:
1. Name: da0
Mediasize: 2000398934016 (1.8T)
Sectorsize: 512
Mode: r0w0e0
ZFSラベル:
--------------------------------------------
LABEL 0
--------------------------------------------
version: 5000
name: 'ztmp'
state: 0
txg: 0
pool_guid: 16827460747202824739
hostid: 740296715
hostname: '#############'
top_guid: 15350190479074972289
guid: 3060075816835778669
vdev_children: 1
vdev_tree:
type: 'mirror'
id: 0
guid: 15350190479074972289
whole_disk: 0
metaslab_array: 30
metaslab_shift: 34
ashift: 9
asize: 1905887019008
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 3060075816835778669
path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
phys_path: '/dev/gptid/d7b6a47e-8b0e-11e1-b750-f46d04227f12'
whole_disk: 1
DTL: 5511
resilvering: 1
children[1]:
type: 'disk'
id: 1
guid: 3324029433529063540
path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
phys_path: '/dev/gptid/396a2b11-cb16-11e1-83f4-f46d04227f12'
whole_disk: 1
DTL: 3543
create_txg: 4
resilvering: 1
features_for_read:
create_txg: 0
Uberblock[0]
magic = 0000000000bab10c
version = 5000
txg = 0
guid_sum = 1668268329223536005
timestamp = 1361299185 UTC = Tue Feb 19 10:39:45 2013
(他のラベルは正確なコピーです)
this old thread には、同じようなサウンドの問題に関する議論があります。 Jeff Bonwickのlabelfix
ツールを( この投稿 から更新して)実行してみましたが、問題を解決できなかったようです。
何か案は?
将来の参照のために、単にzpool import -a(すべてを検索します)を実行すると、通常はzpool/zfs fsが認識されない場合にも役立ちます。
解説から (オープニングポスターから):
FreeBSDインストールでZFSソースを編集し、すべての健全性チェックをバイパスしました。それらを十分に無効にした後、プールをインポートすることができました。
私はどういうわけか私のZFS構成を台無しにしました。残念ながら私は正確に何をしたか思い出せません(私はいくつかのハードウェアを変更しているので、めちゃくちゃになりました。私のようにはなりません!)、これは私にとってはうまくいきました。 XigmaNAS(nas4free)を使用していますが、以下のすべてのコマンドはターミナルから発行されます。
私がしたこと(およびしなかったこと)についての漠然とした記憶:
症状:
da1
_として表示されます。これはターミナルに行く前に必要な情報です。ターミナルでの、試行されたコマンドと結果の一部を次に示します。
zpool import -a
_は言う_no pool available to import
_zpool status
_は_no pools available
_と言います(言語が壊れている?gpart list -a
_は_da1
_を表示しませんgpart list da1
_は言う_gpart: no such geom: da1
_zpool list
_は言う_no pools available
_glabel list -a
_は_da1
_のプールを表示しませんzdb -l /dev/da1
_は_da1
_で2つのラベルを印刷できるため、ディスクが停止していませんzpool import -D
_は、_da1
_のプールが破棄され、インポートできる可能性があることを示しています解決:
zpool import -D -f (poolname)
を実行して問題を解決しました。