首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 dd 命令实现 SAN 存储的快照数据迁移(2)

使用 dd 命令实现 SAN 存储的快照数据迁移(2)

dd 命令实例数据备份与恢复
整盘数据备份与恢复
备份 :
1. 将本地的 /dev/sdx 整盘备份到 /dev/sdy;
1
dd if=/dev/sdx of=/dev/sdy




2. 将 /dev/sdx 全盘数据备份到指定路径的 image 文件;
1
dd if=/dev/sdx of=/path/image




3. 备份 /dev/sdx 全盘数据,并利用 gzip 工具进行压缩,保存到指定路径。
1
dd if=/dev/sdx | gzip >/path/image.gz




恢复 :
1. 将备份文件恢复到指定盘;
1
dd if=/path/image of=/dev/sdx




2. 将压缩的备份文件恢复到指定盘。
1
gzip -dc /path/image.gz | dd of=/dev/sdx




备份MBR
备份:
备份磁盘开始的 512Byte 大小的 MBR 信息到指定文件;
1
dd if=/dev/sdx of=/path/file count=1 bs=512




恢复:
将备份的 MBR 信息写到磁盘开始部分。
1
dd if=/path/file of=/dev/sdx




备份软盘
1. 将软驱数据备份到当前目录的 disk.img 文件;
1
dd if=/dev/fd0 of=disk.img count=1 bs=1440k




2. 要使用 36 个 512 字节块来有效的实现向软盘的传输;
1
dd if=filename of=/dev/fd0 bs=36b conv=sync




该命令将 Filename参数的值一次一个柱面地写入到软盘设备。当从磁盘读入或者当文档的大小不是软盘块大小的整数倍时,需要 conv=sync 参数。
3. 将块大小为 720 字节的输入文件复制到软盘当中,请输入:
1
dd if=testfile of=/dev/fd0 bs=720b conv=sync




如果输入文件大于输出设备的物理大小,则 dd 命令将会提示您使用另外一个设备。
拷贝内存资料到硬盘
将内存里的数据拷贝到 root 目录下的 mem.bin 文件。
1
dd if=/dev/mem of=/root/mem.bin bs=1024




从光盘拷贝iso镜像
拷贝光盘数据到 root 文件夹下,并保存为 cdrom.iso 文件。
1
dd if=/dev/cdrom of=/root/cdrom.iso




创建 Swap 分区文件
1. 创建一个足够大的文件(此处以 256M 为例),数据必须是连续的;
1
dd if=/dev/zero of=/swapfile bs=1024 count=262144




2. 使用 mkswap 制作 swap;
1
mkswap /swapfile




3. 启用这个 swap 文 件;
1
swapon /swapfile




4. 设置每次开机的时候自动加载 swap 文 件 , 修改 /etc/fstab 文件。
1
/swapfile swap swap defaults 0 0




销毁磁盘数据
利用随机的数据填充硬盘:
1
dd if=/dev/urandom of=/dev/hda1




该方法可以用来销毁数据。执行此操作以后,/dev/hda1 将无法挂载,创建和拷贝操作。
磁盘管理
确定系统最佳的block 大小
通过比较 dd 指令输出中所显示的命令执行时间,即可确定系统最佳的 block 大小。
1
2
3
4
dd if=/dev/zero bs=1024 count=1000000 of=/root/testfile
dd if=/dev/zero bs=2048 count=500000 of=/root/ testfile
dd if=/dev/zero bs=4096 count=250000 of=/root/ testfile
dd if=/dev/zero bs=8192 count=125000 of=/root/ testfile




测试硬盘读写速度
通过两个命令输出的执行时间,可以计算出测试硬盘的读 / 写速度。
1
2
dd if=/dev/zero of=/root/testfile bs=1024 count=1000000
dd if=/root/testfile bs=64k | dd of=/dev/null




在深入了解 dd 命令的功能之后,我们知道 dd 命令可以实现整盘数据备份,无论源数据盘和目标盘是来自同一个存储的不同卷还是分别来自不同存储的卷,只要是主机端能够识别到的存储设备盘,dd 都可以把一个设备盘的数据全盘拷贝到另一个设备盘。
本文正是利用 dd 命令这一特性实现 SAN 存储的数据备份与迁移,以跨不同存储系统备份 SANBoot OS 为例,来实现操作系统的迁移,方便跨存储的操作系统的兼容性测试用户。
我们以 Redhat Enterprise Linux 5 update 5 平台为例,逐步展开介绍。由于不同的存储支持不同的多路方式,我们选取 DS8000 和 XIV 实现使用 DMMP 的 SANBoot OS 的快照数据备份和迁移,然后选取 DS4800 和 DS4700 实现使用 RDAC 的 SANBoot OS 的快照数据备份和迁移。
返回列表