dd备份裸设备相关

先说一下几个概念:


一,裸设备

裸设备是未经过格式化的磁盘,所以没有文件系统,也没有raid的冗余,所以他的读取不经过操作系统这一层,而是直接读取,I/O效率会更高,由软件程序直接读取,裸设备的备份属于block级别的块备份,块备份采用了cache机制,在裸设备和主内存之前可以传输一整块数据。


二,cache

cache是存在于cpu于主内存之间的告诉缓存,存在的原因是因为cpu的读写速度远远高于内存,所以cpu到内存之间的I/O,经常出现排队的情况,cache可以提供高于主内存的,与cpu相当的存储速度,提高了I/O性能,但是成本太高,也不可能取代普通内存,一般情况是cache中存放cpu使用过的数据,cpu可以优先通过cache来读取,没有的再去主内存找。


裸设备的备份和恢复是通过dd命令来实现的,参数很多,基本的先记住4个吧,if of count bs


if: 要备份的设备,输入文件

of:反之

bs: 一个block的大小

count: block的个数


bs乘以count=磁盘的容量


 若进行无软件压缩的备份,使用如下命令:  

dd if=<lv> of=/dev/rmt0 ibs=512 obs=<bs> conv=sync  


若进行有软件压缩的备份,使用如下命令:  

dd if=<lv> bs=512 | compress | dd of=/dev/rmt0 ibs=512 obs=<bs> conv=sync 


  使用下面的命令恢复所做的裸设备的备份:


   i) 恢复没有进行软件压缩的备份,使用如下命令:     

dd if=/dev/rmt0 ibs=<bs> obs=512 | dd of=/dev/<lv> bs=512 skip=1 seek=1  

   ii)  恢复进行了软件压缩的备份,使用如下命令:    


dd if=/dev/rmt0 ibs=<bs> obs=512 | uncompress | dd of=/dev/<lv> bs=512 skip=1 seek=1 


注意:使用dd命令进行备份时不能跨多盘磁带,用户必须确认要备份的裸设备可在一盘磁带上完整备份。


以下内容是裸设备的创建和绑定方法,来自百度文库:


1、裸设备的绑定 有文件系统的分区是采用mount的方式挂载到某一个挂载点的(目录) 而裸设备不能mount,只能绑定到/dev/raw/下的某一个设备名 比如/dev/raw/raw1


2、裸设备的绑定方法 有两种方法,这里介绍一种,另一种可以google搜索到 


修改/etc/sysconfig/rawdevices,添加以下内容,

这里sdd1和sdd2是原始分区名或者原始设备(硬盘)名,

raw1和raw2是/dev目录下的原始设备名,编号从raw1到raw255,也就是最多可以绑定255个裸设备

/dev/raw/raw1 /dev/sdd1

/dev/raw/raw2 /dev/sdd2 


3,然后修改裸设备的属主和访问权限

chown oracle:dba /dev/raw/raw1

chown oracle:dba /dev/raw/raw2

chmod 660 /dev/raw/raw1

chmod 660 /dev/raw/raw2 

最后使得裸设备生效,并且在机器启动的时候就自动加。



你可能感兴趣的:(dd,裸设备)