我是新来的ZFS,我把事情搞砸了。我有多个ZFS池,因为我没有意识到在同一个池下可以有单独的镜像。我仍然在重建数组,所以我的镜子之一是emtpy。我毁了它,把它加到主水池里,一切都很好。
然后,我去将镜子的read属性设置为readonly,但无法实现。然后我试着移除那面镜子,但没有办法。最后,我尝试导出池,并在第二个镜像(没有数据)上编写,并试图导入主池。我的想法,它会出现,因为镜子是丢失/降级,但第一面镜子会没事,不太幸运。我现在根本无法导入zpool,尽管(我怀疑)镜像-0的功能是正确的。
我想知道有什么办法可以破解这件事吗?我正在考虑手动设置额外镜像的UUID/PARTUUID,以便将其导入,但当然,所有在线内容都是关于ext4的,我没有找到一种方法来操作ZFS的UUID。
有什么方法可以让我强迫它导入或移除第二个镜像的z池期望,这样它就可以安装第一个镜像了吗?或者最后,在不破坏数据的情况下将镜像-0移动到它自己的zpool中?
感到失落..。
以下是一些数据:
bigdataa池名称
mirror-0 should have a functionion set of data
pool: bigdataa
id: 8521961398473378259
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
bigdataa UNAVAIL insufficient replicas
mirror-0 ONLINE
12d9fdf5-9912-4b47-a67c-73376cabe161 ONLINE
0f8cbe38-fce7-ba4d-85fb-f0b624ef4c70 ONLINE
615ac488-0519-4a31-88ea-ddc81595c9b7 ONLINE
mirror-2 UNAVAIL insufficient replicas
aef43ae1-2bff-4eac-8c91-7818b1ec37fd FAULTED corrupted data
8d1e0a1e-9736-4a28-a968-555fe65e9d17 FAULTED corrupted data发布于 2020-04-23 13:12:02
您在这里构建它的方式表明,您的数据在镜像-0、镜像-2和另一个磁盘之间被条带化(RAID-0)。因此,当您重写镜像-2时,ZFS认为一半的数据丢失了,这就是为什么您根本无法导入池。这就像您设置了一个三个磁盘RAID--0数组,然后删除其中一个磁盘--所有数据都无法访问,因为这就是条形化的工作方式。
这也解释了为什么无法在镜像-2上设置只读属性。这就像尝试将RAID-0数组中的一个磁盘标记为只读磁盘,这是无法完成的,因为写入需要横穿RAID-0数组中的所有磁盘。您不能将存储设备上的第三个块标记为只读!
看起来您还没有镜像2上的数据,但似乎ZFS不知道这就是为什么在磁盘被覆盖后拒绝导入数组的原因。
我认为您可能假设池中的所有设备/vdevs都是彼此的镜像,但实际上,ZFS会在池中的每个vdev中对数据进行条带化。这就是为什么您需要创建一个特殊的镜像vdev,如果您想要镜像而不是条带的数据。
https://unix.stackexchange.com/questions/577854
复制相似问题