2025-02-16 15:14:46 -08:00
|
|
|
{ iscsi, sys, pkgs, ... }: {
|
2025-02-16 00:13:27 -08:00
|
|
|
services.openiscsi = {
|
|
|
|
enable = true;
|
2025-02-16 15:14:46 -08:00
|
|
|
name = sys.hostname;
|
2025-02-16 00:13:27 -08:00
|
|
|
discoverPortal = "${iscsi.portalIP}";
|
|
|
|
};
|
|
|
|
|
|
|
|
systemd.services = {
|
|
|
|
iscsi-autoconnect = {
|
|
|
|
description = "Log into iSCSI target ${iscsi.iqn}";
|
|
|
|
after = [ "network.target" "iscsid.service" ];
|
|
|
|
wants = [ "iscsid.service" ];
|
|
|
|
serviceConfig = {
|
|
|
|
ExecStartPre = "${pkgs.openiscsi}/bin/iscsiadm -m discovery -t sendtargets -p ${iscsi.portalIP}";
|
|
|
|
ExecStart = "${pkgs.openiscsi}/bin/iscsiadm -m node -T ${iscsi.iqn} -p ${iscsi.portalIP} --login";
|
|
|
|
ExecStop = "${pkgs.openiscsi}/bin/iscsiadm -m node -T ${iscsi.iqn} -p ${iscsi.portalIP} --logout";
|
|
|
|
Restart = "on-failure";
|
|
|
|
RemainAfterExit = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2025-02-16 15:14:46 -08:00
|
|
|
|
|
|
|
# fileSystems."${iscsi.mountPath}" = {
|
|
|
|
# device = "/dev/disk/by-path/ip-${iscsi.portalIP}-iscsi-${iscsi.iqn}-lun-0-part1";
|
|
|
|
# fsType = "${iscsi.fsType}";
|
|
|
|
# options = [
|
|
|
|
# "x-systemd.requires=iscsi.service"
|
|
|
|
# "_netdev"
|
|
|
|
# "users"
|
|
|
|
# ];
|
|
|
|
# };
|
2025-02-16 00:13:27 -08:00
|
|
|
}
|