Successfully reported this slideshow.
Your SlideShare is downloading. ×

“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 21 Ad

“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12

Download to read offline

SSDを大容量のHDDのキャッシュとして組み合わせ、大容量を実現しながらもランダムIO性能をSSD並にしてくれるbcacheの紹介です。

SSDを大容量のHDDのキャッシュとして組み合わせ、大容量を実現しながらもランダムIO性能をSSD並にしてくれるbcacheの紹介です。

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to “bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12 (20)

Advertisement

Recently uploaded (20)

“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12

  1. 1. “bcache”を使ってSSDの速さと HDDの大容量のいいとこどり Ubuntu 15.10リリース記念オフラインミーティング15.12 2015-12-12 Nobuto Murata <nobuto@ubuntu.com>
  2. 2. bcacheとは (1) bcacheは、比較的小容量のSSD(価格抑えめ)を大容量のHDDの キャッシュとして組み合わせ、大容量を実現しながらもランダムIO 性能をSSD並にしてくれる技術。 一般にSSDとHDD …を比べると 容量あたりの価格 ランダムIO性能 SSD 高い ☹ 高い ☺ HDD 安い ☺ 低い ☹
  3. 3. bcacheとは (2) ●Linuxカーネル3.10でmainline入り ●Ubuntuでは14.10(utopic)でbcache-tools(ユーザースペース ツール)含めてTechnology Previewとしてリリースノート記載 ●主にサーバー向けという扱い ●インストーラー(ubiquity, d-i)のサポートは今のところなし ●Ubuntu 14.04 LTS(trusty)にもbcache-toolsが後からバックポー トされた これまでの経緯
  4. 4. bcacheとは (3) ● https://www.kernel.org/doc/Documentation/bcache.txt ● http://bcache.evilpiepirate.org/ こんなところで活躍: launchpad.net “800GB+ PostgreSQL database”の高速化 http://insights.ubuntu.com/2015/12/10/using-bcache-for-performan ce-gains-on-the-launchpad-database-servers/ SSDをキャッシュとして使える他の実装 ●dm-cache ●Flashcache/EnhanceIO ●dm-writeboost など ドキュメント
  5. 5. bcacheのセットアップ
  6. 6. bcacheのセットアップ “ちなみに curtin”(後述)ではbcacheに対応しており、 下記のようなYAMLでbcacheの設定を渡せます。 partitioning_commands: builtin: [curtin, block-meta, custom] storage: config: - {grub_device: true, id: sda, name: sda, path: /dev/sda, ptable: msdos, t - {id: sdb, name: sdb, path: /dev/sdb, type: disk, wipe: superblock} - {device: sda, id: sda-part1, name: sda-part1, number: 1, offset: 4194304 - {device: sda, id: sda-part2, name: sda-part2, number: 2, size: 159719096 - {backing_device: sdb, cache_device: sda-part2, cache_mode: writeback, id - {fstype: ext4, id: sda-part1_format, label: '', type: format, uuid: 179d - {fstype: ext4, id: bcache0_format, label: '', type: format, uuid: 422d4b - {device: bcache0_format, id: bcache0_mount, path: /, type: mount} - {device: sda-part1_format, id: sda-part1_mount, path: /boot, type: mount version: 1 インストーラーのサポートがないので “/” にbcacheを使うのは簡単ではない
  7. 7. ストレージに変更を加えるので、バックアップは忘れずに。 bcacheのセットアップ 今回はd-iでインストール後に、データ領域だけbcache化する backing device SSD /dev/sda HDD /dev/sdb 2: OS 3: cacheEFI
  8. 8. bcacheのセットアップ d-iでSSD内にOS領域を確保してインストール
  9. 9. bcacheのセットアップ $ sudo parted /dev/sda print ... Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot 2 538MB 40.5GB 40.0GB ext4 $ sudo parted /dev/sda mkpart primary 40.5GB 100% $ sudo parted /dev/sda print ... Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot 2 538MB 40.5GB 40.0GB ext4 3 40.5GB 120GB 79.5GB primary cache用のパーティションを作成
  10. 10. bcacheのセットアップ $ sudo apt install bcache-tools $ sudo make-bcache -B /dev/sdb $ sudo make-bcache -C /dev/sda3 ## cache deviceとbacking deviceの紐付け $ sudo bcache-super-show /dev/sda3 | grep cset.uuid $ echo '<CSET.UUID>' | sudo tee /sys/block/bcache0/bcache/attach cache device, backing deviceの指定
  11. 11. bcacheのセットアップ ## ファイルシステムの作成 $ sudo mkfs.ext4 /dev/bcache0 $ sudo mkdir /media/bcache ## UUIDの確認 $ ls -l /dev/disk/by-uuid/ | grep bcache0 $ cat <<EOF | sudo tee -a /etc/fstab UUID=<UUID> /media/bcache ext4 defaults 0 0 EOF $ sudo mount -a 作成したbcacheデバイスを/etc/fstabへ記述
  12. 12. bcacheのセットアップ ## キャッシュモードの確認 $ cat /sys/block/bcache0/bcache/cache_mode [writethrough] writeback writearound none ## キャッシュモードの切り替え例 ## “writeback”は書き込みパフォーマンスが上がるが、 ## SSDが故障した際にデータを失う可能性がある。 $ echo writeback | sudo tee /sys/block/bcache0/bcache/cache_mode $ cat /sys/block/bcache0/bcache/cache_mode writethrough [writeback] writearound none キャッシュモード
  13. 13. ベンチマーク(参考程度に)
  14. 14. ベンチマーク条件 ●CPU: AMD A8-7600 ●メモリ: 32GB ●SSD: INTEL SSDSC2CT12 (Intel SSD 330シリーズ 120GB) ●HDD: TOSHIBA MQ01ABD0 (2.5インチ 750GB) OS関連 ●Ubuntu 14.04 LTS ●LTS vividカーネル(3.19) ●ext4ファイルシステム ●fioパッケージ 2.1.3-1 ハードウェア(参考程度に)
  15. 15. ベンチマーク条件 ## シーケンシャルIOの検出/バイパスオフ $ echo 0 | sudo tee /sys/block/bcache0/bcache/sequential_cutoff ## レイテンシ検出オフ $ echo 0 | sudo tee /sys/fs/bcache/<CSET.UUID>/congested_read_threshold_us $ echo 0 | sudo tee /sys/fs/bcache/<CSET.UUID>/congested_write_threshold_us SSDを最大限活用するようにbcacheを設定
  16. 16. ベンチマーク条件 [global] bs=4k ioengine=libaio iodepth=4 size=4g direct=1 runtime=60 directory=/mnt/test filename=ssd.test.file fio: “examples/ssd-test.fio”のテストサイズを変更 [seq-read] rw=read stonewall [rand-read] rw=randread stonewall [seq-write] rw=write stonewall [rand-write] rw=randwrite stonewall
  17. 17. ベンチマーク結果 読み込み
  18. 18. ベンチマーク結果 書き込み
  19. 19. bcacheとMAAS
  20. 20. MAAS 1.9 + curtinでbcacheサポート追加 WebUIからも設定できる。現在RC3、まもなくリリース予定。
  21. 21. Questions?

×