Asustor NAS에 iscsi 대상이 있지만 fstab에 추가한 후 부팅 프로세스 중에 iscsi.service가 두 번 다시 로드되기 때문에 F37이 2분 느리게 부팅되는데 이유를 모르겠습니다.
$ sudo iscsiadm -m discovery -t st -p 192.168.0.90
192.168.0.90:3260,1 iqn.2011-08.com.asustor:as5304t-8d33b5.target001
172.17.0.1:3260,1 iqn.2011-08.com.asustor:as5304t-8d33b5.target001
$ sudo blkid
/dev/sdc1: UUID="a8ba2edc-5c7c-41b3-bc78-6b8229dedb7d" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="19732655-96b8-439c-9ff1-07928f2486ef"
$ sudo iscsiadm -m session -o show
tcp: [1] 192.168.0.90:3260,1 iqn.2011-08.com.asustor:as5304t-8d33b5.target001 (non-flash)
가장 느린 서비스는
$ systemd-analyze blame
2min 1.740s iscsi.service
# the slowest line is
$ echo "$(< /var/log/boot.log)"
[ OK ] Finished iscsi.service - Login and scanning of iSCSI devices.
$ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
graphical.target @2min 35.648s
└─multi-user.target @2min 35.648s
└─plymouth-quit-wait.service @2min 14.928s +20.711s
└─systemd-user-sessions.service @2min 14.891s +15ms
└─remote-fs.target @2min 14.877s
└─home-oglop-iscsi.mount @2min 14.846s +30ms
└─remote-fs-pre.target @2min 14.828s
└─iscsi.service @13.085s +2min 1.740s
└─iscsid.service @13.201s +105ms
└─network-online.target @13.073s
└─NetworkManager-wait-online.service @4.821s +8.250s
└─NetworkManager.service @4.738s +63ms
└─network-pre.target @4.720s
└─firewalld.service @3.911s +807ms
└─polkit.service @3.494s +388ms
└─basic.target @3.296s
└─dbus-broker.service @3.200s +91ms
└─dbus.socket @3.165s
└─sysinit.target @3.100s
└─systemd-resolved.service @2.581s +517ms
└─systemd-tmpfiles-setup.service @2.326s +205ms
└─local-fs.target @2.313s
└─run-user-1000-doc.mount @2min 26.179s
└─run-user-1000.mount @2min 15.287s
└─local-fs-pre.target @1.792s
└─lvm2-monitor.service @1.012s +773ms
└─dm-event.socket @980ms
└─system.slice
└─-.slice
/etc/systemd/system/remote-fs.target.wants/iscsi.service는 F37의 기본값입니다. 아무것도 변경하지 않았습니다.
[Unit]
Description=Login and scanning of iSCSI devices
Documentation=man:iscsiadm(8) man:iscsid(8)
DefaultDependencies=no
Before=remote-fs-pre.target
After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
Wants=remote-fs-pre.target
ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
SuccessExitStatus=21
[Install]
WantedBy=remote-fs.target
iscsi.service 로그
$ sudo journalctl -u iscsi -b
Dec 27 00:33:48 t450s systemd[1]: Starting iscsi.service - Login and scanning of iSCSI devices...
Dec 27 00:35:51 t450s iscsiadm[1325]: iscsiadm: Could not login to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target0>
Dec 27 00:35:51 t450s iscsiadm[1325]: iscsiadm: initiator reported error (8 - connection timed out)
Dec 27 00:35:51 t450s iscsiadm[1325]: iscsiadm: Could not log into all portals
Dec 27 00:35:51 t450s iscsiadm[1325]: Logging in to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target001, portal: 192>
Dec 27 00:35:51 t450s iscsiadm[1325]: Logging in to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target001, portal: 172>
Dec 27 00:35:51 t450s iscsiadm[1325]: Login to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target001, portal: 192.168.>
Dec 27 00:35:51 t450s systemd[1]: Finished iscsi.service - Login and scanning of iSCSI devices.
Dec 27 00:35:51 t450s systemd[1]: Reloading iscsi.service - Login and scanning of iSCSI devices...
Dec 27 00:37:54 t450s iscsiadm[1529]: iscsiadm: Could not login to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target0>
Dec 27 00:37:54 t450s iscsiadm[1529]: iscsiadm: initiator reported error (8 - connection timed out)
Dec 27 00:37:54 t450s iscsiadm[1529]: iscsiadm: Could not log into all portals
Dec 27 00:37:54 t450s iscsiadm[1529]: Logging in to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target001, portal: 172>
Dec 27 00:37:54 t450s systemd[1]: Reloaded iscsi.service - Login and scanning of iSCSI devices.
위의 로그를 보면 알 수 있죠
Dec 27 00:35:51 t450s systemd[1]: Finished iscsi.service - Login and scanning of iSCSI devices.
Dec 27 00:35:51 t450s systemd[1]: Reloading iscsi.service - Login and scanning of iSCSI devices...
서비스 로드가 완료되고 서비스 다시 로드가 시작된 다음 로드를 완료하는 데 2분이 걸렸습니다. 왜 다시 로드하려는지 잘 모르겠습니다.
부팅 후 마운트가 제대로 작동하지만 부팅 시간이 느리다는 것뿐입니다. fstab 줄을 주석 처리하면 부팅이 다시 빨라지지만 부팅 시 자동으로 마운트되기를 원합니다.
서비스를 수동으로 다시 시작해도 2분 정도 걸립니다.
$ sudo systemctl restart iscsi.service
$ sudo journalctl -u iscsi
Dec 27 12:23:07 t450s systemd[1]: iscsi.service: Deactivated successfully.
Dec 27 12:23:07 t450s systemd[1]: Stopped iscsi.service - Login and scanning of iSCSI devices.
Dec 27 12:23:07 t450s systemd[1]: Stopping iscsi.service - Login and scanning of iSCSI devices...
Dec 27 12:23:07 t450s systemd[1]: Starting iscsi.service - Login and scanning of iSCSI devices...
Dec 27 12:25:09 t450s iscsiadm[6021]: iscsiadm: Could not login to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target>
Dec 27 12:25:09 t450s iscsiadm[6021]: iscsiadm: initiator reported error (8 - connection timed out)
Dec 27 12:25:09 t450s iscsiadm[6021]: iscsiadm: Could not log into all portals
Dec 27 12:25:09 t450s iscsiadm[6021]: Logging in to [iface: default, target: iqn.2011-08.com.asustor:as5304t-8d33b5.target001, portal: 17>
Dec 27 12:25:09 t450s systemd[1]: Finished iscsi.service - Login and scanning of iSCSI devices.
여기에 답이 있을 수는 있지만 숨겨진 해결책은 보이지 않습니다.https://access.redhat.com/solutions/3649231
답변1
드디어 더러운 해커를 발견했어요
- /etc/fstab에서 사용하세요.
UUID=a8ba2edc-5c7c-41b3-bc78-6b8229dedb7d /home/oglop/iscsi ext4 defaults,_netdev,noauto,x-systemd.automount 0 0
- iscsi.service를
Type=
다음에서oneshot
수정하세요 .forking
sudo systemctl edit --full iscsi
보도에 따르면 이 부분이 가장 혼란스러운 부분이라고 합니다시스템 서비스doc, oneshot
정확히 여기에 필요한 유형이지만 포크를 사용하면 지연이 제거되고 시작 후에도 여전히 올바른 서비스 상태가 표시됩니다.
내 완전한 iSCSI.service
[Unit]
Description=Login and scanning of iSCSI devices
Documentation=man:iscsiadm(8) man:iscsid(8)
DefaultDependencies=no
Before=remote-fs-pre.target
After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
Wants=remote-fs-pre.target
ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
[Service]
#Type=oneshot
Type=forking
RemainAfterExit=true
ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
SuccessExitStatus=21
[Install]
WantedBy=remote-fs.target
업데이트: 해킹이 몇 시간 동안 작동한 후 기본 90초 지연이 발생하기 시작했습니다.
iscsi.service에 추가했는데 --debug=8
사용할 때의 전체 로그는 다음과 같습니다.Type=oneshot
답변2
갑자기 이것이 NAS의 두 번째 대상에 로그인하려고 했기 때문에 발생했다는 것을 깨달았습니다. 그것이 어떻게 생성되었는지는 몰랐고 그곳에는 하나의 LUN만 있었습니다.
뒤쪽에
sudo iscsiadm --m node -T iqn.2011-08.com.asustor:as5304t-8d33b5.target001 -p 172.17.0.1:3260 -o delete
그런 다음 다시 시작하면 이제 모든 것이 훌륭하고 지연이 발생하지 않습니다.