偶然地,我使用/dev/sda
等创建了一个 zpool 。我知道这是个坏主意;我只是想测试我的设置。原来,它的工作这么好,我忘了设备名称,并开始使用我的zpool作为NAS,仍与sda
,sdb
,sdc
和sdd
。我的操作系统从sde
. 所以我的 zpool 已经充满了一些数据,准确地说是 16?TB 左右。所以我想知道是否可以修改现有池以按 id 而不是按名称使用磁盘?sdX
我的 NAS 已经连续运行了大约 1 年,我从来没有重启过。如果我现在重新启动并且某些磁盘名称会更改,我的 zpool 会被破坏吗?(例如,因为我后来添加了一些新磁盘)
我读到可以使用
zpool export
and
zpool import -d /dev/disk/by-id
。这是否会导致一些重新同步开始,或者当我导出和导入时究竟会发生什么?由于它有很多数据,如果我不必复制我的数据,我会更喜欢。这简直太多了,需要几天时间。我的 zpool 在 raidz2 配置下运行,操作系统是 Debian。
这就是我得到的zfs list all
:
root@pve:~# zfs get all
NAME PROPERTY VALUE SOURCE
tank type filesystem -
tank creation Sat May 12 15:22 2018 -
tank used 1.00T -
tank available 4.26T -
tank referenced 981G -
tank compressratio 1.02x -
tank mounted no -
tank quota none default
tank reservation none default
tank recordsize 128K default
tank mountpoint /tank default
tank sharenfs off default
tank checksum on default
tank compression lz4 local
tank atime off local
tank devices on default
tank exec on default
tank setuid on default
tank readonly off default
tank zoned off default
tank snapdir hidden default
tank aclinherit restricted default
tank createtxg 1 -
tank canmount on default
tank xattr on default
tank copies 1 default
tank version 5 -
tank utf8only off -
tank normalization none -
tank casesensitivity sensitive -
tank vscan off default
tank nbmand off default
tank sharesmb off default
tank refquota none default
tank refreservation none default
tank guid 18018951160716445859 -
tank primarycache all default
tank secondarycache all default
tank usedbysnapshots 100M -
tank usedbydataset 981G -
tank usedbychildren 47.5G -
tank usedbyrefreservation 0B -
tank logbias latency default
tank dedup off default
tank mlslabel none default
tank sync standard default
tank dnodesize legacy default
tank refcompressratio 1.02x -
tank written 0 -
tank logicalused 1004G -
tank logicalreferenced 997G -
tank volmode default default
tank filesystem_limit none default
tank snapshot_limit none default
tank filesystem_count none default
tank snapshot_count none default
tank snapdev hidden default
tank acltype off default
tank context none default
tank fscontext none default
tank defcontext none default
tank rootcontext none default
tank relatime off default
tank redundant_metadata all default
tank overlay off default
tank@zfs-auto-snap_monthly-2019-05-13-1847 type snapshot -
tank@zfs-auto-snap_monthly-2019-05-13-1847 creation Mon May 13 20:47 2019 -
tank@zfs-auto-snap_monthly-2019-05-13-1847 used 0B -
tank@zfs-auto-snap_monthly-2019-05-13-1847 referenced 953G -
tank@zfs-auto-snap_monthly-2019-05-13-1847 compressratio 1.01x -
tank@zfs-auto-snap_monthly-2019-05-13-1847 devices on default
tank@zfs-auto-snap_monthly-2019-05-13-1847 exec on default
tank@zfs-auto-snap_monthly-2019-05-13-1847 setuid on default
tank@zfs-auto-snap_monthly-2019-05-13-1847 createtxg 6244379 -
tank@zfs-auto-snap_monthly-2019-05-13-1847 xattr on default
tank@zfs-auto-snap_monthly-2019-05-13-1847 version 5 -
Run Code Online (Sandbox Code Playgroud)
我试图用 挂载它zfs mount -a
,但失败了,因为目录/tank
不是空的——其他 ZFS 数据集在那里......
root@pve:~# zpool list -v
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 5.44T 987G 4.47T - 1% 17% 1.00x ONLINE -
ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1KZNLPE 1.81T 326G 1.49T - 1% 17%
ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1YV1ADT 1.81T 329G 1.49T - 1% 17%
ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M2CE10DJ 1.81T 332G 1.49T - 1% 17%
Run Code Online (Sandbox Code Playgroud)
如果磁盘名称更改,则 zpool 不会被破坏。池很可能不会自动导入,但不应破坏数据。除非有一个脚本或机制可以在块设备和路径上做事,比如/dev/sda
硬编码,并且事情在没有健全性检查的情况下运行。但通常您的数据是安全的。
导入池zpool import -d /dev/disk/by-id <pool-name>
也可以保存使用。不需要重新同步,据我所知,/ etc/zfs/zpool.cache文件已更新为新路径和磁盘元数据。
归档时间: |
|
查看次数: |
3756 次 |
最近记录: |