Cover V10, I02
Article
Listing 1

feb2001.tar


Questions and Answers

Jim McKinstry and Amy Rich

I recently answered a Solaris question and said that you should get to an "ok" prompt to set an eeprom variable. I received a couple of emails letting me know that a "better way" is to use the eeprom command (e.g., eeprom boot-device='disk1:a disk net'). Todd A. Fiedler sent me a better, well-written explanation than what I originally provided:

The fourth question deals with determining the logical name (of a disk) from the instance name. While the author's answer was correct, I don't feel that it was really the answer the writer was looking for. A better way to illustrate this is to point out the relationship between the devices under /dev/dsk and the path into /devices that the symbolic links point to. An example is outlined below (some elements of the ls output are omitted):

 $ ls -l c*t*d*s2
 
 c0t0d0s2 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:c
 c0t1d0s2 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@1,0:c
 c0t2d0s2 -> ../../devices/pci@1f,0/pci@1,1/ide@3/sd@2,0:c
 
You can then look in the /etc/path_to_inst file for the disk in question.

 $ grep dad@0,0 /etc/path_to_inst
 
 "/pci@1f,0/pci@1,1/ide@3/dad@0,0" 0 "dad"
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^^^
 physical path | |
 | +--< device type
 |
 ^
 instance number
 
You can see that the instance name for the logical device c0t0d0 is therefore dad0. The instance name is useful when viewing the output of commands like iostat -x and sar -d. Listing 1 is a script I like to use for determining this relationship between disks.

Thanks to everyone who provides feedback! Jim

Q Our operating system is Sun OS 5.6 (Solaris 2.6) on a Sun Ultra 3000 workstation. We have one production system and one backup-plus-testing system using the same OS. I have encountered a problem related to ftp on these two machines. When I ftp from the backup machine to get a file of about 600 million bytes on the production machine, the ftp fails. The ftp looks like (every time): 150 Binary data connection for mcfee.tar.Z ....(614507802 bytes). After a while, the transfer hangs. I kill it with a ^C and I get:

 421 Service not available, remote server has closed connection
 local: mcfee.tar.Z
 remote: mcfee.tar.Z
 614507802 bytes received in 3.6e+03 seconds (164.91 kbytes/s)
 
Then I get out of ftp.

Why did the ftp hang when it apparently finished the transfer? (I have no problem transferring files smaller in size.) Is there a limit on file size when using ftp? If so, is there any other way to get around it?

A ftp doesn't have any hard limitations as far as file size or time of transfer. After looking at this, we noticed that the time the transfer was 3.6e+03, which equals 3600 seconds, which equals 60 minutes or 1 hour. When the admin who submitted the question looked a little harder, he found that his firewall had TPC session timeout set to 1 hour. Modifying this allowed the larger, longer transfer to take place.

Q I just added a new storage unit to my system and want to migrate my data from my old disks to my new, faster storage. The question is how do I do that without bringing my application down?

A The easiest way to do this is as follows:

1. If you are not currently using some kind of LVM (Logical Volume Manager) tool, then install one. (I like Veritas' Volume Manager.)

2. Configure your new storage to look like the old storage. (Actually, the LUNs on the new storage just need to be greater than, or equal to, the size of the LUNs of the old storage. The new storage should have at least as many LUNs as the old storage.)

3. Using the LVM, import the new LUNs so that each old LUN is now paired with a new LUN (of equal or greater size).

4. Now, using the LVM, mirror the old LUNs with the new LUNs.

5. Let the disks sync-up.

6. Using a "split mirror" facility (all the "good" LVMs out there do this), split the old disks out of the mirrors, (or you could take a more brute-force approach and just turn off the old storage, which will cause the LVM to run off of the mirrored disk (i.e., the new storage).

7. At this point, you are now running on the new storage.

8. Now that you are running off of the new storage, go back into the LVM and disassociate the old storage from the new storage. You can now recycle the old storage.

Q I wanted to use a Jumpstart profile to install everything under the root directory. I could not seem to come up with a profile that could accomplish this task. The installation always complains about file system /usr and /export/home. It seems to me that Jumpstart wants to create separate file systems for these two directories.

A In your profile you need to have the following (assuming you want 256 M for swap and want to devote the rest of the disk to /):

 partitioning explicit
 filesys c0t3d0s0 free /
 filesys c0t3d0s1 256 swap
 
Q Our DNS servers have names that have nothing to do with their functions. Is it possible to refer to them also as ns1.domain.com, ns2.domain.com, etc? Can I register them with OpenSRS this way?

A You can have users refer to your nameservers as nsX.domain.com for other services (e.g., ssh, telnet, ftp, etc.) by using CNAMEs in your zone files, but anything that you give to a domain registrar and any other records should reference the real name. No other records in your zone files can reference a CNAME:

 IN NS realname.domain.com.
 IN NS realname2.domain.com.
 IN MX 10 realname.domain.com.
 
 $ORIGIN domain.com.
 
 realname IN A 192.168.5.1
 realname2 IN A 192.168.8.1
 ns1 IN CNAME realname
 ns2 IN CNAME realname2
 
Q I need to replace a CPU on an Enterprise 6500. Can I just pull the system board out and hot swap the CPU?

A There are quite a few requirements to hot swapping a system board. For instance, the CPU board can not be removed if it contains interleaved memory or if it's listed in the cfgadm status report (cfgadm -s cols=ap_id:type:info) as non-detachable or permanent. Most servers usually have interleaved memory; you're probably out of luck.

Q I was just given an old pm2e and I'd like to use it as a console server for some Sparc 20s. I have my machines hooked up, but I'm not sure how to actually connect to them. I know with the old Sun NTS servers you needed to type "cli" and then enter the port number, but that doesn't appear to be the case here.

A Make sure you're using a null modem cable to connect the Suns to the pm and that you've disabled or changed (depending on your OS revision) the break sequence so that rebooting the pm doesn't send a break signal to your Suns and drop them to the "ok" prompt. After you have the machines connected with the correct cables, telnet to the pm and do attach sX (where X is your port number).

Q I have an Ultra 10 on which I need to install Solaris 2.6. I know there are some issues with it being IDE and possibly needing a "helper" CD. What exactly do I need to get this machine working?

A The minimal OS release you need depends on the model of the system board inside your Ultra 10. If you have system board 375-009, then you can use 2.6 3/98. If you have anything later, you need 2.6 5/98. In any case, 5/98 is the recommended revision of 2.6 for all machines at this point. The "helper CD" you refer to is the Operation Environment Installation CD. You only need this if your CPU is faster than 419 MHz.

Jim McKinstry is a Senior Sales Engineer for MTI Technology Corporation (www.mti.com). MTI is a leading international provider of data storage management products and services. He can be reached at: jrmckins@yahoo.com.

Amy Rich, president of the Boston-based Oceanwave Consulting, Inc. (http://www.oceanwave.com), has been a UNIX systems administrator for more than five years. She received a BSCS at Worcester Polytechnic Institute, and can be reached at: arr@oceanwave.com.