====== 09 Ubuntu Bcache Ceph ====== Bcacheを利用すると、Read IOPSが大幅に上昇させる事ができる。 [[01_linux:08_仮想化:juju:01_juju_maas_openstack|JuJu + MAAS + OpenStack]]で構成している事を想定で説明 ===== 変数用意 ===== OSD_UNIT=ceph-osd/0 OSD=osd.1 OSD_ID=1 OSD_DNAME=/dev/bcache0 OSD_PV=/dev/nvme1n1 OSD_VG=ceph-9bc57db6-c7d6-4ff9-91e2-1829e3e766aa ===== 1.まずは、OSDを外す ===== ceph osd out $OSD ===== 2.OSDを停止 ===== juju run-action --wait ceph-mon/leader change-osd-weight osd=$OSD_ID weight=0 juju run-action --wait $OSD_UNIT stop osds=$OSD_ID ===== 3.VG/PV削除 ===== juju ssh $OSD_UNIT sudo vgremove -y $OSD_VG sudo pvremove -y $OSD_PV ===== 4. OSD Purge ===== juju run-action --wait ceph-mon/leader purge-osd osd=$OSD_ID i-really-mean-it=yes ===== 5. Bcache作成 ===== make-bcache -B /dev/nvme1n1 -C /dev/nvme0n1 echo writeback > /sys/block/bcache0/bcache/cache_mode ===== 6. OSD追加 ===== juju run-action --wait $OSD_UNIT zap-disk devices=$OSD_DNAME i-really-mean-it=yes juju run-action --wait $OSD_UNIT add-disk osd-devices=$OSD_DNAME ===== 確認 ===== # cat /sys/block/bcache0/bcache/cache/cache_available_percent 100 # cat /sys/block/bcache0/bcache/state dirty ^clean|全て問題ないことを意味します。キャッシュはクリーンです。| ^dirty|全て正しくセットアップされており writeback が有効になっていてキャッシュがダーティであることを意味します。| ^inconsistent|バッキングデバイスがキャッシュデバイスと同期されていないため問題が発生しています。| # lsblk nvme0n1 259:0 0 698.7G 0 disk └─bcache0 252:0 0 931.5G 0 disk └─ceph--9bc57db6--c7d6--4ff9--91e2--1829e3e766aa-osd--block--9bc57db6--c7d6--4ff9--91e2--1829e3e766aa 253:0 0 931.5G 0 lvm nvme1n1 259:1 0 931.5G 0 disk └─bcache0 252:0 0 931.5G 0 disk └─ceph--9bc57db6--c7d6--4ff9--91e2--1829e3e766aa-osd--block--9bc57db6--c7d6--4ff9--91e2--1829e3e766aa {{tag>Ceph Bcache}}