Carey【胭脂扣】

一个小巧简单的命令可以克隆整个磁盘或者文件系统!

如果你的刚搭建完成的服务器需要备份下你的Linux系统以及你搭建的环境等等所有在内的,你该如何做呢?

不需要头疼一个很简单的命令,无论你是克隆数据还是克隆系统都会变得很简单。

实例:

我今天刚刚搭建了一个Linux RHEL6.4-i386的测试服务器,为了以防我在其操作当中的失误导致系统或者一些文件的丢失

可以这样做

使用dd 命令

 1 [root@www ~]# dd if="input_file" of="output_file" bs="block_size" \
 2 > count="number"
 3 选项与参数:
 4 if   :就是 input file 罗~也可以是装置喔!
 5 of   :就是 output file 喔~也可以是装置;
 6 bs   :规划的一个 block 的大小,若未指定则默认是 512 bytes(一个 sector 的大小)
 7 count:多少个 bs 的意思。
 8 
 9 范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
10 [root@www ~]# dd if=/etc/passwd of=/tmp/passwd.back
11 3+1 records in
12 3+1 records out
13 1945 bytes (1.9 kB) copied, 0.000332893 seconds, 5.8 MB/s
14 [root@www ~]# ll /etc/passwd /tmp/passwd.back
15 -rw-r--r-- 1 root root 1945 Sep 29 02:21 /etc/passwd
16 -rw-r--r-- 1 root root 1945 Dec 17 18:09 /tmp/passwd.back
17 # 仔细的看一下,我的 /etc/passwd 文件大小为 1945 bytes,因为我没有配置 bs ,
18 # 所以默认是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的 
19 # 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
20 # 事实上,感觉好像是 cp 这个命令啦~
21 
22 范例二:将自己的磁碟之第一个磁区备份下来
23 [root@www ~]# dd if=/dev/hdc of=/tmp/mbr.back bs=512 count=1
24 1+0 records in
25 1+0 records out
26 512 bytes (512 B) copied, 0.0104586 seconds, 49.0 kB/s
27 # 第一个磁区内含有 MBR 与 partition table ,透过这个动作,
28 # 我们可以一口气将这个磁碟的 MBR 与 partition table 进行备份哩!
29 
30 范例三:找出你系统最小的那个分割槽,并且将他备份下来:
31 [root@www ~]# df -h
32 Filesystem            Size  Used Avail Use% Mounted on
33 /dev/hdc2             9.5G  3.9G  5.1G  44% /
34 /dev/hdc3             4.8G  651M  3.9G  15% /home
35 /dev/hdc1              99M   21M   73M  23% /boot  <==就捉他好了!
36 [root@www ~]# dd if=/dev/hdc1 of=/tmp/boot.whole.disk
37 208782+0 records in
38 208782+0 records out
39 106896384 bytes (107 MB) copied, 6.24721 seconds, 17.1 MB/s
40 [root@www ~]# ll -h /tmp/boot.whole.disk
41 -rw-r--r-- 1 root root 102M Dec 17 18:14 /tmp/boot.whole.disk
42 # 等於是将整个 /dev/hdc1 通通捉下来的意思~如果要还原呢?就反向回去!
43 # dd if=/tmp/boot.whole.disk of=/dev/hdc1 即可!非常简单吧!
44 # 简单的说,如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软件一般,
45 # 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

亲测体验,

首先我的主机上有两块160的硬盘。sata硬盘  即 /dev/sda /dev/sdb

第一块磁盘上安装了我所有的东西 RHEL6.4 的所有 filesystem 

克隆整个磁盘的命令:

1 [root@www ~]# dd if=/dev/sda of=/dev/sdb

OK静静等待 

完全一样的系统

因为该命令可以将 /dev/sda 内的所有数据,包括 MBR 与 partition table 也复制到 /dev/sdb 说! dd 可以将原本旧的 partition 上面,将 sector 表面的数据整个复制过来! 当然连同 superblock, boot sector, meta data 等等通通也会复制过来!

posted @ 2013-06-25 15:28  胭脂筘  阅读(564)  评论(0编辑  收藏  举报