web-dev-qa-db-ja.com

Xubuntu 13.04のFlashcache

まず第一に、私はフラッシュキャッシュを使うことに慣れていないので、ここで投稿するのはそれについて勉強することだけです。

キャッシュ用に500GBのHDと24GBのSSDを搭載したAsus K56CM、i5を使用しています。デフォルトのオペレーティングシステムであるWindows 8では、SSDにHDをキャッシュするためにExpresscacheを使用します。

Xubuntuでも同じようにしたいのですが、これを行うにはFlashcacheがより良い方法だと思っています。

私はいくつかのマニュアルに従っていますが、何かを失っています。

パーティションテーブルは次のとおりです。

sda      8:0    0 465,8G  0 disk 

├─sda1   8:1    0   5,9G  0 part [SWAP]
├─sda2   8:2    0 117,2G  0 part /
└─sda3   8:3    0 342,7G  0 part /home

sdb      8:16   0  22,4G  0 disk 

├─sdb1   8:17   0   250M  0 part /boot/efi
├─sdb2   8:18   0   5,9G  0 part 
└─sdb3   8:19   0  16,3G  0 part 

SDAはハードディスクで、SDBはSSDです

SDB2では、Intel Rapid Bootにgdiskを使用していますが、SDB3で/ homeをキャッシュしたいです。

私が従ったウォークスルーは( http://nitocris.over-blog.net/article-flash-cache-as-home-or-root-on-ubuntu-109792445.html ):

 - apt-get install git-core
 - mkdir -p ~/Build/ ; cd ~/Build/
 - git clone https://github.com/facebook/flashcache.git
 - Sudo apt-get install git build-essential dkms linux-headers-`uname -r` uuid-dev
 - cd flashcache
 - Sudo make -f Makefile.dkms all boot_conf
 - Sudo make install
 - Sudo modprobe flashcache
 - Sudo echo "flashcache" >> /etc/modules
 - dmesg | tail

そして、Flashcacheがインストールされました。しかし、私の問題は、フラッシュキャッシュリンクを作成するときです。

SDA3のUUIDを取得し、SDB3でflashcache_Createを作成します。

- umount /home
- flashcache_create -p back home_cached /dev/sdb3 /dev/disk/by-uuid/XXX-XXX (the ID)

次に、FSTABを編集して、/ homeのマウントとコメントをコメント化します。

- /dev/mapper/home_cached /home     reiserfs defaults        0       2

すべては問題ありませんが、今では、システムを再起動したときに/ homeがマウントされていません...そして、理由がわかりません...

何か助け?

ありがとう!

PD:申し訳ありませんが、私の英語はスペイン語です:S

編集:OK、解決策があります。 Flashcacheはリブートするたびに作成する必要があるため、ブート時に実行するスクリプトを作成しました。ここで説明しました: http://ubuntuforums.org/showthread.php?t=2179297

3
EirisDG

同じ問題がありました。このupstartのconfファイルを思い付きました。このファイルはすべてのフラッシュキャッシュドライブを見つけてロードし、ドライブのsysctl設定を設定してからマウントします。さらにドライブを追加する場合、/ etc/fstabに追加して、4番目のフィールドにオプションnobootwaitがあることを確認するだけです。

/ dev/mapper/export/export ext4 nobootwait 0 1

ファイルは次のとおりです。/etc/init/flashcache.conf

# flashcache - Set up flashcache devices and mount them

description "Set up flashcache devices and mount them on boot"

start on mounted

task

console output

script
    # Load any flashcache devices and get them ready to mount, then set sysctl settings.

    PATH=/sbin:/bin:/usr/bin

    # Load up any flashcache devices
    for P in /dev/disk/by-id/*; do
        if flashcache_load $P 2>/dev/null; then
        echo "Loaded flashcache device from $P"
        fi
    done

    # Now look through all WRITE_BACK devices and set the sysctl settings
    for d in $(dmsetup table | grep 'cache mode(WRITE_BACK)' | Perl -pe 's@.*ssd dev \(/dev/disk/by-id/(.*?)\), disk dev \(/dev/disk/.*?/(.*?)\).*@$1+$2@'); do
        # disable writing dirty cache data at shutdown
        sysctl -w dev.flashcache.$d.fast_remove=1
        # change reclaim policy from FIFO to LRU
        sysctl -w dev.flashcache.$d.reclaim_policy=1
        # do not write "stale" data to disk until evicted due to lack of space
        sysctl -w dev.flashcache.$d.fallow_delay=0
    done

end script
2
user3324033

参照する:
HDDをSSDにキャッシュするためにflashcache/bcacheをインストールして使用するにはどうすればよいですか?

フラッシュキャッシュの作成/設定には2つのケースがあります。

  1. ルートデバイスのキャッシュ、または
  2. 非ルートのキャッシュ(/) 端末
0
jemin