我们有一个在 Infiniband 总线(ipoib)上运行的 CentOS 6.3 iscsi 服务器(16GB RAM)。
当负载较高时,我可以看到多个错误:
9 月 3 日 23:22:20 stor4 内核:tgtd:页面分配失败。顺序:2,模式:0x20 9 月 3 日 23:22:20 stor4 内核:Pid:3637,通信:tgtd 未受污染 2.6.32 #1 9 月 3 日 23:22:20 stor4 内核:调用跟踪: 9月3日 23:22:20 stor4 内核:[] ? __alloc_pages_nodemask+0x77f/0x940 9月3日 23:22:20 stor4内核:[] ? kmem_getpages+0x62/0x170 9月3日 23:22:20 stor4 内核:[] ? fallback_alloc+0x1ba/0x270 9月3日 23:22:20 stor4 内核:[] ? cache_grow+0x2cf/0x320 9 月 3 日 23:22:20 stor4 内核:[] ? ____cache_alloc_node+0x99/0x160 9月3日 23:22:20 stor4内核:[]?pskb_expand_head+0x64/0x270 9月3日 23:22:20 stor4 内核:[] ? __kmalloc+0x189/0x220 9月3日 23:22:20 stor4内核:[]?pskb_expand_head+0x64/0x270 9月3日 23:22:20 stor4内核:[]?__pskb_pull_tail+0x2aa/0x360 9月3日 23:22:20 stor4内核:[]?tcp_init_tso_segs+0x37/0x50 9月3日 23:22:20 stor4 内核:[] ? dev_queue_xmit+0x4bb/0x6f0 9月3日 23:22:20 stor4内核:[]?neigh_connected_output+0xbd/0x100 9月3日 23:22:20 stor4内核:[]?ip_finish_output+0x237/0x310 9月3日 23:22:20 stor4内核:[] ? ip_output+0xb8/0xc0 9月3日 23:22:20 stor4内核:[]?__ip_local_out+0x9f/0xb0 9月3日 23:22:20 stor4内核:[] ? ip_local_out+0x25/0x30 9月3日 23:22:20 stor4内核:[]?ip_queue_xmit+0x190/0x420 9月3日 23:22:20 stor4内核:[]?sock_aio_write+0x167/0x180 9月3日 23:22:20 stor4内核:[] ? tcp_transmit_skb+0x3fe/0x7b0 9月3日 23:22:20 stor4内核:[] ? tcp_write_xmit+0x1fb/0xa20 9月3日 23:22:20 stor4 内核:[] ? __tcp_push_pending_frames+0x30/0xe0 9月3日 23:22:20 stor4内核:[]?tcp_push_pending_frames+0x33/0x40 9月3日 23:22:20 stor4内核:[] ? do_tcp_setsockopt+0x3d6/0x480 9月3日 23:22:20 stor4内核:[] ? tcp_setsockopt+0x2a/0x30 9月3日 23:22:20 stor4内核:[] ? sock_common_setsockopt+0x14/0x20 9月3日 23:22:20 stor4内核:[] ? sys_setsockopt+0x7f/0xe0 9月3日 23:22:20 stor4内核:[] ? system_call_fastpath+0x16/0x1b 9月3日 23:22:20 stor4 内核:Mem-Info: 9 月 3 日 23:22:20 stor4 内核:节点 0 每 CPU DMA: 9月3日 23:22:20 stor4 内核:CPU 0:hi:0,btch:1 美元:0 9月3日 23:22:20 stor4 内核:CPU 1:hi:0,btch:1 美元:0 9月3日 23:22:20 stor4 内核:CPU 2:hi:0,btch:1 美元:0 9月3日 23:22:20 stor4 内核:CPU 3:hi:0,btch:1 美元:0 9 月 3 日 23:22:20 stor4 内核:节点 0 DMA32 每 CPU: 9月3日 23:22:20 stor4 内核:CPU 0:hi:186,btch:31 美元:183 9月3日 23:22:20 stor4 内核:CPU 1:hi:186,btch:31 美元:23 9月3日 23:22:20 stor4 内核:CPU 2:hi:186,btch:31 美元:183 9月3日 23:22:20 stor4 内核:CPU 3:hi:186,btch:31 美元:181 9 月 3 日 23:22:20 stor4 内核:节点 0 每个 CPU 正常: 9月3日 23:22:20 stor4 内核:CPU 0:hi:186,btch:31 美元:171 9月3日 23:22:20 stor4 内核:CPU 1:hi:186,btch:31 美元:29 9月3日 23:22:20 stor4 内核:CPU 2:hi:186,btch:31 美元:32 9月3日 23:22:20 stor4 内核:CPU 3:hi:186,btch:31 美元:32 9月3日 23:22:20 stor4 内核:active_anon:1875 inactive_anon:2473isolated_anon:0 9月3日 23:22:20 stor4 内核:active_file:1243637 inactive_file:2505055 independent_file:0 9月3日 23:22:20 stor4 内核:不可驱逐:0 脏:268338 写回:0 不稳定:0 9月3日 23:22:20 stor4 内核:空闲:86050 slab_reclaimable:132377 slab_unreclaimable:23744 9月3日 23:22:20 stor4 内核:映射:1293 shmem:222 页表:720 反弹:0 9 月 3 日 23:22:20 stor4 内核:节点 0 DMA 空闲:15732kB 最小:124kB 最低:152kB 最高:184kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB 隔离(匿名):0kB 隔离(文件):0kB 存在:15332kB mlocked:0kB dirty:0kB writeback:0kB 映射:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB 不稳定:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable?是 9月3日 23:22:20 stor4 内核:lowmem_reserve[]: 0 2172 16060 16060 9 月 3 日 23:22:20 stor4 内核:节点 0 DMA32 空闲:107544kB 最小:18268kB 低:22832kB 高:27400kB active_anon:468kB inactive_anon:2364kB active_file:566208kB inactive_file:976112kB 不可驱逐:0kB 隔离(匿名):0kB 隔离(文件):0kB 存在:2224900kB mlocked:0kB 脏:96816kB 回写:0kB 映射:908kB shmem:12kB slab_reclaimable:176940kB slab_unreclaimable:968kB kernel_stack:64kB 页表:192kB 不稳定:0kB 反弹:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable?否 9月3日 23:22:20 stor4 内核:lowmem_reserve[]:0 0 13887 13887 9 月 3 日 23:22:20 stor4 内核:节点 0 正常 空闲:220924kB 最小:116772kB 低:145964kB 高:175156kB active_anon:7032kB inactive_anon:7528kB active_file:4408340kB inactive_file:9044108kB 不可驱逐:0kB 隔离(匿名):0kB 隔离(文件):0kB 存在:14220800kB mlocked:0kB 脏:976536kB 写回:0kB 映射:4264kB shmem:876kB slab_reclaimable:352568kB slab_unreclaimable:94008kB kernel_stack:2048kB 页表:2688kB 不稳定:0kB 反弹:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable?否 9月3日 23:22:20 stor4 内核:lowmem_reserve[]:0 0 0 0 9月3日 23:22:20 stor4 内核:节点 0 DMA:1*4kB 0*8kB 1*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 3*4096kB = 15732kB 9月3日 23:22:20 stor4 内核:节点 0 DMA32:16305*4kB 4381*8kB 353*16kB 8*32kB 1*64kB 1*128kB 0*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 107900kB 9月3日 23:22:20 stor4内核:节点0正常:14548*4kB 14808*8kB 2420*16kB 31*32kB 5*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 1*4096kB = 220784kB 9月3日 23:22:20 stor4 内核:共计 3748822 个页面缓存页面 9 月 3 日 23:22:20 stor4 内核:交换缓存中有 0 页 9 月 3 日 23:22:20 stor4 内核:交换缓存统计信息:添加 0、删除 0、查找 0/0 9月3日 23:22:20 stor4 内核:可用交换 = 975864kB 9月3日 23:22:20 stor4 内核:总交换空间 = 975864kB 9月3日 23:22:20 stor4 内核:4194303 页 RAM 9月3日 23:22:20 stor4 内核:保留126915页 9月3日 23:22:20 stor4 内核:共享了 3753534 个页面 9月3日 23:22:20 stor4 内核:213500 个页面未共享
TCP 堆栈和 VM 配置:
net.core.rmem_max = 83886080 net.core.wmem_max = 83886080 net.core.rmem_default = 65536 net.core.wmem_default = 65536 net.ipv4.tcp_rmem = 40960 1048560 4194304 net.ipv4.tcp_wmem = 40960 196608 4194304 net.ipv4.tcp_mem = 16388608 16388608 16388608 vm.min_free_kbytes=135168
其他调整:
/sbin/blockdev --setra 16384 /dev/sdb echo 2048 > /sys/block/sdb/queue/nr_requests
问题可能出在哪里?谢谢。
答案1
您可以尝试一些方法...但是 IPoIB 上的 iSCSI 听起来有点混乱。显然,如果您使用 Infiniband,性能就很重要。
- 除了错误之外,性能如何?
- 这是可重现的吗?您可以根据需要触发它吗?还是消息只是堆积在
dmesg
环形缓冲区中? - 您在挂载的 iSCSI 设备上使用什么文件系统?这可能会对我的建议产生影响。
无论如何,由于你使用的是 CentOS 6.3,我会认真考虑启用tuned-adm 配置文件设置。对于您来说,如果尚未安装,请运行yum install tuned tuned-utils
并尝试“企业存储”配置文件:
tuned-adm profile enterprise-storage
这将使你的 I/O 电梯移动到截止期限调度器,将其更改kernel.sched_min_ granularity_ns
为 10ms,对 vm 子系统进行一些调整,删除写入屏障,修改 CPU 调节器并提高磁盘预读能力。您还可以将 sysctl 和 sysfs 设置移动到自定义配置文件。
可以使用 恢复到原始设置tuned-adm off
。这些命令可以安全地即时运行。您可以测试并报告结果吗?