まず第一に、私はフラッシュキャッシュを使うことに慣れていないので、ここで投稿するのはそれについて勉強することだけです。
キャッシュ用に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
同じ問題がありました。この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
参照する:
HDDをSSDにキャッシュするためにflashcache/bcacheをインストールして使用するにはどうすればよいですか?
フラッシュキャッシュの作成/設定には2つのケースがあります。
/
) 端末