Chinaunix

标题: dd命令使用,进行完全备份 [打印本页]

作者: czyf2001    时间: 2004-03-19 14:43
标题: dd命令使用,进行完全备份
dd命令使用
―――在系统中增加一块新硬盘,并进行完全备份

说明:dd – 作用:转换和拷贝文件。是对设备进行使用的!
将ds10的资料从源盘完全拷贝到目标盘上!(注:两块硬盘容量一样36G)
操作系统tru64 5.1b
整个操作过程如下:
目标盘:/dev/rdisk/dsk1c  ,
源盘: /dev/rdisk/dsk0c  

1)        ds10通过scsi卡来接第二块硬盘时,必须使用跳线,(我是用的光驱跳线帽了^_^)。
2)        开机,show dev , 找到两块硬盘  ,boot 启动。
3)        以超级用户登录,diskconfig看到两块硬盘。可以将目标盘先配置为advfs格式,将整个硬盘选上,此处是用c来表示整个硬盘! 在/dev/disk目录下也会看到dsk0 ,dsk1说明有两块硬盘。
4)        查看目前的主盘,sizer –r 可以看到是dsk0  ,表示当前的主盘(源盘)。
5)        使用硬件管理命令:hwmgr 查看当前硬件组成。 hwmgr –view device 显示如下
# hwmgr -view device
HWID: Device Name          Mfg      Model            Location
------------------------------------------------------------------------------
    3: /dev/dmapi/dmapi                              
    4: /dev/scp_scsi                                 
    5: /dev/kevm                                      
   33: /dev/disk/floppy0c            3.5in floppy     fdi0-unit-0
   43: /dev/disk/cdrom0c    HL-DT-ST CD-ROM GCR-8480B bus-1-targ-0-lun-0
   45: /dev/random                                    
   46: /dev/urandom                                   
   47: /dev/disk/dsk0c      COMPAQ   BD03695CC8       bus-2-targ-0-lun-0
         48:/dev/disk/dsk1c     ……
6)        /dev/disk/dsk1c即目标盘,通过使用label,它的作用是读、写一个磁盘组套的标志并且格式化硬盘分区。操作命令如下:
# disklabel –wr /dev/rdisk/dsk1c  scsi
对rdisk进行说明是表示“raw disk”即原来的磁盘。 -wr 表示:间接的或从磁盘读写label,而不是在在内存中拷贝label。(w的作用很重要,如果没有该参数,以后重新启动的时候会遇到osf_boot 不能打开的问题的问题的!)
针对:“ open osf_boot”
有一个补救方法:进入原来的双硬盘系统中,
#disklabel –r /dev/rdisk/dsk1a >; /tmp/rd1label
#disklabel –t advfs –r –R /dev/rdisk/dsk1a  /tmp/rd1label  scsi  
以后下同11)。
7)        在进行复制之前必须取消disk label ,
# disklabel –z dev/rdisk/dsk1c  -z 表示:清除磁盘的label 。否则会提示错误。
8)        可以进行整个磁盘的拷贝了:
# dd if=/dev/rdisk/dsk0c of=/dev/rdisk/dsk1c bs=512k conv=swab,notrunc 解释各个参数  if : input file 表示输入文件的源是dsk0c  , of : output file 表示输出到文件地址 dsk1c , bs :  bs=bytes ,一次读和写 bytes 字节。最大可以设置到65536k,默认是512k。它是scsi卡传输所决定的!注意:swap和notrunc之间只有“,”,没有空格。
9)        喝杯咖啡吧,小憩!(大概50分钟吧,不过是原汁原味了!等,也是值得的!)
10)        停机,将跳线去掉,调换两块硬盘的位置。
11)        以单用户进入
#mount -a  会出现一些错误,不要理会,此时是报告一些分区没有加载上。使用:
#dn_setup init   清除原来的设置,包括指向的swap ,boot等
# dsfmgr  –k   

12)        mount –a  或者 bcheckrc  ,刚才的error全部不见了。分区加载上了。
13)        init  3  
14)        进入图形界面,呵呵大功告成!




下面的3篇参考文章 , 在此表示谢谢!
http://www.fanqiang.com/a1/b1/20010508/135910.html
http://www.chinaunix.net/forum/viewtopic.php?t=13058
http://www.chinaunix.net/jh/11/31484.html

******************************************************************************
请参考dd , disklabel , hwmgr , advfs 的帮助文档。Edited  by  czyf2001  ,   2004-3-19


作者: orange13130    时间: 2004-03-19 16:19
标题: dd命令使用,进行完全备份
好贴,写的很详细
作者: w++    时间: 2004-03-19 19:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: czyf2001    时间: 2004-03-20 13:03
标题: dd命令使用,进行完全备份
kao!这都给你看出来了!
作者: 我爱臭豆腐    时间: 2004-03-21 07:18
标题: dd命令使用,进行完全备份
希望你有更多的好帖子。先给你来一个精华:)
作者: 李大牛    时间: 2004-03-23 21:48
标题: dd命令使用,进行完全备份
非常感谢。
作者: lozh    时间: 2004-04-07 14:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: czyf2001    时间: 2004-04-07 14:16
标题: dd命令使用,进行完全备份
注意:在 第 13)时,假如还不能进入系统,请按reset键,此后,进入单用户重复第 11),应该是没有问题的了!
我这样操作已经进行了5-6回了!
作者: qzhu    时间: 2004-04-08 02:45
标题: dd命令使用,进行完全备份
可以用dsfmgr -e 或 -m  把dsk1 换回 dsk0,  这样就可以保持
device special files 的一致性
作者: czyf2001    时间: 2004-04-09 08:40
标题: dd命令使用,进行完全备份
将第11)-13)步:改为:
                   #dsfmgr -e dsk0 dsk1
                                 #init 3
                          成功进入图形界面!
感谢qzhu的提示!
谢谢!
作者: JimXi    时间: 2004-04-15 16:54
标题: dd命令使用,进行完全备份
使用dd后,18G盘只能按照9G使用,不知道是否有办法不仅可以dd硬盘,同时还能使用多余的空间。
谢谢
作者: 我爱小笼包    时间: 2004-04-15 17:04
标题: dd命令使用,进行完全备份
可以试着重改写一下disklabel然后就可以利用后面的空间了。
作者: czyf2001    时间: 2004-04-15 18:41
标题: dd命令使用,进行完全备份
试试diskconfig,看看还有没有空闲的空间了!
假设你已经使用 dsk0a, dsk0b ,
dsk0d 。但还要:dks0e
如果有的话,/dev/disk/dsk0e,将其使用mkfdmn , mkfset
g建立分区吧!我不知道能不能行?
你试试看!
建议哦!
作者: JimXi    时间: 2004-04-16 08:46
标题: dd命令使用,进行完全备份
如果使用disklabel,那么盘上的内容就会丢失,必须重新dd。
dd后,目标盘上也看不到空闲分区。
作者: czyf2001    时间: 2004-04-16 11:39
标题: dd命令使用,进行完全备份
好像还可以这样吧,你只dd一个分区不行吗?
我的意思是你先用diskconfig将第二个硬盘按照原来的进行分区,剩下的也分为另一个!
此后你用dd,但是试试一个一个的dd ,如:先dd    /dev/rdisk/dsk0a ,
然后再dd /dev/rdisk/0b ,等等了!
你试试看了!
作者: czyf2001    时间: 2004-04-16 14:01
标题: dd命令使用,进行完全备份
对了,你可以用vdump,这个命令可以一个一个分区的进行拷贝的!
具体的你可以到论坛上找找精华吧!
作者: JimXi    时间: 2004-04-19 15:50
标题: dd命令使用,进行完全备份
如果使用 dd if=/dev/rz8a of=/dev/rz9a,。。。也就是采用一个一个分区拷贝,系统提示:/device busy. 无法拷贝。

但是整盘就可以,即:
if = /dev/rz8c  of = /dev/rz9c.

是否需要umount 分区。但是root不能umount吧??
作者: czyf2001    时间: 2004-04-19 16:38
标题: dd命令使用,进行完全备份
你到论坛上看看vdump的例子吧!
这个是可以针对每个分区进行拷贝的!
在那个例子中注意使用指定文件系统:  -t Advfs  它原来是newfs

使用vdump是可以的,我们原来试过!
作者: JimXi    时间: 2004-04-19 17:16
标题: dd命令使用,进行完全备份
看了一些例子和对vdump、vrestore的解释,基本明白了。是否可以把新盘的对应分区划分的大一些,例如源盘/usr分区大小为200M,是否可以新盘中指定为400M??

特别感谢!
作者: czyf2001    时间: 2004-04-19 17:27
标题: dd命令使用,进行完全备份
你可以试试,我们还没有做过这样的更改!
应该有参数可以指定分区大小的!(I think ^_^)
有什么问题我们可以继续探讨!
作者: JimXi    时间: 2004-04-22 11:04
标题: dd命令使用,进行完全备份
首先非常感谢:czyf2001 的帮助。

通过实验可以把9G的盘扩成18G的盘,各个分区都做了相应的扩充。解决了系统应用中磁盘空间不足的问题。

在diskconfig中参考源盘大小把目标盘的各个分区大小进行相应扩展即可。如果源盘有没有使用的分区,在目标盘上也可以增加新的分区。
作者: czyf2001    时间: 2004-04-22 14:11
标题: dd命令使用,进行完全备份
也就是说你先用diskconfig将各个分区分配好了!
然后再dd ?
能详细点吗?
谢谢!
作者: JimXi    时间: 2004-05-09 16:06
标题: dd命令使用,进行完全备份
通过disklabel把分区划分好后,使用vdump和vrestore复制各个分区。没有使用命令dd.
作者: supsyg    时间: 2004-05-25 14:50
标题: dd命令使用,进行完全备份
不知道可不可以从大盘dd到小盘,其中的数据小于小盘的容量
作者: JimXi    时间: 2004-05-25 16:55
标题: dd命令使用,进行完全备份
应该不行,不过用vdump和vrestore就应该可以。
作者: jonkiy    时间: 2008-08-04 12:30
liunx和freebsd可以这么直接用么?我用freebsd和liunx能提供详细步骤么???show dev 是个命令么?????
作者: wstar    时间: 2008-08-05 22:51
lz的这种方法适合在4.0x系统。
5.x的系统命令稍有不同。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2