Server Documentation: file.server.england

System Overview

  • Hostname: file.server.england
  • IP Address: 192.168.0.139
  • Primary Role: Centralized Storage (NAS), Block Storage (iSCSI), and Web-based File Management.

Storage Architecture

The server manages a hybrid storage array totaling approximately 6.5 TB of raw capacity.

  • High-Performance Tier: 2.5 TB SSD storage, managed via ZFS for data integrity and snapshot capabilities.
  • Mass Storage Tier: 4 TB External HDD storage.
  • Pool Management: Utilizes ZFS (zfs-zed.service) for the primary "storage" pool.
  • Protocols:
    • Samba (SMB/CIFS): Managed by smbd and nmbd for cross-platform file sharing.
    • iSCSI: Managed by tgt.service on Port 3260 for block-level storage presentation.
    • Web/HTTPS: Caddy acts as a reverse proxy/web server, with File Browser providing a GUI (Ports 80, 8080, 8081).

Automation and Backup Logic

This server employs a specialized backup suite in /usr/local/bin to manage data redundancy while navigating the system's aggressive power-saving (suspend) schedule.

Systemd Timers & Services

The backup lifecycle is orchestrated by systemd rather than standard cron, allowing for better logging and dependency management.

TimerServiceScheduleFunction
fileserver-backup.timerfileserver-backup.service23:00 DailyTriggers the primary file server backup logic.
dpkg-db-backup.timerdpkg-db-backup.service00:00 DailyBacks up the dpkg database for system recovery.

Backup Script Orchestration

  • backup_runner: The primary engine. It calculates the day of the year to maintain a 3-day interval. It creates a ZFS snapshot, disables system suspension, and pipes a compressed stream (zstd -19) to a mounted Samba share at /mnt/backup_data.
  • backup_watchdog: Monitors long-running zfs send processes. If a backup exceeds 30 minutes, it automatically extends the disablesuspend lock to prevent data corruption.
  • backup_wrapper: Uses systemd-inhibit to provide a kernel-level lock against sleep states while backup_fileserver (the legacy tar-based backup) is active.
  • compareDir: A custom utility for verifying file integrity, metadata, and SHA-256 hashes between source and destination directories.

Maintenance Schedule (Cron)

  • Nightly Suspend: (00:01) nightly_suspend.sh.
  • Morning Maintenance: (05:08) morning_maintenance.sh. Includes network connectivity checks and automated package audits via daily_apt_check.sh.

Network Configuration and Listening Ports

  • Port 445 / 139 (TCP): Samba / NetBIOS File Sharing.
  • Port 3260 (TCP): iSCSI Target Daemon (tgt).
  • Port 80 (TCP): HTTP (Caddy).
  • Port 8080 / 8081 (TCP): File Browser Web Interface.
  • Port 22 (TCP): SSH Administrative Access.

Critical Configuration Paths

The following paths are tracked for structural reference. Actual data is excluded via .gitignore.

  • ZFS Pool Configuration: Managed via zpool and zfs utilities.
  • Samba Configuration: /etc/samba/smb.conf
  • systemd Units: /etc/systemd/system/fileserver-backup.*
  • Caddyfile: Configuration for web routing and reverse proxying.

Live Status

Status
CPU --
CPU Temp --
RAM -- (--)
Uptime --
Last Seen --

Raw Hardware Specifications

System:
  Kernel: redacted arch
  x86_64 bits: 64
  compiler:
  gcc v: 13.3.0
  Console: pty pts/1
    Distro: Ubuntu 24.04.4 LTS (Noble Numbat)
Machine:
  Type: Laptop System: Hewlett-Packard product: HP ENVY dv7 Notebook PC v: 0883120014305910000620120
  serial: redacted
  Mobo: Hewlett-Packard model: 1833 v: 55.24
  serial: redacted
  UEFI: Insyde v: redacted
    date: redacted
Battery:
  ID-1: BAT0 charge: N/A condition: N/A volts: 11.1 min: N/A
    model: Hewlett-Packard Primary status: not charging
CPU:
  Info: quad core model: AMD A10-4600M APU with Radeon HD Graphics bits: 64 type: MT MCP arch: Piledriver rev: 1
  cache:
    L1: 192 KiB
    L2: 4 MiB
  Speed (MHz): avg: 1400 min/max: 1400/2300 boost: enabled cores: 1: 1400 2: 1400 3: 1400 4: 1400 bogomips: 18366
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
  Device-1: AMD Trinity [Radeon HD 7660G] vendor: Hewlett-Packard driver: radeon v: kernel arch: TeraScale-3 bus-ID: 00:01.0
  Device-2: Realtek HP Truevision HD driver: uvcvideo type: USB bus-ID: 2-4:4
  Display: server: No display server data found. Headless machine? tty: 235x60
  API: EGL v: 1.5 drivers: r600,swrast platforms: active: gbm,surfaceless,device inactive: wayland,x11
  API: OpenGL v: 4.5 vendor: mesa v: 25.2.8-0ubuntu0.24.04.1 note: console (EGL sourced)
    renderer: AMD ARUBA (DRM 2.50.0 / 6.8.0-110-generic LLVM 20.1.2), llvmpipe (LLVM 20.1.2 256 bits)
Audio:
  Device-1: AMD Trinity HDMI Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus-ID: 00:01.1
  Device-2: AMD FCH Azalia vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus-ID: 00:14.2
  API: ALSA v: k6.8.0-110-generic status: kernel-api
Network:
  Device-1: Qualcomm Atheros AR9485 Wireless Network Adapter vendor: Hewlett-Packard AR9485/HB125 802.11bgn 1x1 Wi-Fi driver: ath9k v: kernel bus-ID: 02:00.0
  IF: wlo1 state: down
  mac: redacted
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet vendor: Hewlett-Packard RTL8111/8168/8411 driver: r8169 v: kernel port: 2000 bus-ID: 04:00.0
  IF: eno1 state: up speed: 1000 Mbps duplex: full
  mac: redacted
RAID:
  Device-1: storage type: zfs status: ONLINE level: linear
  raw:
    size: 2.63 TiB
    free: 2.21 TiB
  zfs-fs:
    size: 2.55 TiB
    free: 2.13 TiB
  Components: Online: 1: sda 2: sdb4 3: sdc1
Drives:
  Local Storage:
  total:
  raw: 6.39 TiB
  usable: 6.3 TiB
  lvm-free: 10 GiB
  used: 394.16 GiB (6.1%)
  ID-1: /dev/sda model: 1InsigniaNS-PACS2B25\x28-C\x29
    size: 953.87 GiB type: USB
  ID-2: /dev/sdb vendor: Samsung model: ST1000LM024 HN-M101MBB
    size: 931.51 GiB
  ID-3: /dev/sdc vendor: Western Digital model: WD10SPZX-60Z10T1
    size: 931.51 GiB
  ID-4: /dev/sdd vendor: Western Digital model: WD40NDZW-11BCSS0
    size: 3.64 TiB type: USB
Partition:
  ID-1: /
  size: 97.87 GiB
  used: 11.23 GiB (11.5%)
  fs: ext4
  dev: /dev/dm-0
    mapped: ubuntu--vg-ubuntu--lv
  ID-2: /boot
  size: 1.9 GiB
  used: 200.5 MiB (10.3%)
  fs: ext4
  dev: /dev/sdb2
  ID-3: /boot/efi
  size: 1.05 GiB
  used: 6.1 MiB (0.6%)
  fs: vfat
  dev: /dev/sdb1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 51.4 C mobo: N/A gpu: radeon temp: 49.0 C
  Fan Speeds (rpm): N/A
Info:
  Memory:
  total: 8 GiB
  note: est. available: 7.23 GiB
  used: 2.23 GiB (30.9%)
  Processes: 235
  Uptime: 13d 5h 34m
  Init: systemd target: graphical (5)
  Packages: 957
  Compilers: gcc: 13.3.0
  Shell: Sudo v: redacted