[OmniOS-discuss] Host is not being rebooted if it uses ZFS over iSCSI

Дмитрий Глушенок glush at jet.msk.su
Wed Nov 30 14:15:14 UTC 2016


Hi!

Does anybody uses ZFS over iSCSI?

There is problem with reboots as iscsi-initiator service does not taking care of ZFS while shutting down. It leads to zpool goes into UNAVAIL state and then first sync() issued gets blocked with following stack:

stack pointer for thread ffffff03d8d968c0: ffffff00101cfd50
[ ffffff00101cfd50 _resume_from_idle+0x112() ]
  ffffff00101cfd80 swtch+0x141()
  ffffff00101cfdc0 cv_wait+0x70(ffffff03df9f9582, ffffff03df9f9540)
  ffffff00101cfe10 txg_wait_synced+0x83(ffffff03df9f93c0, 0)
  ffffff00101cfe30 spa_sync_allpools+0x81()
  ffffff00101cfe70 zfs_sync+0xc5(0, 0, ffffff03d5457cf8)
  ffffff00101cfeb0 vfs_sync+0x9c(0)
  ffffff00101cfec0 syssync+0xb()
  ffffff00101cff10 sys_syscall32+0xff()

All subsequent sync() calls are returning immediately. The problem is first sync() is being made by svc.startd just before killing all remaining processes and calling uadmin() (http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/svc/startd/graph.c#3615). So, uadmin() gets never called and system not being rebooted.

I have not came up with any acceptable modifications of /lib/svc/method/iscsi-initiator to workaround the problem. Any suggestions? 

--
Dmitry Glushenok
Jet Infosystems



More information about the OmniOS-discuss mailing list