使用dd备份裸设备
Linux备份恢复3-(脱机)使用linux tar+dd进行系统备份恢复

(脱机)使用linux tar+dd进行系统备份恢复2017年4月17日14:39源环境:sda:16G安装操作系统CentOS6.5#fdisk-l#df-h备份挂载网络文件夹mkdir/backup;mount-t nfs192.168.1.4:/u01/backup/ddtest/backup备份分区表fdisk-l>/backup/partition.cfg备份LVM卷元数据,将卷信息导出到文件。
vgcfgbackup-f/backup/vg.cfg备份mbrdd if=/dev/sda of=/backup/mbr.bak bs=512count=1备份/boot分区。
dd if=/dev/sda1of=/backup/sda1.bak使用tar命令,备份上面的所有分区和数据。
chroot/mnt/sysimagetar cvpzf os.tgz–-exclude=/boot–exclude=/proc–exclude=/sys–exclude=/dev–exclude=/mnt–exclude=/media–exclude=/os.tgz/exitmv/mnt/sysimage/os.tgz/backup/目的环境sda:16G恢复恢复mbr以光盘Rescue installed system模式启动,过程中要启用网络并分配IP,Rescue最后一步选择skip不要挂载原系统mkdir/backup;mount-t nfs192.168.1.4:/u01/backup/ddtest/backupdd if=/backup/mbr.bak of=/dev/sda bs=512count=1恢复完成后重启服务器以光盘Rescue installed system模式启动,过程中要启用网络并分配IP,Rescue最后一步选择skip不要挂载原系统此时已经识别出sda1,sda2根据备份出来的分区表,创建分区,创建LVM(磁盘不一样大的情况下)或恢复LVM(磁盘一样大小) mkdir/backup;mount-t nfs192.168.1.4:/u01/backup/ddtest/backup参照备份是的fdisk-l输出格式化分区,配置LVMpvcreate/dev/sda2vgcreate VolGroup/dev/sda2lvcreate-L1715M-n lv_swap VolGroupvgdisplay VolGroup|grep Freelvcreate-l3541-n lv_root VolGroup或vgcfgrestore-f/backup/vg.cfg VolGroup提示:Couldn't find device with uuid O01Y3a-jHmn-2GxF-FzIP-EcKu-xbYJ-RvSF2T Cannot restore Volume Group VolGroup with1PVs marked as missing. Restore failedpvcreate-u O01Y3a-jHmn-2GxF-FzIP-EcKu-xbYJ-RvSF2T--restorefile/bakcup/vg.cfg/dev/sda2vgcfgrestore-f/backup/vg.cfg VolGrouplvm vgscan--mknodes--ignorelockingfailurelvm vgchange-ay--ignorelockingfailurels/dev/mapper/mkswap/dev/mapper/VolGroup-lv_swapswapon/dev/mapper/VolGroup-lv_swapmkfs.ext4/dev/mapper/VolGroup-lv_rootmkdir/dest_root;mount/dev/mapper/VolGroup-lv_root/dest_root tar zxvpf/backup/os.tgz–C/dest_rootmkdir/dest_root/boot恢复/boot分区dd if=/backup/sda1.bak of=/dev/sda1恢复完成后重启服务器验证:异机恢复后网卡需要根据mac重新配置磁盘分区和源环境保持一致(相同磁盘大小LVM恢复模式)源环境的mysql数据也是一致总结:备份/boot时间短,数据/备份时间按实际数据大小不同恢复/boot时间短,数据/恢复时间按实际数据大小不同如果虚拟机的话,vmdk文件如果选择thin provision,只占用实际使用空间(比如磁盘10g,s数据1G,恢复后只占用1G)折腾了一天,经验:1.备份/数据是一定要exclude/boot2.恢复时先恢复/数据,再dd恢复/boot所在的分区,恢复完成先挂载,进去看看/boot,/boot/grub是否有异常目的磁盘与源磁盘分区不一致,或不使用LVM也没有问题,需要手动划分分区/boot使用的sda1使用dd恢复手动修改/etc/fstab手动修改/etc/grub.conf,如果设置,会出现下面的错误grub.conf例子:此处3个例子的/boot都是单独的分区,如果和/分区在一起,grub.conf的/都要改成/boot/未使用LVM的例子default=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS(2.6.32-431.el6.x86_64)root(hd0,0)kernel/vmlinuz-2.6.32-431.el6.x86_64ro root=UUID=b85277ba-bbe8-46f8-a0d7-7f44c96f2bcd rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8rd_NO_MD SYSFONT=latarcyrheb-sun16crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd/initramfs-2.6.32-431.el6.x86_64.img使用LVM的例子default=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS(2.6.32-431.el6.x86_64)root(hd0,0)kernel/vmlinuz-2.6.32-431.el6.x86_64ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16crashkernel=autord_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quietinitrd/initramfs-2.6.32-431.el6.x86_64.img恢复后手工修改的例子(未使用LVM,未使用UUID,使用给的设备名称)default=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS(2.6.32-431.el6.x86_64)root(hd0,0)kernel/vmlinuz-2.6.32-431.el6.x86_64ro root=/dev/sda3rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8rd_NO_MD SYSFONT=latarcyrheb-sun16crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd/initramfs-2.6.32-431.el6.x86_64.img。
dd命令用法

dd命令用法摘要:一、dd命令简介1.dd命令的作用2.dd命令的发展历程二、dd命令的基本用法1.基本语法2.主要参数3.常用选项三、dd命令的高级用法1.备份和恢复2.分区及格式化3.数据处理四、dd命令的应用场景1.系统迁移2.数据恢复3.分区调整五、dd命令的注意事项1.数据安全2.磁盘空间占用3.兼容性问题正文:dd命令,全称为“disk duplication”,是Linux和Unix系统中一个用于磁盘分区和文件拷贝的命令。
它具有强大的功能,可以实现磁盘分区之间的拷贝、文件备份及恢复等多种操作。
在Linux系统的运维和数据处理过程中,dd命令被广泛应用。
一、dd命令简介dd命令最早由Bill Joy在BSD Unix系统中开发,现在已经成为Linux和Unix系统中不可或缺的一个工具。
它的主要作用是进行磁盘分区和文件拷贝,对于系统和数据处理具有重要的意义。
二、dd命令的基本用法dd命令的基本语法为:`dd if=input_file of=output_filebs=block_size`。
其中,`if`参数表示输入文件,`of`参数表示输出文件,`bs`参数表示块大小。
主要参数包括:`if`、`of`、`bs`、`count`、`skip`和`seek`等。
常用选项有:`conv`、`notrunc`、`sync`和`noerror`等。
三、dd命令的高级用法dd命令在高级用法中,可以实现备份和恢复、分区及格式化、数据处理等多种功能。
例如,通过`dd if=/dev/sda1 of=/dev/sdb1`可以将一个分区的数据拷贝到另一个分区;通过`dd if=/dev/zero of=/dev/sda1 bs=1M`可以对一个分区进行格式化。
四、dd命令的应用场景dd命令在实际应用中,有广泛的应用场景。
如系统迁移时,可以使用dd 命令将系统盘的数据拷贝到新的硬盘上;数据恢复时,可以使用dd命令从损坏的磁盘分区中恢复数据;分区调整时,可以使用dd命令将分区数据拷贝到新的分区中。
使用dd备份裸设备

dd备份裸设备v1.0---sydjd主要内容:1.UNIX使用dd对裸设备进行备份2.dd命令详解3.确定裸设备数据文件大小,验证备份(2个工具)MakingUser-ManagedBackupstoRawDevices裸设备是指一个磁盘或者分区,它不包含文件系统,所以一个裸设备只能包含一个文件。
通过操作系统来备份raw设备上的文件,需要注意一些细节问题。
下面具体讨论一下。
BackingUptoRawDevicesonUNIXUnix下备份raw设备,最常用的就是dd命令。
使用dd命令需要制定一些正确的参数,这些参数是基于你的os以及database的。
Howtoknowthesizeofyourfile?(确定count)非常简单,使用oracle提供的一个小工具:dbfsize(oracle自带,对数据文件和裸设备都有效)语法:在oracle用户下使用dbfsizeyour_file_nameorrawdevice那么count=49920+1–不要忘记block0(上面提到过哦:)BackingUpwiththeddutilityonUNIX:Examples为了使用dd,我们假设了如下的情况:∙要备份的数据文件:30720KB∙block0=8KB.∙rawoffset64KB.∙我们设定bs=8kNote:“=”左右不要有空格1)从raw设备备份到raw设备%ddif=/dev/rsd1bof=/dev/rsd2bbs=8kskip=8seek=8count=3841 2)裸设备到文件系统%ddif=/dev/rsd1bof=/backup/df1.dbfbs=8kskip=8count=3841 3)文件系统到裸设备%ddif=/backup/df1.dbfof=/dev/rsd2bbs=8kseek=84)文件系统到文件系统,你可以为了提升I/O把bs设为较高的数值%ddif=/oracle/dbs/df1.dbfof=/backup/df1.dbfbs=1024k BackingUptoRawDevicesonLNUIXLinux一般是没有offset的,其他与Unix相同。
使用dd命令进行磁盘镜像备份

使用dd命令进行磁盘镜像备份磁盘镜像备份是一种将整个硬盘或者某个分区的数据完整复制到另一个硬盘或者分区的方法。
这种备份方式可以保留原始硬盘或分区的所有数据和文件属性,包括文件系统类型、目录结构以及隐藏文件等。
在Linux系统中,dd命令是一个非常强大的工具,可以用来进行磁盘镜像备份。
下面将介绍如何使用dd命令进行磁盘镜像备份。
1. 确认目标设备在进行磁盘镜像备份之前,需要先确认目标设备的位置。
可以使用以下命令查看系统中已连接的硬盘和分区信息:```shellsudo fdisk -l```2. 运行dd命令备份磁盘镜像确认目标设备后,可以使用dd命令进行磁盘镜像备份。
以下是dd命令的基本语法:```shellsudo dd if=<源设备> of=<目标设备> bs=<块大小>```其中,if代表输入文件(源设备),of代表输出文件(目标设备),bs代表块大小。
输入文件应该是源设备的路径,输出文件应该是目标设备的路径。
块大小可以根据需要进行调整,一般建议使用默认的块大小。
例如,要备份/dev/sda设备的数据到/dev/sdb设备,可以使用以下命令:```shellsudo dd if=/dev/sda of=/dev/sdb bs=1M```这条命令会将/dev/sda设备的数据完整复制到/dev/sdb设备中。
3. 等待备份完成dd命令进行磁盘镜像备份时,可能需要一段时间才能完成,具体时间取决于源设备的大小和写入速度。
在备份过程中,请耐心等待,避免中断备份操作。
4. 验证备份结果备份完成后,可以使用md5sum命令验证源设备和目标设备之间的数据一致性。
以下是md5sum命令的使用方法:```shellsudo md5sum <设备路径>```例如,要验证/dev/sda设备和/dev/sdb设备的数据一致性,可以使用以下命令:```shellsudo md5sum /dev/sdasudo md5sum /dev/sdb```如果两个设备的MD5校验和相同,说明备份结果正确。
使用dd命令进行高级磁盘操作

使用dd命令进行高级磁盘操作在计算机系统中,dd命令是一个非常有用的工具,它可以进行高级磁盘操作。
通过dd命令,我们可以进行磁盘的复制、备份和恢复等一系列操作。
本文将介绍dd命令的使用方法以及常见的应用场景。
一、dd命令的基本用法dd命令的语法格式如下:dd if=input_file of=output_file bs=block_size count=blocks其中,各参数的含义如下:- if:指定输入文件的路径和文件名。
- of:指定输出文件的路径和文件名。
- bs:指定块大小,用于控制每次读取和写入的字节数。
- count:指定要读取或写入的块数。
例如,如果我们要将/dev/sda磁盘的内容完整地复制到/dev/sdb磁盘上,可以使用以下命令:dd if=/dev/sda of=/dev/sdb bs=4M这个命令将以4MB为单位,从/dev/sda磁盘读取内容,并将其写入到/dev/sdb磁盘。
二、常见的dd命令应用场景1. 磁盘备份与复制dd命令可以用于将整个磁盘的内容进行备份,或者将一个磁盘的内容复制到另一个磁盘。
这在系统迁移、数据备份等场景中非常有用。
例如,我们可以使用以下命令将/dev/sda的内容备份到一个文件:dd if=/dev/sda of=/path/to/backup.img bs=4M在需要恢复时,可以使用以下命令将备份文件的内容写入到另一个磁盘:dd if=/path/to/backup.img of=/dev/sdb bs=4M2. 创建空白文件有时候,我们需要创建一个指定大小的空白文件,可以使用dd命令轻松完成。
例如,以下命令将创建一个大小为1GB的空白文件:dd if=/dev/zero of=/path/to/blankfile bs=1G count=1这个命令将从/dev/zero文件中读取数据,并将其写入到指定路径的文件中。
3. 磁盘擦除当需要彻底擦除磁盘的内容时,可以使用dd命令进行覆盖写操作。
linux中dd命令的详细解释

linux中dd命令的详细解释在linux系统下我们可以通过dd命令来对文件进行拷贝并转换。
下面由店铺整理了linux的dd命令的详细解释,希望对你有帮助。
一、linux的dd命令的详细解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。
即指定源文件。
< if=input file >2. of=文件名:输出文件名,缺省为标准输出。
即指定目的文件。
< of=output file >3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes 个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
8. conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为asciiebcdic:转换ascii为ebcdicibm:转换ascii为alternate ebcdicblock:把每一行转换为长度为cbs,不足部分用空格填充unblock:使每一行的长度都为cbs,不足部分用空格填充lcase:把大写字符转换为小写字符ucase:把小写字符转换为大写字符swab:交换输入的每对字节noerror:出错时不停止notrunc:不截短输出文件sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
Linux命令高级技巧使用dd命令进行磁盘镜像和备份

Linux命令高级技巧使用dd命令进行磁盘镜像和备份Linux系统作为一种开源操作系统,具有强大的灵活性和可定制性,而dd命令则是其中一个非常强大且常用的命令。
dd命令可以进行磁盘镜像和备份,其灵活性使得它成为Linux系统管理员和维护人员的必备技能之一。
在本文中,我将为您介绍如何使用dd命令进行磁盘镜像和备份的高级技巧。
一、磁盘镜像磁盘镜像是将一个磁盘的完整内容复制到另一个磁盘或者文件中的过程。
它可以用于备份系统和数据,以及快速部署相同配置的多台机器。
使用dd命令进行磁盘镜像的基本语法为:dd if=输入文件 of=输出文件其中,if表示输入文件,可以是磁盘设备(如/dev/sda)或者文件(如/home/user/image.img),of表示输出文件,也可以是磁盘设备或者文件。
1. 镜像整个磁盘或分区要镜像整个磁盘或分区,您需要使用正确的输入文件和输出文件。
首先,您需要确定输入文件的路径,您可以使用lsblk命令查看系统中的磁盘和分区信息。
然后,使用以下命令进行镜像:dd if=/dev/sda of=/path/to/image.img此命令将/dev/sda设备的内容复制到/path/to/image.img文件中。
请确保输出文件的路径和文件名正确,并且有足够的存储空间。
2. 镜像单个文件系统有时候,您只需要镜像一个文件系统而不是整个磁盘。
为了做到这一点,您需要找到文件系统所在的分区,并使用相应的设备路径进行镜像。
例如,如果您想要镜像/dev/sda1分区,可以使用以下命令:dd if=/dev/sda1 of=/path/to/filesystem.img这将复制/dev/sda1分区的内容到/path/to/filesystem.img文件中。
确保输出文件的路径和文件名正确,并且有足够的存储空间。
3. 镜像文件系统的指定范围有时候,您可能只想镜像文件系统的某个指定范围,而不是整个文件系统。
aix dd命令

dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。
用的比较多的还是用dd来备份裸设备。
但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。
建议在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。
另外,使用dd对磁盘操作时,最好使用块设备文件。
DescriptionThe dd command reads the InFile parameter or standard input, does thespecified conversions, then copies the converted data to the OutFileparameter or standard output. The input and output block size can bespecified to take advantage of raw physical I/O. Note: The term Blockrefers to the quantity of data read or written by the dd command in oneoperation and is not necessarily the same size as a disk block.if=file 输入文件名标准输入确省of=file 输出文件名,标准输出确省ibs=n 输入块大小,n字节(默认512)obs=n 输出块大小,n字节(默认512)bs=n 同时设置输入输出块大小cbs=n 转换缓冲区大小files=n 在中断之前拷贝和转换n个输入文件skip=n 拷贝之前越过n个输入块oseek=n 拷贝之前从输出文件开始查找n个块iseek 拷贝之前从输入文件开始查找n个块seek=n 等同于oseekcono=ascic 将EBCDIC码转换为ASCIIebcdic ASCII->;EBCDICibm ASCII转换为EBCDIC码时轻微不同的映象blolk 将新栈中断的ASCII码记录转换为固定长度unblock 将固定长度的ASCII码记录转换为新行中断记录lcase 变换字将至低等情况ucase 变换字将至高等情况swab 交换每对字节noerrir 出错时不停止处理sync 将每个块填充到ibs输入设备:infile参数指定或标准输入实施指定的转换,然后复制转换数据到outfile 参数指定或标准输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
d d备份裸设备 ---s y d j d 主要内容:
1.UNIX使用dd对裸设备进行备份
2.dd命令详解
3.确定裸设备数据文件大小,验证备份(2个工具)
Making User-Managed Backups to Raw Devices
裸设备是指一个磁盘或者分区,它不包含文件系统,所以一个裸设备只能包含一个文件。
通过操作系统来备份raw设备上的文件,需要注意一些细节问题。
下面具体讨论一下。
Backing Up to Raw Devices on UNIX
Unix下备份raw设备,最常用的就是dd命令。
使用dd命令需要制定一些正确的参数,这些参数是基于你的os以及database的。
How to know the size of your file(确定count)
非常简单,使用oracle提供的一个小工具:dbfsize (oracle自带,对数据文件和裸设备都有效)
那么count=49920+1–不要忘记block 0 (上面提到过哦:)
Backing Up with the dd utility on UNIX: Examples 为了使用dd,我们假设了如下的情况:
•要备份的数据文件:30720KB
•block 0 =8 KB.
•raw offset 64 KB.
•我们设定bs=8k
Note:“=”左右不要有空格
1)从raw设备备份到raw设备
% dd if=/dev/rsd1b of=/dev/rsd2b bs=8k skip=8 seek=8 count=3841
2)裸设备到文件系统
% dd if=/dev/rsd1b of=/backup/ bs=8k skip=8 count=3841
3)文件系统到裸设备
% dd if=/backup/ of=/dev/rsd2b bs=8k seek=8
4)文件系统到文件系统,你可以为了提升I/O把bs设为较高的数值
% dd if=/oracle/dbs/ of=/backup/ bs=1024k
Backing Up to Raw Devices on LNUIX
Linux一般是没有offset的,其他与Unix相同。
Backing Up to Raw Devices on Windows
参考:
验证dd备份
使用oracle提供的工具dbv ,支持文件系统文件和裸设备。
对应中文:
检查的页总数: 1280
处理的页总数(数据): 150
失败的页总数(数据): 0
处理的页总数(索引): 127
失败的页总数(索引): 0
处理的页总数(其它): 1001
处理的总页数(段) : 0
失败的总页数(段) : 0
空的页总数: 0
标记为损坏的总页数: 2
流入的页总数: 0
Highest block SCN : 428223 参考文档:。