{"id":112,"date":"2026-08-19T23:31:13","date_gmt":"2026-08-19T23:31:13","guid":{"rendered":"https:\/\/netguide.io\/tools\/zfs-capacity-calculator\/"},"modified":"2026-08-19T23:31:13","modified_gmt":"2026-08-19T23:31:13","slug":"zfs-capacity-calculator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/en\/zfs-capacity-calculator\/","title":{"rendered":"ZFS Capacity Calculator"},"content":{"rendered":"<div id=\"netgu-3483391332\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<style>\n.wp-zfs-container { max-width:100%; background:#fff; padding:20px; border:1px solid #ddd; border-radius:10px; font-family:-apple-system, sans-serif; color:#333; }\n.wp-zfs-title { margin:0 0 15px 0; color:#2271b1; font-size:1.4rem; }\n.wp-zfs-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; margin-bottom:10px; }\n.wp-zfs-input-group label { display:block; font-size:11px; font-weight:bold; margin-bottom:4px; text-transform:uppercase; color:#666; }\n.wp-zfs-input-group input, .wp-zfs-input-group select { width:100%; padding:8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }\n.wp-zfs-checkbox-group { margin:15px 0; font-size:12px; display:flex; align-items:center; gap:8px; color:#666; }\n.wp-zfs-note { font-size:12px; color:#666; margin-top:12px; min-height:1em; }\n.wp-zfs-warn { color:#d63638; font-weight:bold; }\n.wp-zfs-results { margin-top:20px; border-top:2px solid #eee; padding-top:15px; }\n.wp-zfs-res-item { display:flex; justify-content:space-between; margin-bottom:6px; font-size:14px; gap:10px; }\n.wp-zfs-total { font-weight:bold; font-size:18px; color:#2271b1; margin:10px 0; padding:5px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }\n.wp-zfs-safe-val { color:#2271b1; font-weight:bold; }\n<\/style>\n<div class=\"wp-zfs-container\">\n  <h3 class=\"wp-zfs-title\">ZFS Capacity Calculator<\/h3>\n  <div class=\"wp-zfs-grid\">\n    <div class=\"wp-zfs-input-group\">\n      <label>Base unit of the disks<\/label>\n      <select id=\"zfs-unit\" onchange=\"calcZfs()\">\n        <option value=\"1000\">Decimal (TB = 1000 GB)<\/option>\n        <option value=\"1024\">Binary (TiB = 1024 GiB)<\/option>\n      <\/select>\n    <\/div>\n    <div class=\"wp-zfs-input-group\">\n      <label>vdev type<\/label>\n      <select id=\"zfs-type\" onchange=\"calcZfs()\">\n        <option value=\"mirror2\">Mirror (2-way)<\/option>\n        <option value=\"mirror3\">Mirror (3-way)<\/option>\n        <option value=\"raidz1\" selected>RAIDZ1<\/option>\n        <option value=\"raidz2\">RAIDZ2<\/option>\n        <option value=\"raidz3\">RAIDZ3<\/option>\n        <option value=\"stripe\">Stripe (no redundancy)<\/option>\n      <\/select>\n    <\/div>\n  <\/div>\n  <div class=\"wp-zfs-grid\">\n    <div class=\"wp-zfs-input-group\"><label>Number of vdevs<\/label><input type=\"number\" id=\"zfs-vdevs\" value=\"1\" min=\"1\" oninput=\"calcZfs()\"><\/div>\n    <div class=\"wp-zfs-input-group\"><label>Disks per vdev<\/label><input type=\"number\" id=\"zfs-disks\" value=\"6\" min=\"1\" oninput=\"calcZfs()\"><\/div>\n    <div class=\"wp-zfs-input-group\"><label>Size per disk (TB\/TiB)<\/label><input type=\"number\" id=\"zfs-size\" value=\"12\" min=\"0.1\" step=\"0.1\" oninput=\"calcZfs()\"><\/div>\n  <\/div>\n  <div class=\"wp-zfs-checkbox-group\">\n    <input type=\"checkbox\" id=\"zfs-fill\" checked onchange=\"calcZfs()\">\n    <label for=\"zfs-fill\">Show recommended fill level (80%)<\/label>\n  <\/div>\n  <div id=\"zfs-msg\" class=\"wp-zfs-note\"><\/div>\n  <div class=\"wp-zfs-results\">\n    <div class=\"wp-zfs-res-item\"><span>Raw (marketing TB):<\/span><span id=\"zfs-raw-tb\">0 TB<\/span><\/div>\n    <div class=\"wp-zfs-res-item\"><span>Raw (ZFS TiB):<\/span><span id=\"zfs-raw-tib\">0 TiB<\/span><\/div>\n    <div class=\"wp-zfs-res-item wp-zfs-total\"><span>Usable (net):<\/span><span id=\"zfs-usable\">0 TiB<\/span><\/div>\n    <div class=\"wp-zfs-res-item\"><span>Recommended usable (80%):<\/span><span id=\"zfs-safe\" class=\"wp-zfs-safe-val\">0 TiB<\/span><\/div>\n    <div class=\"wp-zfs-res-item\"><span>Storage efficiency:<\/span><span id=\"zfs-eff\">0 %<\/span><\/div>\n    <div class=\"wp-zfs-res-item\"><span>Fault tolerance:<\/span><span id=\"zfs-ft\">0<\/span><\/div>\n  <\/div>\n<\/div>\n<script>window.wpZfsL = {\"min\":\"Note: this vdev type requires at least\",\"perVdev\":\"disks per vdev.\",\"none\":\"0 disks (no redundancy)\",\"upto\":\"up to\",\"ftTail\":\"disk(s) per vdev\"};<\/script>\n<script>\nfunction calcZfs(){\n  var unit = parseFloat(document.getElementById('zfs-unit').value);\n  var type = document.getElementById('zfs-type').value;\n  var vdevs = Math.max(1, parseInt(document.getElementById('zfs-vdevs').value)||0);\n  var disks = Math.max(1, parseInt(document.getElementById('zfs-disks').value)||0);\n  var size = parseFloat(document.getElementById('zfs-size').value)||0;\n  var showFill = document.getElementById('zfs-fill').checked;\n  var L = window.wpZfsL || {};\n\n  var ftPerVdev = 0, usablePerVdev = 0, minDisks = 1;\n  if(type==='stripe'){ ftPerVdev=0; usablePerVdev=disks*size; minDisks=1; }\n  else if(type==='mirror2'){ ftPerVdev=1; usablePerVdev=size; minDisks=2; }\n  else if(type==='mirror3'){ ftPerVdev=2; usablePerVdev=size; minDisks=3; }\n  else if(type==='raidz1'){ ftPerVdev=1; usablePerVdev=(disks-1)*size; minDisks=2; }\n  else if(type==='raidz2'){ ftPerVdev=2; usablePerVdev=(disks-2)*size; minDisks=3; }\n  else if(type==='raidz3'){ ftPerVdev=3; usablePerVdev=(disks-3)*size; minDisks=4; }\n  if(usablePerVdev < 0) usablePerVdev = 0;\n\n  var msg = document.getElementById('zfs-msg');\n  if(disks < minDisks){ msg.innerHTML = '<span class=\"wp-zfs-warn\">' + (L.min||'Hinweis: Dieser vdev-Typ benoetigt mindestens') + ' ' + minDisks + ' ' + (L.perVdev||'Disks pro vdev.') + '<\/span>'; }\n  else { msg.innerHTML = ''; }\n\n  var toTiB = (unit===1000) ? (Math.pow(1000,4)\/Math.pow(1024,4)) : 1;\n  var rawUnit = vdevs*disks*size;\n  var rawTiB = rawUnit * toTiB;\n  var usableTiB = vdevs*usablePerVdev * toTiB;\n  var eff = rawUnit>0 ? (vdevs*usablePerVdev)\/rawUnit*100 : 0;\n  var safeTiB = usableTiB*0.8;\n\n  document.getElementById('zfs-raw-tb').innerText = rawUnit.toFixed(1) + (unit===1000?' TB':' TiB');\n  document.getElementById('zfs-raw-tib').innerText = rawTiB.toFixed(1) + ' TiB';\n  document.getElementById('zfs-usable').innerText = usableTiB.toFixed(1) + ' TiB';\n  document.getElementById('zfs-safe').innerText = showFill ? (safeTiB.toFixed(1)+' TiB') : '\\u2014';\n  document.getElementById('zfs-eff').innerText = eff.toFixed(1) + ' %';\n  document.getElementById('zfs-ft').innerText = (type==='stripe') ? (L.none||'0 Disks (keine Redundanz)') : ((L.upto||'bis zu') + ' ' + ftPerVdev + ' ' + (L.ftTail||'Disk(s) pro vdev'));\n}\ncalcZfs();\n<\/script>\n\n\n<div id=\"netgu-2794171453\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- NetGuide.io-After-Widget-Tools -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-6258556257245998\"\r\n     data-ad-slot=\"5175852350\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">How the ZFS capacity calculator works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A ZFS pool consists of one or more <strong>vdevs<\/strong> (virtual devices). Usable capacity depends on how those vdevs are built. The calculator derives the realistic net capacity from the number of vdevs, their disks and the redundancy type \u2013 including the crucial conversion from marketing terabytes to the tebibytes ZFS actually uses.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>TB vs. TiB:<\/strong> Disks are sold in decimal terabytes (base 1000), while ZFS counts in binary tebibytes (base 1024). A &#8220;12 TB&#8221; drive only yields about <strong>10.9 TiB<\/strong>.<\/li>\n\n\n<li><strong>Mirror:<\/strong> Mirrors the data. A 2-way mirror uses 50% of the raw capacity and survives one disk failure; a 3-way mirror survives two.<\/li>\n\n\n<li><strong>RAIDZ1\/2\/3:<\/strong> Stripes data plus 1, 2 or 3 parity disks per vdev. Usable space is (disks \u2212 parity) \u00d7 disk size per vdev.<\/li>\n\n\n<li><strong>Stripe:<\/strong> Maximum capacity but no redundancy at all \u2013 losing a single disk destroys the pool.<\/li>\n\n\n<li><strong>80% fill level:<\/strong> ZFS slows down noticeably beyond roughly 80% usage (copy-on-write, fragmentation). Plan your usable capacity accordingly lower.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Important note on fault tolerance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The stated fault tolerance applies <strong>per vdev<\/strong>. If a third disk fails in a RAIDZ2 vdev before the first two are replaced, the entire pool is lost \u2013 even if other vdevs are intact. So adding vdevs increases capacity and performance, but not the fault tolerance of the individual vdev.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Related calculators<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/tools\/en\/ceph-capacity-calculator\/\">Ceph Capacity Calculator<\/a><\/li>\n\n\n<li><a href=\"\/tools\/en\/raid-calculator\/\">RAID Calculator<\/a><\/li>\n<\/ul>\n\n\n<div id=\"netgu-1785302716\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Calculate the usable capacity of a ZFS pool \u2013 mirror, RAIDZ1\/2\/3 and stripe, including TB\/TiB conversion, efficiency and fault tolerance.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[158],"tags":[],"class_list":["post-112","post","type-post","status-publish","format-standard","hentry","category-rechner-calculator-en"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}