首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Fedora 37引导下从NAS慢速装入iscsi目标

在Fedora 37引导下从NAS慢速装入iscsi目标
EN

Unix & Linux用户
提问于 2022-12-28 02:27:21
回答 2查看 212关注 0票数 1

我在Asustor上有一个iscsi目标,但是在将它添加到fstab之后,F37的启动速度慢了2分钟,因为iscsi.service在引导过程中被重新加载了两次,我不知道为什么。

代码语言:javascript
复制
$ 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)

最慢的服务是

代码语言:javascript
复制
$ 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的默认版本,我没有更改任何内容

代码语言:javascript
复制
[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日志

代码语言:javascript
复制
$ 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.

从上面的日志可以看出

代码语言:javascript
复制
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分钟。

代码语言:javascript
复制
$ 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

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2023-01-06 00:18:32

我突然意识到,这是因为它试图登录到我在NAS上的第二个目标,不知道它是如何创建的,我在那里只有一个lun。

之后

代码语言:javascript
复制
sudo iscsiadm --m node -T iqn.2011-08.com.asustor:as5304t-8d33b5.target001 -p 172.17.0.1:3260 -o delete

重新启动,现在一切都很棒,没有延迟

票数 0
EN

Unix & Linux用户

发布于 2023-01-05 05:00:55

最后我发现了一个肮脏的黑客

  1. 在/etc/fstab中使用这个
代码语言:javascript
复制
UUID=a8ba2edc-5c7c-41b3-bc78-6b8229dedb7d /home/oglop/iscsi ext4 defaults,_netdev,noauto,x-systemd.automount 0 0
  1. 改进型iscsi.service Type=oneshotforking
代码语言:javascript
复制
sudo systemctl edit --full iscsi

这是最令人困惑的部分,根据systemd.service文档,oneshot正是我们这里需要的类型,但是forking消除了延迟,并且在引导后仍然显示了正确的服务状态。

我的完整iscsi.service

代码语言:javascript
复制
[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年代延迟。

我将--debug=8添加到iscsi.service中,下面是使用Type=oneshot时的完整日志

https://pastebin.com/4XbvcjYj

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/729797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档