Linux上のZFSでは、デバイス(vdev)固有のプロパティをどのようにリストしますか?


9

しばらく前から問題なくZFSを使用しています。私はまだそれについて興奮しており、私はそれを非常に信頼しています。しかし、時々、新しい質問が頭に浮かびます(特に、いくつかのドキュメントを読んだ後、質問の数を減らすのではなく増やす場合があります)。

この場合、新しいvdev(ミラー)をルートプールに追加したので、zpoolのマニュアル(man zpool)を読みました。セクションの終わりにzpool add、それは述べています:

-o property = value

指定されたプールプロパティを設定します。設定できる有効なプロパティのリストについては、「プロパティ」セクションを参照してください。現在サポートされている唯一のプロパティはシフトです。一部のプロパティ(それらの中でashift)は以前のvdevから継承されないことに注意してください。これらはプール固有ではなく、vdev固有です。

つまり、ashiftプロパティはプール固有ではなく、vdev固有です。しかし、vdevごとにそのプロパティ(または他のvdev固有のプロパティ)を表示できるコマンドやオプションを見つけることができませんでした。

つまり、例えば、私はと1つのVDEV含まれているプールがある場合ashift=12とで1つのVDEVをashift=10、どのように私はこれを確認することができますか?

私がすでに試したこと:

root@cerberus:~# zpool list -v -o ashift rpool
ASHIFT
12
  mirror   928G   583G   345G         -    27%    62%
    ata-ST31000524NS_9WK21HDM      -      -      -         -      -      -
    ata-ST31000524NS_9WK21L15      -      -      -         -      -      -
  mirror   928G  74.4M   928G         -     0%     0%
    ata-ST31000524NS_9WK21FXE      -      -      -         -      -      -
    ata-ST31000524NS_9WK21KC1      -      -      -         -      -      -

root@cerberus:~# zpool get all rpool
NAME   PROPERTY                    VALUE                       SOURCE
rpool  size                        1.81T                       -
rpool  capacity                    31%                         -
rpool  altroot                     -                           default
rpool  health                      ONLINE                      -
rpool  guid                        3899811533678330272         default
rpool  version                     -                           default
rpool  bootfs                      rpool/stretch               local
rpool  delegation                  on                          default
rpool  autoreplace                 off                         default
rpool  cachefile                   -                           default
rpool  failmode                    wait                        default
rpool  listsnapshots               off                         default
rpool  autoexpand                  off                         default
rpool  dedupditto                  0                           default
rpool  dedupratio                  1.00x                       -
rpool  free                        1.24T                       -
rpool  allocated                   583G                        -
rpool  readonly                    off                         -
rpool  ashift                      12                          local
rpool  comment                     -                           default
rpool  expandsize                  -                           -
rpool  freeing                     0                           default
rpool  fragmentation               13%                         -
rpool  leaked                      0                           default
rpool  feature@async_destroy       enabled                     local
rpool  feature@empty_bpobj         active                      local
rpool  feature@lz4_compress        active                      local
rpool  feature@spacemap_histogram  active                      local
rpool  feature@enabled_txg         active                      local
rpool  feature@hole_birth          active                      local
rpool  feature@extensible_dataset  enabled                     local
rpool  feature@embedded_data       active                      local
rpool  feature@bookmarks           enabled                     local
rpool  feature@filesystem_limits   enabled                     local
rpool  feature@large_blocks        enabled                     local

したがって、vdev固有の方法でプロパティを表示するzpool listことも、zpool get表示することもありません。

何か案は?

回答:


9

などの特定の設定の現在の値を表示ashiftするには、zdbコマンドの代わりにコマンドを使用する必要がありますzpool

zdb引数なしで単独で実行するpoolsと、システム上で見つかったもの、およびそのvdevs中のディスクのビューが表示されますvdevs

root@pve1:/home/tim# zdb
pm1:
    version: 5000
    name: 'pm1'
    state: 0
    txg: 801772
    pool_guid: 13783858310243843123
    errata: 0
    hostid: 2831164162
    hostname: 'pve1'
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 13783858310243843123
        children[0]:
            type: 'raidz'
            id: 0
            guid: 13677153442601001142
            nparity: 2
            metaslab_array: 34
            metaslab_shift: 33
            ashift: 9
            asize: 1600296845312
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 4356695485691064080
                path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000542-part1'
                whole_disk: 1
                not_present: 1
                DTL: 64
                create_txg: 4
            children[1]:
                type: 'disk'
                id: 1
                guid: 14648277375932894482
                path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000521-part1'
                whole_disk: 1
                DTL: 82
                create_txg: 4
            children[2]:
                type: 'disk'
                id: 2
                guid: 11362800770521042303
                path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000080-part1'
                whole_disk: 1
                DTL: 59
                create_txg: 4
            children[3]:
                type: 'disk'
                id: 3
                guid: 10494331395233532833
                path: '/dev/disk/by-id/ata-DENRSTE251M45-0400.C_A181B011241000517-part1'
                whole_disk: 1
                DTL: 58
                create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data

または、ashiftいくつかのコンテキストでのみ:

root@pve1:/home/tim#  sudo zdb | egrep 'ashift|vdev|type' | grep -v disk
    vdev_children: 1
    vdev_tree:
        type: 'root'
            type: 'raidz'
            ashift: 9

これについての古いブログ投稿は、zdbその起源と意図、およびから得られる情報について非常に有益ですzdb簡単にGoogleはまた、Linux上でZFSをより具体的に関連する可能性がある多くの記事を明らかにする。


1
これ答えです。zdb「ZFS <何か>」を検索すると通常表示されるSunのページの1つで言及されていないようです。ZFSに切り替える前に、それが自分にとって適切なものであるかどうか、そしてそれをどのようにインストールおよび構成できるかを調査するために、信じられないほど多くの時間を費やしましたzdb。さらに、「参照」セクションを含め、ヒントman zpoolman zfsありません。どうもありがとう!
Binarus 2017年

1
それは興味深い観察です。私はZFSがリリースされたときにSunで働いていましたが、後にZFSで多くの仕事をした他の会社で働いたのでzdb、私にとっては当たり前のように思えます。現時点では、それが黒魔術であることに気づかなかった。:) Open-ZFSはIllumOS / OmniOS / OpenSolaris / FreeBSD / Linux /のコンソーシアムであり、Oracle以外のZFSの世界全体が緊密に連携していることを確認しようとしている他の開発者です。彼らのWikiはかなり優れており、への参照を含む多くの情報がありますzdb。参照:open-zfs.org/w/…–
Tim Kennedy

1
Linux上のZFSには、非常に優れたZFSのmanページがあります。私の知る限り、これらはSolarisのものと同じですが、Solarisの専門分野を除いています。そして、何を推測するか:私のLinuxシステムでman zdbは、あなたが期待することを行います:-)だから、それは何とか文書化されていますが、ほとんどどこにも言及されていないので、誰もタイプする考えに来ませんman zdb。あなたがリンクしたブログ投稿から:「[...]しかし、それはやや意図的にドキュメント化されていないと思います。私が知っている2人だけがそれについて公に話す勇気を持っていました[...]」:​​-)
Binarus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.