磁带设备使用方法总结(偶写地)
时间:2008-01-16 12:04:48 来源: 作者:
|
最近一段时间以来,老是看到网友问及磁带方面的问题, 其实,偶对此也不大熟,不过,很想对这东东做一个总结, 口可口可,下午的时候,找时间写了一篇, 有错误的地方,请大家指正, 共同交流一下! 磁带设备使用方法总结 磁带主要用来离线存储数据,通常用于备份。 当一个新的磁带设备连接到系统并被发现后(ok. boor ?Cr),这个磁带设备就可以使用了。与磁盘不同,磁带设备不需要进行格式化(format),卷标识(label)等。 磁带设备的地址和逻辑设备名 ------------------------------------------------------------------------------------------------------- 磁盘设备 SCSI地址(Target ID) 主逻辑设备名 附加逻辑设备名 ------------------------------------------------------------------------------------------------------- 第一个磁带设备 4 /dev/rmt/0 /dev/rmt/0l /dev/rmt/0m /dev/rmt/0h /dev/rmt/0u 第二个磁带设备 5 /dev/rmt/1 /dev/rmt/1l /dev/rmt/1m /dev/rmt/1h /dev/rmt/1u ------------------------------------------------------------------------------------------------------- (SCSI地址可以是总线上的唯一地址) 附加的参数表示了磁带密度 l ---------- low m --------- medium h --------- high u --------- ultra 增加一个磁带机的步骤 1. 关闭系统 2. 检查磁带的SCSI地址是否设置正确 默认的,磁带机的目标地址为4,如果你有多个磁带的话,则要设置正确设置第二个磁带机,使它的SCSI地址不要与当前的地址相冲突 3. 安装磁带设备 4. 开启系统和所有外围设备(ok. boot ?Cr) 显示一个磁带设备的状态 将磁带放入磁带机中,然后: # mt ?Cf /dev/rmt/0 status 如果你有多于一个磁带设备,设备则是:/dev/rmt/1, /dev/rmt/2… 你可能会看到如下信息: Quantum DLT7000 tape drive: sense key(0x0)= nosense residual= 0 retries= 0 file no= 0 block no= 0 sense key(0x0)= nosense表示你的系统可以正常访问磁带。 sense key(0x6)= unit attention表示这个设备可能被重置,或是刚加电的状态 /dev/rmt/0: no tape loaded or drive offline 此信息表示磁带不能访问 no such file or directory 如果你出现了这条信息,你的系统与你的磁带设备无法进行通讯。查看一下,磁带机是否加电,以及连线是否正常,或再次进行:ok. boot ?Cr 磁带的重绕 # mt ?Cf /dev/rmt/0 rewind 与磁带的读写数据有关的命令 主要包括5个命令: cpio, dd, ufsdump, ufsrestore, tar 命令:cpio cpio其实就是:copy in/out,从标准输入中读取要拷贝的文件,并将其写入到标准输出。这个命令是很常用的,但是要重定义标准输入和输出。当需要使用多于一个磁带时,可以使用这个命令。 1. 拷贝目录 /work及所有子目录到磁带 /dev/rmt/0 # cd /work # ls ?CR | cpio ?CocB >; /dev/rmt/0 2. 将磁带中的文件拷贝回/work目录 # cd /work # cpio ?CicBd < /dev/rmt/0 l o ---- copy out,读取标准输入,获得文件列表,拷贝这些文件到标准输出 l i ---- copy in,从标准输入扩展文件 l c ----标识了头信息已经以ASCII方式被写入 l d ----创建所需的目录 l B ----这是必须使用的,标识着输入是以块的方式被记录 命令:dd 这个命令可以对不同数据格式的文件进行转换并拷贝。当从你的硬盘迁移一个文件系统或分区时可以使用这个命令。你也可以使用它来进行从一个硬盘到另一个硬盘的数据拷贝。如果拷贝时,你指定了变量块的大小,那么,你在恢复时,也要指定相同的变量块。 1. 拷贝文件系统:/user/sunsystem到一个磁盘设备:/dev/rmt/0 # dd if=/dev/dsk/c0t0d0s7 of=/dev/rmt/0 bs=63k 命令:ufsdump 这个命令可以从一个硬盘拷贝一个文件系统或目录到磁带。它被设定为备份命令,支持多个卷及增量备份。注意一下,这里,所有的文件必须是同一个文件系统的一部分或在一个分区,而且你必须是superuser 1. 将所有位于:/dev/rdsk/c0t3d0s0下的文件拷贝到一个称为:/dev/rmt/0的dump文件 # ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0 l 0 ----表示dump的级别。级别0拷贝全部的文件系统到磁带中,有效的级别为0---9, 1---9执行的是增量备份,只会拷贝在当前时间后改变的文件。 l u ----表示如果成功的话,则对文件:/etc/dumpdates中的dump记录使用时间戳做一次更新 l f ----指定dump文件(逻辑设备名或磁带设备)。f参数后,必须要跟随一个文件名,在本例中是:/dev/rmt/0 l /dev/rdsk/c0t3d0s0包含你想要将文件写入磁带的源名字。 命令:ufsrestore 这个命令从一个磁带拷贝文件系统到一个硬盘。它只能拷贝由ufsdump创建的文件。 它必须使用以下的三个参数中的一个: l i ----(交互)从介质中读取目录信息后,ufsrestore调用一个交互式接口允许你浏览dump文件的层次结构,并选择文件进行扩展 l r ----(递归)将介质中的全部内容恢复到当前目录(它将是文件系统中的顶级),为了完整的恢复一个文件系统,要使用这个参数来恢复级别为0的dump,并再次恢复每个增量dump。 l t ----(内容列表)提供磁带中的所有文件列表 以下的参数为不是必须的: l f ----(dump文件)指定从哪里恢复dump文件。如果dump文件没有被指定,那么,ufsrestore将使用 /dev/rmt/0 l v ----(详细模式)显示从磁带中读取的路径名 1. 举个例子,如下: # cd /work # ufsrestore if /dev/rmt/0 ufsrestore>; ? Available commands are: ls [arg] - list directory cd arg - change directory pwd - print current directory add [arg] - add ‘arg’ to list of files to be extracted delete [arg] - delete ‘arg’ from list of files to be extracted extract - extract requested files setmodes - set modes of requested directories quit - immediately exit program what - list dump header information verbose - toggle verbose flag (useful with ‘‘ls’’) help or ‘?’ - print this list IF no ‘arg’ is supplied, the current directory is used ufsrestore>; ls 4lib/ dict mail openwin spool 5bin games man/ preserve src adm include/ net pub tmp 使用命令:add来增加要扩展的文件和目录到文件列表 ufsrestore>; add mail man 现在,从磁带中扩展这些文件,它们将被释放到你当前的工作目录: ufsrestore>; extract 当你所需要的文件被扩展后,就可以退出ufsrestore了 ufsrestore>; q 命令:tar 一个tarfile通常是一个磁带,但它可能是任何文件。如果数据总量超过了一个磁带,你就需要使用一个不同的磁带命令,因为tar命令不可以跨多个卷。 1. 下例显示如果从硬盘拷贝数据到磁带 # tar cvf /dev/rmt/0 /work 参数: l c ----创建tar文件(在本例中写入到磁带) l v ----显示它所拷贝的每个文件的信息(详细模式) l f ----指定源设备名,本例中为/dev/rmt/0 2. 下例显示如何从磁带中拷贝文件到硬盘 # cd /tmp # tar xvf /dev/rmt/0 l x ----表示从tar文件中扩展文件 cuiy 回复于:2003-06-03 17:50:15 谢谢,辛苦了 顺便有个问题,用ufsdump dump数据到硬盘,在用ufsrestor恢复时,卷标如何写,1,2,3好像都不行 fireware 回复于:2003-06-03 17:55:24 多谢了 njdexp 回复于:2003-06-03 18:03:31 注意:用tar 考贝时,一定要注意路径的问题。如用的绝对路径考贝,恢复时也会自动到那个路径 小跑 回复于:2003-06-03 19:56:13 不错!收下~谢谢 ocean82 回复于:2003-06-03 21:48:56 我顶!!!!!!!!!!!!!!!!好文章就是要多多顶 实用通俗。哈哈好 补充tar b 指定在每一次读取和写入操作中使用的磁带块的号码 h 归档通过符号链接访问的文件 i 在档案的创建过程中忽略校验和错误 k 指定挡案大小(千字节),如果档案大于这个大小就分拆 o 将所有档案文件的用户和组所有关系修改为当前所有者 fangshiming 回复于:2003-06-04 10:01:57 引用:原帖由 "ocean82" 发表: 我顶!!!!!!!!!!!!!!!!好文章就是要多多顶 实用通俗。哈哈好 补充tar b 指定在每一次读取和写入操作中使用的磁带块的号码 h 归档通过符号链接访问的文件 i 在档案的创建过程.......... 好东西,收藏!谢谢 cuiy 回复于:2003-06-04 13:41:05 没有人用ufsdump在硬盘上做过备份吗? race 回复于:2003-06-05 07:52:16 1 还得加上网络使用带机的方法, 2 磁带读不出来的时候,在放弃之前,需要做哪些尝试 sptsgjw 回复于:2003-06-05 09:49:57 up 蝴蝶永远的梦想? 回复于:2003-06-05 09:54:59 辛苦了,谢谢 hehawk 回复于:2003-06-05 15:03:15 用什么命令知道磁带满了呢? 谢了。 伊呀小米 回复于:2003-06-06 10:37:00 辛苦了 :D llzh35 回复于:2003-06-06 11:41:21 引用:原帖由 "cuiy"]没有人用ufsdump在硬盘上做过备份吗? 发表: 我试过用的,但是向磁带上写东西时,总是把以前的覆盖了,可是不知道怎么解决? sunsun2003 回复于:2003-06-06 14:13:17 thanks hope365 回复于:2003-06-06 15:33:02 如果磁带机有问题可以用那些命令检查 比如 mt命令,都给加上吧----solstice! solstice 回复于:2003-06-06 16:44:29 最近有点忙,不好意思!在给客户做标书等破东烂西的事, 等过了这段时间,再把关于磁带设备的东东好好整理一下, 大家也来交流一下,关于磁带设备的使用心得, 这样,可能会更全面一点! real 回复于:2003-06-19 13:17:28 好东东!!辛苦了! llc107 回复于:2003-06-19 15:29:16 solstice 总是做好事!呵呵…… gzh_unix 回复于:2003-11-14 14:09:06 请问各位怎么查询磁带剩余空间的大小 guozhongyan 回复于:2004-03-22 11:43:40 接楼上,我也想问同样的问题,谢谢!! lindalinda 回复于:2004-08-18 14:57:15 hi 各位大姐姐大哥哥们,你们好, 第一次进来,想请教一下 我刚做unix admin。对什么都还陌生,问题多多!请多关照!谢谢! 1:向磁带上写东西时,总是把以前的覆盖了,可是不知道怎么解决? 2:请问各位怎么查询磁带已用和剩余空间的大小? 非常感谢!! tnthb 回复于:2005-12-09 11:39:46 顶!!!! king3171 回复于:2005-12-09 13:14:38 引用:原帖由 lindalinda 于 2004-8-18 14:57 发表 hi 各位大姐姐大哥哥们,你们好, 第一次进来,想请教一下 我刚做unix admin。对什么都还陌生,问题多多!请多关照!谢谢! 1:向磁带上写东西时,总是把以前的覆盖了,可是不知道怎么解决? 2:请问各位 ... 这个问题应该是写完磁带后自动倒带造成的,下次写磁带还是从开始顺序往下写,所以会覆盖,要避免出现这种情况,在输入命令时在磁带路径名称后加n就可以避免。楼主的文档写了个大概,其实一些常会碰到的细节问题没有写出来,比如,一个磁带一般最少都有36G,可是备份文件时,不可能一次用完,那怎么办?难道备份一次就用一盒磁带吗,显然不合理,那么分多次往一盒磁带备份文件怎么备,就没有写出来。磁带不象硬盘,它是线性存储设备,写文件时不会象硬盘那样接着前面的文件往后写!还有就是跟所用的命令也有关系,用tar备的磁带,你可以用这个命令看磁带上备的文件,所以你可以知道磁带用了多少空间,用ufsdump备的磁带,你就无法看到磁带上的内容,所以你也无法知道磁带用了多少,我用磁带的时候不多,知道的也不是太多,希望熟悉的人再补充一下吧!:D [ 本帖最后由 king3171 于 2005-12-9 13:23 编辑 ] stay_h 回复于:2005-12-09 13:50:32 引用:原帖由 cuiy 于 2003-6-4 13:41 发表 没有人用ufsdump在硬盘上做过备份吗? 我做过,不过是放在不同的磁盘分区下面,可以直接用ufsrestore恢复.但是不要从第0个柱面开始,不然,磁盘就要重新label了. dbf 回复于:2005-12-09 15:09:58 我曾经实验过,可以备份,也能恢复; 但在实际环境中没这么用过。 好象客户都比较有钱吧,呵呵 guangqiya 回复于:2005-12-09 15:14:20 多谢,真是伟人! bencyber 回复于:2005-12-09 17:17:55 thank you very much!! idragon 回复于:2005-12-15 17:02:34 暴好哦!楼主辛苦了! ignu 回复于:2006-05-22 11:27:31 看了 thx jieyancai 回复于:2006-12-27 11:09:24 引用:原帖由 king3171 于 2005-12-9 13:14 发表 这个问题应该是写完磁带后自动倒带造成的,下次写磁带还是从开始顺序往下写,所以会覆盖,要避免出现这种情况,在输入命令时在磁带路径名称后加n就可以避免。楼主的文档写了个大概,其实一些常会碰到的细节问题没 ... “在输入命令时在磁带路径名称后加n就可以避免” 能不能写一下具体的命令例子,不太明白?多谢! 孤城 回复于:2006-12-27 14:07:03 支持原创 myhome1998 回复于:2006-12-27 20:03:06 谢谢了 泥牛 回复于:2007-03-21 17:16:13 也就是载磁带机设备名后加个n以表示使用的是不用倒带的磁带机,如 /dev/rmt/0n [ 本帖最后由 泥牛 于 2007-3-21 17:17 编辑 ] ccd19801003 回复于:2007-03-22 16:42:13 顶你个。。。 |
原文链接:http://bbs.chinaunix.net/viewthread.php?tid=83753 转载请注明作者名及原文出处 |










文章评论
共有 位网友发表了评论 查看完整内容