web-dev-qa-db-ja.com

ZFSミラーリングされた新しいドライブが追加され、正しいサイズが報告されない

ZFSでUbuntu16.04を実行しています。

OSはrpoolにあり、データは/ tankにあります

問題:次のコマンドを使用して、2台の6TBドライブをzvolに追加しました。

#zpool add-fタンクミラー$ {DISK1} $ {DISK2}

追加されたドライブ。私は6TB近くの何かを得ると思っていましたが、さらに2TBを得ました。これがdf -h /tankの出力です

Filesystem      Size  Used Avail Use% Mounted on
tank            2.1T     0  2.1T   0% /tank

これが# zpool list tankの出力です

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank  2.57T   460G  2.12T         -     7%    17%  1.00x  ONLINE  -

これが# zpool statusの出力です

pool: rpool
state: ONLINE
scan: scrub repaired 0 in 0h0m with 0 errors on Sun Feb 12 00:24:58 2017
config:

NAME                                                     STATE     READ WRITE CKSUM
rpool                                                    ONLINE       0     0     0
  mirror-0                                               ONLINE       0     0     0
    ata-Samsung_SSD_850_EVO_250GB_S2R5NB0HA87070Z-part1  ONLINE       0     0     0
    ata-Samsung_SSD_850_EVO_250GB_S2R5NB0HB09374D-part1  ONLINE       0     0     0

errors: No known data errors

pool: tank
state: ONLINE
scan: scrub repaired 0 in 1h8m with 0 errors on Sun Feb 12 01:32:07 2017
config:

NAME                                             STATE     READ WRITE CKSUM
tank                                             ONLINE       0     0     0
  mirror-0                                       ONLINE       0     0     0
    wwn-0x50014ee0561bff3f-part1                 ONLINE       0     0     0
    wwn-0x50014ee1011a7ad7-part1                 ONLINE       0     0     0
  mirror-1                                       ONLINE       0     0     0
    ata-ST6000NE0021-2EN11C_ZA14Q289             ONLINE       0     0     0
    ata-ST6000NE0021-2EN11C_ZA13YT32             ONLINE       0     0     0
cache
  ata-Samsung_SSD_850_PRO_512GB_S39FNX0J102027A  ONLINE       0     0     0

errors: No known data errors

# zpool set autoexpand=on tankを試しましたが、喜びはありませんでした。まだ2.5TBを報告しています。

これが# lsblkの出力です

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   477G  0 disk 
├─sda1   8:1    0   477G  0 part 
└─sda9   8:9    0     8M  0 part 
sdb      8:16   0     2T  0 disk 
├─sdb1   8:17   0     2T  0 part 
└─sdb9   8:25   0     8M  0 part 
sdc      8:32   0     2T  0 disk 
├─sdc1   8:33   0     2T  0 part 
└─sdc9   8:41   0     8M  0 part 
sdd      8:48   0 596.2G  0 disk 
└─sdd1   8:49   0 596.2G  0 part 
sde      8:64   0 596.2G  0 disk 
└─sde1   8:65   0 596.2G  0 part 
sdf      8:80   0 232.9G  0 disk 
├─sdf1   8:81   0 232.9G  0 part 
├─sdf2   8:82   0  1007K  0 part 
└─sdf9   8:89   0     8M  0 part 
sdg      8:96   0 232.9G  0 disk 
├─sdg1   8:97   0 232.9G  0 part 
├─sdg2   8:98   0  1007K  0 part 
└─sdg9   8:105  0     8M  0 part 
sr0     11:0    1  1024M  0 rom  
zd0    230:0    0     4G  0 disk [SWAP]

キー:

sda =タンク用L2ARC(samsung pro)

sdb&sdc = Seagate Ironwolf 6TBドライブ(タンク内の新しいミラー)

sdd&sde =タンクミラーのWD596Gドライブ

sdf&sdg = rpoolミラー

私のマシンがこれらの新しいドライブを2TBとしてしか認識していない理由を知っていますか?

それについて私にできることはありますか?

問題を修正するためにタンクを破壊する必要がありますか(修正がある場合)?

3
posop

ここで起こっている2つのこと。

  1. お使いのSATAコントローラーは2TBを超えるディスクをサポートしていない可能性があります。それらから全容量を引き出すには、新しいコントローラーを入手する必要があります。
  2. 596GBのミラーvdevを備えたプールに2TB(6TBディスク)のミラーを追加しました。これは技術的にはプールに追加のストレージを提供しますが、これはパフォーマンスにとって悪い設定です。プールが空の場合を考えてみましょう。パフォーマンスを向上させるために、書き込みはストライプ化されたvdevに分散されます。 596GBのvdevは2TBのvdevよりもはるかに早くいっぱいになり、ZFSはほぼ排他的に2TBのvdevに書き込む必要があります。これにより、ストライプミラーを実行することで得られるパフォーマンスの向上が無効になります。

最適なパフォーマンスを得るには、プール内のすべてのvdevで常に同じサイズのドライブ(理想的には同じジオメトリでさえも)が必要になります。

それについて私にできることはありますか?

追加されたvdevを削除することはできませんが、ディスクをより大きなディスクに置き換えることはできます。ここで最適なパフォーマンスが必要な場合は、

  • a)596GBドライブの代わりに、2TBを超えるドライブとさらに2台の6TBドライブをサポートするSATAコントローラーを入手します。
  • b)4台の2TBドライブを入手し、4台すべてのドライブを交換し、6TBドライブを他の用途に使用します。

問題を修正するためにタンクを破壊する必要がありますか(修正がある場合)?

上記のソリューションのいずれでもありません。ミラーの1つを削除する場合は、プールを再作成する必要があります。

1
Mikolan

lsblk ouputを見ると、デバイスは2 TBディスクとして報告されます。これは、プールを破棄して再作成しても、使用可能なスペースに影響がないことを意味します。

SATAポートはレガシー/ IDEモードで構成されていますか?その場合は、AHCIモードにしてみてください。

また、dmesg | grep -i sdbの出力を投稿してください

0
shodanshok