Difference between revisions of "OS4X Portal - shared storage"
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | Storage for portal jobs | + | Storage for portal jobs is typically provided by the DMZ, making communication possible from the internal zone to the DMZ. The shared storage saves the following information: |
*Outgoing portal jobs (from internal to DMZ) | *Outgoing portal jobs (from internal to DMZ) | ||
**outgoing job data | **outgoing job data | ||
| Line 15: | Line 15: | ||
= NFS example = | = NFS example = | ||
| + | == DMZ - NSF server == | ||
| + | The DMZ server acts as NFS server, so the NFS server functionality must be available there. For OS4Xvirtual, the following package must be installed: | ||
| + | apt update && apt install nfs-server | ||
| + | |||
On OS4X portal server side (DMZ), export a directory. Configuration file: | On OS4X portal server side (DMZ), export a directory. Configuration file: | ||
/etc/exports | /etc/exports | ||
| Line 21: | Line 25: | ||
Activate export on DMZ side: | Activate export on DMZ side: | ||
exportfs -a | exportfs -a | ||
| + | |||
| + | == internal zone - NFS client == | ||
| + | The internal zone server acts as NFS client, so the NFS client functionality must be available there. For OS4Xvirtual, the following package must be installed: | ||
| + | apt update && apt install nfs-client | ||
| + | |||
| + | The NFS mount can be done in various ways, two of them are: | ||
| + | === /etc/fstab === | ||
| + | Add a line to the file "<code>/etc/fstab</code>": | ||
| + | 192.168.40.64:/opt/os4x/portal /opt/os4x/portal nfs rw,sync,hard,intr 0 0 | ||
| + | |||
| + | === systemd === | ||
| + | ''Beware: your network config must also rely on systemd to work properly with automatic mounts at system boot. See https://wiki.debian.org/SystemdNetworkd. | ||
| + | '' | ||
| + | |||
| + | Create a new systemd target file including the correct target directory name. In this example it is mounted in "<code>/opt/os4x/portal</code>", so the corresponding systemd name is "<code>opt-os4x-portal.mount</code>": | ||
| + | /etc/systemd/system/opt-os4x-portal.mount | ||
| + | The content is: | ||
| + | <pre> | ||
| + | [Unit] | ||
| + | Description=OS4X Portal share | ||
| + | After=network.target | ||
| + | |||
| + | [Mount] | ||
| + | What=192.168.40.64:/opt/os4x/portal | ||
| + | Where=/opt/os4x/portal | ||
| + | Type=nfs | ||
| + | Options=_netdev,auto | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </pre> | ||
| + | Reload systemd to make the change effect: | ||
| + | systemctl daemon-reload | ||
| + | Enable the mount at boot-up: | ||
| + | systemctl enable opt-os4x-portal.mount | ||
= Configure shared storage (DMZ) = | = Configure shared storage (DMZ) = | ||
Latest revision as of 10:21, 6 February 2025
Storage for portal jobs is typically provided by the DMZ, making communication possible from the internal zone to the DMZ. The shared storage saves the following information:
- Outgoing portal jobs (from internal to DMZ)
- outgoing job data
- Incoming portal jobs
- incoming job data
- incoming job XML information
The storage can be located anywhere in the DMZ, offering a wide range of protocols usable to be implemented, such as:
- NFS (most common, see example below)
- CIFS
- SSHFS
- others
The storage must be read/writable by the user running the daemons.
NFS example
DMZ - NSF server
The DMZ server acts as NFS server, so the NFS server functionality must be available there. For OS4Xvirtual, the following package must be installed:
apt update && apt install nfs-server
On OS4X portal server side (DMZ), export a directory. Configuration file:
/etc/exports
Content (example):
/nfs 192.168.2.1(rw,sync,no_root_squash,no_subtree_check)
Activate export on DMZ side:
exportfs -a
internal zone - NFS client
The internal zone server acts as NFS client, so the NFS client functionality must be available there. For OS4Xvirtual, the following package must be installed:
apt update && apt install nfs-client
The NFS mount can be done in various ways, two of them are:
/etc/fstab
Add a line to the file "/etc/fstab":
192.168.40.64:/opt/os4x/portal /opt/os4x/portal nfs rw,sync,hard,intr 0 0
systemd
Beware: your network config must also rely on systemd to work properly with automatic mounts at system boot. See https://wiki.debian.org/SystemdNetworkd.
Create a new systemd target file including the correct target directory name. In this example it is mounted in "/opt/os4x/portal", so the corresponding systemd name is "opt-os4x-portal.mount":
/etc/systemd/system/opt-os4x-portal.mount
The content is:
[Unit] Description=OS4X Portal share After=network.target [Mount] What=192.168.40.64:/opt/os4x/portal Where=/opt/os4x/portal Type=nfs Options=_netdev,auto [Install] WantedBy=multi-user.target
Reload systemd to make the change effect:
systemctl daemon-reload
Enable the mount at boot-up:
systemctl enable opt-os4x-portal.mount
The path of the shared folder has to be defined in "Configuration" -> "OS4X Enterprise" -> "Portals" -> "Base directory for portal":
The path of the shared directory has to be defined per attached portal server in the corresponding portal configuration in "Configuration" -> "OS4X Enterprise" -> "Portals" -> "Portal server", there in the editing/add window in the field "Base path":

