国产日韩换脸av一区在线观看_国内精品400部情侣激情_欧美—级高清免费播放_国产精品一区二区三区在线播放_欧美精品videos另类日本_日韩欧美精品网址_在线视频精品一_97av视频在线_亚洲片av在线_日本精品视频网站_久久久免费av_在线电影av不卡网址_亚洲欧美综合精品久久成人_最近2019中文免费高清视频观看www99_久久久国产精品一区_91国偷自产一区二区三区的观看方式

您的位置:首頁 >錢幣收藏 > 人民幣 >

二四六開獎王中王

2023-04-13 06:01:50 來源:

?flashcache,是facebook技術團隊開發的新開源項目,主要目的是用SSD硬盤來緩存數據以加速MySQL的一個內核模塊??梢钥吹?,它最初是用來做數據庫加速,但同時,它也被作為通用的緩存模塊而設計,能夠用于任何搭建在塊設備上的應用程序。

一、簡介及原理

1、工作原理

基于Device Mapper,它將快速的SSD硬盤和普通的硬盤映射成一個 帶緩存的邏輯塊設備,作為用戶操作的接口。用戶直接對這個邏輯設備執行讀寫操作,而不直接對底層的SSD或者普通硬盤操作。如果對底層的這些塊設備操作, 那么會失去作為一個整體提供的緩存功能。

2、內核層次

flashcache,它是通過在文件系統和塊設備驅動層中間 增加一緩存層次實現的,這里不得不提到DM層的映射機制。由于DM是作為虛擬的塊設備驅動在內核中被注冊的,它不是一個真實的設備驅動,不能完成bio的 處理,因此,它主要是基于映射表對bio進行分解、克隆和重映射,然后,bio到達底層真實的設備驅動,啟動數據傳輸。在Device mapper中,引入了target_driver,每個target_driver由target_type類型描述,代表了一類映射,它們分別用來具 體實現塊設備的映射過程。通過調用某一target_driver的map方法,來映射從上層分發下來的bio,也即是,找到正確的目標設備,并將bio 轉發到目標設備的請求隊列,完成操作。flashcache_target就是這樣一個新的target_driver(作為一個新的映射類 型,target_type是必須的),以模塊化的方式加入到了DM層。

3、邏輯架構

從源代碼層次分析,可以將flashcache分為這個四個模 塊,調度模塊(也稱‘讀寫模塊’)、邏輯處理模塊(也稱“讀寫后處理模塊”)、底層存儲模塊、以及后臺清理模塊,它們都是基于SSD Layout實現的,構建在SSD布局(后面會分析)之上。其中,調度模塊,在代碼中對應flashcache_map映射函數,它是 flashcache緩存層次數據入口,所以到達邏輯設備的讀寫請求,最終都會經過DM層的處理,通過flashcache_map進入調度模塊。稱之為 “調度”,主要是指,接收到數據后,它會根據bio請求的讀寫類型、是否命中緩存等因素,選擇不同的處理分支,如 flashcache_read/write或者flashcache_uncached_io,在read和write中會選擇是 flashcache_read_hit/miss還是flashcache_write_hit/miss。經過不同分支的讀寫,會調用底層存儲模塊來 完成磁盤或cache的數據讀寫。邏輯處理模塊,在代碼中對應flashcache_io_callback,它在調度模塊通過底層存儲模塊執行數據讀寫 操作完成后回調執行,所以說它是“讀寫后處理模塊”,它是采用狀態機實現的,根據調度模塊中的讀寫類型進行后續的處理,如讀未命中情況下,磁盤讀完成后, 回調到邏輯處理模塊,由它負責將從磁盤讀取的數據寫回到SSD,或者寫未命中情況下,寫SSD完成后,回調到邏輯處理模塊執行元數據的更新,再有就是對調 度模塊中讀寫操作的錯誤進行處理。底層存儲模塊,主要提供了兩種方式來完成真實的數據讀寫,一是由DM提供的dm_io函數,它最終還是通過 submit_bio的方式,將由調度模塊處理過的bio提交到通用塊層,進行轉發到真實的設備驅動,完成數據讀寫;另外,一種方式,kcopyd,是由 內核提供的一種底層拷貝函數,主要負責臟塊的寫回(從SSD到磁盤),會引起元數據的更新。而后臺清理模塊,是針對每個set進行數據清理,它會基于兩種 策略對臟塊做回收:(1)set內臟塊超過了閾值;(2)臟塊超過了設定的空閑時間,即fallow_delay,一般是15分鐘,在15分鐘沒有被操作 則會被優先回收。要注意的是,并沒有單獨的線程在后臺做定期空閑塊回收,必須由IO操作觸發,如果長時間沒有對某set操作,則其中的臟數據很長期保持, 容易危害數據安全。

4、源代碼布局

兩個工作隊列。結合device mapper代碼,特別是dm.c可以知道,在調用flashcache_create工具創建flashcache設備時,會調用 flashcache_ctl函數,執行創建工具,它會創建一工作隊列_delay_clean,主要負責對整個cache設備的臟塊清理,由 flashcache_clean_set在特定條件下調用(見代碼),通過flashcache_clean_all執行對所有sets的掃描與清理。 另外一個工作隊列,_kq_xxx,在flashcache_init中,由flashcache模塊加載時執行,通過對5個job鏈表進行 處理,執行元數據的更新與完成處理函數、讀磁盤后的SSD寫入、以及對等待隊列的處理,主要就是負責讀寫后的處理工作隸屬于邏輯處理模塊,即“讀寫后處理 模塊”,由磁盤或SSD讀寫后不同情況下被調度。

調度的時機可以看flashcache_map函數,處理邏輯則主要在函數flashcache_io_callback內部判斷,the same block的等待隊列是否為空,如果不為空,則同樣會調用flashcache_do_handler,執行對等待隊列的處理。

5、數據調度

對讀,接收到bio,首先,根據 bio->bi_sector,即硬盤的扇區號,得到SSD上的set。其次,在set內查找是否命中,如果命中,則將硬盤的扇區號轉換為SSD的 扇區號,然后將此bio向SSD提交,進行讀取;如果未命中,則首先向硬盤驅動提交bio,從硬盤讀數據,讀取完成后,由回調函數啟動回寫SSD操作,將 bio的扇區號轉換為SSD的=扇區號,然后向SSD驅動程序提交,將硬盤讀取的數據寫入SSD。對寫,同文件系統頁緩沖,并不直接寫入硬盤,而是寫入 SSD,同時,保持一個閥值,一般為20%,在臟塊數目達到此數值時,寫回磁盤。

6、源代碼地址:

https://github.com/facebook/flashcache

7、緩存模式 flashcache支持三種緩存模式:

Writeback : 對于寫入,首先會寫入到Cache中,同時將對于block的元數據dirty bit,但是并不會立即寫入后備的device

Writethrough : 對于寫入,寫入到Cache中,同時也會將數據寫入backing device,知道寫完backing device,才算寫完

Writearound : 寫入的時候,繞過Cache,直接寫入backing device,即SSD只當讀緩存

二、安裝內核

1、升級內核

# rpm -ivh kernel-4.4.199-1.x86_64.rpm

# rpm -ivh kernel-devel-4.4.199-1.x86_64.rpm

2、生成grub

# grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg

3、重啟

# reboot

三、安裝flashcache 1、安裝依賴工具

# yum install -y git make gcc

2、下載flashcache源碼

# git clone https://github.com/facebook/flashcache

3、編譯安裝

# cd flashcache/

# make

# make install

4、加載內核模塊

# modprobe flashcache

檢查

# lsmod " grep flashcache

flashcache 106496 1

dm_mod 110592 11 dm_log,dm_mirror,flashcache

5、自動加載內核模塊新建文件/etc/sysconfig/modules/flashcache.modules內容如下

#! /bin/sh

/sbin/modinfo -F filename flashcache > /dev/null 2>&1

if [ $? -eq 0 ]; then

/sbin/modprobe flashcache

fi

賦予權限

# chmod +x /etc/sysconfig/modules/flashcache.modules

6、創建緩存設備

# flashcache_create -p back -b 4k cachedev /dev/sdc /dev/sdb

cachedev cachedev, ssd_devname /dev/sdc, disk_devname /dev/sdb cache mode WRITE_BACK

block_size 8, md_block_size 8, cache_size 0

Flashcache metadata will use 440MB of your 32172MB main memory

參數說明:

-p:緩存模式 writeback,writethrough,writearound三種。

-s:緩存大小,可選項,如果未指定則整個SSD設備被用于緩存,默認的計數單位是扇區(sectors),但是可以接受k/m/g單位。

-b:指定塊大小,可選項,默認為4KB,必須為2的指數。默認單位為扇區。也可以用K作為單位,一般選4KB。

-f:強制創建,不進行檢查

注意: 加速的ssd和后端HDD磁盤可以是一個分區也可以是一塊磁盤

7、格式化磁盤

# mkfs.xfs /dev/mapper/cachedev

8、查看狀態

# ll /proc/flashcache/sdc+sdb/

total 0

-r--r--r-- 1 root root 0 Dec 16 14:05 flashcache_errors #flashcache 卷的錯誤信息報告

-r--r--r-- 1 root root 0 Dec 16 14:05 flashcache_iosize_hist

-r--r--r-- 1 root root 0 Dec 16 14:05 flashcache_pidlists

-r--r--r-- 1 root root 0 Dec 16 14:05 flashcache_stats #flashcache 卷的統計信息報告

9、查看具體的讀寫和命中率信息

# dmsetup status cachedev

0 419430400 flashcache stats:

reads(391120), writes(45940753)

read hits(337167), read hit percent(86)

write hits(20875155) write hit percent(45)

dirty write hits(20807737) dirty write hit percent(45)

replacement(11844), write replacement(183083)

write invalidates(5), read invalidates(19)

pending enqueues(33090), pending inval(33090)

metadata dirties(20621560), metadata cleans(1832026)

metadata batch(22220959) metadata ssd writes(232627)

cleanings(1832026) fallow cleanings(0)

no room(4520223) front merge(124207) back merge(1697772)

force_clean_block(0)

disk reads(53953), disk writes(6344364) ssd reads(2169176) ssd writes(41674210)

uncached reads(41405), uncached writes(4512356), 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(10444544), lru warm blocks(10444544)

lru promotions(0), lru demotions(0)

10、查看內核信息

# sysctl -a | grep flashcache

dev.flashcache.sdc+sdb.cache_all = 1

dev.flashcache.sdc+sdb.clean_on_read_miss = 0

dev.flashcache.sdc+sdb.clean_on_write_miss = 0

dev.flashcache.sdc+sdb.dirty_thresh_pct = 20

dev.flashcache.sdc+sdb.do_pid_expiry = 0

dev.flashcache.sdc+sdb.do_sync = 0

dev.flashcache.sdc+sdb.fallow_clean_speed = 2

dev.flashcache.sdc+sdb.fallow_delay = 900

dev.flashcache.sdc+sdb.fast_remove = 0

dev.flashcache.sdc+sdb.io_latency_hist = 0

dev.flashcache.sdc+sdb.lru_hot_pct = 75

dev.flashcache.sdc+sdb.lru_promote_thresh = 2

dev.flashcache.sdc+sdb.max_clean_ios_set = 2

dev.flashcache.sdc+sdb.max_clean_ios_total = 4

dev.flashcache.sdc+sdb.max_pids = 100

dev.flashcache.sdc+sdb.new_style_write_merge = 0

dev.flashcache.sdc+sdb.pid_expiry_secs = 60

dev.flashcache.sdc+sdb.reclaim_policy = 0

dev.flashcache.sdc+sdb.skip_seq_thresh_kb = 0

dev.flashcache.sdc+sdb.stop_sync = 0

dev.flashcache.sdc+sdb.zero_stats = 0

11、安裝狀態查詢工具

# cp /root/flashcache-master/utils/flashstat /bin/

# chmod +x /bin/flashstat

# flashstat

sysctl: reading key "net.ipv6.conf.all.stable_secret"

sysctl: reading key "net.ipv6.conf.default.stable_secret"

sysctl: reading key "net.ipv6.conf.eth0.stable_secret"

sysctl: reading key "net.ipv6.conf.lo.stable_secret"

======================================================================================================

Flashstat: a tool for flashcache status per second

Author : NinGoo(seaman.ning@gmail.com)

Version : 0.3

======================================================================================================

SSD Device: /dev/sdc Disk Device: /dev/sdb Cache Mode: WRITE_BACK

Capacity: 81598M Block Size: 4K Meta Block Size: 4096b

Total Blocks: 20889088 Cached Blocks: 159897 Cached Percent: 0

Set Numbers: 512 Dirty Blocks: 125921 Dirty Percent: 0

cache_all: 1 reclaim_policy: FIFO dirty_thresh_pct: 20

max_clean_ios_set: 2 max_clean_ios_total: 4 skip_seq_thresh: 0K

======================================================================================================

time read/s write/s diskr/s diskw/s ssdr/s ssdw/s uread/s uwrit/s metaw/s clean/s repl/s wrepl/s hit% whit% dwhit%

12-16 14:32:33 0 98813 0 0 0 99355 0 0 541 0 0 0 0|63 0|0 0|0

12-16 14:32:34 0 112569 0 0 0 113211 0 0 636 0 0 0 0|63 0|0 0|0

12-16 14:32:35 0 111352 0 0 0 112019 0 0 666 0 0 0 0|63 0|0 0|0

12-16 14:32:36 0 84825 0 0 0 85362 0 0 543 0 0 0 0|63 0|0 0|0

12-16 14:32:38 0 102305 0 0 0 102848 0 0 537 0 0 0 0|63 0|0 0|0

12-16 14:32:39 0 109665 0 0 0 110322 0 0 662 0 0 0 0|63 0|0 0|0

12-16 14:32:40 0 158722 0 0 0 159609 0 0 887 0 0 0 0|63 0|0 0|0

12、卸載

# dmsetup info cachedev

Name: cachedev

State: ACTIVE

Read Ahead: 256

Tables present: LIVE

Open count: 0

Event number: 0

Major, minor: 253, 2 #從設備號2

Number of targets: 1

# dmsetup remove /dev/dm-2

# flashcache_destroy /dev/sdc

flashcache_destroy: Destroying Flashcache found on /dev/sdc. Any data will be lost !!

# dmsetup remove cachedev

# flashcache_destroy /dev/sdc  -f

四、遇到的問題

1、重啟之后設備沒了

# modprobe flashcache

# modprobe -r flashcache

# flashcache_load /dev/sdc

相關閱讀
熱門新聞
徐永才--人民幣雕刻大師

徐永才--人民幣雕刻大師

人物名片 徐永才 正高級工藝美術師 鈔券雕刻師第四套人民幣壹元券正面頭像雕刻者 第四套人民幣貳元券正面頭像雕刻者第五套人民幣壹佰元正

2019-07-11 09:58
鈔券雕刻師花瑞松講述雕刻背后的故事

鈔券雕刻師花瑞松講述雕刻背后的故事

人物名片 花瑞松 上海印鈔有限公司高級工藝美術師 鈔券雕刻師第四套人民幣一元券背面主景圖案雕刻者第五套人民幣壹佰元券背面主景圖案雕刻

2019-07-11 10:03
民國紙幣上的重慶風景

民國紙幣上的重慶風景

  重慶簡稱巴、渝,別稱巴渝、山城、渝都、橋都、霧都。因所處嘉陵江古稱渝水,故其簡稱渝。北宋崇寧元年(1102),改渝州為恭州。南宋淳熙

2019-07-11 10:06
新版人民幣即將發行 怎樣收藏最好呢

新版人民幣即將發行 怎樣收藏最好呢

  中國人民銀行定于2019年8月30日起發行2019年版第五套人民幣50元、20元、10元、1元紙幣和1元、5角、1角硬幣?! ⌒掳嫒嗣駧虐l行的時期,往

2019-07-16 12:37
99版成龍頭品種   第六套人民幣將不再發行

99版成龍頭品種 第六套人民幣將不再發行

前段時間,19版人民幣的發行公告在市場中吵得沸沸揚揚!突如其來的人民幣改版既在意料之中,又挺讓人意外。意料之中的是紙幣改版早有傳言,

2019-07-16 12:39
關于新版人民幣疑問解答在這里

關于新版人民幣疑問解答在這里

  前幾天,新版人民幣又雙叒叕上微博熱搜了!幸好,從8月30日起,萬眾期待的新版人民幣就要來了!新版人民幣包含50元、20元、10元、1元紙幣

2019-07-18 13:19
国产日韩换脸av一区在线观看_国内精品400部情侣激情_欧美—级高清免费播放_国产精品一区二区三区在线播放_欧美精品videos另类日本_日韩欧美精品网址_在线视频精品一_97av视频在线_亚洲片av在线_日本精品视频网站_久久久免费av_在线电影av不卡网址_亚洲欧美综合精品久久成人_最近2019中文免费高清视频观看www99_久久久国产精品一区_91国偷自产一区二区三区的观看方式
欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲自拍小视频| 国产精品av免费在线观看| 国产一级揄自揄精品视频| 亚洲成人av资源网| 欧美国产日韩免费| 国产亚洲人成网站在线观看| 国内成人精品视频| 中文字幕精品久久| 久久精品青青大伊人av| 国产在线观看精品一区二区三区| 欧美日韩中文字幕日韩欧美| 97精品国产91久久久久久| 亚洲精品久久久久久下一站| 国产一区二区三区在线观看网站| 日韩免费在线免费观看| 久久99亚洲热视| 欧美极品欧美精品欧美视频| 中文字幕久精品免费视频| 欧美激情xxxx性bbbb| 国产精品免费小视频| 91影院在线免费观看视频| 影音先锋欧美在线资源| 亚洲www在线观看| 中文综合在线观看| 亚洲一区二区久久久久久| 亚洲一区二区三区四区在线播放| 国产啪精品视频| 亚洲japanese制服美女| 一区二区三区国产视频| 清纯唯美亚洲激情| 亚洲黄色在线观看| 亚洲精品黄网在线观看| 久久久久久久久久久免费精品| 亚洲欧美日韩中文视频| 91精品国产高清| 正在播放欧美一区| 亚洲一区二区黄| 日韩欧美亚洲国产一区| 欧美性猛交xxxx免费看久久久| 国产在线观看精品| 91po在线观看91精品国产性色| 7777kkkk成人观看| 亚洲最大成人网色| 欧美激情一区二区三区成人| 成人午夜激情网| 一区国产精品视频| 国产精品成熟老女人| 欧美在线影院在线视频| 视频一区视频二区国产精品| 亚洲最新av网址| 国产亚洲精品91在线| 亚洲人成绝费网站色www| 国产亚洲精品久久久久久牛牛| 在线免费观看羞羞视频一区二区| 久久久国产精品视频| 久久精品亚洲国产| 亚洲欧洲国产伦综合| 92国产精品视频| 国产精品成人av性教育| 亚洲精品国产suv| 55夜色66夜色国产精品视频| 亚洲一区二区三区久久| 日本高清视频精品| 欧美性xxxx在线播放| 亚洲美女av在线播放| 亚洲精品视频网上网址在线观看| 久久视频国产精品免费视频在线| 国语自产精品视频在线看抢先版图片| 在线视频欧美性高潮| 日韩欧美精品在线观看| 97在线日本国产| 国产不卡视频在线| xxxxx成人.com| 国产亚洲精品va在线观看| 国语自产精品视频在线看| 中文字幕久久精品| 欧美中文字幕视频在线观看| 麻豆国产va免费精品高清在线| 久久久亚洲福利精品午夜| 日韩精品视频在线免费观看| 久久精品久久久久久国产 免费| 亚洲无限乱码一二三四麻| 538国产精品一区二区免费视频| 欧美色另类天堂2015| 中文字幕欧美精品在线| 91久久国产综合久久91精品网站| 亚洲free性xxxx护士hd| 97人洗澡人人免费公开视频碰碰碰| 亚洲一品av免费观看| 日韩高清电影免费观看完整版| 精品国产区一区二区三区在线观看| 久久综合色88| 久久噜噜噜精品国产亚洲综合| 亚洲自拍偷拍一区| 国产精品久久一区| 伊人av综合网| 亚洲精品美女在线观看播放| 久久精品久久久久久| 国产成人精品综合久久久| 97国产精品久久| 国产女人精品视频| 欧美成人午夜激情在线| 欧美日韩一区二区在线播放| 日韩视频―中文字幕| 日本高清视频一区| 国产精自产拍久久久久久| 日韩电视剧在线观看免费网站| 精品久久久一区| 国产精品电影观看| 中文日韩电影网站| 久久99久久久久久久噜噜| 国产亚洲视频在线观看| 亚洲人成电影网站色…| 久久这里只有精品视频首页| 亚洲国产高潮在线观看| 亚洲无线码在线一区观看| 欧日韩不卡在线视频| 日韩精品在线视频| 国产午夜精品全部视频播放| 69久久夜色精品国产69| 国产欧美va欧美va香蕉在| 国产视频精品xxxx| 91精品久久久久久久久不口人| 日韩成人在线播放| 欧美成人性色生活仑片| 国产精品国内视频| 亚洲黄页网在线观看| 日本久久久久久| 欧美成人一二三| 成人免费在线视频网址| 黑人巨大精品欧美一区二区三区| 亚洲精品福利视频| 国产精品电影网站| 亚洲国产小视频在线观看| 中文字幕在线亚洲| 日韩精品欧美国产精品忘忧草| 国产精品一区二区三区久久| 中文字幕在线亚洲| 热re91久久精品国99热蜜臀| 亚洲美女在线视频| 欧美综合国产精品久久丁香| 亚洲福利视频久久| 日本免费久久高清视频| 欧洲精品久久久| 在线观看欧美www| 韩国福利视频一区| 麻豆国产精品va在线观看不卡| 欧美激情xxxx性bbbb| 最近中文字幕mv在线一区二区三区四区| 亚洲专区中文字幕| 欧美一级片久久久久久久| 亚洲裸体xxxx| 精品亚洲夜色av98在线观看| 中文字幕精品www乱入免费视频| 欧洲美女7788成人免费视频| 2019中文在线观看| 68精品久久久久久欧美| 国产精品27p| 日产精品久久久一区二区福利| 91在线观看免费高清完整版在线观看| 亚洲国产成人一区| 中文字幕在线看视频国产欧美| 精品少妇一区二区30p|