お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2015-04-13 14:43:16

allegaeon
新しいメンバ
登録日: 2013-05-30

SSDへtrimを発行した場合の動作について

SSD への trim について質問させていただきます。

■環境
# lsb_release -d
Description:    Ubuntu 12.04.5 LTS

■ストレージ
SSD: CSSD-S6T512NHG6Q * 2
HDD: WD4003FZEX * 6

パーティション構成:
SSD#1
パーティション 1 が OS 領域 (30GB)
パーティション 2 が ZFS の ZIL 用 (24GB)
パーティション 3 は ZFS の L2ARC 用(325GB)

SSD#2
パーティション 1 が SWAP 領域(30GB)
パーティション 2 が ZFS の ZIL 用 (24GB)
パーティション 3 は ZFS の L2ARC 用(325GB)

※SSD#1 のパーティション構成を sfdisk でダンプして
   SSD#2 に複製しているので、パーティションサイズは
   全く同じ構成。

※SSD#1 と SSD#2 のパーティション 2、パーティション 3 は
   mdadm で組んだ RAID0 構成。

※trime はパーティション 1 と、 パーティション 2 と パーティション 2 を
   ext4 にしておけば通ることを確認しております。

HDD
  6 本で RAID10 相当の zpool を作成して SSD 上の上記 md デバイスを
  キャッシュとして割り当てている。

*******************************
$sudo zpool status -v
  pool: zp1
state: ONLINE
  scan: scrub repaired 0 in 8h56m with 0 errors on Thu Apr  9 06:02:36 2015
config:

        NAME        STATE     READ WRITE CKSUM
        zp1         ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            bp0-2   ONLINE       0     0     0
            bp0-3   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            bp1-0   ONLINE       0     0     0
            bp1-1   ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            bp1-2   ONLINE       0     0     0
            bp1-3   ONLINE       0     0     0
        logs
          md0       ONLINE       0     0     0
        cache
          md1       ONLINE       0     0     0

errors: No known data errors
*******************************


ここからが本題です。

以下のサイトで ZFS on Linux の trim サポートは "not yet ported" となっており
移植がまだされていないようです。

    http://open-zfs.org/wiki/Features#TRIM_Support

SSD#1 の パーティション 1(OS 領域) は定期的に fstrim するように
cron を組んでおり、swap はマウントオプションに discard をつけています。

OS と SWAP 領域への trime は問題なく発行できますが、ZFS のキャッシュ
パーティションには trim の発行ができないと考えられる構成です。

Ubuntu というより SSD の質問になってしまうかもしれませんが、fstrim をある
パーティションに対して実行した場合、マウントされたパーテーションに対してのみ
処理されるのでしょうか。

それとも SSD のコントローラにとってはパーティションの境目など見てないので
SSD のセル全域に渡って trim するのでしょうか。


※全域に trim が作用しないとパフォーマンス回復のために
  定期的に以下の操作を行う手間があるため確認させていただきます。

  zpool remove でプールから md デバイスを外す
  ext4 にフォーマット
  fstrim を md に発行
  ext4 パーティションのマウント解除後に、 zpool add -f <pool-name> <cache|log> md[X]


以上です。
よろしくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB