我最近创建了一个新的 zpool,包含 8 个磁盘和 4 个镜像。今天,我将磁盘连接到 Linux 服务器,旧的已弃用的 zpool 现在通过 zpool import 出现,它使用与新磁盘相同的磁盘。我发现新池位于每个磁盘的分区 1 上:
Using /dev/sda
(parted) print
Model: ASMT 2105 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB zfs zfs
当我使用 zdb 查看分区 1 上的标签时,我发现正确的池配置存储在此处。所以我认为旧的已弃用的 zpool 信息一定位于磁盘的前 1049kb 上的某个位置,因为分区 1 从 1049kB 开始。我想用 dd 将每个磁盘的前 1049kB 清零,但我不能 100% 确定块大小和计数必须有多大。有人可以帮助我执行命令,以确保我不会破坏新的池信息。就像是:
dd if=/dev/sda bs=1024 count=1049
提前致谢
答案1
可以使用以下命令删除设备 (vdev) 上的 zfs 标签:
zpool labelclear <vdev> <-f>
在你的情况下,类似以下内容:
zpool labelclear /dev/sda1