偶然/dev/sda
などを使ってzpoolを作りました。私はこれが悪い考えであることを知っています。ちょうど私の設定をテストしたいと思います。わかりましたが、うまく機能してデバイス名を忘れてzpoolをNASとして使用し始めましたが、まだ、sda
およびsdb
を使用しています。私のOSはで実行されます。したがって、私のzpoolはすでに正確に約16TBのいくつかのデータでいっぱいです。もしそうなら、名前の代わりにIDでディスクを使用するように既存のプールを変更することが可能かどうか疑問に思います。sdc
sdd
sde
sdX
私のNASは約1年間実行され続けており、一度も再起動されませんでした。今すぐ再起動し、一部のディスク名が変更された場合、zpoolは破損しますか? (例:後で新しいディスクを追加したため)
zpool export
とを使用できると読んだ
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 -
を使用してマウントしようとしましたが、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%
答え1
ディスク名が変更されても zpool は削除されません。プールは自動的にインポートされない可能性がありますが、データが破損してはいけません。ブロックデバイスやパスに対してハードコーディングなどの作業を実行し、/dev/sda
実行時に完全性チェックなしで実行するスクリプトやメカニズムがない場合。しかし、通常、あなたのデータは安全です。
インポートプールzpool import -d /dev/disk/by-id <pool-name>
もまれに使用できます。私が知る限り、再同期する必要はありません。/etc/zfs/zpool.cacheファイルは新しいパスとディスクメタデータで更新されます。