configure bcache for preventing IO to a HDD to save power / noise

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


­I have 4 HDD's, and 4 SSD's. Each HDD is cached by it's own SSD. The 4 HDD/SSD stacks are used to create a btrfs raid system as described here:'s

I want the hard drives to stay idle, so they don't spin, don't consume power and be silent.

I would like to configure bcache like this:
1) Never write to the hard drive, unless there's (almost) no room on the SSD anymore.
2) Avoid reading from the HDD, so cache everything that has been read from the HDD.
3) When a cache miss occurs, wake up the HDD, and read from there. 
4) After a cache miss, write all the dirty data from the SSD to the HDD until there's no dirty data anymore.
5) When both reading and writing data to the HDD, prioritize reading.

i've tried these settings to avoid write access to the HDD:
echo 0 >  /sys/fs/bcache/<uuid>/congested_read_threshold_us 
echo 0 >  /sys/fs/bcache/<uuid>/congested_write_threshold_us 
echo writeback > /sys/block/bcache3/bcache/cache_mode
echo 0 >  /sys/block/bcache0/bcache/sequential_cutoff 
With the above settings, all the writes first go to the SSD's, but then they are almost immediately flushed into the HDD.

echo 90 > /sys/block/bcache0/bcache/writeback_percent
With this setting I hoped the writes to the HDD would stop until the SSD was almost full. This percentage is clipped to 40%, so most of the SSD can't be used as a write cache. Also there were still writes into the HDD:
# cat /sys/block/bcache0/bcache/writeback_percent

With this setting I don't see writes to the HDD anymore: What happens when the amount of dirty data is over 40% while the delay has not yet expired?
echo 100000 > /sys/block/bcache0/bcache/writeback_delay

How can I configure bcache so the HDD's are idle for as long as possible?

Your E-Mail. Your Cloud. Your Office. eclipso Mail & Cloud.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux