# iSCSI и ядро x86_64-2.6.29-gentoo-r4

## ArhAngel

Hi!

Я использую часть файлового (Linux diskraid2 2.6.29-gentoo-r4 #2 SMP Thu May 21 10:55:50 IRKST 2009 x86_64 Intel(R) Xeon(R) CPU E5335 @ 2.00GHz GenuineIntel GNU/Linux) хранилища как iSCSI

На машине стоит RAID-5 на hardware raid-controller Adaptec ASR-31605

Всё хранилише разделено на два RAID-а ( /dev/sda и /dev/sdb)

/dev/sdb весь отдаётся по iscsi

```
[i][b]diskraid2 / #[/b] cat /etc/ietd.conf

Target iqn.2009-05.ru.qqq.diskraid2:iSCSI.Win.disk1

        Lun 0 Path=/dev/sdb,Type=fileio

        MaxConnections          4  <<--- нужно чтобы 4 сервака писали в разные диры свои файлы

        InitialR2T              No

        ImmediateData           Yes

        MaxRecvDataSegmentLength        262144

[/i]
```

Проблема!!

Сервер часто (раз в 2-3 дня) подвисает при этом "плюётся" такими логами

Последние минуты жизни

```

Jul  7 11:11:48 diskraid2 BUG: soft lockup - CPU#2 stuck for 61s! [nfsd:13573]

Jul  7 11:11:48 diskraid2 BUG: soft lockup - CPU#2 stuck for 61s! [nfsd:13573]

Jul  7 11:11:48 diskraid2 BUG: soft lockup - CPU#2 stuck for 61s! [nfsd:13573]

Jul  7 11:11:48 diskraid2 Pid: 13573, comm: nfsd Tainted: G      D    2.6.29-gentoo-r4 #2 X7DB8

Jul  7 11:11:48 diskraid2 Pid: 13573, comm: nfsd Tainted: G      D    2.6.29-gentoo-r4 #2 X7DB8

Jul  7 11:11:48 diskraid2 RIP: 0010:[<ffffffff8046ace9>]  [<ffffffff8046ace9>] 0xffffffff8046ace9

Jul  7 11:11:48 diskraid2 RIP: 0010:[<ffffffff8046ace9>]  [<ffffffff8046ace9>] 0xffffffff8046ace9

Jul  7 11:11:48 diskraid2 RSP: 0018:ffff88012b795b10  EFLAGS: 00000287

Jul  7 11:11:48 diskraid2 RSP: 0018:ffff88012b795b10  EFLAGS: 00000287

Jul  7 11:11:48 diskraid2 RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffff880061f0bc80

Jul  7 11:11:48 diskraid2 RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffff880061f0bc80

Jul  7 11:11:48 diskraid2 RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff88012d2cc43c

Jul  7 11:11:48 diskraid2 RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff88012d2cc43c

Jul  7 11:11:48 diskraid2 RBP: ffffffff8020c9ee R08: 0000000000000002 R09: 0000000000000008

Jul  7 11:11:48 diskraid2 RBP: ffffffff8020c9ee R08: 0000000000000002 R09: 0000000000000008

Jul  7 11:12:15 diskraid2 R10: 00000000ffffffff R11: ffff88002804f140 R12: ffff880038a39820

Jul  7 11:12:15 diskraid2 R10: 00000000ffffffff R11: ffff88002804f140 R12: ffff880038a39820

Jul  7 11:12:15 diskraid2 R13: ffffffff80464617 R14: 0000000000000282 R15: ffff8800a58a4200

Jul  7 11:12:15 diskraid2 R13: ffffffff80464617 R14: 0000000000000282 R15: ffff8800a58a4200

Jul  7 11:12:15 diskraid2 FS:  0000000000000000(0000) GS:ffff88012f0f3c40(0000) knlGS:0000000000000000

Jul  7 11:12:15 diskraid2 FS:  0000000000000000(0000) GS:ffff88012f0f3c40(0000) knlGS:0000000000000000

Jul  7 11:12:15 diskraid2 CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b

Jul  7 11:12:15 diskraid2 CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b

Jul  7 11:12:15 diskraid2 CR2: 0000000000433000 CR3: 000000012b424000 CR4: 00000000000006e0

Jul  7 11:12:15 diskraid2 CR2: 0000000000433000 CR3: 000000012b424000 CR4: 00000000000006e0

Jul  7 11:12:15 diskraid2 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

Jul  7 11:12:15 diskraid2 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

Jul  7 11:12:15 diskraid2 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

Jul  7 11:12:15 diskraid2 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

Jul  7 11:12:15 diskraid2 Call Trace:

```

http://pastebin.com/m2c24b565 - полный лог здесь, L.K.

И на этом лог заканчивается и сервак подвисает

Использую sys-block/iscsitarget-0.4.17 

Конфиг ядра:

```
diskraid2 linux # grep -i iscsi .config

CONFIG_SCSI_ISCSI_ATTRS=m

CONFIG_ISCSI_TCP=m

CONFIG_SCSI_CXGB3_ISCSI=m

CONFIG_SCSI_QLA_ISCSI=m

CONFIG_ISCSI_IBFT_FIND=y

CONFIG_ISCSI_IBFT=y

```

В какую сторону копать...???

Либо сборка Gentoo под x86_64 косячит, либо в ядре глюки

По-крайней мере вот на такой же машине

Linux diskraid1 2.6.24-gentoo-r7 #1 SMP Wed May 7 10:00:12 IRKST 2008 i686 Intel(R) Xeon(R) CPU E5335 @ 2.00GHz GenuineIntel GNU/Linux

под i686 миром всё1 работало нормально, но там iscsi отдавал не устройство а файл подмонтированный в /dev/loop0

```
[i]Target iqn.2008-07.ru.dsi.diskraid1:iSCSI.Win.disk1

        Lun 1 Path=/dev/loop0,Type=fileio

        MaxConnections[/i]
```

----------

## Laitr Keiows

 *ArhAngel wrote:*   

> 
> 
> ```
> 
> Jul  7 11:11:48 diskraid2 BUG: soft lockup - CPU#2 stuck for 61s! [nfsd:13573]
> ...

 

1. Все логи сюда выкладывать не надо, используй http://pastebin.com/ или аналоги.

2. Судя по всему, это происходит из процесса nfsd c pid 13573, то есть, скорее всего iSCSI тут не при чём.

3. http://www.google.com/search?hl=en&q=soft+lockup+-+CPU+stuck+for+61s

Я бы порекомендовал отключить nfsd и/или обновить ядро до версии из git, быть может этот баг там уже поправили.

Если баг останется и в GIT-ядре, то тогда стоит получить человекочитаемый Call Trace, собрав ядро с отладкой, и отправить в лист рассылки или cюда: http://bugzilla.kernel.org/enter_bug.cgi

----------

## ArhAngel

 *Laitr Keiows wrote:*   

> 
> 
> 2. Судя по всему, это происходит из процесса nfsd c pid 13573, то есть, скорее всего iSCSI тут не при чём.
> 
> 

 

может быть, но NFS очень необходим ... и ещё ... до того, как запустил iSCSI сервер работал стабильно.

----------

## ArhAngel

Обновился до версии 2.6.30-gentoo-r2. пока uptimeуже 4 дня

----------

