开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈基于iSCSI无盘网络的源盘保护范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要: 对源盘保护是无盘网络正常工作的基础,Linux下基于iscsi无盘网络的源盘保护,可以采用Device-Mapper机制来实现,功能类似于硬盘保护卡的超级保护,系统无论受到多么严重的破坏,只需重建快照就能立刻解决。本文将首先对使用Device-Mapper机制实现源盘保护的原理进行分析,然后通过实例讲解如何利用它实现保护。
Abstract: The source disk drive protection is the basis for the network to work, iSCSI-based network of Linux, the source disk drive protection mechanism can use the Device-Mapper system to implement,whose functions like a super protection of the hard drive protection card. No matter how seriously the damage of this system, just rebuilding the snapshot can be solved. This article will first analyze the principle of using the Device-Mapper system to achieve protection of the source disk, then explain by examples how to use it for protection.
关键词: iSCSI;Device-Mapper;无盘
Key words: iSCSI;Device-Mapper;diskless
中图分类号:TP3 文献标识码:A文章编号:1006-4311(2010)19-0150-02
0引言
快照技术很好地解决了数据联机热备份问题,哪怕数据再大,快照几乎都是瞬间完成的,数据资料维持在快照建立的时间点上,此时可对快照中的数据进行备份工作,即使备份期间,源数据有任何变化,都不会影响快照中的数据。当然在快照数据备份的过程中,源数据可以维持原本的运作状态,备份对其没有任何影响。Linux是支持快照功能的操作系统,而IET的iSCSI磁盘源又可以是任何块设备,只要将两者结合起来,就可以实现支持快照的iSCSI Target存储系统。
1使用Device-Mapper机制实现iSCSI无盘网络源盘保护的原理
从Linux内核2.6版本开始,内核提供了一种从逻辑设备到物理设备的映射机制,该机制称为Device-Mapper(设备映射器)。Device mapper 在Linux内核中作为一个块设备驱动被注册,它包含三个主要的对象――mapped device、映射表、target device。mapped device 是一个逻辑抽象,可以理解成为内核向外提供的逻辑设备,它通过映射表描述的映射关系和 target device 建立映射。Linux下的dmraid、LVM2、Multipath和dm-crypt等磁盘工具都是基于Device-Mapper实现的。
要使用Device-Mapper实现iSCSI快照只需要结合环回设备建立基于磁盘映像文件的快照即可,其原理是将映像文件与关联环回设备关联,然后使用Device-Mapper为环回设备建立快照。目前快照技术主要使用写时拷贝COW(Copy On Write)算法实现的。COW在快照生成时,没有实际数据的复制,只是记录了原始设备数据块的位置信息,所以可以瞬间完成快照的创建。如果对快照设备进行写操作,这些写操作只保存在快照设备上,对源设备没有任何影响。如果对于快照设备进行读操作,如果读取数据块是没有修改过的, 则读操作直接重定向到原始设备上。在快照建立后,如果原始设备的内容发生变化,则先将原始设备数据块读出并写入快照设备,然后用新数据块覆盖原始设备。在Linux操作系统中,环回设备是一个伪设备,它可以将一个文件虚拟成一个块设备,用户通过环回设备可以实现像访问普通块设备一样对普通文件进行访问,因此无盘客户端实际访问的是回环设备。
2使用Device-Mapper机制实现源盘保护方案
2.1 建立名为 .example:linuxsrv.vdisk的iSCSI Target,该Target用于管理无盘工作站安装和更新快照源设备之用。
ietadm --op new --tid=300 --params Name=.example:linuxsrv.vdisk
2.2 建立iSCSI源盘的映像文件/srv/iscsidisk/vdisk.img,然后将其与环回设备/dev/loop0关联,为/dev/loop0建立快照源设备/dev/mapper/vdisk_origin。
mkdir -p /srv/iscsidisk
dd if=/dev/zero of=/srv/iscsidisk/vdisk.img bs=1 count=0 seek=20G
losetup /dev/loop0 /srv/iscsidisk/vdisk.img
dmsetup create vdisk_origin --table "0 `blockdev --getsize /dev/loop0` snapshot-origin /dev/loop0"
2.3 为.example:linuxsrv.vdisk Target新建一个LUN0,该LUN对应的设备为/dev/mapper/vdisk_origin,然后使用管理工作站连接该LUN,安装好所需的操作系统和应用程序。
ietadm --op new --tid=300 --lun=0 --params Path=/dev/mapper/vdisk_origin,Type=blockio
2.4 建立名为 .example:linuxsrv.vdisksnapshot01的iSCSI Target,该Target用于普通客户机连接使用。
ietadm --op new --tid=1 --params Name=.example:linuxsrv.vdisksnapshot01
2.5 建立iSCSI快照的映像文件/srv/iscsidisk/ vdisksnapshot1.img,该文件大小为4G(即只允许用户写到快照的数据为4G),然后将其环回设备/dev/loop1关联。建立快照设备/dev/mapper/vdisk_snapshot01,其源设备是/dev/loop0,COW设备是/dev/loop1,使用非持久模式实现超级保护功能。
dd if=/dev/zero of=/srv/iscsidisk/vdisksnapshot1.img bs=1 count=0 seek=4G
losetup /dev/loop1 /srv/iscsidisk/vdisksnapshot1.img
dmsetup create vdisk_snapshot01 --table "0 `blockdev --getsize /dev/loop0` snapshot /dev/loop0 /dev/loop1 n 64"
2.6 为.example:linuxsrv.vdisksnapshot01Target新建一个LUN0,该LUN对应的设备为/dev/mapper/vdisk_snapshot01,普通客户机可以连接到该LUN使用iSCSI源盘的数据。如果需要建立多个iSCSI快照分配给多个客户机,重复步骤4、5和6,并修改相应的参数值即可。
ietadm --op new --tid=1 --lun=0 --params Path=/dev/mapper/vdisk_snapshot01,Type=blockio
2.7 一旦客户机发生中毒或文件被破坏等问题,需要还原iSCSI盘上的数据,恢复硬盘损毁等意外,只需要删除相应Target上的LUN,重新生成快照映像文件和快照设备,再为Target重新建立LUN即可。如果iSCSI源盘更新了数据,也可以通过重建快照设备来同步更新。
ietadm --op delete --tid=1 --lun=0
dmsetup remove vdisk_snapshot01
losetup -d /dev/loop1
rm -rf /srv/iscsidisk/vdisksnapshot1.img
dd if=/dev/zero of=/srv/iscsidisk/vdisksnapshot1.img bs=1 count=0 seek=4G
losetup /dev/loop1 /srv/iscsidisk/vdisksnapshot1.img
dmsetup create vdisk_snapshot01 --table "0 `blockdev --getsize /dev/loop0` snapshot /dev/loop0 /dev/loop1 n 64"
ietadm --op new --tid=1 --lun=0 --params Path=/dev/mapper/vdisk_snapshot01,Type=blockio
3结束语
笔者所在单位通过上述方式管理iSCSI无盘网络源盘,极大的降低了系统维护的工作量,同时提高了计算机的使用率。
参考文献:
[1]姜楠,李战怀,余承龙,任.基于iSCSI的多数据保护技术容灾系统框架研究.科学技术与工程,2010,(10).