Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1253170
  • 博文数量: 185
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 1418
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-02 15:12
个人简介

治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu

文章分类

全部博文(185)

文章存档

2019年(1)

2018年(12)

2017年(5)

2016年(23)

2015年(1)

2014年(22)

2013年(82)

2012年(39)

分类: LINUX

2016-11-08 14:27:47

原文地址:CA-device mapper和多路径 作者:spunix

device mapper

1.功能:可以将多个物理设备合成为一个逻辑设备,可以做普通的合并,或者实现类似raid0的条带化,还可以用来屏蔽硬盘中的坏道扇区,还可做lvm快照来备份数据库,或者通过零设备文件来模拟非常大的设备,用于测试功能。

Device mapper vlm 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到扇区取自sda10扇区开始取20000扇区,逻辑设备从20000扇区开始,从sdb10扇区开始取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表示下次启动仍然生效,16chunksize

 

9.zero零设备

特性:类似/dev/zero,但是他是个块设备,不能写东西,一般用来测试用,创建大的文件系统进行测试。比如测试创建10T大小的设备用ext3来格式化

#export HUGESIZE=$[100 * (2**40)/512]  100T的扇区数量 2**40240次方

#echo "0 $HUGESIZE zero" | dmsetup create zerodev

生成的文件在/dev/mapper/zerodev

ext3每个分区最大支持2TB

 

10.多路径功能

特性:多路径功能,用来提供线路冗余,监控每条链路,当链路失败时自动切换链路,而且自动恢复运行,防止单点故障。生成的设备名  /dev/dm-X

类型:当两路径优先级相等:负载均衡

      当两路径优先级不等:  冗余

#multipath列出多路径设备,后台需要开启multipathd服务,优先级大小为0-1024

实验步骤:

存储端配置双网卡,配置/dev/sda6iscsi设备

服务器端安装device-mapper-multipath包,连接iscsi设备

#vi /etc/multipath.conf

注释掉

blacklist {

    devnode "*"      不同厂商的配置是不一样的

}

取消注释

default{

     udev_dir ..

     ..

     path_grouping_policy   failover(根据失效域来判断执行策略)

}

#chkconfig multipathd on

#service multipathd restart

之后生成的设备位置在/dev/mpath/,可制作文件系统,挂载

#multipath –l 查询设备状态

 

11.FC存储

存储端建立raid设备,raid建立与HBAWWN号的映射关系(连接哪个HBA卡则使用哪块磁盘设备)

WWNHBA卡的授权名称,用来区分一个或一组网络连接,表示网络上的一个连接。

 

阅读(1636) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~