24 TB to 160 TB of hard drives per server · Amsterdam, Bucharest, Chisinau · no KYC. Pay in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Language: English
Choose a hold

Comparison · Filesystems and controllers

Should I use ZFS or hardware RAID on a rented storage server?

What OpenZFS says about RAID controllers and what ZFS and mdadm give you on plain drives. Then, how to check that your pool sees the real disks.

Last updated: · 7 min read

Quick answer

Should I use ZFS or hardware RAID on a rented storage server?

On a rented storage server, use ZFS on plain drives, not on hardware RAID. The OpenZFS documentation, read 2 November 2026, says hardware RAID controllers should not be used with ZFS: ZFS then cannot repair a bad block from another disk. Basalthold delivers blank data drives for ZFS or mdadm, from $3.50/TB raw, crypto only, no KYC.

What does a hold give you to build on?

DrivesThe operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over
Drive failureWhen a drive fails, open a ticket: the team has it replaced at no cost, and rebuilding the array on the new drive is up to your setup
SystemsPick Debian, Ubuntu, AlmaLinux or Rocky Linux, Proxmox VE, or Proxmox Backup Server for a ready backup target. Windows is not offered
ConsoleThere is no IPMI or KVM-over-IP access for customers; reboots and reinstalls you request in the dashboard are carried out by the team
EncryptionYou can encrypt every data drive with LUKS or ZFS native encryption; the keys stay with you and nobody on the team ever asks for them
BackupsA storage server is not a backup of itself: we keep no copy of your data anywhere else, so a second copy in another place stays your job

Why does OpenZFS advise against hardware RAID?

Because a RAID card hides the disks from ZFS. ZFS then sees one virtual disk and cannot use its own redundancy. The OpenZFS hardware guide lists the problems:

  • Weaker self-healing. When a checksum fails, ZFS often cannot fetch a good copy from another disk, since the card owns the redundancy.
  • Wrong sector sizes. The card can misreport them, which causes read-modify-write overhead.
  • Locked-in replacements. A failed card may need the same model to read the array again.
  • Write cache risk. Cached writes can vanish on a power loss or a dead battery.
  • Unknown rebuild behavior. The guide cites reports of RAID 5 and 6 arrays lost during rebuilds after silent corruption.
  • Closed firmware and shifting device names. You cannot inspect the code, and one failed array can rename the others.

Its advice is to use a host bus adapter (HBA) instead of a RAID controller, for performance and reliability.

ZFS can only heal what it can see: give it the drives, not a virtual disk.

What does ZFS do that a RAID card cannot?

ZFS checks every block it reads against a checksum. When a block is wrong and the pool has redundancy, ZFS reads a good copy and repairs the bad one. A scrub does this for all data, to catch silent errors from hardware faults or disk failure.

The filesystem and the array are one layer, so ZFS knows which blocks hold data. A resilver only examines out-of-date data, not empty space. That shortens rebuilds on a pool that is not full; the hours are worked out on the RAID rebuild time page.

It also brings snapshots, compression and native encryption per dataset. RAIDZ2 has no RAID 5/6 write hole, where data and parity disagree after a power loss.

When is hardware RAID or mdadm the better choice?

When you want a plain filesystem such as ext4 or XFS. Then something below it must provide the redundancy: a RAID card or Linux mdadm.

mdadm needs no card. Its arrays move to any Linux machine, and LUKS encryption sits cleanly under it. Its limit is the one ZFS removes: md does not know which blocks hold data, so it rebuilds whole drives.

If a server only comes with a RAID card, set the card to pass drives through before you build ZFS. That keeps ZFS in charge of the disks.

Of 23 storage-server sellers Basalthold checked on 2 November 2026, 4 stated a hardware RAID controller or option on a storage plan. Basalthold promises none: the data drives come blank, for your own software array.

ZFS or mdadm on a hold?

QuestionZFS (RAIDZ2 or mirrors)mdadm (RAID 6 or RAID 10) + ext4 or XFS
Detects silent corruptionYes, checksums on every blockFinds parity mismatches, but cannot tell which copy is right
Rebuild coversStored data onlyThe whole drive
Snapshots and replicationBuilt inThrough LVM or the backup tool
EncryptionNative, per dataset, or LUKS under itLUKS under the array
Memory useUses RAM as cache; see the RAM pageLight
Where it comes fromDebian contrib, Ubuntu, Proxmox VE and Proxmox Backup ServerIn the Linux kernel on every system

Package versions read on 2 November 2026: zfsutils-linux 2.3.9 in Debian 13, 2.2.2 in Ubuntu 24.04. Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10, Proxmox VE 9 and Proxmox Backup Server 4.

Which one fits a backup server?

ZFS, in most cases. Backups are written once and read rarely, so silent corruption can sit unseen for months. Checksums and scrubs find it while a good copy still exists.

Proxmox VE and Proxmox Backup Server include ZFS, so the same pool serves the datastore; see Proxmox Backup Server offsite. ZFS wants memory for its cache; the sizing for 100 TB is on ZFS RAM requirements. The layout choice is on RAID 6 or RAID 10.

How do I check that ZFS sees the raw drives?

List the drives before you build anything. Each data drive should appear on its own, with its real model and serial number. Then create the pool from the stable names in /dev/disk/by-id, so a renamed device cannot confuse it.

Both data sheets read for this page describe 4,096-byte physical sectors. Seagate's Exos X20 ships in 512e format, and Western Digital calls the HC560 an Advanced Format drive. Set ashift=12 to match.

Check the drives, then build a RAIDZ2 pool
# every data drive on its own line, with model and serial
lsblk -d -o NAME,SIZE,ROTA,MODEL,SERIAL
smartctl -i /dev/sdb
ls -l /dev/disk/by-id/ | grep -v part

# RAIDZ2 over the data drives, by stable ID, 4K sectors
zpool create -o ashift=12 tank raidz2 \
  /dev/disk/by-id/ata-MODEL_SERIAL01 /dev/disk/by-id/ata-MODEL_SERIAL02 \
  /dev/disk/by-id/ata-MODEL_SERIAL03 /dev/disk/by-id/ata-MODEL_SERIAL04
zpool status tank

# scrub once a month to find silent errors
zpool scrub tank

What else do people ask about ZFS and hardware RAID?

Do Basalthold servers have a hardware RAID controller?

Basalthold does not promise one. The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over.

Can I use ZFS on Debian or Ubuntu?

Yes. Debian 13 ships zfsutils-linux 2.3.9 in contrib and Ubuntu 24.04 ships 2.2.2. Proxmox VE and Proxmox Backup Server include ZFS. Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10, Proxmox VE 9 and Proxmox Backup Server 4.

Is ZFS safe without ECC memory?

The OpenZFS FAQ calls ECC memory not really a requirement but highly recommended. Hold 100 and Hold 160 come with 128 GB DDR4 ECC and 128 GB DDR4 ECC.

What happens when a drive in my ZFS pool fails?

When a drive fails, open a ticket: the team has it replaced at no cost, and rebuilding the array on the new drive is up to your setup. Run zpool replace with the new drive's by-id name, then watch zpool status until the resilver ends.

Can I rent a storage server with crypto and no KYC?

Yes. Basalthold takes BTC, USDT, USDC, ETH, SOL, LTC, from a top-up of $25. No KYC: no ID, no selfie, no documents, no card and no phone number, at any point. Every hold and term is on the price list.

Blank drives, your own pool

Hold 100: Intel Xeon Silver 4210R (10 cores / 20 threads), 128 GB DDR4 ECC, 10 × 10 TB hard drives (100 TB raw) plus 2 × 480 GB SSD for the system, mirrored, 1 Gbit/s port with 120 TB of traffic per 30 days, 1 IPv4 and an IPv6 /64, for $377.05/30 days. Crypto, no KYC.

Sources (9)
  1. Hardware: Hardware RAID controllers — OpenZFS (read 2026-11-02)
  2. FAQ: Hardware Requirements — OpenZFS (read 2026-11-02)
  3. zpoolconcepts(7): raidz and the write hole — OpenZFS (read 2026-11-02)
  4. zpool-scrub(8) — OpenZFS (read 2026-11-02)
  5. md(4): multiple device driver — Linux man-pages (read 2026-11-02)
  6. Package zfsutils-linux in Debian trixie — Debian (read 2026-11-02)
  7. Package zfsutils-linux in Ubuntu noble — Ubuntu (read 2026-11-02)
  8. Exos X20 data sheet (DS2080-2111US) — Seagate Technology (November 2021, read 2026-11-02)
  9. Ultrastar DC HC560 data sheet (D018-000383-AA02) — Western Digital (July 2022, read 2026-11-02)

24 TB from $110.99/30 days · no KYC

Choose a hold