Managing CentOS/RHEL kernel modules.

Check current OS modules
# lsmod
 
Check modules detail info
# modinfo  st
filename:       /lib/modules/2.6.32-279.22.1.el6.x86_64/kernel/drivers/scsi/st.ko
alias:          scsi:t-0x01*
alias:          char-major-9-*
license:        GPL
description:    SCSI tape (st) driver
author:         Kai Makisara
srcversion:     782F465A959216B1E70B888
depends:
vermagic:       2.6.32-279.22.1.el6.x86_64 SMP mod_unload modversions
parm:           buffer_kbs:Default driver buffer size for fixed block mode (KB; 32) (int)
parm:           max_sg_segs:Maximum number of scatter/gather segments to use (256) (int)
parm:           try_direct_io:Try direct I/O between user buffer and tape drive (1) (int)
parm:           try_rdio:Try direct read i/o when possible (int)
parm:           try_wdio:Try direct write i/o when possible (int)
 
# modinfo -p st            #Only check module st paremeters
try_wdio:Try direct write i/o when possible
try_rdio:Try direct read i/o when possible
try_direct_io:Try direct I/O between user buffer and tape drive (1)
max_sg_segs:Maximum number of scatter/gather segments to use (256)
buffer_kbs:Default driver buffer size for fixed block mode (KB; 32)
 
Load module
# lsmod |grep st
stp                     2173  1 garp
llc                     5546  2 garp,stp
# modprobe st
# lsmod |grep st
st                     38302  0
stp                     2173  1 garp
llc                     5546  2 garp,stp
 
Unload module
# rmmod st
# lsmod |grep st
stp                     2173  1 garp
llc                     5546  2 garp,stp
 
Set default modules parameters
1. Check module's default parameter value
a. Load modules
# modprobe usb_storage
# modprobe st
# modprobe sx8
 
b. Get module's parameter info
# modinfo -p usb_storage
quirks:supplemental list of device IDs and their quirks
delay_use:seconds to delay before using a new device
swi_tru_install:TRU-Install mode (1=Full Logic (def), 2=Force CD-Rom, 3=Force Modem)
option_zero_cd:ZeroCD mode (1=Force Modem (default), 2=Allow CD-Rom
 
# modinfo -p st
try_wdio:Try direct write i/o when possible
try_rdio:Try direct read i/o when possible
try_direct_io:Try direct I/O between user buffer and tape drive (1)
max_sg_segs:Maximum number of scatter/gather segments to use (256)
buffer_kbs:Default driver buffer size for fixed block mode (KB; 32)
 
# modinfo -p sx8
max_queue:Maximum number of queued commands. (min==1, max==30, safe==1)
 
c. Check the default value
# cat /sys/module/usb_storage/parameters/delay_use
1
 
# cat /sys/module/sx8/parameters/max_queue
1
 
2. Modify the default value
a. Set parameter value
# cat /etc/modprobe.d/my.conf
options usb_storage delay_use=3
options sx8 max_queue=15
options st buffer_kbs=256
 
b. Reload modules
# rmmod st
# rmmod sx8
# rmmod usb_storage
# modprobe st
# modprobe sx8
# modprobe usb_storage
 
c. Check you changed value
# cat /sys/module/usb_storage/parameters/delay_use
3
# cat /sys/module/sx8/parameters/max_queue
15
 
3. Set module auto-start with modified parameter
系统是如何自动加载模块呢,我们在/etc/rc.sysinit启动文件中看到下面内容。在系统启动过程中会自动的执行/etc/sysconfig/modules/下所有以.modules结尾的文件。那么我们也可以在该目录下编写自定义的脚本,在配合/etc/modprobe.d/my.conf设置的参数,就可以实现我们设置的参数开机自启动了。
# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
  [ -x $file ] && $file
done
 
a. Create self-definition script
# cat /etc/sysconfig/modules/my.modules
modprobe st
modprobe sx8
modprobe usb_storage
 
b. Do not forget add execute permission
# chmod a+x /etc/sysconfig/modules/my.modules
# ls -l /etc/sysconfig/modules/my.modules
-rwxr-xr-x 1 root root 46 Aug 22 09:09 /etc/sysconfig/modules/my.modules
 
4. Disable ipv6 module on RHEL/CentOS 5.
Modify below to files.
/etc/modprobe.conf - Kernel driver configuration file.
/etc/sysconfig/network - RHEL / CentOS networking configuration file.
 
a. Edit /etc/modprobe.conf, and append the following line:
# vi /etc/modprobe.conf
install ipv6 /bin/true
 
b. Edit /etc/sysconfig/network, and update / add as follows:
# vi /etc/sysconfig/network
 
NETWORKING_IPV6=no
IPV6INIT=no

c. Restart network service.
# service network restart
# rmmod ipv6
 
Alternatively, simple reboot the box:
# reboot
 
d. Verify IPv6 is disabled, enter:
# lsmod | grep ipv6
# /sbin/ifconfig
 
5. Disable ipv6 module on RHEL/CentOS 6.
a.Edit /etc/sysconfig/network, and update / add as follows:
NETWORKING_IPV6=no
 
b. Modify file /etc/hosts, and comment out below line:
#::1   localhost localhost6 localhost6.localdomain6
 
c. Restart network service.
# service network restart
# rmmod ipv6
 
d. Disable auto enable across OS reboot. And below contents in file /etc/modprobe.d/ipv6off.conf.
alias net-pf-10 off
options ipv6 disable=1
posted @ 2015-04-22 14:04  Torvalds0310  阅读(524)  评论(0编辑  收藏  举报