- 论坛徽章:
- 0
|
本帖最后由 xiaocongwjb123 于 2010-03-08 18:24 编辑
回复 18# hlzhan
根据楼主所提供的信息我们再来分析一下:
(1)是一个目录下12万,不包括子目录
分析:在linux操作系统中,一般情况下,我们是不建议一个目录的本级目录下面
文件和目录超过4万。例如,假设/data 目录下面包括子目录(二级子目录和三
级子目录等等)文件和目录数量有12万个,则我们会这样规划:
/data/1 目录存放少于4万个文件;
/data/2 目录存放少于4万个文件;
/data/3 目录存放少于4万个文件;
/data/4 目录存放少于4万个文件;
以此类推。
另外,我们上次忘记了另外一个参数,如果楼主方便的话提供给我们。
# ulimit -n ## 如果我们没有猜错的话,楼主的Linux双机里面肯定没有修改
这个参数,而是采用系统默认的1024。
楼主可以修改这个地方,把linux操作系统本身的句柄数适当调大一点。
注意:linux操作系统句柄数不是越大越好,最大可以调到65536,句柄数越大有
可能导致系统对外服务响应变慢,句柄数太小则应用程序读取同一个文件的时候
一旦超过句柄数就会引起系统不稳定,有时候甚至会引起应用服务崩溃。我们建
议楼主设置一个比较保守的数值:4096。看看效果是否有所改观?
# echo "ulimit -HSn 4096" >> /etc/profile
# source /etc/profile ## 使新设置的环境变量生效
(2) [root@ ~]# uname -a
Linux 2.6.9-78.0.8.ELlargesmp #1 SMP Wed Nov 5 07:25:07 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
64位的,不过这个操作系统内核比较老了,楼主可以咨询一下厂家是否可以升级一下
操作系统内核?
(3)集群上面所用的硬件服务器CPU的详细信息是什么?这个命令可以查到
# cat /etc/cpuinfo
cat /proc/cpuinfo
8个
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E7330 @ 2.40GHz
stepping : 11
cpu MHz : 2400.090
cache size : 3072 KB
确切的说:楼主的机器上面跑的是两个CPU,至强的,每个CPU有4个核。
(4)操作系统启动的时候内核到底加载了哪些模块?这个命令可以看到
# lsmod
Module Size Used by
mptctl 43977 1
mptbase 81825 1 mptctl
sg 50041 0
ipmi_si 51928 2
ipmi_devintf 18192 4
ipmi_msghandler 41992 2 ipmi_si,ipmi_devintf
parport_pc 36737 0
lp 22513 0
parport 51789 2 parport_pc,lp
autofs4 35273 0
i2c_dev 21057 0
i2c_core 36289 1 i2c_dev
lock_dlm 55412 4
gfs 341004 4
lock_harness 14512 2 lock_dlm,gfs
dlm 142340 11 lock_dlm
cman 147360 26 lock_dlm,gfs,dlm
sunrpc 184505 1
md5 13121 1
ipv6 314401 1178
dm_round_robin 12353 1
dm_emc 14913 1
joydev 19393 0
dm_multipath 30673 3 dm_round_robin,dm_emc
button 16481 0
battery 18633 0
ac 14153 0
ehci_hcd 42441 0
uhci_hcd 42473 0
hw_random 14561 0
tg3 127301 0
bnx2 155101 0
bonding 80060 0
ext3 146129 4
jbd 76657 1 ext3
dm_mod 84137 39 dm_multipath
qla2400 239809 0
qla2xxx 203169 85 qla2400
scsi_transport_fc 19265 1 qla2xxx
cciss 83385 6
sd_mod 26561 42
scsi_mod 152593 5 sg,qla2xxx,scsi_transport_fc,cciss,sd_mod
服务器上面上了HBA卡,qla2***系列的,HBA卡采用的芯片是LSI公司芯片的。两台
机器上面通过橙色多模光纤连接到光交换机上面去,通过光交换机与光纤存储相连接。
存储这一块我们了解的不是很深入,楼主可以找存储厂商联系一下。
(5)
# cat /proc/interrupts 根据输出结果,可以这样修改启动参数
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 16311190 18580896 18580973 18580388 18580029 18570996 18571034 18571168 IO-APIC-edge timer
1: 1 1 1 1 2 1 2 0 IO-APIC-edge i8042
8: 60 51 65 56 71 63 64 58 IO-APIC-edge rtc
9: 0 0 0 0 0 0 0 0 IO-APIC-level acpi
74: 6267 58955 940992 489883 350848 247755 466400 162974 PCI-MSI-X cciss0
90: 54200856 0 0 0 0 0 0 0 PCI-MSI eth0
98: 208908 0 0 0 0 0 0 0 PCI-MSI eth1
169: 0 0 0 0 0 0 0 0 IO-APIC-level uhci_hcd, ehci_hcd
177: 0 0 0 0 0 0 0 0 IO-APIC-level uhci_hcd
185: 0 0 0 0 0 0 0 0 IO-APIC-level uhci_hcd
193: 0 0 0 0 0 0 0 0 IO-APIC-level uhci_hcd
201: 102 95484 422491 596213 550760 334029 379426 356253 IO-APIC-level qla2400
209: 195 84032 558889 575326 410641 361174 424796 345578 IO-APIC-level qla2400
225: 467 865889 110729 340509 45602 681804 460924 416985 IO-APIC-level ipmi_si
233: 12 8 12 13 11 7 14 4 IO-APIC-level uhci_hcd
NMI: 146345828 146345749 146345766 146345752 146345782 146345742 146345770 146345750
LOC: 146332694 146340815 146333679 146340716 146338828 146338238 146338749 146337007
ERR: 0
MIS: 0
楼主可以修改以下启动参数来实现网卡IO的负载均衡:
# vi /boot/grub/grub.conf
找到类似如下:
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00
修改为:
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 pci=nomsi
也就是在后面加入: pci=nomsi
注意:这个参数修改后需要重新启动机器,重启后再用:
# cat /proc/interrupts 看看网卡IO是否已经工作在负载均衡状态下面了。
另外,楼主可以对操作系统的网络参数做如下优化:
# vi /usr/local/etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.ip_local_port_range = 1024 65000
然后在设置系统启动的时候运行:
# echo "sysctl -f /usr/local/etc/sysctl.conf"
生产系统运行过程中有问题需要厂商和用户的通力合作,双方彼此推诿是解决不了
问题的,而且为后续工程的开展和工程款项的及时结清制造了障碍。
另外,由于EMC的存储我们没有接触过,估计这一块的规划和调优楼主需要联系
厂商协助解决。可以调整EMC存储两个控制器上面的操作系统参数来提高存储运行效率
和稳定性的,EMC存储用的核心技术也是LSI公司的产品。存储控制器上面跑的操作系统
应该是vxworks。有关EMC存储参数的优化和调整需要楼主联系厂商协助解决。 |
|