Was ist Mapper unter Linux?

青灯夜游
青灯夜游Original
2022-05-12 17:29:595110Durchsuche

Unter Linux lautet der vollständige Name des Mappers „Device Mapper“. Dabei handelt es sich um einen Zuordnungsmechanismus von logischen Geräten zu physischen Geräten. Mit diesem Mechanismus können Benutzer Speicherressourcen einfach entsprechend ihren eigenen Anforderungen verwalten. zugeordnetes Gerät, Zielgerät usw.

Was ist Mapper unter Linux?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

1. Was ist Mapper in Linux?

Mapper ist ein Zuordnungsmechanismus von logischen Geräten zu physischen Geräten, der im Linux 2.6-Kernel bereitgestellt wird können Speicherressourcen ganz einfach nach ihren eigenen Bedürfnissen verwalten.

Die derzeit gängigen logischen Volume-Manager unter Linux wie LVM2 (Linux Volume Manager 2-Version), EVMS (Enterprise Volume Management System), dmraid (Device Mapper Raid Tool) usw. basieren alle auf diesem Mechanismus.

Die wesentliche Funktion des Device Mappers besteht darin, E/A-Anfragen vom dem logischen Gerät zugeordneten Gerät an das entsprechende Zielgerät weiterzuleiten, basierend auf der Zuordnungsbeziehung und den vom Zieltreiber beschriebenen E/A-Verarbeitungsregeln.

Device Mapper ist im Kernel als Blockgerätetreiber registriert. Er enthält drei wichtige Objektkonzepte: zugeordnetes Gerät, Zuordnungstabelle und Zielgerät.

Device Mapper ist im Benutzerbereich relativ einfach und umfasst hauptsächlich die Device Mapper-Bibliothek und das dmsetup-Tool. Die

Device-Mapper-Bibliothek ist eine Kapselung der notwendigen Vorgänge, die für ioctl und den Benutzerbereich zum Erstellen und Löschen logischer Device-Mapper-Geräte erforderlich sind.

dmsetup ist ein Befehlszeilentool, das Benutzern das direkt nutzbare Erstellen und Löschen von Device-Mapper-Geräten ermöglicht.

Funktion:

kann mehrere physische Geräte zu einem logischen Gerät kombinieren, das für normales Zusammenführen oder Raid0-ähnliches Striping verwendet werden kann. Es kann auch zum Abschirmen fehlerhafter Sektoren auf der Festplatte verwendet werden Erstellen Sie die Datenbank oder simulieren Sie sehr große Geräte ohne Gerätedateien, um die Funktionalität zu testen.

Device Mapper ist die zugrunde liegende Technologie von LVM und Multipating.

2. Installationspaket:

device-mapper device-mapper-multipath

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

3. Arbeitsprinzip:

Durch Mapping Tabelle zum Erstellen logischer Geräte (Entsprechung zwischen physischen Geräten und jedem Sektor logischer Geräte). Der Inhalt der Tabelle umfasst: Startsektor des logischen Geräts:

Normalerweise 0 Sektornummertyp des logischen Geräts (linear lineare, kontinuierliche Kombination; gestreift gestreift; Fehler Schild fehlerhafte Sektoren; Null Nullgerät)

4. Berechnung der Festplattensektoren:

1 Sektor = 512 Bytes b 1kb = 1024b Sektorgröße kb = Anzahl der Sektoren 512/1024 Für eine 10G-Festplatte beträgt die Anzahl der Sektoren beispielsweise:

10000000kb = Anzahl der Sektoren 512/1024 = 20000000 Sektor

#echo “0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0” | dmsetup create mydevice

Erstellen eines logischen Geräts 0 bis Tabelle bedeutet, dass dieses logische Gerät ab Sektor 0 beginnt, mit 208782 Sektoren, linear bedeutet kontinuierlich, /dev/sda6 0 bedeutet, ab dem 0. Sektor von /dev/sda6 zu beginnen Erstellen Sie logische Geräte. Wenn ein Gerät den verbleibenden Speicherplatz als logisches Gerät nutzt, beginnen die Sektoren nicht bei 0. Es wird erst nach dem Neustart wirksam, nachdem das folgende Boot-Skript geschrieben wurde 5. Gerätefunktionen vom linearen Typ:

Kontinuierliche Kombination von Sektoren mehrerer physischer Partitionen zu einem logischen Gerät. 0 20000 linear /dev/sda1 0 20000 60000 linear /dev/sdb1 0 Hinweis: Das logische Gerät wird von 0 bis Sektor von sda1 übernommen, von Sektor 0 bis 20000 Sektor, das logische Gerät beginnt von Sektor 20000, von sdb1 Sektor 0, 60.000 Sektoren werden belegt und das logische Gerät verfügt über 80.000 Sektoren. Implementieren Sie den Befehl

#echo “0 80 linear /dev/sda1 0\n80 100 error\n181 200 linear /dev/sdb1 0” | dmsetup create mydevice

6.stripe Striping: 🎜🎜🎜🎜 nacheinander auf die Festplatte schreiben über chunksize 0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0 Hinweis: 🎜Logic The Gerät beginnt bei Sektor 0 bis Sektor 1024, Typ ist gestreift, 2 Geräte, Blockgröße 256 KB. Beginnend bei Sektor 0 von /dev/sda1 und /dev/sdb1 nehmen Sie jeweils 512 Sektoren (beachten Sie, dass die Anzahl der Sektoren die Blockgröße haben muss). ) Befehlsimplementierung🎜
#echo ―0 1000 snapshot /dev/sda1 /dev/vg0/realdev P 16 ‖ | dmsetup create mydevice从0扇区到1000扇区为/dev/sda1创建快照,名字为realdev,P表示下次启动仍然生效,16为chunksize
🎜🎜🎜7.Error: 🎜🎜🎜🎜Remove -Fehlersektoren durch synthetische logische Geräte 0 80 Linear /dev /sda1 0 80 100 Fehler 181 200 linear /dev /sdb1 0 Befehlsimplementierung🎜
#export HUGESIZE=$[100 * (2**40)/512] 100T的扇区数量 2**40为2的40次方
#echo "0 $HUGESIZE zero" | dmsetup create zerodev 生成的文件在/dev/mapper/zerodev ext3每个分区最大支持2TB
🎜🎜 🎜8 .snapshot logische Volume-Snapshot-Funktionen: 🎜🎜🎜🎜Nach dem Erstellen eines Snapshots werden 3 Geräte angezeigt (Originalgerät, Snapshot-Gerät, Kuhgerät). Wenn sich die Daten nicht geändert haben, werden die gelesenen Daten vom Originalgerät und den geänderten Daten gelesen Wird im Kuhbereich gespeichert, speichert das Snapshot-Gerät die Daten des Originalgeräts. 🎜
#vi /etc/multipath.conf 注释掉 blacklist { devnode "*" 不同厂商的配置是不一样的 } 取消注释 default{ udev_dir .. .. path_grouping_policy failover(根据失效域来判断执行策略) }
#systemctl enable multipathd 
#systemctl restart multipathd 之后生成的设备位置在/dev/mpath/下,可制作文件系统,挂载
#multipath –ll 查询设备状态
🎜🎜🎜9.zero Zero-Gerätefunktionen: 🎜🎜🎜🎜Ähnlich wie /dev/zero, aber es ist ein Blockgerät und kann nicht geschrieben werden. Es wird im Allgemeinen zum Testen verwendet und erstellt große Dateisysteme zum Testen. Der Test erstellt beispielsweise ein 10T-Gerät, das mit ext3🎜rrreee🎜🎜🎜10 formatiert ist:🎜🎜🎜

多路径功能,用来提供线路冗余,监控每条链路,当链路失败时自动切换链路,而且自动恢复运行,防止单点故障。生成的设备名 /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视频教程

Das obige ist der detaillierte Inhalt vonWas ist Mapper unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn