Linux下mapper的三个概念怎么理解
Admin 2022-07-21 群英技术资讯 642 次浏览
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卡的授权名称,用来区分一个或一组网络连接,表示网络上的一个连接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux系统没有注册表。注册表用于存储系统和应用程序的配置信息,而linux系统没有注册表机制,linux一直使用单独的文本文件来存放配置信息。linux无注册表机制的优势:1、不会产生太多的垃圾,且减少让系统瘫痪的风险;2、方便修复受损软件,一旦某个程序出了问题,只需要删除相对应的存储配置文件的文件夹,出问题的程序就会恢复到刚刚安装时的状态;3、方便软件的迁移。
在登录Linux时要执行文件的过程如下:在刚登录Linux时,首先启动 etc profile 文件,然后再启动用户目录下的 ~ bash_profile、 ~ ba
TCP下面的IP层是尽最大努力的交付,是不可靠的,所以TCP需要靠自己去完成可靠传输。下面,我们先从简单的停止等待协议来讲解可靠传输的如何实现的。需要注意可靠传输的几个特点:不丢失、不重复、按序到达。
linux下tcpdump命令用来做什么?tcpdump命令可以用来倾倒网络传输数据,执行tcpdump指令可列出经过指定网络界面的数据包文件。下面我们就来详细的了解一下tcpdump命令及其使用。
在linux中,静态路由是路由项由手动设置的一种路由方式;即使网络状态已经改变或重新被组态,静态路由也是固定不变的,静态路由由网络管理员逐项加入路由表,可用“route add -net 增加到某个网段的路由”语句在linux中增加路由。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008