ZFS は ID でディスクを交換します。

ZFS は ID でディスクを交換します。

偶然/dev/sdaなどを使ってzpoolを作りました。私はこれが悪い考えであることを知っています。ちょうど私の設定をテストしたいと思います。わかりましたが、うまく機能してデバイス名を忘れてzpoolをNASとして使用し始めましたが、まだ、sdaおよびsdbを使用しています。私のOSはで実行されます。したがって、私のzpoolはすでに正確に約16TBのいくつかのデータでいっぱいです。もしそうなら、名前の代わりにIDでディスクを使用するように既存のプールを変更することが可能かどうか疑問に思います。sdcsddsdesdX

私の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ファイルは新しいパスとディスクメタデータで更新されます。

関連情報