Linux'ta ZFS ile cihaza (vdev) özgü özellikleri nasıl listeleyebilirim?


10

ZFS'yi bir süredir problemsiz kullanıyorum. Hala bu konuda heyecanlıyım ve buna çok güveniyorum. Ancak zaman zaman yeni sorular aklıma geliyor (özellikle bazı belgeleri okuduktan sonra, bazen soru sayısını azaltmak yerine arttırır).

Bu durumda, kök havuzuna yeni bir vdev (ayna) ekledim ve bu nedenle zpool kılavuzunu ( man zpool) okudum . Bölümün sonunda zpool addşunu belirtiyor:

-o özellik = değer

Verilen havuz özelliklerini ayarlar. Ayarlanabilecek geçerli özelliklerin listesi için "Özellikler" bölümüne bakın. Şu anda desteklenen tek özellik kül. Bazı özelliklerin (aralarında ashift) önceki bir vdev'den miras alınmadığını unutmayın. Bunlar vdev'e özgüdür, havuza özel değildir.

Bu, ashiftözelliğin havuza özel değil, vdev'e özgü olduğu anlamına gelir . Ama vdev başına o özelliği (veya başka herhangi bir vdev belirli özelliği) görüntülemek için izin verecek herhangi bir komut veya seçenek bulamadık.

Başka bir deyişle, örneğin, bir vdev ashift=12ve bir vdev içeren bir havuzum varsa ashift=10, bunu nasıl doğrulayabilirim?

Zaten denedim:

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

Yani ne zpool listde zpool getbir vdev spesifik şekilde herhangi bir özellik göstermektedir.

Herhangi bir fikir?

Yanıtlar:


11

Gibi belirli bir ayarın geçerli değerini görüntülemek ashiftiçin zdbkomut yerine komutu kullanmanız gerekir zpool.

Koşu zdbbağımsız değişken olmadan kendi başına size herhangi bir görünüm verecektir poolssistemde bulunan ve onların vdevsiçinde ve diskler 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

veya sadece ashiftbir bağlam için:

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

İştezdb bunun kökenleri ve amacı ve çıkan bilgiler hakkında hala çok bilgilendirici olan eski bir blog yazısızdb . Bir hızlı google da Linux üzerinde ZFS için daha spesifik ilgili olabilecek birçok mesajları ortaya koymaktadır.


1
Şimdi bu bir cevap arıyorum budur. zdbSun'ın sayfalarından birinde "ZFS <something>" için Google'a başvurursanız, bu sayfalarda yer almıyor gibi görünüyor. ZFS'ye geçmeden önce, bunun benim için doğru olup olmadığını ve nasıl kurabileceğimi ve yapılandırabileceğimi araştırmak için inanılmaz bir zaman harcadım, ancak hiç karşılaşmadım zdb; ayrıca, "AYRICA GÖR" bölümü de dahil olmak üzere man zpoolne man zfsipucu ne de vardır. Çok teşekkürler!
Binarus

1
Bu ilginç bir gözlem. Sun'da ZFS piyasaya sürüldüğünde çalıştım ve daha sonra ZFS ile çok fazla iş yapan diğer şirketler için çok zdbdoğal görünüyor. Bu noktada kara büyü olduğunu fark etmedim. :) Open-ZFS, Oracle dışı tüm ZFS dünyasının yakından uyumlu olduğundan emin olmaya çalışan IllumOS / OmniOS / OpenSolaris / FreeBSD / Linux / diğer geliştiricilerin bir konsorsiyumudur. Onların Wiki'si oldukça iyi ve bazı referanslar da dahil olmak üzere çok fazla bilgiye sahip zdb, Bakınız: open-zfs.org/w/…
Tim Kennedy

1
Linux'taki ZFS'nin oldukça iyi olan ZFS man sayfaları var. Görebildiğim kadarıyla, onlar Solaris spesiyaliteleriyle, Solaris spesiyaliteleriyle aynı. Ve bilin bakalım: Linux sistemlerimde man zdbbeklediğiniz şeyi yapıyor :-) Bir şekilde belgeleniyor, ancak neredeyse hiçbir yerde belirtilmediğinden, kimse yazma fikrine gelmiyor man zdb. Bağlantı kurduğunuz blog yazısından: "[...] ama kasıtlı olarak bence, belgesiz. Bildiğim sadece iki kişi bu konuda kamuoyunda konuşma cesaretine sahipti [...]" :-)
Binarus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.