|Subject:||help with ccd (again)|
|From:||Chris Sagar (CSa...@exchange.iterated.com)|
|Date:||Jan 26, 1998 11:29:50 am|
Seems I have overestimated my capability or I have underestimated the ccd/ccdconfig installation process. Each time I get past one problem, I hit another where there is a lacking of documentation. So, please forgive me as I ask some of the same questions again, this time with the entire picture outlined.
My goal is to bring online two Adaptec 2944 (PCI) controllers, each with 8 4-GB Seagate disks (SCSI id 1,2,3,4,11,12,13,14) configured as a ccd device. I want to end up with two, 32 GB disk arrays available for usage. These arrays are not boot drives. My boot disk is an IDE drive. Thanks to the help of several of you, I have gotten one of my disk arrays running, but here are my current problems.
First, the array configuration does not survive being booted. I have the array being mounted in fstab as /disk1. When the system reboots, it barks about the ccd not being configured. I can not do a ccdconfig, then newfs, then fsck each time I need to reboot the server. What am I missing here? What preserves the configuration information of the ccd array? If I manually do ccdconfig/newfs/fsck/mount on the drive, it is there and usable. But after reboot it is gone.
Second, I need to get the second Adaptec controller setup. THe cards are seen during bootup (ahc0 and ahc1). They have different IRQ and addresses. I have run SCSI-Select and this also finds both cards. I am assuming (I know, I know) that the OS is happy, but my question regards the fully qualified device name for the disks. As each disk array will the same scsi ID numbering scheme (scsi id 1,2,3,4,11,12,13,and 14 in each array) where/how do you define in the fully qualified device name the scsi bus that the disk in on? I have not yet connected any disks to the second controller.
Are there going to be any other nasties waiting to bite me on this.
I have done kernel rebuilds for these items. Here is my kernel config file.
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks # # For more information read the handbook part System Administration -> # Configuring the FreeBSD Kernel -> The Configuration File. # The handbook is available in /usr/share/doc/handbook or online as # latest version from the FreeBSD World Wide Web server # <URL:http://www.FreeBSD.ORG/> # # An exhaustive list of options and more detailed explanations of the # device lines is present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $Id: GENERIC,v 22.214.171.124 1997/10/18 11:03:10 joerg Exp $
machine "i386" cpu "I586_CPU" ident ISI maxusers 10
options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem options NFS #Network Filesystem options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device options BOUNCE_BUFFERS #include support for DMA bounce buffers options UCONSOLE #Allow users to grab the console options FAILSAFE #Be conservative options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor
config kernel root on wd0
controller isa0 controller eisa0 controller pci0
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr disk fd0 at fdc0 drive 0 disk fd1 at fdc0 drive 1 tape ft0 at fdc0 drive 2
options "CMD640" # work around CMD640 chip deficiency controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1
options ATAPI #Enable ATAPI support for IDE bus options ATAPI_STATIC #Don't do it as an LKM device wcd0 #IDE CD-ROM
# A single entry for any of these controllers (ncr, ahb, ahc, amd) is # sufficient for any number of installed devices. controller ncr0 controller amd0 controller ahb0 controller ahc0 controller ahc1 controller bt0 at isa? port "IO_BT0" bio irq ? vector bt_isa_intr controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr controller aic0 at isa? port 0x340 bio irq 11 vector aicintr controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintr controller nca1 at isa? port 0x350 bio irq 5 vector ncaintr controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr
controller scbus0 at ahc0 controller scbus1 at ahc1
disk sd1 at scbus0 target 1 disk sd2 at scbus0 target 2 disk sd3 at scbus0 target 3 disk sd4 at scbus0 target 4 disk sd11 at scbus0 target 11 disk sd12 at scbus0 target 12 disk sd13 at scbus0 target 13 disk sd14 at scbus0 target 14
disk sd1 at scbus1 target 1 disk sd2 at scbus1 target 2 disk sd3 at scbus1 target 3 disk sd4 at scbus1 target 4 disk sd11 at scbus1 target 11 disk sd12 at scbus1 target 12 disk sd13 at scbus1 target 13 disk sd14 at scbus1 target 14
device od0 #See LINT for possible `od' options.
device cd0 #Only need one of these, the code dynamically grows
device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr
controller matcd0 at isa? port 0x230 bio
device scd0 at isa? port 0x230 bio
# syscons is the default console driver, resembling an SCO console device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint #options XSERVER # support for X server #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std
# Mandatory, don't remove device npx0 at isa? port "IO_NPX" flags 0x1 irq 13 vector npxintr
# # Laptop support (see LINT for more options) # device apm0 at isa? disable # Advanced Power Management options APM_BROKEN_STATCLOCK # Workaround some buggy APM BIOS # PCCARD (PCMCIA) support #controller crd0 #device pcic0 at crd? #device pcic1 at crd?
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr device sio2 at isa? disable port "IO_COM3" tty irq 5 vector siointr device sio3 at isa? disable port "IO_COM4" tty irq 9 vector siointr
device lpt0 at isa? port? tty irq 7 vector lptintr device lpt1 at isa? port? tty device mse0 at isa? port 0x23c tty irq 5 vector mseintr
device psm0 at isa? disable port "IO_KBD" conflicts tty irq 12 vector psmintr
# Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. device de0 device fxp0 device vx0
device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr device ie1 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr device ep0 at isa? port 0x300 net irq 10 vector epintr device ex0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector exintr device fe0 at isa? port 0x300 net irq ? vector feintr device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
pseudo-device loop pseudo-device ether pseudo-device log pseudo-device sl 1 # ijppp uses tun instead of ppp device #pseudo-device ppp 1 pseudo-device vn 1 pseudo-device tun 1 pseudo-device pty 16 pseudo-device gzip # Exec gzipped a.out's pseudo-device ccd 8 # KTRACE enables the system-call tracing facility ktrace(2). # This adds 4 KB bloat to your kernel, and slightly increases # the costs of each syscall. options KTRACE #kernel tracing
# This provides support for System V shared memory. # options SYSVSHM