您好,登錄后才能下訂單哦!
今天小編給大家分享一下linux中mapper的概念是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
linux中,mapper全稱“Device mapper”,是一種從邏輯設備到物理設備的映射機制;在該機制下,用戶能很方便的根據自己的需要實現對存儲資源的管理;它包含三個重要概念:mapped device、target device等。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
1、linux中的mapper是什么
mapper全稱“Device mapper”,是Linux2.6內核中提供的一種從邏輯設備到物理設備的映射機制,在該機制下,用戶能夠很方便的根據自己的需要實現對存儲資源的管理。
當前比較流行的 Linux 下的邏輯卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于該機制實現的。
Device mapper本質功能就是根據映射關系和target driver描述的IO處理規則,將IO請求從邏輯設備mapped device轉發相應的target device上。
Device mapper在內核中作為一個塊設備驅動被注冊的,它包含三個重要的對象概念,mapped device、映射表、target device。
Device mapper在用戶空間相對簡單,主要包括device mapper庫和dmsetup工具。
Device mapper庫就是對ioctl、用戶空間創建刪除device mapper邏輯設備所需必要操作的封裝,
dmsetup是一個提供給用戶直接可用的創建刪除device mapper設備的命令行工具。
功能:
可以將多個物理設備合成為一個邏輯設備,可以做普通的合并,或者實現類似raid0的條帶化,還可以用來屏蔽硬盤中的壞道扇區,還可做lvm快照來備份數據庫,或者通過零設備文件來模擬非常大的設備,用于測試功能。
Device mapper 是lvm 和 multipating 的底層技術。
2.安裝包:
device-mapper
device-mapper-multipath
3.工作原理:
通過mapping table來創建邏輯設備(物理設備和邏輯設備每個扇區之間的對應關系)。表內容包括:
邏輯設備的起始扇區:
通常是0 邏輯設備的扇區數量 類型(linear
線性,連續組合;striped
條帶化;error
屏蔽壞道;snapshot
快照;zero
零設備)
4.磁盤扇區的計算:
1扇區=512字節b 1kb=1024b 扇區大小kb=扇區數512/1024 比如10G的磁盤,扇區數為:
10000000kb=扇區數512/1024=20000000個扇區
#blockdev --getsize /dev/sda6 查看設備扇區數量 #echo “0 ‘blockdev --getsize /dev/sda6’ linear /dev/sda6 0” | dmsetup create mydevice
通過table創建邏輯設備 0表示這個邏輯設備從0扇區開始,有208782個扇區,linear表示連續的,/dev/sda6 0 表示從/dev/sda6的第0個扇區開始做邏輯設備。當一個設備用剩余空間做邏輯設備時候,扇區就不是從0開始了。 以下寫入開機腳本后重啟才會生效
5.linear類型設備 特性:
把多個物理分區的扇區連續起來組合成一個邏輯設備。 0 20000 linear /dev/sda1 0 20000 60000 linear /dev/sdb1 0 注:
邏輯設備從0到扇區取自sda1從0扇區開始取20000扇區,邏輯設備從20000扇區開始,從sdb1的0扇區開始取60000個扇區,該邏輯設備80000個扇區。 實現命令
#echo “0 20000 linear /dev/sda1 0\n20000 60000 linear /dev/sdb1 0” | dmsetup create mydevice
6.stripe條帶化:
通過chunksize
輪流寫入磁盤 0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0 注:
邏輯設備從0扇區開始到1024扇區,類型為striped ,2個設備, chunksize 256kb 從/dev/sda1和/dev/sdb1 的0 扇區開始 各取512扇區(注意扇區數必須是chunksize的倍數) 命令實現
#echo “0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0” | dmsetup create mydevice
7.error:
通過合成邏輯設備去除錯誤扇區 0 80 linear /dev/sda1 0 80 100 error 181 200 linear /dev/sdb1 0 命令實現
#echo “0 80 linear /dev/sda1 0\n80 100 error\n181 200 linear /dev/sdb1 0” | dmsetup create mydevice
8.snapshot邏輯卷快照 特性:
創建快照后,出現3個設備(原設備,快照設備,cow設備) 如果數據沒有改變,讀取數據從原設備讀取,寫入變化的數據存儲到cow區域中,快照設備保存原設備的數據。
#echo ―0 1000 snapshot /dev/sda1 /dev/vg0/realdev P 16 ‖ | dmsetup create mydevice從0扇區到1000扇區為/dev/sda1創建快照,名字為realdev,P表示下次啟動仍然生效,16為chunksize
9.zero零設備特性:
類似/dev/zero,但是他是個塊設備,不能寫東西,一般用來測試用,創建大的文件系統進行測試。比如測試創建10T大小的設備用ext3來格式化
#export HUGESIZE=$[100 * (2**40)/512] 100T的扇區數量 2**40為2的40次方 #echo "0 $HUGESIZE zero" | dmsetup create zerodev 生成的文件在/dev/mapper/zerodev ext3每個分區最大支持2TB
10.多路徑功能特性:
多路徑功能,用來提供線路冗余,監控每條鏈路,當鏈路失敗時自動切換鏈路,而且自動恢復運行,防止單點故障。生成的設備名 /dev/dm-X 類型:
當兩路徑優先級相等:
負載均衡 當兩路徑優先級不等: 冗余
multipath列出多路徑設備,后臺需要開啟multipathd服務,優先級大小為0-1024 實驗步驟:
存儲端配置雙網卡,配置/dev/sda6為iscsi設備 服務器端安裝device-mapper-multipath包,連接iscsi設備
#vi /etc/multipath.conf 注釋掉 blacklist { devnode "*" 不同廠商的配置是不一樣的 } 取消注釋 default{ udev_dir .. .. path_grouping_policy failover(根據失效域來判斷執行策略) } #systemctl enable multipathd #systemctl restart multipathd 之后生成的設備位置在/dev/mpath/下,可制作文件系統,掛載 #multipath –ll 查詢設備狀態
11.FC存儲:
存儲端建立raid設備,raid建立與HBA卡WWN號的映射關系(連接哪個HBA卡則使用哪塊磁盤設備) WWN為HBA卡的授權名稱,用來區分一個或一組網絡連接,表示網絡上的一個連接
以上就是“linux中mapper的概念是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。