linuxI/O棧預(yù)習(xí)(上)-創(chuàng)新互聯(lián)

二、預(yù)習(xí)

10多年的魯山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整魯山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“魯山網(wǎng)站設(shè)計(jì)”,“魯山網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

在我們進(jìn)去device mapper的dm dedup學(xué)習(xí)之前,我們先要預(yù)習(xí)一下,什么是device mapper,和為什么device mapper能夠做塊重刪。

1、device mapper
照舊,我們先看一下維基百科對(duì)它的介紹。
The device mapper is a framework provided by the Linux kernel for mapping physical block devices onto higher-level virtual block devices. It forms the foundation of the logical volume manager (LVM), software RAIDs and dm-crypt disk encryption, and offers additional features such as file system snapshots.
注1:這一段的意思就是說(shuō)device mapper是我們linux系統(tǒng)中非常重要的LVM和軟RAID還有加密、快照等特性的實(shí)現(xiàn)。

Device mapper works by passing data from a virtual block device, which is provided by the device mapper itself, to another block device. Data can be also modified in transition, which is performed, for example, in the case of device mapper providing disk encryption or simulation of unreliable hardware behavior.
注2:這一段的意思是說(shuō)device mapper使用虛擬設(shè)備(dm-n)來(lái)提供與其他虛擬或者真實(shí)的塊設(shè)備的數(shù)據(jù)傳送,當(dāng)然數(shù)據(jù)能夠在其中改變(比如raid會(huì)增加冗余信息),也可以不改變(比如linear就是透?jìng)鳎?,或者就是更厲害的功能,加密等吧,可?jiàn)這個(gè)device mapper一定可以是個(gè)常青樹(shù),什么和存儲(chǔ)有關(guān)系的都可以用它實(shí)現(xiàn)。

我們大致了解的device mapper,我們還需要了解一下device mapper在linux I/O stack中的位置吧;
還是那個(gè)老圖,我們盡量看看,順便把其他的模塊也講解一下;
linux I/O 棧  預(yù)習(xí)(上)

鑒于篇幅有限,我們就從上往下講,因?yàn)楸救藦氖耹inux I/O stack的研究已經(jīng)有5年的時(shí)間,大概每個(gè)位置都是玩過(guò)的,但并非每個(gè)module都是專(zhuān)家,并且kernel I/O stack里面的存儲(chǔ)的知識(shí)都非常的深,所以要入坑存儲(chǔ)的同行的請(qǐng)三思啊。
ok,廢話不多說(shuō),我們從最上層開(kāi)始講,這里只是概要性的分析,不涉及特別深。
linux I/O 棧  預(yù)習(xí)(上)
我把圖截成上下兩半,以block layer為分層。上面應(yīng)該就是大概非常熟悉的三大塊,LIO、虛擬塊設(shè)備、VFS虛擬文件系統(tǒng)。
1、LIO(linux io target)
做傳統(tǒng)SAN存儲(chǔ)和分布式塊存儲(chǔ)的同學(xué)應(yīng)該對(duì)LIO比較熟悉吧,至少都是聽(tīng)過(guò)的,早些年我們做iscsi或者fc存儲(chǔ)的時(shí)候,那時(shí)候我們大多數(shù)用IET和SCST,后來(lái)隨著linux kernel對(duì)LIO的逐步完善,目前LIO可以支持非常多種類(lèi)的fabric和backcore。
fabric:tcm_fc(我覺(jué)得可能是用于emulex的光纖卡),iscsi_target_mod(是對(duì)接linux kernel網(wǎng)絡(luò)協(xié)議棧)、tcm_qla2xxx(對(duì)接qlogic的光纖卡)、sbp_target(IEEE 1394),tcm_usb_target(做usb移動(dòng)硬盤(pán)可以用上)等等吧,其中iscsi_target_mod可以被賦予infiniband的支持,會(huì)成為一個(gè)新的target為iser。
backcore:backcore簡(jiǎn)單來(lái)講就是虛擬scsi lun的mod,它能夠解析和仿真幾乎常見(jiàn)的所有標(biāo)準(zhǔn)SCSI命令,讓它看起來(lái)和SCSI DISK內(nèi)的LUN一樣。LIO能夠提供幾種backcore,core_file(通常是文件系統(tǒng)的某個(gè)文件,或者直接是將塊設(shè)備作為文件導(dǎo)出),core_iblock(能夠?qū)inux塊設(shè)備導(dǎo)出),pscsi(能夠直接導(dǎo)出,比如直接導(dǎo)出/dev/sdb等)。
2、vfs(虛擬文件系統(tǒng))
微微一笑,這里我不太懂,屬于瞎寫(xiě)。
文件系統(tǒng)在linux中占有舉足輕重的作用,他可能是用戶和開(kāi)發(fā)者最便捷能夠訪問(wèn)資源的方式。
linux為用戶開(kāi)發(fā)了很多可操作的文件系統(tǒng)。大致有以下幾種:
block-based fs:這類(lèi)文件系統(tǒng)通常后端設(shè)備是一個(gè)或多個(gè)塊設(shè)備,它們的實(shí)體是一個(gè)能夠組織數(shù)據(jù)的表結(jié)構(gòu),通過(guò)查表(metadata)來(lái)實(shí)現(xiàn)文件描述符到塊的映射訪問(wèn),這能非常有效的進(jìn)行我們?nèi)粘K械拇蟛糠止ぷ骱蜕钚枨?。我們比較常用的是ext2/3/4,xfs和btrfs等等。
Network fs:網(wǎng)絡(luò)文件系統(tǒng),他們的誕生是要去解決,block-based文件不能夠有效共享文件而產(chǎn)生的。他們從本質(zhì)上講都是分布式的,因?yàn)槲募赡鼙欢鄠€(gè)client使用,這種文件系統(tǒng)通常需要非常復(fù)雜的分布式協(xié)議作為支持,如我們最開(kāi)始接觸的NFS,從windows兼容的smb2fs,還有目前非常流行的ceph,目前來(lái)看ceph并非和它的前輩一樣只能夠作為NAS的導(dǎo)出協(xié)議,它能夠提供新興的存儲(chǔ)接口對(duì)象存儲(chǔ)和高效的塊存儲(chǔ)。
psedudo fs:偽文件系統(tǒng)。大家應(yīng)該都會(huì)對(duì)/dev/sda這種塊設(shè)備直接進(jìn)行過(guò)dd等操作,從vfs來(lái)看,/dev/sda這種bdev也是一種偽文件系統(tǒng),包括我們更加數(shù)據(jù)的/proc、/sys、/configfs等開(kāi)發(fā)者經(jīng)常用來(lái)變成使用的接口,他們的注冊(cè)和使用都非常簡(jiǎn)單,能夠高效的幫助我們完成各種系統(tǒng)功能的配置和查看。
special psedudo fs:這類(lèi)特別偽文件系統(tǒng),是非常重要的,我們經(jīng)常會(huì)把/tmp和/var掛載為tmpfs,用來(lái)加速不需要持久化的信息,來(lái)提供運(yùn)行速度。

大致說(shuō)完了上面的兩個(gè)LIO和vfs后,我們就需要來(lái)講講top block device,也就是可能被導(dǎo)出的block decive,在linux中,被LIO和VFS使用,等價(jià)于被mount,即使獨(dú)占模式,保護(hù)塊設(shè)備的訪問(wèn)安全。
top block device:也就是虛擬塊設(shè)備,這個(gè)在linux 里主要就是咱們經(jīng)常用的LVM drbd md-raid bcache和device mapper,它們就是在/drivers/md/下面,他們就是真正承上啟下的塊虛擬化模塊,每個(gè)模塊都是比較有意思。這些內(nèi)容會(huì)在后續(xù)的文章中一一講解。

【本文由51cto博客作者 “底層存儲(chǔ)技術(shù)” https://blog.51cto.com/12580077 個(gè)人創(chuàng)作,公眾號(hào):存儲(chǔ)之谷】,如需轉(zhuǎn)載,請(qǐng)于本人聯(lián)系,謝謝。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:linuxI/O棧預(yù)習(xí)(上)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://muchs.cn/article18/dsghdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、軟件開(kāi)發(fā)ChatGPT、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)