搜尋
首頁php教程PHP开发Linux系統核心中的Device Mapper機制 (1)(4)

用戶空間部分

Device mapper在用戶空間相對簡單,主要包括device mapper庫和dmsetup工具。 Device mapper函式庫就是ioctl、使用者空間建立刪除device mapper邏輯裝置所需必要操作的封裝,dmsetup是一個提供給使用者直接可用的建立刪除device mapper裝置的命令列工具。因為它們的功能和流程相對簡單,在本文中對它們的細節就不介紹了,用戶空間主要負責如下工作:

1、 發現每個mapped device相關的target device;

2、 根據配置資訊創建映射表;

3、 將用戶空間建構好的映射表傳入內核,讓內核建構該mapped device對應的dm_table結構;

4、 保存目前的映射訊息,以便未來重新建構。

以下我們主要透過實例來說明dmsetup的使用,同時進一步說明device mapper這種映射機制。使用者空間中最主要的工作就是建構並保存映射表,以下給出一些映射表的例子:

1)
0 1024 linear /dev/sda 204
1024 512 linear /dev/sdb 766

1536 128 linear /dev/sdc 0 
2) 0 2048 striped 2 64 /dev/sda 1024 /dev/sdb 0

3) 0 4711 mirror core 2 64 nosync 2 /dev/sda 2048 /dev/sdb 1024

例子1中將邏輯設備0~1023扇區、1024~1535扇區以及1536~1663三個地址範圍分別以線形對應的方式對應到/dev/sda裝置第204號磁區、/dev/sdb裝置第766號磁區和/dev/sdc裝置的第0號磁區開始的區域。

例子2中將邏輯設備從0號扇區開始的,長度為2048個扇區的段以條帶的方式映射的到/dev/sda設備的第1024號扇區以及/dev/sdb設備的第0號扇區開始的區域。同時告訴內核這個條帶類型的target driver存在2個條帶設備與邏輯設備做映射,並且條帶的大小是64個扇區,使得驅動可以該值來拆分跨設備的IO請求。

例子3中將邏輯設備從0號扇區開始的,長度為4711個扇區的段以鏡像的方式映射到/dev/sda設備的第2048個扇區以及/dev/sdb設備的第1024號扇區開始的區域。

映射表確定後,建立、刪除邏輯設備的操作就相對簡單,透過dmsetup如下指令就可以完成對應的操作。

dmsetup create 设备名 映射表文件 /* 根据指定的映射表创建一个逻辑设备 */

dmsetup reload 设备名 映射表文件 /* 为指定设备从磁盘中读取映射文件,重新构建映射关系 */

dmsetup remove 设备名 /* 删除指定的逻辑设备 */

Linux系統核心中的Device Mapper機制 (1)(4)

圖4 根據範例1中映射表在內核中建立的邏輯設備

當用戶空間根據映射表下達創建邏輯設備命令後,device mapper在內核中就根據傳入的參數和映射關係建立邏輯位址到物理位址的映射關係。根據映射表範例1中的映射關係建立的設備如圖4所示,圖中的下半部就抽像地描繪出了依照該映射表在內核中建立的邏輯位址到物理位址的映射關係。

 以上就是Linux系統核心中的Device Mapper機制 (1)(4)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器