Зависание системы при logout-е от ISCSI target-а

Почти без результатно целую неделю пробую решить и локализировать проблему с зависанием системы после отключения от таргета ISCSI

Дано:

Сервер - Gentoo Linux, ядро 3.10.25 gentoo-source, sys-block/iscsitarget 1.4.20.2_p20130821
Пример настройка:

Target iqn.2015-09.hr.cslab:debian.tr.cslab
        Lun 0 Path=/dev/baracuda/debian.tr.cslab,Type=fileio

Рабочая станция - Gentoo Linux, ядро 3.11.7 hardened-r1, sys-block/open-iscsi 2.0.872-r2
Настройки стандартные

Проблема:

За то немногое время что мне удалось выделить на решение проблемы я смог только определить что зависание происходит после того как сессии будут использованы для виртуальных машин в Libvirt (KVM).

Я бы мог и больше расписать окружение, но мне очень хочется услышать мысли сообщества. Дополню информацию по требованию.

P.S. Не люблю просить помощи на форумах, но сейчас надеюсь на любую помощь и подсказку.

, sys-block/iscsitarget

, sys-block/iscsitarget 1.4.20.2_p20130821

Выкинь каку и юзай нормальные таргеты на LIO

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Я конечно попробую LIO. Но

Я конечно попробую LIO. Но разве нет никаких идей? Проблема не в ядре (покрайней мере на gentoo-source 3.10.25 проблема воспроизводится)

Тебе шашечки или ехать

Тебе шашечки или ехать ?
emerge tgt; wget http://wpkg.org/tgt-admin; tgt-admin

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Вот все хотят ехать, а без

Вот все хотят ехать, а без шашечек далеко не проедишь =)

P.S. сегодня засетаплю и проверю))) Спасибо

Теперь с tgt система не

Теперь с tgt система не фризится. В логах при отключении от таргета трейсы ядра вида:

Feb 24 20:33:29 tornado kernel: NMI backtrace for cpu 7
Feb 24 20:33:29 tornado kernel: CPU: 7 PID: 0 Comm: swapper/7 Tainted: G      D W    3.11.7-hardened-r1 #9
Feb 24 20:33:29 tornado kernel: Hardware name: ASUS All Series/H87-PRO, BIOS 0501 04/08/2013
Feb 24 20:33:29 tornado kernel: task: ffff88040bfd8080 ti: ffff88040bfd84c8 task.ti: ffff88040bfd84c8
Feb 24 20:33:29 tornado kernel: RIP: 0010:[]  [] mwait_idle_with_hints+0x55/0x57
Feb 24 20:33:29 tornado kernel: RSP: 0000:ffff88040b827de8  EFLAGS: 00000046
Feb 24 20:33:29 tornado kernel: RAX: 0000000000000033 RBX: ffff88040bb234a0 RCX: 0000000000000001
Feb 24 20:33:29 tornado kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000033
Feb 24 20:33:29 tornado kernel: RBP: ffff88040b827de8 R08: ffff88040bfd84c8 R09: 0000000000000020
Feb 24 20:33:29 tornado kernel: R10: 0000000000001d42 R11: 0000000000002708 R12: 0000000000000002
Feb 24 20:33:29 tornado kernel: R13: ffff88040bb23400 R14: ffffffffa043f080 R15: 0000000000000007
Feb 24 20:33:29 tornado kernel: FS:  0000000000000000(0000) GS:ffff88041fbc0000(0000) knlGS:0000000000000000
Feb 24 20:33:29 tornado kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 24 20:33:29 tornado kernel: CR2: 0000000000000000 CR3: 00000003e1670000 CR4: 00000000001607f0
Feb 24 20:33:29 tornado kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Feb 24 20:33:29 tornado kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Feb 24 20:33:29 tornado kernel: Stack:
Feb 24 20:33:29 tornado kernel: ffff88040b827df8 ffffffff810597e4 ffff88040b827e28 ffffffffa0446dea
Feb 24 20:33:29 tornado kernel: 0000000000001d42 ffff8804076c6200 ffffffffa043f148 000000dbd9175e46
Feb 24 20:33:29 tornado kernel: ffff88040b827e88 ffffffff8161918c 0000000000000002 ffffffffa043f080
Feb 24 20:33:29 tornado kernel: Call Trace:
Feb 24 20:33:29 tornado kernel: [] acpi_processor_ffh_cstate_enter+0x2d/0x31
Feb 24 20:33:29 tornado kernel: [] acpi_idle_enter_simple+0x8a/0xde [processor]
Feb 24 20:33:29 tornado kernel: [] cpuidle_enter_state+0x3a/0xac
Feb 24 20:33:29 tornado kernel: [] cpuidle_idle_call+0xf7/0x1a9
Feb 24 20:33:29 tornado kernel: [] arch_cpu_idle+0x9/0x18
Feb 24 20:33:29 tornado kernel: [] cpu_startup_entry+0x113/0x19c
Feb 24 20:33:29 tornado kernel: [] ? clockevents_config_and_register+0x1e/0x22
Feb 24 20:33:29 tornado kernel: [] start_secondary+0x1ae/0x1b2
Feb 24 20:33:29 tornado kernel: Code: 7a 08 31 d2 65 4c 8b 04 25 08 a9 00 00 49 8d 40 08 48 89 d1 0f 01 c8 0f ae f0 49 8b 40 08 a8 08 75 09 48 89 f8 48 89 f1 0f 01 c9 <5d> c3 55 48 8b 05 c1 b6 ba 00 65 8b 14 25 1c a0 00 00 89 d2 48 
Feb 24 20:33:29 tornado kernel: NMI backtrace for cpu 6
Feb 24 20:33:29 tornado kernel: CPU: 6 PID: 7617 Comm: kworker/u16:12 Tainted: G      D W    3.11.7-hardened-r1 #9
Feb 24 20:33:29 tornado kernel: Hardware name: ASUS All Series/H87-PRO, BIOS 0501 04/08/2013
Feb 24 20:33:29 tornado kernel: task: ffff8804075c4180 ti: ffff8804075c45c8 task.ti: ffff8804075c45c8
Feb 24 20:33:29 tornado kernel: RIP: 0010:[]  [] _raw_spin_lock_irqsave+0x1c/0x20
Feb 24 20:33:29 tornado kernel: RSP: 0000:ffff88041fb83de0  EFLAGS: 00000087
Feb 24 20:33:29 tornado kernel: RAX: 0000000000000286 RBX: ffff8803e09533b0 RCX: 00000000000000e0
Feb 24 20:33:29 tornado kernel: RDX: 000000000000e0df RSI: ffffffff81432069 RDI: ffff8803e09537d8
Feb 24 20:33:29 tornado kernel: RBP: ffff88041fb83de0 R08: 0000000000000004 R09: ffff88040b8e8000
Feb 24 20:33:29 tornado kernel: R10: ffff88041fb8bf80 R11: 0000000000000003 R12: 0000000000000000
Feb 24 20:33:29 tornado kernel: R13: ffffffff81432069 R14: ffff8803e09538e0 R15: 0000000000000000
Feb 24 20:33:29 tornado kernel: FS:  0000000000000000(0000) GS:ffff88041fb80000(0000) knlGS:0000000000000000
Feb 24 20:33:29 tornado kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 24 20:33:29 tornado kernel: CR2: 0000000000000028 CR3: 000000000173c000 CR4: 00000000001607f0
Feb 24 20:33:29 tornado kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Feb 24 20:33:29 tornado kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Feb 24 20:33:29 tornado kernel: Stack:
Feb 24 20:33:29 tornado kernel: ffff88041fb83e30 ffffffff81432096 ffff8804075c4180 ffff88041fb83e28
Feb 24 20:33:29 tornado kernel: ffff8804075c4180 ffff88040b8e8000 0000000000000100 ffffffff81432069
Feb 24 20:33:29 tornado kernel: ffff8803e0953890 ffff8803e09533b0 ffff88041fb83e70 ffffffff810780b8
Feb 24 20:33:29 tornado kernel: Call Trace:
Feb 24 20:33:29 tornado kernel:  
Feb 24 20:33:29 tornado kernel: [] blk_rq_timed_out_timer+0x2d/0x113
Feb 24 20:33:29 tornado kernel: [] ? blk_abort_request+0x27/0x27
Feb 24 20:33:29 tornado kernel: [] call_timer_fn+0x4f/0xf4
Feb 24 20:33:29 tornado kernel: [] ? blk_abort_request+0x27/0x27
Feb 24 20:33:29 tornado kernel: [] run_timer_softirq+0x1b6/0x211
Feb 24 20:33:29 tornado kernel: [] ? ktime_get+0x51/0xb2
Feb 24 20:33:29 tornado kernel: [] __do_softirq+0xdb/0x1e5
Feb 24 20:33:29 tornado kernel: [] ? tick_program_event+0x1f/0x21
Feb 24 20:33:29 tornado kernel: [] call_softirq+0x1c/0x30
Feb 24 20:33:29 tornado kernel: [] do_softirq+0x2f/0x64
Feb 24 20:33:29 tornado kernel: [] irq_exit+0x38/0x77
Feb 24 20:33:29 tornado kernel: [] smp_apic_timer_interrupt+0x40/0x4d
Feb 24 20:33:29 tornado kernel: [] apic_timer_interrupt+0x67/0x70
Feb 24 20:33:29 tornado kernel:  
Feb 24 20:33:29 tornado kernel: [] ? _raw_spin_unlock_irqrestore+0x9/0xb
Feb 24 20:33:29 tornado kernel: [] put_io_context_active+0x75/0xa7
Feb 24 20:33:29 tornado kernel: [] exit_io_context+0x38/0x3d
Feb 24 20:33:29 tornado kernel: [] do_exit+0x868/0x8dd
Feb 24 20:33:29 tornado kernel: [] do_group_exit+0x68/0x9b
Feb 24 20:33:29 tornado kernel: [] oops_end+0xa9/0xb2
Feb 24 20:33:29 tornado kernel: [] no_context+0x278/0x2a4
Feb 24 20:33:29 tornado kernel: [] ? sched_clock_cpu+0x43/0xcc
Feb 24 20:33:29 tornado kernel: [] __bad_area_nosemaphore+0x1be/0x1df
Feb 24 20:33:29 tornado kernel: [] ? check_preempt_wakeup+0x10c/0x187
Feb 24 20:33:29 tornado kernel: [] bad_area_nosemaphore+0xe/0x10
Feb 24 20:33:29 tornado kernel: [] __do_page_fault+0x376/0x3f8
Feb 24 20:33:29 tornado kernel: [] ? ep_poll_callback+0x10a/0x126
Feb 24 20:33:29 tornado kernel: [] ? __wake_up_common+0x49/0x80
Feb 24 20:33:29 tornado kernel: [] ? __wake_up_sync_key+0x49/0x52
Feb 24 20:33:29 tornado kernel: [] do_page_fault+0x9/0xb
Feb 24 20:33:29 tornado kernel: [] page_fault+0x22/0x30
Feb 24 20:33:29 tornado kernel: [] ? __wake_up_common+0x26/0x80
Feb 24 20:33:29 tornado kernel: [] __wake_up+0x34/0x48
Feb 24 20:33:29 tornado kernel: [] __blk_drain_queue+0xfd/0x128
Feb 24 20:33:29 tornado kernel: [] blk_cleanup_queue+0x7c/0xd3
Feb 24 20:33:29 tornado kernel: [] __scsi_remove_device+0x75/0xb1
Feb 24 20:33:29 tornado kernel: [] scsi_remove_device+0x21/0x2e
Feb 24 20:33:29 tornado kernel: [] scsi_remove_target+0x123/0x18a
Feb 24 20:33:29 tornado kernel: [] __iscsi_unbind_session+0xee/0x130
Feb 24 20:33:29 tornado kernel: [] process_one_work+0x1f4/0x36c
Feb 24 20:33:29 tornado kernel: [] worker_thread+0x1cd/0x2c4
Feb 24 20:33:29 tornado kernel: [] ? rescuer_thread+0x24d/0x24d
Feb 24 20:33:29 tornado kernel: [] kthread+0xb5/0xbd
Feb 24 20:33:29 tornado kernel: [] ? kthread_freezable_should_stop+0x43/0x43
Feb 24 20:33:29 tornado kernel: [] ret_from_fork+0x72/0xa0
Feb 24 20:33:29 tornado kernel: [] ? kthread_freezable_should_stop+0x43/0x43
Feb 24 20:33:29 tornado kernel: Code: 0f b6 d4 38 d0 74 06 f3 90 8a 07 eb f6 5d c3 55 48 89 e5 9c 58 fa ba 00 01 00 00 f0 66 0f c1 17 0f b6 ce 38 ca 74 06 f3 90 8a 17  f6 5d c3 55 48 89 e5 fa b8 00 01 00 00 f0 66 0f c1 07 0f b6 

эээ, censored, ааа как ты

эээ, censored, ааа как ты отключаеш ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Выключаю libvirtd, потом

Выключаю libvirtd, потом останавливаю iscsid. Так же пробовал через iscsiadm делать logout. Как только доходит до отключения раздела, который использовался для виртуальных машин, система либо зависает беспробудно, либо трейсы в логах и логаут не прекращается. И вот не могу понять чем мое монтирование раздела с ISCSI на хостовой машине так кардинально отличается от его использования для VM.

Я nак понял, у тебя все

Я так понял, у тебя все виртуальные img файлы на хостовом разделе, который есть iscsi?

Все разделы виртуальных машин

Все разделы виртуальных машин находятся в персональных lvm-разделах (на сервере), для каждого отдельно создаю таргет на сервере. Хостовая машина (десктопный гробик) подключается к таргетам. KVM же использует разделы как обычные блочные устройства из /dev/disk/by-path

P.S >отдельно создаю таргет

P.S
>отдельно создаю таргет на сервере
Практика понятная, но лучше луны

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Выключаю libvirtd, потом

Выключаю libvirtd, потом останавливаю iscsid.

T.e выдергиваем железки на горячую :-D .

Отключай диски так же, как отключаешь железные. Подсоедениены диски шнурком езернета или шнурком сата - в данном случае роли не играет

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): Выключаю

slepnoga написал(а):
Выключаю libvirtd, потом останавливаю iscsid.

T.e выдергиваем железки на горячую :-D .

Отключай диски так же, как отключаешь железные. Подсоедениены диски шнурком езернета или шнурком сата - в данном случае роли не играет

Посмеялся =). На выключение libvirtd у меня shutdown вместо managsave. А iscsid при остановке делает логаут:

stop() {
        stoptargets
        ebegin "Stopping ${SVCNAME}"
        start-stop-daemon --stop --quiet --exec ${BINARY} --pidfile ${PIDFILE}
        eend $?

        do_modules 'Removing iSCSI modules' 'iscsi_tcp scsi_transport_iscsi libiscsi' '-r'
        eend $?
}
...
stoptargets() {
        ebegin "Disconnecting iSCSI targets"
        sync
        /usr/sbin/iscsiadm -m node --logoutall=all
        ret=$?
        eend $ret
        return $ret
}

P.S. Сервер с таргетами работает замечательно. Проблема с клиентом, а именно он виснит при отключении диска от таргета, если диск был использовал для виртуальной машины. Если говорить по сути то это не кашерное решение дергать за провода. Что делать если я включаю ПК по WoL и выключаю по SSH?

Посмеялся =). Я тоже, до

Посмеялся =).

Я тоже, до определенного момента :)

/sys/class/scsi_device/h:c:t:l/device/delete - успехов.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga

slepnoga написал(а):
Посмеялся =).

Я тоже, до определенного момента :)

/sys/class/scsi_device/h:c:t:l/device/delete - успехов.

Да в том то и дело что на этом моменте система и виснет. Из того что успело попасть в логи:

Feb 26 09:42:35 tornado kernel: BUG: unable to handle kernel NULL pointer dereference at            (nil)
Feb 26 09:42:35 tornado kernel: IP: [] __wake_up_common+0x26/0x80
Feb 26 09:42:35 tornado kernel: PGD 0 
Feb 26 09:42:35 tornado kernel: Oops: 0000 [#1] SMP 

так собственно и начинается череда тех трейсов что я раньше постил.

Сижу и гуглю =(

Дай угадаю историю успеха

Дай угадаю историю успеха :)

Сервер, гента, самосборный кернел, работает, усложняем, гента, самосборный кернел,....
И тут, этак на 4-й итерации , все сломалось ;)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Почти:-) Сервер работает в

Почти:-)
Сервер работает в текущем стеке уже год. Итерация 100500.

P.S. Приготовился внимать мудрости от просветленного человека. Прошу если есть что сказать конкретнее не тяните. Телепатия очень сложная штука. Особенно в дуплекс режиме

Вооще в hardened ядро stable

Вообще в hardened ядро stable есть 3.2.55. Ну с учетом gentoo специфики это 3.2.53-r6. В такой безысходности я бы попробовал его :)

alexanderyt

alexanderyt написал(а):
Вообще в hardened ядро stable есть 3.2.55. Ну с учетом gentoo специфики это 3.2.53-r6. В такой безысходности я бы попробовал его :)

В интернете я натыкался уже на багрепорты с подобными проблемами. Судя по ним стало ясно что испортили ядро с 3.9.x. Установил 3.2.52-hardened-r3 и проблема в нем не наблюдалась. Я решил проверить последнее доступное ядро 3.13.1-hardened. Собрал его с моим конфигом. Проблема больше не наблюдается. Этот как минимум сейчас =).

Огромное спасибо всем кто потратил на мою проблему время!!! Буду надеяться что на этом все закончилось

alexanderyt

alexanderyt написал(а):
Вообще в hardened ядро stable есть 3.2.55. Ну с учетом gentoo специфики это 3.2.53-r6. В такой безысходности я бы попробовал его :)

да, для настоящего гентушника увличение циферок сравни увеличению мужского агрегата
П.С 6 машинок пашут на 3.2.хх и не жалуются

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

CryptSpirit

CryptSpirit написал(а):
...Особенно в дуплекс режиме

наверное имелся ввиду симплекс (forum specific) все-таки... ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".