![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| mounting USB floppy drive /Flash drive in OSR 6.0 | sureshdrajan | SCO | 5 | 02-29-2008 09:36 AM |
| Map Drive From Windows To Apache Shared Drive? | gseyforth | UNIX for Dummies Questions & Answers | 0 | 02-23-2008 04:56 PM |
| Create an Ignite image on tape from Online IgniteUX image | Andrek | UNIX for Advanced & Expert Users | 3 | 02-28-2007 04:14 PM |
| Image My Drive | ErikTheHAck | HP-UX | 0 | 06-06-2006 11:47 AM |
| Difference DSK RDSK | guillaume35 | Filesystems, Disks and Memory | 6 | 01-23-2006 02:38 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
rdsk vs dsk for image drive
what is the difference between using the following commands to image a drive besides one taking 9hours and the other 15min?
dd if=/dev/dsk/c0t5d0 of=/dev/dsk/c0t4d0 bs=1024k dd if=/dev/rdsk/c0t5d0 of=/dev/rdsk/c0t4d0 bs=1024k Is there reliability issues in one over the other. I have read some things about direct driver communication, OS use, etc for the difference but I just can't seem to wrap my brain around it. |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
character driver (rdsk)
The driver has read and write entry points. The read and write system calls pass this off to the driver. The driver decides if the operation succeeds or not. If it fails, the driver can set any errno value it wants. There are standards, but some driver writers do not follow them. There are rules to follow and they can vary from driver to driver. Typically you must start a read or write on a disk sector boundary. And you must write full sectors. If you try to write a partial sector, and the driver allows it, you will probably garble the rest of the sector. Data moves directly to/from the disk to/from your program. There is no synchronization with data in the buffer cache. block driver (dsk) The driver has no read or write entry points. You cannot talk to the driver in a direct manner. The kernel must prepare a buffer header to pass to the driver's strategy entry point. read() and write() should strongly follow the man page. No sector boundary rules. You can write a single byte and it should work. Data must flow to/from the buffer cache and then to/from your program; and thus is in sync with any recent changes. (Note that the "in sync" implies operations to the same device. If you mount a slice of a disk, then dd the whole disk via another special file, it won't be in sync.) I would always use rdsk to avoid copying the data around in core. Your 9 hours vs 15 minutes is very extreme. You don't give any particulars of your situation. But it does not take 8 hours and 45 minutes to do the in-core copying of data that can be read in 15 minutes. I don't enough info to guess what happened. |
|
#3
|
|||
|
|||
|
Thanks for responding!
The system is a HP B180L workstation 180mhz CPU. I was just attempting to image the 9.1GB SCSI drive(main drive on id 6) to a 9.2GB SCSI(backup drive on id 5). Basically I am doing simple boot. Logging in as root, and running the commands as I stated above(except obviously SCSI 6 not 5). "dsk" takes 9 hours, and "rdsk" about 15min. I am concerned that the image is proper. Usually longer is better(more exacting but 9hrs is excessive) I'll be honest. I am a *nix noob an appreciate the help. Also the dev's for SCSI id #4(with ioscan -funC disk) has /dev/rdsk/c201d4s0 and the /dev/rdsk/c0t6d0, also 2 more dev's with "dsk". What is the c201d4s0? SCSI id #6 doesn't have these. I know these are simple and incredibly stupid questions but I am just starting out in this Unix world. Thanks for the help! |
|
#4
|
||||
|
||||
|
Just because a process takes longer does not make it better. You can always find a longer way to accomplish a task. The size of your memory and really, the size of your buffer cache must be the problem. But you should use the raw device anyway.
That c201d4s0 does not look right to me either. But there are problems with the other devices names too. Something like /dev/rdsk/c0t6d0 is supposed to mean: c0 (controller 0) the first scsi card configured in the system. It will have a chain of scsi devices and each device will have a scsi id. By convention, the controller itself will have an id of 7. t6 (target 6) this is a device in the scsi chain. It will have a scsi id of 6. You seem to be saying that scsi id 4 got t6. That is a little odd. d0 (disk 0) With ordinary disk mechs, d0 is all there ever is. But imagine 2 or 3 disks all sharing one scsi address. This is how you would tell them apart. This does get used in disk arrays. All of this is a naming convention. You can call the disk /home/fred/stupid and it would still work. But don't do that. |
||||
| Google The UNIX and Linux Forums |