Skip to content

Fit the two SSDs in Saruman, and re-derive what the spindles decided #418

Description

@Gerrrt

Two SSDs for Saruman were bought on 2026-09-09. This is the tracker for
fitting them, because a drive in a box on the shelf changes nothing that the
documents say, and every sizing decision on this host starts from the disks
it does not yet have.

What was bought

Two Samsung SM863a 960 GB, part MZ-7KM960N — 2.5" SATA 6 Gb/s enterprise
SSDs with power-loss protection, rated for roughly three full drive writes a
day over their warranty term. Listed at
https://www.ebay.com/itm/800210578217. SATA on a SAS backplane is fine for
the DL360 Gen9's SFF bays and the Smart Array knows what to do with them; the
power-loss protection matters for the write-cache question below, because
the drives' own caches are safe to leave on.

Why they were bought

ADR-0007: "The constraint on Saruman is storage, not compute: 128 GB and 48
threads against a single mirrored pair of 7.2K disks. The fleet is sized
against spindles, not RAM."
ADR-0029 turned that into a number — ~80–100
random write IOPS for the whole machine
— and sized the lab domain to it:
four servers continuous, two endpoints per session, because six idle Windows
guests would be most of the budget. #266 sizes the Wazuh indexer from the
same spindles. The SSDs are bought to raise that ceiling.

To decide at the fit, not before

  • Replace the mirror, or sit beside it. The array today is 2× 1 TB SAS
    HDD, RAID 1, holding Proxmox and every guest. Either the SSDs become the
    array and the HDDs leave, or they become a second logical drive for guest
    disks and the HDDs keep the OS, ISOs and backups. The second is the smaller
    change and keeps a spindle for the things that do not need IOPS.
  • Whether the controller manages them. The drive rules —
    IloDrivePredictiveFailure, IloDriveSmartUnreadable, and the
    replaceDriveSSDWearOut(4) state they already know about — read the Smart
    Array's view through cpqida.mib. A layout the controller does not manage
    (HBA mode, ZFS on raw disks) falls out of every one of them, and SMART is watched on Saruman's array only — oracle, prometheus and morpheus have none #351's
    SMART path would have to be re-checked against it. Decide with that cost
    named.
  • The write cache. IloBatteryCondition has been firing on shiva with no silence and no owner #76 is still open: the Smart Storage Battery fitted on
    2026-09-02 re-enabled the cache, and cpqDaAccelWriteCachePercent still
    reads 0. Whatever logical drive the SSDs form, decide whether the cache
    applies to it, and whether the ratio question is answered or made moot.
  • Guests down or not. The SFF bays are hot-plug, so fitting needs no
    window. Migrating guest disks does. schedule-maintenance.md is the
    shape, and ADR-0028's guest-liveness alerts page for real — silence first.

Documents that go stale the day they are fitted

Not decided here

Whether the range in ADR-0017 still needs NVMe for its own reasons. It does —
the argument there was a separate fault domain, not only IOPS — so this
purchase does not reopen it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestseq/1Step 1 within its milestone; same number = can run in parallel

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions