Linux Storage Filesystem/MM Summit 2014からの便りLinux Kernel Watch(2/2 ページ)

» 2014年04月23日 18時00分 公開
[小崎資広@IT]
前のページへ 1|2       

SMR(Shingled Magnetic Recording)の課題とファイルシステムの更新

 去年はご紹介レベルだった「SMR」(Shingled Magnetic Recording、別名瓦記録方式)ですが、今年は対策についても議論がなされました。

 ハードディスク(HDD)の記憶容量の増加は近年頭打ちになってきており、4kセクターのようなソフトウェア互換性に問題のあるソリューションも受け入れられるようになってきています。SMRも、ソフトウェア側での対応が必要な代わりに容量が増加するソリューションです。

 SMRの特徴はHDD内の複数のトラック同士が隣接し過ぎて、オーバーラップしてしまっていることです。別の言い方をすると、HDDのヘッドの書き込み幅がトラック幅を超えてしまっています。

 このままでは正しく書くことができないため、ちょっと頭をひねったアイデアが導入されています。図1を見てください。上図が通常のHDD、下図がSMRです。SMRでは書き込みを行うたびに隣接トラックを巻き込んでデータを書いてしまいますが、常にトラック1・2・3の順に書くという制約を設けることにより、読み取るのに十分なデータがHDD上に残っています。これを瓦書き方式といいます。

 この一風変わったHDD内部の機構は、SCSIコマンドレベルで「ゾーン」という概念に抽象化されています。HDDを256MB程度のゾーンという単位に区切り、それぞれのゾーンではシーケンシャル書き込みしかできないという制約が付いています。

 それをサポートするためにSCSIコマンドに拡張が加えられており、ゾーンごとに、現在書き込み位置を取得するコマンドと書き込み位置を先頭にリセットするコマンドが追加されています。このような著しい不便さと引き換えに記憶密度が2割ほどアップするそうです。

 もちろんSCSI委員会はバカではありませんから、互換性に対する配慮もあります。SMRサポートには以下の3つのモードがあります。

  • device managed(ソフトウェア側は変更不要。制約を破ったらファームウェアが内部でコピーオンライトで別の場所にデータを変更&コピーを行う。もちろん性能劣化はある)
  • host managed(ソフトウェアが全て制御を行い、制約を破ったら単にエラー)
  • host aware(性能を最適化するために、ゾーンポインターをソフトが使うこともできるが、制約を破ってもファームウェアがコピーオンライトで何とかしてくれる)

 このような一風変わったHDDをどのようにサポートするかについて議論が行われました。

 まず、host managedモードのサポートは難しいという意見が提出されました。「1つのゾーンに2つのパーティションが配置され、片方が非Linuxの場合、勝手に書き換えるのは許されないのでどうしようもない。パーティションソフトがゾーン境界を意識してパーティションを切るしかない」と、少なくともパーティションソフト向けインターフェースを公開する必要があるという意見です。

 次がhost awareモードについてですが、当然のように最右翼は「こんなの誰も使わないから放置すればいいんじゃないか(=ファームウェア頑張れ)」で、「普通のソフトは無視して、DBなどの特殊なアプリだけ/sysで公開するゾーンポインターを意識して性能を最適化すればいいんじゃないか」という意見です。

 その中で異彩を放っていたのがDavid Chinner。彼はトリを飾るべく、「あんなこといいな、できたらいいな」話を盛大にかまします。

 いわく、「今やわれわれはHDD、SSD、SMRと異なる性能特性を持つドライブを相手にしなければならなくなった、そして、今のソフトウェアスタックでは、ブロックアロケーションはファイルシステムの仕事であり、まじめにやると全ファイルシステムがブロックアロケーションの仕組みを3つずつ持たなければならない。これは無駄以外の何物でもないので、ファイルシステムを名前解決とブロックアロケーションの2つに分離し、ブロックアロケーションをファイルシステムの外の共通レイヤーに移したい」と(注5)

 さすがにこれはドリーム過ぎる提案なので、みんな苦笑い。しかし反応はそんなに悪くありません。

 ここ数年は毎年のように誰かが、「ブロックレイヤーがHDDを仮定したスケジューリングをするからSSDで性能が出ない」と苦情を申し立て、Jens Axboe(ブロックレイヤーメンテナ)が「ブロックレイヤーをまともにするからちょっと待て」と懇願するも、結局何もしないまま1年が過ぎ、議論は振り出しに……というパターンの繰り返しだったので、抜本的な構造改革に対する風当たりが徐々に変わってきているようです。

注5:WindowsのReFSがそんな感じになってます。


小崎 資広(こさき もとひろ)

富士通所属の専業Linuxカーネルハッカー。Linux Foundationの主催するLSF/MM Summitに毎年招待されるなど、Linuxカーネルコア開発者として活躍。2011年よりアメリカに赴任、Red Hat社のRHEL開発チームに合流、RHELの開発に携わる。しあわせなカーネルハックライフを応援すべく、最新トレンドを発信している。Happy Hacking!


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。