{"id":1141,"date":"2026-07-15T10:48:00","date_gmt":"2026-07-15T07:48:00","guid":{"rendered":"https:\/\/itgen.itbumper.com\/?page_id=1141"},"modified":"2026-07-15T10:48:01","modified_gmt":"2026-07-15T07:48:01","slug":"0045_mobaxterm-macros-03-debian-storage-san","status":"publish","type":"page","link":"https:\/\/itgen.itbumper.com\/?page_id=1141","title":{"rendered":"0045_MobaXterm macros: 03.Debian-Storage &amp; SAN"},"content":{"rendered":"<p>3.1 Filesystem Usage<br \/>3.2 Inode Usage<br \/>3.3 Block Devices (+ blkid)<br \/>3.4 Mounted Filesystems (+ mount propagation)<br \/>3.5 Filesystem Configuration (\/etc\/fstab)<br \/>3.6 LVM (+ VG free space)<br \/>3.7 Software RAID \/ mdadm (+ md detail)<br \/>3.8 ZFS (+ zpool status -v)<br \/>3.9 SMART Health (+ smartctl -i)<br \/>3.10 Storage Services<br \/>3.11 NFS Client \/ Server (+ showmount)<br \/>3.12 iSCSI Initiator \/ Target (+ \/dev\/disk\/by-path)<br \/>3.13 Multipath (+ show maps)<br \/>3.14 Disk I\/O Statistics (+ \/proc\/diskstats fallback)<\/p>\n<p style=\"text-align: center;\"><strong>Root rights need!<\/strong><\/p>\n<p><strong>Copy\u2013&gt;Past<\/strong><\/p>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\necho &quot;==================== 03.1 FILESYSTEM USAGE ====================&quot;; df -hT; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.2 INODE USAGE ====================&quot;; df -ih; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.3 BLOCK DEVICES ====================&quot;; lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS; printf &quot;\\n&quot;; echo &quot;--- Disk Model \/ Serial ---&quot;; lsblk -d -o NAME,SIZE,MODEL,SERIAL; printf &quot;\\n&quot;; echo &quot;--- Filesystem UUIDs ---&quot;; blkid 2&gt;\/dev\/null || echo &quot;blkid not available&quot;; printf &quot;\\n&quot;; echo &quot;--- Persistent Device IDs ---&quot;; ls -l \/dev\/disk\/by-id 2&gt;\/dev\/null | head -50 || echo &quot;\/dev\/disk\/by-id unavailable&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.4 MOUNTED FILESYSTEMS ====================&quot;; findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS; printf &quot;\\n&quot;; echo &quot;--- Mount Propagation ---&quot;; findmnt -o TARGET,PROPAGATION; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.5 FSTAB ====================&quot;; cat \/etc\/fstab; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.6 LVM ====================&quot;; pvs 2&gt;\/dev\/null || echo &quot;pvs not available or no LVM&quot;; printf &quot;\\n&quot;; vgs 2&gt;\/dev\/null || echo &quot;vgs not available or no LVM&quot;; printf &quot;\\n&quot;; echo &quot;--- VG Custom Fields (Size\/Free) ---&quot;; vgs -o vg_name,vg_size,vg_free 2&gt;\/dev\/null || echo &quot;vgs detailed not available&quot;; printf &quot;\\n&quot;; lvs -a -o +devices 2&gt;\/dev\/null || echo &quot;lvs not available or no LVM&quot;; printf &quot;\\n&quot;; echo &quot;--- LV Detailed Display ---&quot;; lvdisplay 2&gt;\/dev\/null || echo &quot;lvdisplay not available&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.7 SOFTWARE RAID \/ MDADM ====================&quot;; cat \/proc\/mdstat 2&gt;\/dev\/null || echo &quot;\/proc\/mdstat not available&quot;; printf &quot;\\n&quot;; mdadm --detail --scan 2&gt;\/dev\/null || echo &quot;mdadm not available or no arrays&quot;; printf &quot;\\n&quot;; echo &quot;--- MDADM Detail Status ---&quot;; mdadm --detail \/dev\/md* 2&gt;\/dev\/null || echo &quot;No active mdadm arrays or mdadm not installed&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.8 ZFS ====================&quot;; zpool list 2&gt;\/dev\/null || echo &quot;zpool not available or no pools&quot;; printf &quot;\\n&quot;; zpool status 2&gt;\/dev\/null || echo &quot;zpool status not available&quot;; printf &quot;\\n&quot;; echo &quot;--- ZPOOL Verbose Status (Errors) ---&quot;; zpool status -v 2&gt;\/dev\/null || echo &quot;zpool status -v not available&quot;; printf &quot;\\n&quot;; echo &quot;--- ZPOOL Properties (Top 80) ---&quot;; zpool get all 2&gt;\/dev\/null | head -80 || echo &quot;zpool get all not available&quot;; printf &quot;\\n&quot;; zfs list 2&gt;\/dev\/null || echo &quot;zfs not available or no datasets&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.9 SMART HEALTH ====================&quot;; if command -v smartctl &gt;\/dev\/null 2&gt;&amp;1; then smartctl --scan; printf &quot;\\n&quot;; for D in $(smartctl --scan | awk '{print $1}'); do echo &quot;--- SMART: $D ---&quot;; smartctl -i &quot;$D&quot; 2&gt;\/dev\/null; printf &quot;\\n&quot;; smartctl -H &quot;$D&quot; 2&gt;\/dev\/null; echo &quot;--- Temperature Mappings ---&quot;; smartctl -A &quot;$D&quot; 2&gt;\/dev\/null | grep -Ei 'Temperature|Airflow_Temperature' || echo &quot;No temperature attribute found&quot;; echo &quot;--- Critical Attributes ---&quot;; smartctl -A &quot;$D&quot; 2&gt;\/dev\/null | egrep -i 'Reallocated|Current_Pending|Offline_Uncorrectable|Power_On|Media_Wearout|Wear_Leveling|Percentage_Used|Available_Reserv|Critical_Warning' || true; printf &quot;\\n&quot;; done; else echo &quot;smartctl not installed&quot;; fi; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.10 STORAGE SERVICES ====================&quot;; echo &quot;smartd : $(systemctl is-active smartd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;multipathd : $(systemctl is-active multipathd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;iscsid : $(systemctl is-active iscsid 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;rpcbind : $(systemctl is-active rpcbind 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;nfs-server : $(systemctl is-active nfs-server 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;nfs-kernel-server : $(systemctl is-active nfs-kernel-server 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.11 NFS CLIENT \/ SERVER ====================&quot;; echo &quot;--- NFS Client Mounts ---&quot;; findmnt -t nfs,nfs4 2&gt;\/dev\/null || echo &quot;No NFS client mounts&quot;; printf &quot;\\n&quot;; echo &quot;--- NFS Server Exports ---&quot;; exportfs -v 2&gt;\/dev\/null || echo &quot;exportfs not available or no NFS exports&quot;; printf &quot;\\n&quot;; echo &quot;--- NFS Showmount Local ---&quot;; (systemctl is-active nfs-server &gt;\/dev\/null 2&gt;&amp;1 || systemctl is-active nfs-kernel-server &gt;\/dev\/null 2&gt;&amp;1) &amp;&amp; showmount -e localhost 2&gt;\/dev\/null || echo &quot;NFS server not running or showmount unavailable&quot;; printf &quot;\\n&quot;; echo &quot;--- RPC Services ---&quot;; rpcinfo -p 2&gt;\/dev\/null || echo &quot;rpcinfo unavailable or rpcbind not running&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.12 ISCSI INITIATOR \/ TARGET ====================&quot;; echo &quot;--- iSCSI Services ---&quot;; echo &quot;iscsid: $(systemctl is-active iscsid 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;open-iscsi: $(systemctl is-active open-iscsi 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;target: $(systemctl is-active target 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; echo &quot;tgtd: $(systemctl is-active tgtd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; printf &quot;\\n&quot;; echo &quot;--- Initiator IQN ---&quot;; cat \/etc\/iscsi\/initiatorname.iscsi 2&gt;\/dev\/null || echo &quot;No iSCSI initiator configured&quot;; printf &quot;\\n&quot;; echo &quot;--- Discovered Targets ---&quot;; iscsiadm -m node 2&gt;\/dev\/null || echo &quot;No discovered iSCSI targets&quot;; printf &quot;\\n&quot;; echo &quot;--- Active Sessions ---&quot;; iscsiadm -m session 2&gt;\/dev\/null || echo &quot;No active iSCSI sessions&quot;; printf &quot;\\n&quot;; echo &quot;--- iSCSI Disks by Path ---&quot;; ls -l \/dev\/disk\/by-path 2&gt;\/dev\/null | grep iscsi || echo &quot;No iSCSI disks found&quot;; printf &quot;\\n&quot;; echo &quot;--- TargetCLI Configuration ---&quot;; command -v targetcli &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; targetcli ls 2&gt;\/dev\/null || echo &quot;targetcli not installed or no LIO targets configured&quot;; printf &quot;\\n&quot;; echo &quot;--- TGT Configuration ---&quot;; command -v tgtadm &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; tgtadm --mode target --op show 2&gt;\/dev\/null || echo &quot;tgtd not installed or no TGT targets configured&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.13 MULTIPATH ====================&quot;; echo &quot;multipathd: $(systemctl is-active multipathd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;; printf &quot;\\n&quot;; multipath -ll 2&gt;\/dev\/null || echo &quot;multipath not installed or no multipath devices&quot;; printf &quot;\\n&quot;; multipathd show paths 2&gt;\/dev\/null || echo &quot;multipathd paths unavailable&quot;; printf &quot;\\n&quot;; multipathd show maps 2&gt;\/dev\/null || echo &quot;multipathd maps unavailable&quot;; printf &quot;\\n%.0s&quot; {1..3}; echo &quot;==================== 03.14 DISK I\/O STATISTICS ====================&quot;; iostat -xz 1 2 2&gt;\/dev\/null || { echo &quot;iostat not installed. Falling back to \/proc\/diskstats:&quot;; printf &quot;\\n&quot;; cat \/proc\/diskstats; }\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n# ==================== 03.1 FILESYSTEM USAGE ====================\necho &quot;==================== 03.1 FILESYSTEM USAGE ====================&quot;\ndf -hT\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.2 INODE USAGE ====================\necho &quot;==================== 03.2 INODE USAGE ====================&quot;\ndf -ih\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.3 BLOCK DEVICES (+ BLKID) ====================\necho &quot;==================== 03.3 BLOCK DEVICES (+ BLKID) ====================&quot;\nlsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS\nprintf &quot;\\n&quot;\necho &quot;--- Disk Model \/ Serial ---&quot;\nlsblk -d -o NAME,SIZE,MODEL,SERIAL\nprintf &quot;\\n&quot;\necho &quot;--- Filesystem UUIDs ---&quot;\nblkid 2&gt;\/dev\/null || echo &quot;blkid not available&quot;\nprintf &quot;\\n&quot;\necho &quot;--- Persistent Device IDs ---&quot;\nls -l \/dev\/disk\/by-id 2&gt;\/dev\/null | head -50 || echo &quot;\/dev\/disk\/by-id unavailable&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.4 MOUNTED FILESYSTEMS (+ MOUNT PROPAGATION) ====================\necho &quot;==================== 03.4 MOUNTED FILESYSTEMS (+ MOUNT PROPAGATION) ====================&quot;\nfindmnt -o TARGET,SOURCE,FSTYPE,OPTIONS\nprintf &quot;\\n&quot;\necho &quot;--- Mount Propagation ---&quot;\nfindmnt -o TARGET,PROPAGATION\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.5 FILESYSTEM CONFIGURATION (\/ETC\/FSTAB) ====================\necho &quot;==================== 03.5 FILESYSTEM CONFIGURATION (\/ETC\/FSTAB) ====================&quot;\ncat \/etc\/fstab\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.6 LVM (+ VG FREE SPACE) ====================\necho &quot;==================== 03.6 LVM (+ VG FREE SPACE) ====================&quot;\npvs 2&gt;\/dev\/null || echo &quot;pvs not available or no LVM&quot;\nprintf &quot;\\n&quot;\nvgs 2&gt;\/dev\/null || echo &quot;vgs not available or no LVM&quot;\nprintf &quot;\\n&quot;\necho &quot;--- VG Custom Fields (Size\/Free) ---&quot;\nvgs -o vg_name,vg_size,vg_free 2&gt;\/dev\/null || echo &quot;vgs detailed not available&quot;\nprintf &quot;\\n&quot;\nlvs -a -o +devices 2&gt;\/dev\/null || echo &quot;lvs not available or no LVM&quot;\nprintf &quot;\\n&quot;\necho &quot;--- LV Detailed Display ---&quot;\nlvdisplay 2&gt;\/dev\/null || echo &quot;lvdisplay not available&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.7 SOFTWARE RAID \/ MDADM (+ MD DETAIL) ====================\necho &quot;==================== 03.7 SOFTWARE RAID \/ MDADM (+ MD DETAIL) ====================&quot;\ncat \/proc\/mdstat 2&gt;\/dev\/null || echo &quot;\/proc\/mdstat not available&quot;\nprintf &quot;\\n&quot;\nmdadm --detail --scan 2&gt;\/dev\/null || echo &quot;mdadm not available or no arrays&quot;\nprintf &quot;\\n&quot;\necho &quot;--- MDADM Detail Status ---&quot;\nmdadm --detail \/dev\/md* 2&gt;\/dev\/null || echo &quot;No active mdadm arrays or mdadm not installed&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.8 ZFS (+ ZPOOL STATUS -V) ====================\necho &quot;==================== 03.8 ZFS (+ ZPOOL STATUS -V) ====================&quot;\nzpool list 2&gt;\/dev\/null || echo &quot;zpool not available or no pools&quot;\nprintf &quot;\\n&quot;\nzpool status 2&gt;\/dev\/null || echo &quot;zpool status not available&quot;\nprintf &quot;\\n&quot;\necho &quot;--- ZPOOL Verbose Status (Errors) ---&quot;\nzpool status -v 2&gt;\/dev\/null || echo &quot;zpool status -v not available&quot;\nprintf &quot;\\n&quot;\necho &quot;--- ZPOOL Properties (Top 80) ---&quot;\nzpool get all 2&gt;\/dev\/null | head -80 || echo &quot;zpool get all not available&quot;\nprintf &quot;\\n&quot;\nzfs list 2&gt;\/dev\/null || echo &quot;zfs not available or no datasets&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.9 SMART HEALTH (+ SMARTCTL -I) ====================\necho &quot;==================== 03.9 SMART HEALTH (+ SMARTCTL -I) ====================&quot;\nif command -v smartctl &gt;\/dev\/null 2&gt;&amp;1; then\n    smartctl --scan\n    printf &quot;\\n&quot;\n    for D in $(smartctl --scan | awk '{print $1}'); do\n        echo &quot;--- SMART: $D ---&quot;\n        smartctl -i &quot;$D&quot; 2&gt;\/dev\/null\n        printf &quot;\\n&quot;\n        smartctl -H &quot;$D&quot; 2&gt;\/dev\/null\n        echo &quot;--- Temperature Mappings ---&quot;\n        smartctl -A &quot;$D&quot; 2&gt;\/dev\/null | grep -Ei 'Temperature|Airflow_Temperature' || \\\n            echo &quot;No temperature attribute found&quot;\n        echo &quot;--- Critical Attributes ---&quot;\n        smartctl -A &quot;$D&quot; 2&gt;\/dev\/null | \\\n            egrep -i 'Reallocated|Current_Pending|Offline_Uncorrectable|Power_On|Media_Wearout|Wear_Leveling|Percentage_Used|Available_Reserv|Critical_Warning' || true\n        printf &quot;\\n&quot;\n    done\nelse\n    echo &quot;smartctl not installed&quot;\nfi\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.10 STORAGE SERVICES ====================\necho &quot;==================== 03.10 STORAGE SERVICES ====================&quot;\necho &quot;smartd : $(systemctl is-active smartd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;multipathd : $(systemctl is-active multipathd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;iscsid : $(systemctl is-active iscsid 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;rpcbind : $(systemctl is-active rpcbind 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;nfs-server : $(systemctl is-active nfs-server 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;nfs-kernel-server : $(systemctl is-active nfs-kernel-server 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.11 NFS CLIENT \/ SERVER (+ SHOWMOUNT) ====================\necho &quot;==================== 03.11 NFS CLIENT \/ SERVER (+ SHOWMOUNT) ====================&quot;\necho &quot;--- NFS Client Mounts ---&quot;\nfindmnt -t nfs,nfs4 2&gt;\/dev\/null || echo &quot;No NFS client mounts&quot;\nprintf &quot;\\n&quot;\necho &quot;--- NFS Server Exports ---&quot;\nexportfs -v 2&gt;\/dev\/null || echo &quot;exportfs not available or no NFS exports&quot;\nprintf &quot;\\n&quot;\necho &quot;--- NFS Showmount Local ---&quot;\n(systemctl is-active nfs-server &gt;\/dev\/null 2&gt;&amp;1 || systemctl is-active nfs-kernel-server &gt;\/dev\/null 2&gt;&amp;1) &amp;&amp; \\\n    showmount -e localhost 2&gt;\/dev\/null || \\\n    echo &quot;NFS server not running or showmount unavailable&quot;\nprintf &quot;\\n&quot;\necho &quot;--- RPC Services ---&quot;\nrpcinfo -p 2&gt;\/dev\/null || echo &quot;rpcinfo unavailable or rpcbind not running&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.12 ISCSI INITIATOR \/ TARGET (+ \/DEV\/DISK\/BY-PATH) ====================\necho &quot;==================== 03.12 ISCSI INITIATOR \/ TARGET (+ \/DEV\/DISK\/BY-PATH) ====================&quot;\necho &quot;--- iSCSI Services ---&quot;\necho &quot;iscsid: $(systemctl is-active iscsid 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;open-iscsi: $(systemctl is-active open-iscsi 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;target: $(systemctl is-active target 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\necho &quot;tgtd: $(systemctl is-active tgtd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\nprintf &quot;\\n&quot;\necho &quot;--- Initiator IQN ---&quot;\ncat \/etc\/iscsi\/initiatorname.iscsi 2&gt;\/dev\/null || echo &quot;No iSCSI initiator configured&quot;\nprintf &quot;\\n&quot;\necho &quot;--- Discovered Targets ---&quot;\niscsiadm -m node 2&gt;\/dev\/null || echo &quot;No discovered iSCSI targets&quot;\nprintf &quot;\\n&quot;\necho &quot;--- Active Sessions ---&quot;\niscsiadm -m session 2&gt;\/dev\/null || echo &quot;No active iSCSI sessions&quot;\nprintf &quot;\\n&quot;\necho &quot;--- iSCSI Disks by Path ---&quot;\nls -l \/dev\/disk\/by-path 2&gt;\/dev\/null | grep iscsi || echo &quot;No iSCSI disks found&quot;\nprintf &quot;\\n&quot;\necho &quot;--- TargetCLI Configuration ---&quot;\ncommand -v targetcli &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; targetcli ls 2&gt;\/dev\/null || \\\n    echo &quot;targetcli not installed or no LIO targets configured&quot;\nprintf &quot;\\n&quot;\necho &quot;--- TGT Configuration ---&quot;\ncommand -v tgtadm &gt;\/dev\/null 2&gt;&amp;1 &amp;&amp; tgtadm --mode target --op show 2&gt;\/dev\/null || \\\n    echo &quot;tgtd not installed or no TGT targets configured&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.13 MULTIPATH (+ SHOW MAPS) ====================\necho &quot;==================== 03.13 MULTIPATH (+ SHOW MAPS) ====================&quot;\necho &quot;multipathd: $(systemctl is-active multipathd 2&gt;\/dev\/null || echo not-found\/inactive)&quot;\nprintf &quot;\\n&quot;\nmultipath -ll 2&gt;\/dev\/null || echo &quot;multipath not installed or no multipath devices&quot;\nprintf &quot;\\n&quot;\nmultipathd show paths 2&gt;\/dev\/null || echo &quot;multipathd paths unavailable&quot;\nprintf &quot;\\n&quot;\nmultipathd show maps 2&gt;\/dev\/null || echo &quot;multipathd maps unavailable&quot;\nprintf &quot;\\n%.0s&quot; {1..3}\n\n# ==================== 03.14 DISK I\/O STATISTICS (+ \/PROC\/DISKSTATS FALLBACK) ====================\necho &quot;==================== 03.14 DISK I\/O STATISTICS (+ \/PROC\/DISKSTATS FALLBACK) ====================&quot;\niostat -xz 1 2 2&gt;\/dev\/null || {\n    echo &quot;iostat not installed. Falling back to \/proc\/diskstats:&quot;\n    printf &quot;\\n&quot;\n    cat \/proc\/diskstats\n}\n<\/pre><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-01-936x1024.png\" alt=\"\" class=\"wp-image-1144\" style=\"width:797px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-01-936x1024.png 936w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-01-274x300.png 274w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-01-768x840.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-01.png 1072w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-02-883x1024.png\" alt=\"\" class=\"wp-image-1145\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-02-883x1024.png 883w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-02-259x300.png 259w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-02-768x891.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-02.png 1108w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"860\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-03-860x1024.png\" alt=\"\" class=\"wp-image-1146\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-03-860x1024.png 860w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-03-252x300.png 252w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-03-768x914.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-03.png 1056w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-04-883x1024.png\" alt=\"\" class=\"wp-image-1147\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-04-883x1024.png 883w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-04-259x300.png 259w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-04-768x891.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-04.png 1113w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"736\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-05-736x1024.png\" alt=\"\" class=\"wp-image-1148\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-05-736x1024.png 736w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-05-216x300.png 216w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-05-768x1069.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-05.png 932w\" sizes=\"(max-width: 736px) 85vw, 736px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-06-694x1024.png\" alt=\"\" class=\"wp-image-1149\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-06-694x1024.png 694w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-06-203x300.png 203w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-06-768x1134.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-06.png 890w\" sizes=\"(max-width: 694px) 85vw, 694px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-07-692x1024.png\" alt=\"\" class=\"wp-image-1150\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-07-692x1024.png 692w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-07-203x300.png 203w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-07-768x1136.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-07.png 873w\" sizes=\"(max-width: 692px) 85vw, 692px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"871\" height=\"1024\" src=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-09-871x1024.png\" alt=\"\" class=\"wp-image-1151\" style=\"width:800px\" srcset=\"https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-09-871x1024.png 871w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-09-255x300.png 255w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-09-768x903.png 768w, https:\/\/itgen.itbumper.com\/wp-content\/uploads\/2026\/07\/003_debian_storage-san-09.png 1057w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>3.1 Filesystem Usage3.2 Inode Usage3.3 Block Devices (+ blkid)3.4 Mounted Filesystems (+ mount propagation)3.5 Filesystem Configuration (\/etc\/fstab)3.6 LVM (+ VG free space)3.7 Software RAID \/ mdadm (+ md detail)3.8 ZFS (+ zpool status -v)3.9 SMART Health (+ smartctl -i)3.10 Storage Services3.11 NFS Client \/ Server (+ showmount)3.12 iSCSI Initiator \/ Target (+ \/dev\/disk\/by-path)3.13 Multipath (+ &hellip; <a href=\"https:\/\/itgen.itbumper.com\/?page_id=1141\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;0045_MobaXterm macros: 03.Debian-Storage &amp; SAN&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[21,26],"tags":[],"_links":{"self":[{"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/pages\/1141"}],"collection":[{"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1141"}],"version-history":[{"count":3,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/pages\/1141\/revisions"}],"predecessor-version":[{"id":1152,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=\/wp\/v2\/pages\/1141\/revisions\/1152"}],"wp:attachment":[{"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itgen.itbumper.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}