I2O on Linux - FAQ
BOoRFGOnZ
|
1#
BOoRFGOnZ 发表于 2006-08-15 13:54
I2O on Linux - FAQ引用:What is the I2O subsystem in LinuxBecause only a few people know how to use the I2O subsystem on Linux, here is a short description of it. The I2O subsystem is on the same level like SCSI. But unlike SCSI the interface to access the disks is specified. From the OS view, you only have to write one driver, and that would work with every I2O compliant controllers. So the "driver" for accessing the disks is in the firmware of the controller. This is the reason, why you only have one menu option I2O support, and not many manufacturer specific drivers. top How do i configure the kernel to use the I2O subsystem on Linux To configure I2O in the 2.6 kernel you have to enable the following modules: Device Drivers ---> I2O device support ---> <M> I2O support <M> I2O PCI support <M> I2O Block OSM <M> I2O SCSI OSM <M> I2O /proc support top What are the various modules for? I2O support (i2o_core): This is always needed to access your I2O hardware. It is the main module, which provides low level access to the I2O hardware. I2O Configuration support (i2o_config) This is only needed, if you want to manage your I2O card. In case of an Adaptec RAID controller, you need the module to use the raidutils to get access to your controller. I2O Block OSM (i2o_block): This is the disk driver, which let you access your RAID array, or if you don't have a RAID array configured to the single disks. You only have access to the disks through this driver! I2O SCSI OSM (i2o_scsi): This driver let you direct access to the disks. NEVER use this driver to mount a filesystem or so. If you do so, you could destroy your data. Only use this driver, to monitor your disks for failure. You could use the smartmontools to do so. I2O /proc support (i2o_proc): This driver provides some information for debugging purposes. top The disks are found, but when i try to mount /dev/i2o/hda1 the system hung up? There are some problems with the I2O SCSI OSM (i2o_scsi) which aren't resolved yet. Please try to recompile the kernel without the i2o_scsi module. top How could i access my RAID array? After the i2o_block module is loaded, you could access the drive through /dev/i2o/hda for the first disk (/dev/i2o/hda/disk if using devfs), /dev/i2o/hdb for the second disk (/dev/i2o/hdb/disk if using devfs), and so on. The partitions are handled like with IDE or SCSI drives. /dev/i2o/hda1 is the first partition (/dev/i2o/hda/part1 if using devfs) on the first disk. If you don't already have the /dev/i2o/hdxx device nodes, you could create them with: mknod /dev/i2o/hda b 80 0 mknod /dev/i2o/hda1 b 80 1 mknod /dev/i2o/hda2 b 80 2 ... mknod /dev/i2o/hdb b 80 16 mknod /dev/i2o/hdb1 b 80 17 mknod /dev/i2o/hdb2 b 80 18 ... top My I2O controller is found, but i'm unable to access /dev/sda The I2O subsystem has it's own block devices (see also How could i access my RAID array? and What are the various modules for?). top I've got kernel oopses under high load if using the I2O subsystem This is probably caused if the dpt_i2o driver is already loaded. To solve it disable the dpt_i2o driver completly and retry again. If the problems still persists, please send me the following: * output of the panic (you could use netconsole to log it on a second machine). * output of "lspci -vn" * output of "dmesg" top How could i use dptutils/raidutils with the I2O subsystem? They don't work! You couldn't use the dptutils provided from Adaptec directly, because they only work with the dpt_i2o driver. But under the download section you could get a slightly modified version of the dptutils (raidutils), which use the i2o_config module to connect to the controller. The software communicates with the controller over a char-device /dev/i2o/ctl. If the device node doesn't already exits, you could create one with: mknod /dev/i2o/ctl c 10 166 Note: If you are using the dpt_i2o driver, the device nodes have different major/minor numbers! Also be sure no raideng processes are running. The raideng process is started automatically by raidutil. See also Are the raidutils from this site compatible with the dpt_i2o module? top I've got a "Error: Engine connect failed: COMPATIBILITY number" error when using the raidutils, what should i do? * ensure that the device node /dev/i2o/ctl exists, if not create one with: mknod /dev/i2o/ctl c 10 166 * ensure that the i2o_config kernel module is loaded, if not load it with: modprobe i2o_config * ensure that you enabled the i2octls option in the i2o_config kernel module: <M> I2O Configuration support
|