LVMとmdadmを備えたシステムでフラッシュキャッシュを設定するのに問題があります。明らかなステップがないか、マッピングが間違っているのではないかと思います。誰かが私を正しい方向に向けてくれることを望んでいますか?
システム情報:
CentOS 6.464ビット
mdadm config
md0 : active raid1 sdd3[2] sde3[3] sdf3[4] sdg3[5] sdh3[1] sda3[0]
204736 blocks super 1.0 [6/6] [UUUUUU]
md2 : active raid6 sdd5[2] sde5[3] sdf5[4] sdg5[5] sdh5[1] sda5[0]
3794905088 blocks super 1.1 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
md3 : active raid0 sdc1[1] sdb1[0]
250065920 blocks super 1.1 512k chunks
md1 : active raid10 sdh1[1] sda1[0] sdd1[2] sdf1[4] sdg1[5] sde1[3]
76749312 blocks super 1.1 512K chunks 2 near-copies [6/6] [UUUUUU]
pcsvan
PV /dev/mapper/ssdcache VG Xenvol lvm2 [3.53 TiB / 3.53 TiB free]
Total: 1 [3.53 TiB] / in use: 1 [3.53 TiB] / in no VG: 0 [0 ]
使用されるflashcachecreateコマンド:
flashcache_create -p back ssdcache /dev/md3 /dev/md2
pvdisplay
--- Physical volume ---
PV Name /dev/mapper/ssdcache
VG Name Xenvol
PV Size 3.53 TiB / not usable 106.00 MiB
Allocatable yes
PE Size 128.00 MiB
Total PE 28952
Free PE 28912
Allocated PE 40
PV UUID w0ENVR-EjvO-gAZ8-TQA1-5wYu-ISOk-pJv7LV
vgdisplay
--- Volume group ---
VG Name Xenvol
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 3.53 TiB
PE Size 128.00 MiB
Total PE 28952
Alloc PE / Size 40 / 5.00 GiB
Free PE / Size 28912 / 3.53 TiB
VG UUID 7vfKWh-ENPb-P8dV-jVlb-kP0o-1dDd-N8zzYj
それが私が今いるところです、しかし私はそれが行われた仕事だと思いました、しかしテストと呼ばれる論理ボリュームを作成してそれをマウントするとき/ mnt/testは哀れです、60 ish MB/s
/ dev/md3にはRaid0に2x SSDがあり、単独で約800 MB/sのシーケンシャル書き込みで実行されています。raid6に6 x1TBドライブである/ dev/md2をキャッシュしようとしています。
私は一日を通して多くのページを読みました、そしてそれらのいくつかはここにあります、キャッシュが機能していないことは結果から明らかですが、私は理由がわかりません。
Lvm.confにフィルター行を追加しました
filter = [ "r|/dev/sdb|", "r|/dev/sdc|", "r|/dev/md3|" ]
それはおそらくばかげたものですが、キャッシュは明らかに書き込みを実行していないので、マッピングしていないか、キャッシュを正しくマウントしていないと思われます。
dmsetupステータス
ssdcache: 0 7589810176 flashcache stats:
reads(142), writes(0)
read hits(133), read hit percent(93)
write hits(0) write hit percent(0)
dirty write hits(0) dirty write hit percent(0)
replacement(0), write replacement(0)
write invalidates(0), read invalidates(0)
pending enqueues(0), pending inval(0)
metadata dirties(0), metadata cleans(0)
metadata batch(0) metadata ssd writes(0)
cleanings(0) fallow cleanings(0)
no room(0) front merge(0) back merge(0)
force_clean_block(0)
disk reads(9), disk writes(0) ssd reads(133) ssd writes(9)
uncached reads(0), uncached writes(0), uncached IO requeue(0)
disk read errors(0), disk write errors(0) ssd read errors(0) ssd write errors(0)
uncached sequential reads(0), uncached sequential writes(0)
pid_adds(0), pid_dels(0), pid_drops(0) pid_expiry(0)
lru hot blocks(31136000), lru warm blocks(31136000)
lru promotions(0), lru demotions(0)
Xenvol-test: 0 10485760 linear
私は私が考えることができる限り多くの情報を含めました、どんな返事も楽しみにしています。
/ dev/md2がlvm.confによって無効にされていないことがわかりますが、無効になっているはずです。
このような複雑なセットアップでは、LVMデバイスを明示的に追加し、他のすべてのデバイスを無効にする方がよいと思います。
_filter = [ "...", "a|/dev/md0|", "a|/dev/md1|", "a|/dev/mapper/ssdcache|", "r|.*|" ]
_
さらに、iostat
を使用して、実際のデバイスアクティビティを監視できます。
PS:
ドライブが非常に多くの異なるRAIDに参加する多くのパーティションに分割されているクレイジーなストレージレイアウトについて、私は非常に悲観的です。
システム{RAID1 (/dev/ssd1p1+/dev/ssd2p1)}
そして
データ{RAID10 (6 whole drives) + flashcache on RAID1 (/dev/ssd1p2+/dev/ssd2p2)}
-はるかに魅力的です:)。
PD:
またはさらに良い:
SSD全体のRAID1:フラッシュキャッシュのシステムとパーティション
そして
HDD全体のRAID10/6 +フラッシュキャッシュ