打算尝试 SmartOS,部分原因是我对 FreeNAS 的使用不满意。在旧缓存驱动器上为 SmartOS 区域创建了新的 zpool。那只是背景故事。关键是现在无法在 Ubuntu 15.04 上导入旧的 FreeNAS 池。
pool: pool5
id: 14850262647910895720
state: UNAVAIL
status: The pool was last accessed by another system.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-EY
config:
pool5 UNAVAIL missing device
raidz2-0 ONLINE
ata-WL3000GSA6472_WOL240282406 ONLINE
ata-WL3000GSA6472_WOL240282471 ONLINE
ata-WL3000GSA6472_WOL240282504 ONLINE
ata-WL3000GSA6472_WOL240282506 ONLINE
ata-WL3000GSA6472_WOL240282472 ONLINE
cache
ata-ST31500341AS_6VS073SA
pool: zones
id: 513536768382594111
state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
the '-f' flag.
see: http://zfsonlinux.org/msg/ZFS-8000-EY
config:
zones ONLINE
ata-ST31500341AS_6VS073SA ONLINE
Run Code Online (Sandbox Code Playgroud)
我已经摧毁了区域。
尝试了大部分的力选项和组合,结果相似:
$ sudo zpool import pool5
cannot import 'pool5': pool may be in use from other system, it was last accessed by freenas.local (hostid: 0x8120288a) on Tue Oct 27 16:24:56 2015
$ sudo zpool import -f pool5
cannot import 'pool5': one or more devices is currently unavailable
$ sudo zpool import -Ff pool5
cannot import 'pool5': one or more devices is currently unavailable
$ sudo zpool import -fm pool5
cannot import 'pool5': one or more devices is currently unavailable
$ sudo zpool import -FfmX pool5
cannot import 'pool5': one or more devices is currently unavailable
$ sudo zpool import -fD pool5
cannot import 'pool5': no such pool available
$ sudo zpool import -nF pool5
cannot import 'pool5': pool may be in use from other system, it was last accessed by freenas.local (hostid: 0x8120288a) on Tue Oct 27 16:24:56 2015
use '-f' to import anyway
$ sudo zpool import -m pool5
cannot import 'pool5': pool may be in use from other system, it was last accessed by freenas.local (hostid: 0x8120288a) on Tue Oct 27 16:24:56 2015
use '-f' to import anyway
Run Code Online (Sandbox Code Playgroud)
$ sudo zdb -e pool5 说:
Configuration for import:
vdev_children: 2
version: 5000
pool_guid: 14850262647910895720
name: 'pool5'
state: 0
hostid: 2166368394
hostname: 'freenas.local'
vdev_tree:
type: 'root'
id: 0
guid: 14850262647910895720
children[0]:
type: 'raidz'
id: 0
guid: 142933150631883837
nparity: 2
metaslab_array: 33
metaslab_shift: 37
ashift: 12
asize: 15002891714560
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 79266291072794538
whole_disk: 1
DTL: 356
create_txg: 4
path: '/dev/disk/by-id/ata-WL3000GSA6472_WOL240282406-part1'
children[1]:
type: 'disk'
id: 1
guid: 1087294782673888508
whole_disk: 1
DTL: 258
create_txg: 4
path: '/dev/disk/by-id/ata-WL3000GSA6472_WOL240282471-part1'
children[2]:
type: 'disk'
id: 2
guid: 2219503574895013140
whole_disk: 1
DTL: 257
create_txg: 4
path: '/dev/disk/by-id/ata-WL3000GSA6472_WOL240282504-part1'
children[3]:
type: 'disk'
id: 3
guid: 6460403329296563235
whole_disk: 1
DTL: 202
create_txg: 4
path: '/dev/disk/by-id/ata-WL3000GSA6472_WOL240282506-part1'
children[4]:
type: 'disk'
id: 4
guid: 9844978706073275260
whole_disk: 1
DTL: 167
create_txg: 4
path: '/dev/disk/by-id/ata-WL3000GSA6472_WOL240282472-part1'
children[1]:
type: 'missing'
id: 1
guid: 0
zdb: can't open 'pool5': No such device or address
Run Code Online (Sandbox Code Playgroud)
版本:
libzfs2 0.6.5.3-1~vivid amd64 Native OpenZFS filesystem library for Linux
ubuntu-zfs 9~vivid amd64 Native ZFS filesystem metapackage for Ubuntu.
zfs-dkms 0.6.5.3-1~vivid amd64 Native OpenZFS filesystem kernel modules for Linux
zfsutils 0.6.5.3-1~vivid amd64 Native OpenZFS management utilities for Linux
Run Code Online (Sandbox Code Playgroud)
尝试从 devnodes 导入:
~/tmp$ ln -s $(for link in /dev/disk/by-id/ata-WL3000GSA6472_WOL240282406* /dev/disk/by-id/ata-WL3000GSA6472_WOL240282471* /dev/disk/by-id/ata-WL3000GSA6472_WOL240282504* /dev/disk/by-id/ata-WL3000GSA6472_WOL240282506* /dev/disk/by-id/ata-WL3000GSA6472_WOL240282472* ; do readlink -f "${link}" ; done) ./
~/tmp$ ls
sdb sdb1 sdb9 sdc sdc1 sdc9 sdd sdd1 sdd9 sde sde1 sde9 sdf sdf1 sdf9
~/tmp$ sudo zpool import -d ./ pool5
cannot import 'pool5': pool may be in use from other system, it was last accessed by freenas.local (hostid: 0x8120288a) on Tue Oct 27 16:24:56 2015
use '-f' to import anyway
~/tmp$ sudo zpool import -fd ./ pool5
cannot import 'pool5': one or more devices is currently unavailable
Run Code Online (Sandbox Code Playgroud)
以及奇怪的部分(ada1 是什么?哦。可能是一个 freebsd devnode):
$ sudo zpool import -d tmp
pool: pool5
id: 14850262647910895720
state: UNAVAIL
status: The pool was last accessed by another system.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-EY
config:
pool5 UNAVAIL missing device
raidz2-0 ONLINE
sde ONLINE
sdc ONLINE
sdd ONLINE
sdb ONLINE
sdf ONLINE
cache
ada1
Run Code Online (Sandbox Code Playgroud)
我可以重新初始化缓存设备以便它可以再次找到它吗?缓存设备存储了多少有关其池的信息?仅创建另一个 zpool 并将其作为缓存添加到其中是否可行?zdb 似乎没有为它列出一个 guid - 它只需要一个免费的缓存驱动器吗?我可以制作一个缓存驱动器并将其符号链接到 ada1 并让它拾取吗?
小智 1
Linux 上的 ZFS 是什么版本?导入缺少缓存设备是一个“较新”的功能(不再那么新了,但 ZoL 在过去落后了很多)
另外,如果您不需要它,请尝试销毁“zones”池,以便“pool5”中的缓存设备不会被锁定。您可能会遇到奇怪的情况,因为设备实际上并没有丢失,它只是因为被另一个池锁定而无法使用。
其他要尝试的事情: zpool import -m pool5 (仅对于丢失的日志设备才需要,而不是丢失的缓存设备)
zpool 导入 -nF pool5
| 归档时间: |
|
| 查看次数: |
4291 次 |
| 最近记录: |