<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>OSNEXUS Online Documentation Site  - Recent changes [en]</title>
		<link>https://wiki.osnexus.com/index.php?title=Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.42.1</generator>
		<lastBuildDate>Fri, 09 Oct 2026 12:04:06 GMT</lastBuildDate>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28238&amp;oldid=28233</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28238&amp;oldid=28233</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:00, 8 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Ceph over ZFS|Ceph over ZFS]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]] Ceph over ZFS runs Ceph OSDs on ZFS Storage Volumes (zvols) instead of directly on Physical Disks.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Ceph over ZFS|Ceph over ZFS]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]] Ceph over ZFS runs Ceph OSDs on ZFS Storage Volumes (zvols) instead of directly on Physical Disks.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Enterprise Shared Storage for Proxmox VE Clusters|Enterprise Shared Storage for Proxmox VE Clusters]]&#039;&#039;&#039; &amp;amp;mdash; Shared storage for a Proxmox VE cluster is a block or file store that every node can reach, so virtual machines and containers can migrate between nodes and restart elsewhere when a node fails.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing|Fibre Channel and iSCSI Block Storage with ALUA Multipathing]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&amp;#039;s state to the host with ALUA (Asymmetric Logical Unit Access).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing|Fibre Channel and iSCSI Block Storage with ALUA Multipathing]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&amp;#039;s state to the host with ALUA (Asymmetric Logical Unit Access).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[HA Cluster Setup (JBODs)|HA Cluster Setup (JBODs)]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]] &amp;#039;&amp;#039;_TOC_&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[HA Cluster Setup (JBODs)|HA Cluster Setup (JBODs)]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]] &amp;#039;&amp;#039;_TOC_&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28233:rev-28238:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 08 Oct 2026 21:00:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Guides:Enterprise Shared Storage for Proxmox VE Clusters</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Enterprise_Shared_Storage_for_Proxmox_VE_Clusters&amp;diff=28237&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Enterprise_Shared_Storage_for_Proxmox_VE_Clusters&amp;diff=28237&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: proxmox-shared-storage @ 2579ba917a3f (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 3, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Shared storage for a Proxmox VE cluster is a block or file store that every node can reach, so virtual machines and containers can migrate between nodes and restart elsewhere when a node fails. QuantaStor provides that storage from a central appliance or HA cluster, and its open-source Proxmox VE storage plugin adds a native &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;quantastor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; storage type that provisions one iSCSI volume per Proxmox disk, with snapshots, templates, clones, resize and migration driven from the standard Proxmox tools. This guide covers the shared storage options, how the plugin works, and a walkthrough from storage pool to first VM disk.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Proxmox VE runs well on local disks, but local disks tie each guest to one node. Live migration, HA restart and a single place to manage capacity all need storage every node can see. Teams moving off VMware hit the same issue in reverse: a vSAN cluster combined compute and storage in the same hosts, and the replacement hypervisor needs somewhere to put the data.&lt;br /&gt;
&lt;br /&gt;
External shared storage separates those concerns. Compute nodes can be added, upgraded or reinstalled without touching the data, and capacity grows by adding drives to the storage tier rather than buying matching hypervisor hosts. The storage tier also brings its own data services: snapshots, replication to a second site, encryption and role-based administration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Proxmox VE has several built-in ways to consume shared storage (see the Proxmox [https://pve.proxmox.com/wiki/Storage storage documentation]). QuantaStor can serve the common ones:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! What Proxmox sees !! QuantaStor side !! Best fit&lt;br /&gt;
|-&lt;br /&gt;
| QuantaStor storage plugin (iSCSI) || A &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;quantastor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; storage; one block device per disk || Scale-up [[Storage Pools|storage pool]], one [[Storage Volumes|storage volume]] per disk || VM and LXC disks with per-disk snapshots and clones&lt;br /&gt;
|-&lt;br /&gt;
| NFS || A shared directory for disk images, ISOs and backups || [[NFS Configuration|NFS share]] on a storage pool || ISO libraries, backups, file-based disk images&lt;br /&gt;
|-&lt;br /&gt;
| Ceph RBD || Proxmox&amp;#039;s own RBD storage type || [[Scale-out Block Setup (ceph)|Scale-out block storage]] on a Ceph cluster || Scale-out deployments across many storage nodes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the RBD option, Proxmox creates images directly with its own Ceph client. QuantaStor recognizes block devices that were created outside its own management by Proxmox, OpenStack or Kubernetes and cleans up their volume objects automatically, so the grid view stays consistent with the cluster. Ceph block storage needs its own Ceph pool, separate from any pool that holds a CephFS file system, and the web manager only offers compatible pools when you create block storage.&lt;br /&gt;
&lt;br /&gt;
The rest of this guide focuses on the plugin, because it gives Proxmox the most direct control over each disk. It separates management traffic from storage traffic:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Control plane.&amp;#039;&amp;#039;&amp;#039; Create, delete, snapshot, clone, resize and access-control operations are REST calls to the [[QuantaStor REST API Reference Guide|QuantaStor REST API]] over HTTPS on port 8153, authenticated with HTTP Basic credentials.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Data plane.&amp;#039;&amp;#039;&amp;#039; Guest I/O runs over iSCSI on port 3260. The plugin drives the standard &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;open-iscsi&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; initiator with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;iscsiadm&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;: it discovers the target, logs in and waits for the device before handing it to Proxmox.&lt;br /&gt;
&lt;br /&gt;
Each storage volume is exported through its own iSCSI target at LUN 0, and the plugin addresses it by a stable &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/dev/disk/by-path/...-lun-0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; path rather than a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/dev/sdX&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; name. QEMU attaches the raw block device for VM disks; for containers, Proxmox formats the same device with ext4 and mounts it as the root filesystem.&lt;br /&gt;
&lt;br /&gt;
On first activation, the plugin registers each Proxmox node as a [[Hosts and Host Groups|host]] using the initiator IQN from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/iscsi/initiatorname.iscsi&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Before a node uses a volume, the plugin assigns that host to the volume&amp;#039;s access control list, and it removes the assignment when the volume is released. A volume is visible only to the nodes actively using it.&lt;br /&gt;
&lt;br /&gt;
Volume names follow the Proxmox convention, so mapping a disk to its volume needs no lookup table:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Name pattern !! Example&lt;br /&gt;
|-&lt;br /&gt;
| VM or container disk || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vm-&amp;lt;vmid&amp;gt;-disk-&amp;lt;N&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vm-100-disk-0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Template base disk || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;base-&amp;lt;vmid&amp;gt;-disk-&amp;lt;N&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;base-100-disk-0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Template snapshot || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;template-base-&amp;lt;vmid&amp;gt;-disk-&amp;lt;N&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;template-base-100-disk-0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Snapshot || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;volume&amp;gt;_&amp;lt;snapshot&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vm-100-disk-0_snap1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The plugin does not patch or replace Proxmox source files, so Proxmox package upgrades do not break it. It is distributed as a Debian package from the [https://github.com/OSNEXUS/pve-quantastor-plugin pve-quantastor-plugin repository].&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
Plan the cluster around these requirements from the [[Proxmox Storage Plugin|plugin reference]]:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Item !! Requirement&lt;br /&gt;
|-&lt;br /&gt;
| Proxmox VE || 9.1.x and 9.2.x, which can be mixed in one cluster. 8.4.x and older do not load the plugin, so keep 8.x nodes out of the cluster.&lt;br /&gt;
|-&lt;br /&gt;
| Storage || A storage pool to provision from, on a current QuantaStor release&lt;br /&gt;
|-&lt;br /&gt;
| Network || Every Proxmox node reaches the appliance on TCP 8153 (REST API) and TCP 3260 (iSCSI)&lt;br /&gt;
|-&lt;br /&gt;
| QuantaStor configuration || None beyond the pool: the plugin creates volumes, host entries and ACL assignments&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For production clusters, put the pool in a [[Create Storage Pool High-Availability Group|high-availability failover group]] so a storage controller failure doesn&amp;#039;t take every VM down with it. The plugin&amp;#039;s configuration options cover HA pools and SSL; see the plugin reference for the exact settings. The grid below shows scale-up ZFS pools next to scale-out Ceph block, file and object pools on the same grid, with the HA group controls in the toolbar.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-proxmox-shared-storage-proxmox-storage-pools.png|frame|center|The Storage Pools grid: scale-up (ZFS) pools that can back the Proxmox plugin, scale-out block pools for Ceph RBD, and the Storage Pool HA Resource Group toolbar used to make a pool highly available]]&lt;br /&gt;
&lt;br /&gt;
Keep the iSCSI data path on a dedicated storage network where possible. The REST API traffic is light, but guest I/O follows every disk.&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Create a least-privilege API user ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; account works, but credentials stored on the Proxmox cluster should carry only what the plugin needs. Create a [[Role Create|role]] under &amp;#039;&amp;#039;&amp;#039;Security → Role → Create&amp;#039;&amp;#039;&amp;#039;, then a [[User Add|user]] with that role under &amp;#039;&amp;#039;&amp;#039;Security → User → Add&amp;#039;&amp;#039;&amp;#039;. The role needs view access to everything plus these write operations:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Storage Volume&amp;#039;&amp;#039;&amp;#039;: create, delete, modify, resize, createSnapshot, deleteSnapshot, rollback, clone&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Storage Volume ACL&amp;#039;&amp;#039;&amp;#039;: add, remove&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Host&amp;#039;&amp;#039;&amp;#039;: add, addInitiator, modify, remove, assignVolume, unassignVolume&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png|frame|center|The Create Role dialog: filter the Object Type list, tick the rows the plugin needs, then use Apply Permission Scope to Selected to give them System scope]]&lt;br /&gt;
&lt;br /&gt;
Or create both in one pass with the [[QuantaStor CLI Command Reference|QuantaStor CLI]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qs role-add --name=pve-plugin-role --desc=&amp;quot;Role for the Proxmox VE storage plugin&amp;quot; \&lt;br /&gt;
  --permissions=&amp;quot;*:view:system,\&lt;br /&gt;
StorageVolume:create:system,StorageVolume:delete:system,StorageVolume:modify:system,\&lt;br /&gt;
StorageVolume:resize:system,StorageVolume:createSnapshot:system,StorageVolume:deleteSnapshot:system,\&lt;br /&gt;
StorageVolume:rollback:system,StorageVolume:clone:system,\&lt;br /&gt;
StorageVolumeAcl:add:system,StorageVolumeAcl:remove:system,\&lt;br /&gt;
Host:add:system,Host:addInitiator:system,Host:modify:system,Host:remove:system,\&lt;br /&gt;
Host:assignVolume:system,Host:unassignVolume:system&amp;quot;&lt;br /&gt;
&lt;br /&gt;
qs user-add --name=pve-plugin --password=&amp;amp;lt;password&amp;amp;gt; --role=pve-plugin-role&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Check connectivity from each Proxmox node ===&lt;br /&gt;
&lt;br /&gt;
Before installing anything, confirm every node can reach both ports on the appliance (192.0.2.10 here):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;nc -zv 192.0.2.10 8153&lt;br /&gt;
nc -zv 192.0.2.10 3260&lt;br /&gt;
cat /etc/iscsi/initiatorname.iscsi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Install the plugin and add the storage ===&lt;br /&gt;
&lt;br /&gt;
Install the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pve-storage-quantastor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; package from the [https://github.com/OSNEXUS/pve-quantastor-plugin/releases releases page] on every node in the cluster. The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;quantastor&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; type then appears under &amp;#039;&amp;#039;&amp;#039;Datacenter → Storage → Add&amp;#039;&amp;#039;&amp;#039; in the Proxmox web interface, alongside the built-in types. Enter the appliance address, the storage pool and the API user created in step 1. The plugin reference lists every configuration option, including the HA pool and SSL settings.&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Once the storage is added, it works with the standard &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pvesm&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qm&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pct&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; tooling. A quick check from any node:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pvesm status&lt;br /&gt;
qm create 9001 --name test-vm --memory 2048 --scsi0 &amp;amp;lt;storage-id&amp;amp;gt;:8&lt;br /&gt;
iscsiadm -m session&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The new disk appears in QuantaStor as a storage volume named &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vm-9001-disk-0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, and the node that owns the VM appears as a host assigned to it. Migrate the VM to another node and the assignment moves with it: the volume is released from the old node and assigned to the new one.&lt;br /&gt;
&lt;br /&gt;
Snapshots, templates, clones, resize and migration all run through the plugin; the Usage section of the [[Proxmox Storage Plugin|plugin reference]] describes how each behaves. Each Proxmox disk is a regular storage volume, so the volume-level tools on the QuantaStor side also apply: [[Snapshot Schedules|snapshot schedules]] for point-in-time copies outside Proxmox, and [[Remote-replication (DR)|remote replication]] to a second site for disaster recovery. For the replication design, see [[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Which Proxmox VE versions does the QuantaStor plugin support? ===&lt;br /&gt;
&lt;br /&gt;
Proxmox VE 9.1.x and 9.2.x, and both can run in the same cluster. On 9.2 the plugin logs a cosmetic message about implementing an older storage API. Proxmox VE 8.4 and older do not load the plugin, so any storage operation routed to an 8.x node fails.&lt;br /&gt;
&lt;br /&gt;
=== Does the plugin work for LXC containers as well as VMs? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Container root filesystems run on QuantaStor volumes: Proxmox formats the iSCSI block device with ext4 and mounts it as the container root, using the same provisioning and access control as VM disks.&lt;br /&gt;
&lt;br /&gt;
=== Do I need to configure iSCSI targets or host entries on QuantaStor first? ===&lt;br /&gt;
&lt;br /&gt;
No. Apart from the storage pool, the plugin creates everything itself: a volume and dedicated target per disk, a host entry per Proxmox node from its initiator IQN, and the ACL assignments that make a volume visible only to the node using it.&lt;br /&gt;
&lt;br /&gt;
=== Can QuantaStor replace vSAN after moving from VMware to Proxmox? ===&lt;br /&gt;
&lt;br /&gt;
It replaces vSAN&amp;#039;s role as shared storage with an external tier. Proxmox nodes use QuantaStor over iSCSI through the plugin, over NFS, or over Ceph RBD for scale-out designs, and the storage tier adds HA pools, snapshots and remote replication of its own. Compute and storage then scale independently instead of in matched hypervisor hosts.&lt;br /&gt;
&lt;br /&gt;
=== Should I use the plugin, NFS or Ceph RBD? ===&lt;br /&gt;
&lt;br /&gt;
Use the plugin for VM and container disks when you want one volume per disk with storage-side snapshots, clones and per-node access control. Use NFS for ISO libraries, backups and file-based images. Choose Ceph RBD when the deployment needs to scale out across many storage nodes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-proxmox-shared-storage.md @ 2579ba917a3f --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Thu, 08 Oct 2026 21:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Enterprise_Shared_Storage_for_Proxmox_VE_Clusters</comments>
		</item>
		<item>
			<title>File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png&amp;diff=28236&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png&amp;diff=28236&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png&quot; title=&quot;File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png&quot;&gt;File:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (proxmox-shared-storage)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (proxmox-shared-storage)&lt;/div&gt;</description>
			<pubDate>Thu, 08 Oct 2026 21:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-proxmox-shared-storage-proxmox-create-role-dialog.png</comments>
		</item>
		<item>
			<title>File:Guide-proxmox-shared-storage-proxmox-storage-pools.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-proxmox-shared-storage-proxmox-storage-pools.png&amp;diff=28235&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-proxmox-shared-storage-proxmox-storage-pools.png&amp;diff=28235&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-proxmox-shared-storage-proxmox-storage-pools.png&quot; title=&quot;File:Guide-proxmox-shared-storage-proxmox-storage-pools.png&quot;&gt;File:Guide-proxmox-shared-storage-proxmox-storage-pools.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (proxmox-shared-storage)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (proxmox-shared-storage)&lt;/div&gt;</description>
			<pubDate>Thu, 08 Oct 2026 21:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-proxmox-shared-storage-proxmox-storage-pools.png</comments>
		</item>
		<item>
			<title>Windows MPIO for Failover Clusters and Hyper-V</title>
			<link>https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28234&amp;oldid=28201</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28234&amp;oldid=28201</guid>
			<description>&lt;p&gt;Add custom path recovery (UseCustomPathRecoveryTime Enabled, 40 s) to the recommended MPIO settings; iSCSI notes; validated over FC and iSCSI&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:12, 8 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page describes the recommended Microsoft Multipath I/O (MPIO) configuration for Windows Server hosts that use QuantaStor storage volumes as shared cluster disks, including Windows Server Failover Clustering, Cluster Shared Volumes, Hyper-V clusters and SQL Server Failover Cluster Instances. It applies to Fibre Channel and iSCSI access to a QuantaStor HA pool, and it is the client-side companion to [[Clustered SCSI-3 Persistent Reservations]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page describes the recommended Microsoft Multipath I/O (MPIO) configuration for Windows Server hosts that use QuantaStor storage volumes as shared cluster disks, including Windows Server Failover Clustering, Cluster Shared Volumes, Hyper-V clusters and SQL Server Failover Cluster Instances. It applies to Fibre Channel and iSCSI access to a QuantaStor HA pool, and it is the client-side companion to [[Clustered SCSI-3 Persistent Reservations]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Summary.&#039;&#039;&#039; Install MPIO, let the Microsoft DSM claim QuantaStor devices, and apply the recommended MPIO timer settings below on every cluster node. With this configuration, an HA failover or an appliance reboot is a brief, transparent pause for the cluster: cluster disks stay online, Cluster Shared Volumes keep running, and Hyper-V virtual machines continue without interruption. The configuration was validated on Windows Server 2022 Hyper-V clusters connected &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;over Fibre Channel &lt;/del&gt;to a QuantaStor HA pair.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Summary.&#039;&#039;&#039; Install MPIO, let the Microsoft DSM claim QuantaStor devices, and apply the recommended MPIO timer settings below on every cluster node. With this configuration, an HA failover or an appliance reboot is a brief, transparent pause for the cluster: cluster disks stay online, Cluster Shared Volumes keep running, and Hyper-V virtual machines continue without interruption. The configuration was validated on Windows Server 2022 Hyper-V clusters connected to a QuantaStor HA pair &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;over both Fibre Channel and iSCSI, including a live migration of the cluster&#039;s storage from iSCSI to Fibre Channel&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;During an HA failover, the pool moves from one QuantaStor appliance to its partner. For a short interval, while the receiving appliance imports the pool, I/O is held rather than completed. With Fibre Channel and ALUA, QuantaStor keeps the standby paths through the partner appliance present throughout, so Windows sees the paths change state and continues on the new active paths, typically within well under a minute.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;During an HA failover, the pool moves from one QuantaStor appliance to its partner. For a short interval, while the receiving appliance imports the pool, I/O is held rather than completed. With Fibre Channel and ALUA, QuantaStor keeps the standby paths through the partner appliance present throughout, so Windows sees the paths change state and continues on the new active paths, typically within well under a minute.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;With iSCSI connected through the pool&#039;s HA virtual interface, each disk has a single session that moves with the virtual interface: the session reconnects to the partner appliance once it has imported the pool. MPIO&#039;s custom path recovery returns that path to service as soon as the session is back, so the disk continues on the same path.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MPIO decides how long to hold I/O and keep a disk while its paths change. The Windows defaults are tuned for general-purpose storage and allow only a short window (20 seconds before an unreachable disk is released, 60 seconds per I/O). The recommended settings extend that window so it comfortably covers an HA failover, including a slower one, for example when a busy pool takes longer to export. The cluster then experiences the failover as a short pause, and Cluster Shared Volumes and virtual machines carry on as normal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;MPIO decides how long to hold I/O and keep a disk while its paths change. The Windows defaults are tuned for general-purpose storage and allow only a short window (20 seconds before an unreachable disk is released, 60 seconds per I/O). The recommended settings extend that window so it comfortably covers an HA failover, including a slower one, for example when a busy pool takes longer to export. The cluster then experiences the failover as a short pause, and Cluster Shared Volumes and virtual machines carry on as normal.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l68&quot;&gt;Line 68:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| RetryInterval || 1 || 1 || Seconds between those retries.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| RetryInterval || 1 || 1 || Seconds between those retries.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| UseCustomPathRecoveryTime || Disabled || &#039;&#039;&#039;Enabled&#039;&#039;&#039; || MPIO retries a path that has become unavailable, so the path returns to service on its own once it is reachable again, for example when an iSCSI session reconnects after a failover.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| CustomPathRecoveryTime || 40 || 40 || Seconds between those path recovery attempts.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l73&quot;&gt;Line 73:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Set-MPIOSetting -NewPathVerificationState Enabled -NewPathVerificationPeriod 30 -NewPDORemovePeriod 240 -NewRetryCount 3 -NewRetryInterval 1 -NewDiskTimeout 100&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Set-MPIOSetting -NewPathVerificationState Enabled -NewPathVerificationPeriod 30 -NewPDORemovePeriod 240 -NewRetryCount 3 -NewRetryInterval 1 -NewDiskTimeout 100 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-CustomPathRecovery Enabled -NewPathRecoveryInterval 40&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l88&quot;&gt;Line 88:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 94:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RetryCount                : 3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RetryCount                : 3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RetryInterval             : 1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;RetryInterval             : 1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UseCustomPathRecoveryTime : &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Disabled&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UseCustomPathRecoveryTime : &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Enabled&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CustomPathRecoveryTime    : 40&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CustomPathRecoveryTime    : 40&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DiskTimeoutValue          : 100&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DiskTimeoutValue          : 100&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 102:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Fibre Channel HBA driver parameters can stay at the vendor defaults; this configuration was validated with the QLogic Windows driver at its defaults.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Fibre Channel HBA driver parameters can stay at the vendor defaults; this configuration was validated with the QLogic Windows driver at its defaults.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The Microsoft iSCSI Initiator settings can also stay at their defaults. The initiator&#039;s {{Code|1=LinkDownTime}} (15 seconds by default) is how long it waits for a session to reconnect before it reports the path as unavailable; during a failover that is longer than this, custom path recovery is what brings the path back when the session reconnects. The configuration was validated with the iSCSI Initiator at its defaults.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Paths and load balancing ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Paths and load balancing ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l109&quot;&gt;Line 109:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 117:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A host with two HBA ports zoned to both appliances of an HA pair shows four paths per disk: two Active/Optimized and two Standby. After a failover the two sets swap roles, and the path count stays the same.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A host with two HBA ports zoned to both appliances of an HA pair shows four paths per disk: two Active/Optimized and two Standby. After a failover the two sets swap roles, and the path count stays the same.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;An iSCSI disk connected through a pool&#039;s HA virtual interface shows one Active/Optimized path per session. It has no Standby path, because the session itself follows the virtual interface to the partner appliance during a failover.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== After maintenance on a QuantaStor appliance ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== After maintenance on a QuantaStor appliance ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l128&quot;&gt;Line 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 138:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Troubleshooting ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Troubleshooting ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;A cluster disk did not stay online through a failover.&#039;&#039;&#039; Run {{Code|1=Get-MPIOSetting}} on every node and confirm the recommended values are active; they take effect after a reboot. Also confirm that [[Clustered SCSI-3 Persistent Reservations]] is Enabled on the pool&#039;s HA group. To bring the disk back, run {{Code|1=Update-HostStorageCache}} and a {{Code|1=diskpart}} rescan on each node, then bring the cluster disk online in Failover Cluster Manager ({{Code|1=Start-ClusterResource}}).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;A cluster disk did not stay online through a failover.&#039;&#039;&#039; Run {{Code|1=Get-MPIOSetting}} on every node and confirm the recommended values are active&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, including {{Code|1=UseCustomPathRecoveryTime : Enabled}}&lt;/ins&gt;; they take effect after a reboot. Also confirm that [[Clustered SCSI-3 Persistent Reservations]] is Enabled on the pool&#039;s HA group. To bring the disk back, run {{Code|1=Update-HostStorageCache}} and a {{Code|1=diskpart}} rescan on each node, then bring the cluster disk online in Failover Cluster Manager ({{Code|1=Start-ClusterResource}})&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;A node no longer lists a disk after a failover, or the disk has no disk number.&#039;&#039;&#039; Rescan on that node as described above. If the disk is still missing, drain the node, restart it, and resume it; the disk returns with its paths and the node rejoins its Cluster Shared Volumes in direct mode. Then confirm {{Code|1=UseCustomPathRecoveryTime : Enabled}} on every node&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;A disk shows fewer paths than expected, or Standby paths only.&amp;#039;&amp;#039;&amp;#039; Rescan as described in [[#After maintenance on a QuantaStor appliance|After maintenance on a QuantaStor appliance]]. Also check that both of the host&amp;#039;s HBA ports are zoned to both appliances, and that both of its WWPNs are listed under the host in QuantaStor.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;A disk shows fewer paths than expected, or Standby paths only.&amp;#039;&amp;#039;&amp;#039; Rescan as described in [[#After maintenance on a QuantaStor appliance|After maintenance on a QuantaStor appliance]]. Also check that both of the host&amp;#039;s HBA ports are zoned to both appliances, and that both of its WWPNs are listed under the host in QuantaStor.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28201:rev-28234:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 08 Oct 2026 11:12:54 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Windows_MPIO_for_Failover_Clusters_and_Hyper-V</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28233&amp;oldid=28228</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28233&amp;oldid=28228</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:00, 8 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Ceph over ZFS|Ceph over ZFS]]&#039;&#039;&#039; &amp;amp;mdash; [[Category:admin_guide]] Ceph over ZFS runs Ceph OSDs on ZFS Storage Volumes (zvols) instead of directly on Physical Disks.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing|Fibre Channel and iSCSI Block Storage with ALUA Multipathing]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&amp;#039;s state to the host with ALUA (Asymmetric Logical Unit Access).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing|Fibre Channel and iSCSI Block Storage with ALUA Multipathing]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&amp;#039;s state to the host with ALUA (Asymmetric Logical Unit Access).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Network Ports|Network Ports]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Network Ports|Network Ports]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Nightly Database Analysis from iSCSI Snapshots|Nightly Database Analysis from iSCSI Snapshots]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Offline database analysis means running reports, audits and heavy queries against a point-in-time copy of production data on a separate server, so that the production database never sees the load.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Nightly Database Analysis from iSCSI Snapshots|Nightly Database Analysis from iSCSI Snapshots]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Offline database analysis means running reports, audits and heavy queries against a point-in-time copy of production data on a separate server, so that the production database never sees the load.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Snapshot Schedules|Snapshot Schedules]]&#039;&#039;&#039; &amp;amp;mdash; [[Category:admin_guide]] A &#039;&#039;&#039;Snapshot Schedule&#039;&#039;&#039; takes point-in-time snapshots of a chosen set of [[Storage Volumes|Storage Volumes]] and [[Network Shares|Network Shares]] on a repeating schedule, and rotates them so each volume and share keeps a moving window of recovery points.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28228:rev-28233:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 08 Oct 2026 00:00:18 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Snapshot Schedules</title>
			<link>https://wiki.osnexus.com/index.php?title=Snapshot_Schedules&amp;diff=28232&amp;oldid=27580</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Snapshot_Schedules&amp;diff=28232&amp;oldid=27580</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-triggering-a-snapshot-schedule-on-demand-snaps @ 2a0350bcdfcb (approved in the portal)&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=Snapshot_Schedules&amp;amp;diff=28232&amp;amp;oldid=27580&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Thu, 08 Oct 2026 00:00:14 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Snapshot_Schedules</comments>
		</item>
		<item>
			<title>Ceph over ZFS</title>
			<link>https://wiki.osnexus.com/index.php?title=Ceph_over_ZFS&amp;diff=28230&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Ceph_over_ZFS&amp;diff=28230&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-ceph-over-zfs-zfs-draid-pool-reserved @ d389deda0b81 (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
Ceph over ZFS runs Ceph OSDs on ZFS Storage Volumes (zvols) instead of directly on Physical Disks. There are a number of benefits of this architecture but the biggest is the double layer durability localizes the rebuild from failed drives so that the Ceph cluster doesn&amp;#039;t need to absorb that load and production workload impact.  The setup is simple, on each node you provision a Scale-up (ZFS) Storage Pool, ideally in a declustered RAID (dRAID) layout when you have 40+ drives per node.  These pools become the backing store for Ceph OSDs, which become one-to-one mapped to Storage Volumes (zvols).  So after the pool is created you&amp;#039;ll batch create something like 16x, 24x, or 32x Storage Volumes from each pool.  We call this the P:V or physical-to-virtual ratio and usually you&amp;#039;ll want to aim for anything from 2:1 to 4:1.  A 3:1 ratio means that for a node with 90x HDDs one would make that into a pool and then provision 30x (90:30 = 3:1) Storage Volumes to be turned into OSDs.   This reduction also reduces the number of OSD processes running on each node and the amount of RAM you need per system.  As an example with all 90x HDDs getting directly turned into OSDs we&amp;#039;d allocate 4GB to 6GB of RAM per OSD which amounts to 360GB to 540GB of RAM.   In contrast, with a P:V of 3:1 we are producing 30x OSDs rather than 90x OSDs for roughly the same capacity.  30x OSDs at 8GB RAM per OSD is just 240GB of RAM so we&amp;#039;re roughly cutting the RAM requirements in half.  The same goes for the required CPU power..  we&amp;#039;d normally allocate about 1 to 1.5GHz per HDD based OSD.  That&amp;#039;s 90GHz to 135GHz if using the 90x HDDs directly as OSDs.  Allocating 2GHz for each of the 30x zvol based OSDs puts us at just 60GHz.  Granted, with the second filesystem (ZFS) at work underneath Ceph you&amp;#039;ll need to reserve CPU for it and RAM for its ARC layer so the reduction can be somewhat offset but you should still see an overall reduction of 25% in CPU and RAM requirements. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#How it works|How it works]] || The Use Case setting and what it changes&lt;br /&gt;
|-&lt;br /&gt;
| [[#Requirements|Requirements]] || What must be in place before you start&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 1: Create a Storage Pool reserved for Ceph OSDs|Step 1]] || Reserve a ZFS pool for Ceph OSDs&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 2: Create the zvols|Step 2]] || Carve the zvols that back the OSDs&lt;br /&gt;
|-&lt;br /&gt;
| [[#Step 3: Create the OSDs|Step 3]] || Build one OSD on each zvol&lt;br /&gt;
|-&lt;br /&gt;
| [[#Operating notes|Operating notes]] || Boot order, LVM visibility and missing OSDs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
A ZFS Storage Pool carries a &amp;#039;&amp;#039;&amp;#039;Use Case&amp;#039;&amp;#039;&amp;#039; that is set when the pool is created and cannot be changed afterwards:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Use Case !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Default || The pool provisions Storage Volumes and Network Shares as usual.&lt;br /&gt;
|-&lt;br /&gt;
| Ceph OSD || The pool is reserved for zvols that back Ceph OSDs. Every Storage Volume created in it inherits the Ceph OSD use case.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A Storage Volume with the Ceph OSD use case is consumed directly by the Ceph OSD running on it. QuantaStor never presents it to hosts over iSCSI, FC or NVMe-oF: assigning one to a host fails with the message that the volume &amp;#039;&amp;#039;is reserved as a Ceph OSD backing device&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The setup has three steps, each covered below:&lt;br /&gt;
&lt;br /&gt;
# Create a ZFS Storage Pool with the Use Case set to &amp;#039;&amp;#039;&amp;#039;Ceph OSD&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Create the zvols in that pool, one per OSD you want.&lt;br /&gt;
# Create the OSDs from the zvols in the Ceph cluster.&lt;br /&gt;
&lt;br /&gt;
The Storage Pools list has a &amp;#039;&amp;#039;&amp;#039;Use Case&amp;#039;&amp;#039;&amp;#039; column, so you can tell a Default pool from one reserved for Ceph OSDs at a glance.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The pool must be a ZFS pool. QuantaStor refuses the Ceph OSD use case for any other pool type, and refuses a Ceph OSD zvol in a non-ZFS pool.&lt;br /&gt;
* The Storage System that owns the pool must be a member of the Ceph cluster you create the OSDs in, because that system creates the OSD on its own zvol.&lt;br /&gt;
* The pool must be started when you create the OSDs.&lt;br /&gt;
* Each zvol backs exactly one OSD. A snapshot, or a volume that is assigned to hosts, cannot back an OSD.&lt;br /&gt;
&lt;br /&gt;
See [[Scale-out Block Setup (ceph)]] or [[Scale-out Object Setup (ceph)]] for creating the Ceph cluster itself.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Create a Storage Pool reserved for Ceph OSDs ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Pools &amp;amp;rarr; Create &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039; &amp;amp;rarr; Advanced Settings &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png|thumb|right|800px|The Use Case list on the Advanced Settings tab of Create Storage Pool.]]&lt;br /&gt;
&lt;br /&gt;
Create the pool as described on [[Storage Pools]]: name it, pick the disks on the &amp;#039;&amp;#039;&amp;#039;General&amp;#039;&amp;#039;&amp;#039; tab and choose a &amp;#039;&amp;#039;&amp;#039;RAID Type&amp;#039;&amp;#039;&amp;#039;. The DRAID layouts suit this use case because the OSD layer is designed around a DRAID pool of HDDs (see [[#How QuantaStor treats a zvol-backed OSD|How QuantaStor treats a zvol-backed OSD]]).&lt;br /&gt;
&lt;br /&gt;
On the &amp;#039;&amp;#039;&amp;#039;Advanced Settings&amp;#039;&amp;#039;&amp;#039; tab, set &amp;#039;&amp;#039;&amp;#039;Use Case&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;Ceph OSD&amp;#039;&amp;#039;&amp;#039;. The other options on the tab (I/O Profile, Enable Compression, Enable SSD Auto Trim, Block Size Offset (ashift)) work as they do for any pool.&lt;br /&gt;
&lt;br /&gt;
The Use Case cannot be changed once the pool exists, so set it here.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#pool-create|qs pool-create]]&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;--pool-use-case=ceph-zvol-osd&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs pool-create --name=osd-pool-1 --disk-list=&amp;lt;disk1&amp;gt;,&amp;lt;disk2&amp;gt;,... --raid-type=DRAID2_1S --pool-use-case=ceph-zvol-osd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DRAID layouts the CLI accepts are DRAID, DRAID1_1S, DRAID1_2S, DRAID1_3S, DRAID2_1S, DRAID2_2S, DRAID2_3S, DRAID3_1S, DRAID3_2S and DRAID3_3S.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Create the zvols ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Volumes &amp;amp;rarr; Create &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
Select the reserved pool as the &amp;#039;&amp;#039;&amp;#039;Storage Pool&amp;#039;&amp;#039;&amp;#039; on the &amp;#039;&amp;#039;&amp;#039;General Settings&amp;#039;&amp;#039;&amp;#039; tab, then set a &amp;#039;&amp;#039;&amp;#039;Size&amp;#039;&amp;#039;&amp;#039; for each zvol. Each zvol becomes one OSD, so the size you choose here is the OSD&amp;#039;s capacity.&lt;br /&gt;
&lt;br /&gt;
On the &amp;#039;&amp;#039;&amp;#039;Advanced Settings&amp;#039;&amp;#039;&amp;#039; tab:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Use Case&amp;#039;&amp;#039;&amp;#039; shows &amp;#039;&amp;#039;&amp;#039;Ceph OSD&amp;#039;&amp;#039;&amp;#039; and is locked, because the pool forces its use case onto every volume it holds.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;% Reserved&amp;#039;&amp;#039;&amp;#039; defaults to &amp;#039;&amp;#039;&amp;#039;100%&amp;#039;&amp;#039;&amp;#039;. A zvol in a Ceph OSD pool is fully reserved by default because if the pool underneath runs out of space, every OSD on it starts failing writes at once. You can still lower it deliberately.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Block Size&amp;#039;&amp;#039;&amp;#039; sets the zvol&amp;#039;s block size. When the OSD is created, QuantaStor sets Bluestore&amp;#039;s minimum allocation size to match it, within a range of 4K to 64K.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Batch Create&amp;#039;&amp;#039;&amp;#039; creates several zvols of the same size in one step.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-create|qs volume-create]]&amp;lt;/code&amp;gt;. The CLI default for &amp;lt;code&amp;gt;--percent-reserved&amp;lt;/code&amp;gt; is 0, so pass 100 explicitly to match the web interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs volume-create --name=osd-vol --size=4T --pool=osd-pool-1 --count=6 --percent-reserved=100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A single OSD zvol in a Default pool ===&lt;br /&gt;
&lt;br /&gt;
You can also reserve an individual zvol in a Default pool: set &amp;#039;&amp;#039;&amp;#039;Use Case&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;Ceph OSD&amp;#039;&amp;#039;&amp;#039; on the &amp;#039;&amp;#039;&amp;#039;Advanced Settings&amp;#039;&amp;#039;&amp;#039; tab of Create Storage Volume, or pass &amp;lt;code&amp;gt;--volume-use-case=ceph-zvol-osd&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;qs volume-create&amp;lt;/code&amp;gt;. Only that zvol is set aside for Ceph; the pool&amp;#039;s other volumes stay available to hosts as usual. On a Ceph block pool there is nothing to choose, and the field stays at Default.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Create the OSDs ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Scale-out Storage Configuration &amp;amp;rarr; Data &amp;amp; Journal Devices &amp;amp;rarr; Create OSDs &amp;amp; Journals &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039; &amp;amp;rarr; Logical Devices &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
The Create OSDs dialog has two tabs of available devices: &amp;#039;&amp;#039;&amp;#039;Physical Devices&amp;#039;&amp;#039;&amp;#039; for unused disks and &amp;#039;&amp;#039;&amp;#039;Logical Devices&amp;#039;&amp;#039;&amp;#039; for zvols. The Logical Devices tab lists every zvol that has the Ceph OSD use case, is healthy, is not a snapshot and does not already back an OSD. Move the zvols you want into &amp;#039;&amp;#039;&amp;#039;Data/OSD Devices (HDDs or SSDs)&amp;#039;&amp;#039;&amp;#039; and click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;. You can combine zvols and physical disks in one create. See [[Create Ceph OSD]] for the journal and optimization options in the rest of the dialog.&lt;br /&gt;
&lt;br /&gt;
If a node has no unused physical disks but does have eligible zvols, the dialog still opens; it closes with &amp;#039;&amp;#039;No unused devices were found to create new OSDs or Journal Groups with&amp;#039;&amp;#039; only when neither tab has anything to offer.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#ceph-osd-multi-create|qs ceph-osd-multi-create]]&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;--volume-list&amp;lt;/code&amp;gt;, which you can combine with &amp;lt;code&amp;gt;--physical-disk-list&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs ceph-osd-multi-create --ceph-cluster=&amp;lt;cluster&amp;gt; --volume-list=osd-vol-1,osd-vol-2,osd-vol-3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How QuantaStor treats a zvol-backed OSD ===&lt;br /&gt;
&lt;br /&gt;
* A zvol is new and has no partition table to clear, so QuantaStor skips the quick-format it runs on physical disks.&lt;br /&gt;
* For WAL/DB placement, a zvol counts as spinning media, because it is only as fast as the HDD pool behind it. Journal Group devices on SSD therefore apply to it as they do to an HDD.&lt;br /&gt;
* Once the OSD is up, QuantaStor renames its zvol to {{Code|1=vol-&amp;lt;system name&amp;gt;-osd.&amp;lt;n&amp;gt;}}, so the volume and the OSD it carries line up in the web interface and the CLI. If the rename fails, the OSD is unaffected and the zvol keeps its old name.&lt;br /&gt;
&lt;br /&gt;
== Operating notes ==&lt;br /&gt;
&lt;br /&gt;
=== Boot order ===&lt;br /&gt;
&lt;br /&gt;
The OSDs cannot start until their pool is imported. At boot, QuantaStor imports every pool reserved for Ceph OSDs, and every Default pool that holds a Ceph OSD zvol, before the Ceph OSD services start. A pool that fails to import does not stop the rest of the boot; Ceph reports the OSDs on it as down.&lt;br /&gt;
&lt;br /&gt;
Two cases are skipped:&lt;br /&gt;
&lt;br /&gt;
* A pool with auto-start disabled is not imported, and the OSDs on it do not start.&lt;br /&gt;
* A pool managed by a Storage Pool HA failover group is left to the HA manager rather than imported at boot.&lt;br /&gt;
&lt;br /&gt;
=== LVM visibility ===&lt;br /&gt;
&lt;br /&gt;
Ceph builds each OSD as an LVM volume on its device, so LVM must be able to see the zvol. By default, the {{Code|1=global_filter}} in {{Code|1=/etc/lvm/lvm.conf}} hides every zvol from LVM so the appliance never scans a volume handed out to a client. QuantaStor adds accept rules for Ceph OSD zvols only: one rule for each pool reserved for Ceph OSDs, and one per zvol for a Ceph OSD zvol in a Default pool, so that pool&amp;#039;s other zvols stay hidden. It updates the rules when a pool is created or started, including on another node after an HA failover, and when a Ceph OSD zvol is created or deleted. Other entries in the filter are left alone.&lt;br /&gt;
&lt;br /&gt;
=== Missing OSDs ===&lt;br /&gt;
&lt;br /&gt;
If the pool behind an OSD is not imported, the OSD shows as missing. QuantaStor keeps the OSD&amp;#039;s link to its zvol, so it reconnects the OSD to the zvol once the pool is imported again.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Storage Pools]]&lt;br /&gt;
* [[Storage Volumes]]&lt;br /&gt;
* [[Create Ceph OSD]]&lt;br /&gt;
* [[Delete Ceph OSD]]&lt;br /&gt;
* [[Scale-out Block Setup (ceph)]]&lt;br /&gt;
* [[Scale-out Object Setup (ceph)]]&lt;br /&gt;
* [[Designing Systems]]&lt;br /&gt;
* [[QuantaStor CLI Command Reference]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 6.9.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</description>
			<pubDate>Thu, 08 Oct 2026 00:00:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Ceph_over_ZFS</comments>
		</item>
		<item>
			<title>+ Admin Guide Overview</title>
			<link>https://wiki.osnexus.com/index.php?title=%2B_Admin_Guide_Overview&amp;diff=28231&amp;oldid=28218</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=%2B_Admin_Guide_Overview&amp;diff=28231&amp;oldid=28218</guid>
			<description>&lt;p&gt;osn-seo-utilities: list &lt;a href=&quot;/index.php?title=Ceph_over_ZFS&quot; title=&quot;Ceph over ZFS&quot;&gt;Ceph over ZFS&lt;/a&gt; under Scale-out Cluster Configuration (docs-ceph-over-zfs-zfs-draid-pool-reserved)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:00, 8 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l146&quot;&gt;Line 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Scale-out Object Setup (ceph)]] || Scale-out object storage over the S3-compatible REST protocols.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Scale-out Object Setup (ceph)]] || Scale-out object storage over the S3-compatible REST protocols.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| [[Ceph over ZFS]] || Reserve a ZFS (DRAID) storage pool as the backing store for Ceph OSDs, with zvols used as the OSD devices.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28218:rev-28231:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Thu, 08 Oct 2026 00:00:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:%2B_Admin_Guide_Overview</comments>
		</item>
		<item>
			<title>File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png&amp;diff=28229&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png&amp;diff=28229&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png&quot; title=&quot;File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png&quot;&gt;File:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png&lt;/a&gt; osn-seo-utilities: screenshot for Ceph over ZFS (docs-ceph-over-zfs-zfs-draid-pool-reserved)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Ceph over ZFS (docs-ceph-over-zfs-zfs-draid-pool-reserved)&lt;/div&gt;</description>
			<pubDate>Thu, 08 Oct 2026 00:00:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Docs-docs-ceph-over-zfs-zfs-draid-pool-reserved-pool-use-case.png</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28228&amp;oldid=28221</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28228&amp;oldid=28221</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:00, 7 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing|Fibre Channel and iSCSI Block Storage with ALUA Multipathing]]&#039;&#039;&#039; &amp;amp;mdash; QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&#039;s state to the host with ALUA (Asymmetric Logical Unit Access).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[HA Cluster Setup (JBODs)|HA Cluster Setup (JBODs)]]&#039;&#039;&#039; &amp;amp;mdash; [[Category:admin_guide]] &#039;&#039;_TOC_&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[High-availability VIF Management|High-availability VIF Management]]&#039;&#039;&#039; &amp;amp;mdash; Cluster virtual interfaces (VIFs) are floating IP addresses that move between the appliances of a site cluster so that a service address stays reachable when the appliance hosting it fails.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[ISCSI Target Configuration|ISCSI Target Configuration]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents each Storage Volume to iSCSI clients as its own target, with its own IQN, on the network ports you allow for iSCSI.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[ISCSI Target Configuration|ISCSI Target Configuration]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; QuantaStor presents each Storage Volume to iSCSI clients as its own target, with its own IQN, on the network ports you allow for iSCSI.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28221:rev-28228:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:23 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>High-availability VIF Management</title>
			<link>https://wiki.osnexus.com/index.php?title=High-availability_VIF_Management&amp;diff=28227&amp;oldid=27814</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=High-availability_VIF_Management&amp;diff=28227&amp;oldid=27814</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-active-directory-spn-failover-with-the-ha @ b83457fda786 (approved in the portal)&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=High-availability_VIF_Management&amp;amp;diff=28227&amp;amp;oldid=27814&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:19 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:High-availability_VIF_Management</comments>
		</item>
		<item>
			<title>HA Cluster Setup (JBODs)</title>
			<link>https://wiki.osnexus.com/index.php?title=HA_Cluster_Setup_(JBODs)&amp;diff=28226&amp;oldid=28162</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=HA_Cluster_Setup_(JBODs)&amp;diff=28226&amp;oldid=28162</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-manual-planned-pool-failover @ d066481c2606 (approved in the portal)&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=HA_Cluster_Setup_(JBODs)&amp;amp;diff=28226&amp;amp;oldid=28162&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:14 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:HA_Cluster_Setup_(JBODs)</comments>
		</item>
		<item>
			<title>Guides:Fibre Channel and iSCSI Block Storage with ALUA Multipathing</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Fibre_Channel_and_iSCSI_Block_Storage_with_ALUA_Multipathing&amp;diff=28225&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Fibre_Channel_and_iSCSI_Block_Storage_with_ALUA_Multipathing&amp;diff=28225&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: fc-iscsi-alua @ f86c646a4cec (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 7, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
QuantaStor presents storage volumes as block LUNs over Fibre Channel, through QLogic host bus adapters running in target mode, and over iSCSI, and it reports each path&amp;#039;s state to the host with ALUA (Asymmetric Logical Unit Access). On a high-availability storage pool, the node that owns the pool serves a volume&amp;#039;s active paths, and the partner node serves standby paths to the same logical unit, so host multipath software always knows which paths to use and switches over cleanly when the pool fails over. This guide explains how those path states behave through a failover, how to design and set up FC and iSCSI access, and what to configure on Linux, VMware and Windows hosts, including Hyper-V failover clusters with Cluster Shared Volumes.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Most virtualization and database estates still run on block storage, and most of those hosts expect two things from the array: more than one path to every LUN, and an honest answer about which of those paths are optimized. Without ALUA, a host either sends I/O down paths that cannot serve it or waits for timeouts to learn that a path is dead. With ALUA, the array tells the host which paths are active and which are standby, and the host&amp;#039;s multipath driver (dm-multipath with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;scsi_dh_alua&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; on Linux, the in-box Microsoft DSM on Windows, the native multipathing plug-in on VMware ESXi) follows those states.&lt;br /&gt;
&lt;br /&gt;
Clustered hosts add a second requirement. A Windows Server Failover Cluster, Hyper-V Cluster Shared Volumes and other shared-disk clusters arbitrate ownership with SCSI-3 persistent reservations, and those reservations must stay valid when the storage itself fails over from one controller to the other. QuantaStor covers both: ALUA path states for every FC and iSCSI LUN on an HA pool, and clustered SCSI-3 persistent reservations that survive an HA failover.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
=== Fibre Channel target ports ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor&amp;#039;s fabric manager scans the FC transport about once a minute and creates an FC target port object for each QLogic port it finds. Any port that is target-mode capable is switched into target mode automatically unless you have explicitly set it to initiator mode, so a dedicated storage appliance needs no per-port configuration. The ports appear in the FC Ports tab of each Storage System, with State, Link State, Status and Mode columns; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Link Up - F_Port&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; in the Link State column means the port negotiated a point-to-point link to a fabric switch, which is what you want. [[Fibre Channel Target Port Management]] covers each column, target and initiator mode, LIPs and the CLI.&lt;br /&gt;
&lt;br /&gt;
Zoning is your job on the switch: QuantaStor cannot configure it. Zone each host initiator WWPN with the target WWPNs on both nodes of the HA pair, so every host sees paths through both controllers.&lt;br /&gt;
&lt;br /&gt;
=== Active and standby paths on an HA pool ===&lt;br /&gt;
&lt;br /&gt;
Each volume on an HA pool is one logical unit with one identity, visible through the target ports of both nodes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Node !! Device behind the LUN !! ALUA state reported !! What the host does&lt;br /&gt;
|-&lt;br /&gt;
| Pool owner || The volume itself || Active || Sends I/O on these paths&lt;br /&gt;
|-&lt;br /&gt;
| Partner node || A standby placeholder device with the same identity || Standby || Holds the paths in reserve&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The standby device advertises the same thin-provisioning support, UNMAP limits and block geometry as the volume, so a host sees one consistent logical unit no matter which node&amp;#039;s path it probes first. That matters for hosts that cache those properties per LUN, such as Windows trim and alignment handling, VMware VAAI UNMAP and dm-multipath discard limits.&lt;br /&gt;
&lt;br /&gt;
During an HA failover the old owner moves its LUNs onto standby devices rather than removing them, and the new owner switches its target group to active only once every LUN is backed by the real volume. Hosts keep the same set of paths throughout; only the states change. A volume&amp;#039;s relative target ID also stays the same across failovers, so hosts that track LUNs by target port identity keep their mapping.&lt;br /&gt;
&lt;br /&gt;
After a node restarts, its FC target ports are enabled only once every exported volume is mapped and its ALUA state is in place. When a former pool owner reboots and comes back as the partner, its ports open as soon as its standby devices are ready. Initiators therefore never log in to a port that has no LUNs or unsettled path states behind it. Deleting an HA group removes the partner node&amp;#039;s standby devices, ALUA device groups and FC LUN maps, so hosts do not keep standby paths to a node that can no longer serve the pool.&lt;br /&gt;
&lt;br /&gt;
=== Clustered SCSI-3 persistent reservations ===&lt;br /&gt;
&lt;br /&gt;
With clustered reservations enabled on the HA group, both nodes share reservation state through DLM (the Linux distributed lock manager) integrated with the SCST target driver. A reservation a cluster member takes through one node is honored on the other, and it survives a failover in either direction. Volumes enter clustered reservation mode only once they are assigned to a host, so unassigned volumes use no cluster locking resources. See [[Clustered SCSI-3 Persistent Reservations]].&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Pool layout.&amp;#039;&amp;#039;&amp;#039; Put block volumes on a storage pool in an HA failover group ([[Create Storage Pool High-Availability Group]]). Only HA pools have a partner node to serve standby paths.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Paths.&amp;#039;&amp;#039;&amp;#039; Give each host at least two initiator ports, each zoned (FC) or routed (iSCSI) to both nodes. Two host ports and two target ports per node gives four paths per LUN to each node: active through the owner, standby through the partner.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Port roles.&amp;#039;&amp;#039;&amp;#039; Keep the appliance&amp;#039;s FC ports in target mode. Use dual mode (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs-util enabledualmode&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, then a reboot) only when the appliance must also consume FC storage from another array; [[Dual-mode FC configuration]] describes the procedure.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;iSCSI addressing.&amp;#039;&amp;#039;&amp;#039; Point iSCSI discovery at an HA virtual interface, which moves with the pool ([[High-availability VIF Management]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Block size.&amp;#039;&amp;#039;&amp;#039; Choose the volume block size at creation time; it cannot be changed later. For VMware VMFS datastores use 8K to 64K, with 64K recommended for general virtualization workloads and 8K worth considering for databases ([[VMware Configuration]], [[Storage Volumes]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Clustered hosts.&amp;#039;&amp;#039;&amp;#039; Enable clustered SCSI-3 reservations on any HA group that serves Hyper-V CSVs, WSFC disks or other shared-disk clusters.&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Check the FC ports.&amp;#039;&amp;#039;&amp;#039; In Storage Management, select a Storage System and open the FC Ports tab. Every port you have cabled should show Mode &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Target&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, Status &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Online&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Link Up - F_Port&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; link state.  Ideally you&amp;#039;ll see the ports in dual Target+Initiator mode but if they are in just Initiator mode they&amp;#039;ll need to be transitioned to Target mode before they can be used to present Storage Volumes as FC LUNs from QuantaStor.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Create the HA group&amp;#039;&amp;#039;&amp;#039; for the pool, choose the primary and secondary systems, and set &amp;#039;&amp;#039;&amp;#039;Clustered SCSI3-PR Reservations&amp;#039;&amp;#039;&amp;#039; if the pool will serve a host cluster. Enabling or disabling it later from Modify Group brings every device of the pool into line on both nodes ([[Modify Storage Pool High-Availability Group]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png|frame|center|The Modify Storage Pool High-Availability Group dialog: the Clustered SCSI3-PR Reservations setting sits below the primary and secondary system choices]]&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Register each host.&amp;#039;&amp;#039;&amp;#039; In Hosts &amp;amp; Portal Groups, choose Add, set the operating system type, and enter the host&amp;#039;s iSCSI IQN or FC WWPN. For FC, Select Initiator lets you pick the WWPN from a list instead of typing it. Group the members of a host cluster in a host group so they get identical assignments ([[Hosts and Host Groups]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png|frame|center|The Add Host dialog: one host entry can carry an iSCSI IQN, an FC WWPN or an NVMe-oF NQN as its initiator]]&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Assign volumes&amp;#039;&amp;#039;&amp;#039; to the host or host group. An assignment maps the volume as a LUN through the target ports of both nodes, active on the owner and standby on the partner.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png|frame|center|The Hosts view: each registered host lists its initiator identifiers on the left and its storage volume assignments on the right]]&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Connect the hosts.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;Linux:&amp;#039;&amp;#039; set up the iSCSI initiator ([[ISCSI Initiator Setup]]) or rescan the FC HBAs, then configure dm-multipath with ALUA path grouping ([[Multipath IO Configuration]]).&lt;br /&gt;
** &amp;#039;&amp;#039;VMware ESXi:&amp;#039;&amp;#039; add the software iSCSI adapter, add the HA virtual interface address under Dynamic Discovery, and rescan storage. The volume appears as an &amp;quot;OSNEXUS iSCSI Disk&amp;quot;; match it to the EUI shown in the volume&amp;#039;s properties in QuantaStor, then create the VMFS datastore.&lt;br /&gt;
** &amp;#039;&amp;#039;Windows and Hyper-V:&amp;#039;&amp;#039; enable MPIO with the in-box Microsoft DSM, claim the QuantaStor disks, bring them online on one node, and add them to the failover cluster as Cluster Shared Volumes.&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Test the paths before production. On a Linux host, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;multipath -ll&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; should show two path groups per LUN: one whose paths go to the pool owner as active, and one whose paths go to the partner as standby (Windows MPIO and the ESXi path list show the same split). Then trigger a manual failover from Storage Pool HA Groups with Manual Failover ([[Storage Pool Ha Failover Group Failover]]) and watch the two groups swap states while I/O continues.&lt;br /&gt;
&lt;br /&gt;
For clustered hosts, test failover under real load. QuantaStor has been validated with two-host Windows Server 2022 Hyper-V failover clusters running Cluster Shared Volumes with SCSI-3 persistent reservations on FC HA pools, through manual and automatic failovers, live migration during a failover, and host drain and reboot.&lt;br /&gt;
&lt;br /&gt;
If a LUN does not appear on a host, check in this order: zoning on the switch, the FC port&amp;#039;s Link State, the host&amp;#039;s initiator entry in QuantaStor, and the volume assignment. Issuing a LIP from the FC Ports tab forces the fabric to rediscover the ports.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Which software-defined storage platforms support Fibre Channel and iSCSI with ALUA multipathing? ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor does. It presents volumes over FC through QLogic HBAs in target mode and over iSCSI, and it reports active and standby ALUA path states for every LUN on an HA storage pool. Hosts use their standard multipath drivers (dm-multipath, Windows MPIO with the Microsoft DSM, VMware native multipathing) with no vendor plug-in.&lt;br /&gt;
&lt;br /&gt;
=== What storage can I use for a Hyper-V failover cluster with Cluster Shared Volumes? ===&lt;br /&gt;
&lt;br /&gt;
Any FC or iSCSI LUN that supports SCSI-3 persistent reservations and keeps them through a controller failover. On QuantaStor that is a volume on an HA pool whose HA group has clustered SCSI-3 reservations enabled. Two-host Windows Server 2022 Hyper-V clusters with CSVs have been validated on FC HA pools, including live migration during a failover.&lt;br /&gt;
&lt;br /&gt;
=== What happens to host paths during an HA failover? ===&lt;br /&gt;
&lt;br /&gt;
Nothing is removed. The old owner&amp;#039;s paths change from active to standby, the new owner&amp;#039;s paths change from standby to active once every LUN is backed by the volume, and the host&amp;#039;s multipath driver moves I/O accordingly. Persistent reservations held by clustered hosts stay in place.&lt;br /&gt;
&lt;br /&gt;
=== Do I need to enable target mode on each FC port? ===&lt;br /&gt;
&lt;br /&gt;
No. Any target-capable QLogic port without an explicit initiator-mode setting is put into target mode automatically within about a minute. Use the Enable FC Initiator Mode action only for ports you want to use as initiators.&lt;br /&gt;
&lt;br /&gt;
=== Can I change a volume&amp;#039;s block size after creating it? ===&lt;br /&gt;
&lt;br /&gt;
No. The block size is fixed when the volume is created. To change it, create a new volume with the right size and move the data, for example by live-migrating VMs to a new VMware datastore.  You can grow the size of the Storage Volume at any time but the underlying block size is fixed at creation, 64K by default.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-fc-iscsi-alua.md @ f86c646a4cec --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Fibre_Channel_and_iSCSI_Block_Storage_with_ALUA_Multipathing</comments>
		</item>
		<item>
			<title>File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png&amp;diff=28224&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png&amp;diff=28224&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png&quot; title=&quot;File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png&quot;&gt;File:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-fc-iscsi-alua-fc-iscsi-alua-hosts.png</comments>
		</item>
		<item>
			<title>File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png&amp;diff=28223&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png&amp;diff=28223&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png&quot; title=&quot;File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png&quot;&gt;File:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-fc-iscsi-alua-fc-iscsi-alua-add-host.png</comments>
		</item>
		<item>
			<title>File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png&amp;diff=28222&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png&amp;diff=28222&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png&quot; title=&quot;File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png&quot;&gt;File:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (fc-iscsi-alua)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 20:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-fc-iscsi-alua-fc-iscsi-alua-ha-group-pr.png</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28221&amp;oldid=28204</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28221&amp;oldid=28204</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:45, 7 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Encryption at Rest and FIPS Mode for On-Premises Storage|Encryption at Rest and FIPS Mode for On-Premises Storage]]&#039;&#039;&#039; &amp;amp;mdash; Encryption at rest protects the data on a storage pool&#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&#039;t be read without the keys.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[ISCSI Target Configuration|ISCSI Target Configuration]]&#039;&#039;&#039; &amp;amp;mdash; QuantaStor presents each Storage Volume to iSCSI clients as its own target, with its own IQN, on the network ports you allow for iSCSI.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Network Ports|Network Ports]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Network Ports|Network Ports]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Network Ports|Network Ports]]&#039;&#039;&#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Nightly Database Analysis from iSCSI Snapshots|Nightly Database Analysis from iSCSI Snapshots]]&#039;&#039;&#039; &amp;amp;mdash; Offline database analysis means running reports, audits and heavy queries against a point-in-time copy of production data on a separate server, so that the production database never sees the load.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28204:rev-28221:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:21 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Network Ports</title>
			<link>https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28220&amp;oldid=28206</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28220&amp;oldid=28206</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-arp-flux-protection-for-multi-homed-ha @ d54c6794ab44 (approved in the portal)&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=Network_Ports&amp;amp;diff=28220&amp;amp;oldid=28206&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:18 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Network_Ports</comments>
		</item>
		<item>
			<title>File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png&amp;diff=28219&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png&amp;diff=28219&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png&quot; title=&quot;File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png&quot;&gt;File:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png&lt;/a&gt; osn-seo-utilities: screenshot for Network Ports (docs-arp-flux-protection-for-multi-homed-ha)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Network Ports (docs-arp-flux-protection-for-multi-homed-ha)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:18 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Docs-arp-flux-protection-for-multi-homed-ha-arp-filtering.png</comments>
		</item>
		<item>
			<title>+ Admin Guide Overview</title>
			<link>https://wiki.osnexus.com/index.php?title=%2B_Admin_Guide_Overview&amp;diff=28218&amp;oldid=28123</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=%2B_Admin_Guide_Overview&amp;diff=28218&amp;oldid=28123</guid>
			<description>&lt;p&gt;osn-seo-utilities: list &lt;a href=&quot;/index.php?title=ISCSI_Target_Configuration&quot; title=&quot;ISCSI Target Configuration&quot;&gt;ISCSI Target Configuration&lt;/a&gt; under Storage Provisioning (docs-iscsi-target-presentation-of-storage-volumes-t)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:45, 7 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Cloud Containers / NAS Gateway]] || Mapping an object-storage bucket to a Network Share so it can be accessed as files.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Cloud Containers / NAS Gateway]] || Mapping an object-storage bucket to a Network Share so it can be accessed as files.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| [[ISCSI Target Configuration]] || How QuantaStor presents storage volumes over iSCSI - target IQNs, portals and network ports, discovery, and what an initiator sees after a volume is assigned to a host.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28123:rev-28218:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:12 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:%2B_Admin_Guide_Overview</comments>
		</item>
		<item>
			<title>ISCSI Target Configuration</title>
			<link>https://wiki.osnexus.com/index.php?title=ISCSI_Target_Configuration&amp;diff=28217&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=ISCSI_Target_Configuration&amp;diff=28217&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: docs-iscsi-target-presentation-of-storage-volumes-t @ a4968c7b29ee (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;QuantaStor presents each Storage Volume to iSCSI clients as its own target, with its own IQN, on the network ports you allow for iSCSI. This page covers how the target IQN is formed, which addresses a target listens on, how assigning a volume to a host opens the target to that host&amp;#039;s initiator, how CHAP is applied, and what the initiator sees once it logs in.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#One target per Storage Volume|One target per Storage Volume]] || The target IQN format and why every iSCSI volume is LUN 0&lt;br /&gt;
|-&lt;br /&gt;
| [[#Portals: which network ports serve iSCSI|Portals: which network ports serve iSCSI]] || The iSCSI Portal setting on a network port, TCP port 3260, HA VIFs and Portal Groups&lt;br /&gt;
|-&lt;br /&gt;
| [[#Hosts and initiator IQNs|Hosts and initiator IQNs]] || Registering a client by its initiator IQN&lt;br /&gt;
|-&lt;br /&gt;
| [[#Assigning a Storage Volume to a host|Assigning a Storage Volume to a host]] || What an assignment programs on the target&lt;br /&gt;
|-&lt;br /&gt;
| [[#Discovery and login|Discovery and login]] || What a client needs to find and log in to a target&lt;br /&gt;
|-&lt;br /&gt;
| [[#CHAP authentication|CHAP authentication]] || Per-volume, per-user and Resource Group CHAP&lt;br /&gt;
|-&lt;br /&gt;
| [[#What the initiator sees|What the initiator sees]] || Vendor and product strings, device identifiers&lt;br /&gt;
|-&lt;br /&gt;
| [[#iSCSI sessions|iSCSI sessions]] || Viewing and dropping active sessions&lt;br /&gt;
|-&lt;br /&gt;
| [[#Troubleshooting|Troubleshooting]] || A volume that does not appear on the client&lt;br /&gt;
|-&lt;br /&gt;
| [[#CLI reference|CLI reference]] || The commands used on this page&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== One target per Storage Volume ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor uses the SCST iSCSI target. Every Storage Volume gets its own iSCSI target, and assigning the volume to more hosts adds initiators to that same target rather than creating new ones. Because each volume has a unique IQN, the volume is always presented at &amp;#039;&amp;#039;&amp;#039;LUN 0&amp;#039;&amp;#039;&amp;#039; of its target. The LUN number you can set on a Storage Volume, labelled FC LUN, applies only to Fibre Channel; see [[Fibre Channel Target Port Management]].&lt;br /&gt;
&lt;br /&gt;
A target IQN has three parts after the fixed prefix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
iqn.2009-10.com.osnexus:9c30f734-0d4edacd5d071f74:volume-vmwaretest.001&lt;br /&gt;
                        |        |                |&lt;br /&gt;
                        |        |                +-- Storage Volume name (underscores become dots)&lt;br /&gt;
                        |        +-- first 16 hex digits of the Storage Volume ID&lt;br /&gt;
                        +-- first 8 hex digits of the Storage Pool ID&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The pool part is what ties a target to its pool. QuantaStor uses it to decide which portals a target is offered on, which is how a volume in an HA pool follows the pool&amp;#039;s virtual interface (see below). If a volume is in a namespace, the namespace is inserted before the pool part.&lt;br /&gt;
&lt;br /&gt;
The IQN is shown in the IQN row of the Storage Volume&amp;#039;s Properties panel and in the Target IQN/WWN column of the Storage Volumes grid. It is also returned by &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-get|qs volume-get]] --volume=&amp;amp;lt;volume&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The IQN format is controlled by the {{Code|1=[iqn]}} section of {{Code|1=/etc/quantastor.conf}}. Leave it at the defaults: initiators that are already logged in identify the volume by its IQN, so a change affects every existing client.&lt;br /&gt;
&lt;br /&gt;
== Portals: which network ports serve iSCSI ==&lt;br /&gt;
&lt;br /&gt;
A portal is an IP address and TCP port on which a target accepts logins. QuantaStor&amp;#039;s iSCSI target listens on TCP port &amp;#039;&amp;#039;&amp;#039;3260&amp;#039;&amp;#039;&amp;#039;. If a firewall sits between the clients and the appliance, it must allow that port; see [[Firewall Configuration]].&lt;br /&gt;
&lt;br /&gt;
=== The iSCSI Portal setting on a network port ===&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Systems &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;select a Storage System&amp;#039;&amp;#039; &amp;amp;rarr; Network Ports &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;select a port&amp;#039;&amp;#039; &amp;#039;&amp;#039;(select + right-click)&amp;#039;&amp;#039; &amp;amp;rarr; Modify Network Port}}&lt;br /&gt;
&lt;br /&gt;
Each network port has an &amp;#039;&amp;#039;&amp;#039;iSCSI Portal&amp;#039;&amp;#039;&amp;#039; checkbox in the Modify Network Port dialog. The dialog&amp;#039;s tooltip describes it: &amp;#039;&amp;#039;by checking this option this interface becomes an allowed portal for the protocol.&amp;#039;&amp;#039; A target is offered only on ports that have iSCSI enabled and a valid IP address. Clear the checkbox on management or replication ports to keep block traffic off them. The checkbox is not available on the grid management virtual interface. [[Network Ports]] covers the rest of the dialog.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#network-port-modify|qs network-port-modify]] --port=&amp;amp;lt;port&amp;amp;gt; --iscsi-enable=true&amp;lt;/code&amp;gt;. The Properties panel for a port shows the current setting in the iSCSI Enabled? row.&lt;br /&gt;
&lt;br /&gt;
If no port on the appliance has iSCSI enabled, QuantaStor binds the targets to the loopback address only, which blocks all external iSCSI access.&lt;br /&gt;
&lt;br /&gt;
=== HA pools and virtual interfaces ===&lt;br /&gt;
&lt;br /&gt;
For a volume in a high-availability Storage Pool, QuantaStor offers the target &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; on the pool&amp;#039;s HA virtual interfaces (VIFs), not on the appliance&amp;#039;s physical port addresses. The VIF moves with the pool on failover, so a client that logged in through it reconnects to the node that now owns the pool. Point initiators at the VIF address, never at a node&amp;#039;s own IP. Configure the VIF in [[High-availability VIF Management]], and enable iSCSI on it when you create it.&lt;br /&gt;
&lt;br /&gt;
Volumes in a scale-out (Ceph) pool are offered on the site cluster VIFs by default; see [[Cluster VIFs]].&lt;br /&gt;
&lt;br /&gt;
=== Portal Groups ===&lt;br /&gt;
&lt;br /&gt;
A Portal Group restricts a set of Storage Volumes to a specific set of cluster VIFs and FC ports, for example to keep one group of clients on one storage network. Portal Groups live in the Hosts &amp;amp;amp; Portal Groups section. A Portal Group belongs to one Storage Pool, and a Storage Volume can be in at most one Portal Group. Create one with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#portal-group-create|qs portal-group-create]] --name=&amp;amp;lt;name&amp;amp;gt; --pool=&amp;amp;lt;pool&amp;amp;gt;&amp;lt;/code&amp;gt;, or list the portals a pool can use with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#pool-portals-list|qs pool-portals-list]] --pool=&amp;amp;lt;pool&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Resource Group network settings narrow the allowed portals further for volumes that belong to a tenant; see [[Create Resource Group]].&lt;br /&gt;
&lt;br /&gt;
== Hosts and initiator IQNs ==&lt;br /&gt;
&lt;br /&gt;
[[File:Docs-iscsi-target-host-add.png|thumb|right|600px|The Add Host dialog. Choose iSCSI Initiator (IQN) and paste the client&amp;#039;s initiator IQN.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Hosts &amp;amp;amp; Portal Groups &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; Host &amp;#039;&amp;#039;(toolbar group)&amp;#039;&amp;#039; &amp;amp;rarr; Add &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
QuantaStor grants access by initiator, so each client must exist as a host with its initiator IQN. Copy the IQN from the client: on Linux it is in {{Code|1=/etc/iscsi/initiatorname.iscsi}}; on VMware ESXi it is shown on the software iSCSI adapter (see [[VMware Configuration]]); on Windows it is on the Configuration tab of the iSCSI Initiator.&lt;br /&gt;
&lt;br /&gt;
The Add Host dialog has these fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Host Name&amp;#039;&amp;#039;&amp;#039; || A name for the host in QuantaStor. It does not have to match the client&amp;#039;s hostname. Letters, digits and {{Code|1=- _ .}} only.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Description&amp;#039;&amp;#039;&amp;#039; || Optional.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Operating System Type&amp;#039;&amp;#039;&amp;#039; || Windows, Mac OS X, Linux, Solaris, AIX, HP-UX, VMware, XenServer or Other. Windows is the default.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Initiator&amp;#039;&amp;#039;&amp;#039; || One of &amp;#039;&amp;#039;&amp;#039;iSCSI Initiator (IQN)&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;FC Initiator WWPN&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;NVMeoF Initiator (NQN)&amp;#039;&amp;#039;&amp;#039;. For iSCSI, select the first option and enter the IQN, for example {{Code|1=iqn.1991-05.com.example:iscsihost-03fo1500}}.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The dialog takes one initiator. A client with several initiators, or a cluster node that should be reachable under one host entry, gets the others through &amp;#039;&amp;#039;&amp;#039;Add Initiator&amp;#039;&amp;#039;&amp;#039; on the Host toolbar group, or &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#host-initiator-add|qs host-initiator-add]] --host=&amp;amp;lt;host&amp;amp;gt; --iqn=&amp;amp;lt;iqn&amp;amp;gt;&amp;lt;/code&amp;gt;. Only entries that begin with {{Code|1=iqn.}} are used for iSCSI access; WWPNs and NQNs are used by the FC and NVMe-oF targets.&lt;br /&gt;
&lt;br /&gt;
To give a group of clients, such as the nodes of a hypervisor cluster, the same volumes, put the hosts in a Host Group and assign volumes to the group. [[Hosts and Host Groups]] covers hosts, host groups and their dialogs in full.&lt;br /&gt;
&lt;br /&gt;
The CLI equivalent of the dialog is &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#host-add|qs host-add]] --hostname=&amp;amp;lt;name&amp;amp;gt; --iqn=&amp;amp;lt;iqn&amp;amp;gt; --host-type=linux&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Assigning a Storage Volume to a host ==&lt;br /&gt;
&lt;br /&gt;
[[File:Docs-iscsi-target-volume-assign.png|thumb|right|438px|The Assign/Unassign Storage Volume dialog. Tick the hosts, or switch to the Host Groups tab, then click OK.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Volumes &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;select a Storage Volume&amp;#039;&amp;#039; &amp;amp;rarr; Assign &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
The same dialog is on the right-click menu of a Storage Volume as &amp;#039;&amp;#039;&amp;#039;Assign/Unassign Host Access...&amp;#039;&amp;#039;&amp;#039;. To work from the other direction, select a host and use &amp;#039;&amp;#039;&amp;#039;Assign&amp;#039;&amp;#039;&amp;#039; on the Host toolbar group, or &amp;#039;&amp;#039;&amp;#039;Assign Volumes...&amp;#039;&amp;#039;&amp;#039; on its right-click menu, to choose several volumes for one host.&lt;br /&gt;
&lt;br /&gt;
The dialog lists every host and host group. Ticked entries have access to the volume; clearing a tick removes it. The &amp;#039;&amp;#039;&amp;#039;Release/free unused storage volume LUN number(s)&amp;#039;&amp;#039;&amp;#039; checkbox concerns FC LUN numbers only and has no effect on iSCSI, where the LUN is always 0.&lt;br /&gt;
&lt;br /&gt;
When you click OK, QuantaStor updates the volume&amp;#039;s target:&lt;br /&gt;
&lt;br /&gt;
# The target gets an access list (an SCST initiator group) containing the iSCSI IQNs of every assigned host and every host in an assigned host group. New initiators are added before removed ones are taken out.&lt;br /&gt;
# The volume&amp;#039;s CHAP settings are applied to the target.&lt;br /&gt;
# The target is enabled, on the allowed portals described above.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A target is enabled only while it has at least one initiator.&amp;#039;&amp;#039;&amp;#039; An unassigned volume, or one assigned only to hosts that have no iSCSI IQN, has no active iSCSI target, and no client can log in to it.&lt;br /&gt;
&lt;br /&gt;
From the CLI: &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-assign|qs volume-assign]] --volume=&amp;amp;lt;volume&amp;amp;gt; --host-list=&amp;amp;lt;host&amp;amp;gt;&amp;lt;/code&amp;gt;, reversed with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-unassign|qs volume-unassign]]&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-assign-list|qs volume-assign-list]] --host=&amp;amp;lt;host&amp;amp;gt;&amp;lt;/code&amp;gt; lists what a host can reach.&lt;br /&gt;
&lt;br /&gt;
== Discovery and login ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor does not configure iSNS. Clients find targets by SendTargets discovery against a portal address:&lt;br /&gt;
&lt;br /&gt;
* For a volume in a standalone pool, use the IP address of a network port with iSCSI enabled.&lt;br /&gt;
* For a volume in an HA pool, use the pool&amp;#039;s HA VIF address.&lt;br /&gt;
* For a volume in a scale-out pool, use a site cluster VIF address.&lt;br /&gt;
&lt;br /&gt;
On a Linux client with open-iscsi, discover and log in like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
iscsiadm -m discovery -t sendtargets -p 10.0.20.50:3260&lt;br /&gt;
iscsiadm -m node -T iqn.2009-10.com.osnexus:9c30f734-0d4edacd5d071f74:vol1 -p 10.0.20.50:3260 --login&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A client discovers a target only on the portals that the target is allowed on. To reach a volume over several networks for multipathing, enable iSCSI on a port in each network and log in once per portal; see [[Multipath Configuration]]. Client-side setup for Linux and Windows is covered in [[ISCSI Initiator Setup]], and for ESXi in [[VMware Configuration]].&lt;br /&gt;
&lt;br /&gt;
== CHAP authentication ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Volumes &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;select a Storage Volume&amp;#039;&amp;#039; &amp;amp;rarr; Modify &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039; &amp;amp;rarr; Security Settings &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
CHAP is set per Storage Volume, so it applies to the volume&amp;#039;s target and to every host assigned to it. Hosts have no CHAP settings. The Security Settings tab of the Storage Volume Create and Modify dialogs has a &amp;#039;&amp;#039;&amp;#039;CHAP Authentication &amp;amp;amp; Policy Settings&amp;#039;&amp;#039;&amp;#039; group with three options:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Credentials used&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Use User&amp;#039;s default CHAP user/pass if available&amp;#039;&amp;#039;&amp;#039; || The default CHAP username and password of the QuantaStor user who owns the volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Use Resource Group default CHAP user/pass&amp;#039;&amp;#039;&amp;#039; || The CHAP credentials of the volume&amp;#039;s Resource Group, for multi-tenant setups.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Use Volume specific CHAP user/pass specified below&amp;#039;&amp;#039;&amp;#039; || The &amp;#039;&amp;#039;&amp;#039;CHAP Username&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;CHAP Password&amp;#039;&amp;#039;&amp;#039; entered in the dialog.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The username may not contain spaces. The password must be 12 to 16 alphanumeric characters. CHAP is disabled by default. Once it is enabled, the client must be configured with the same username and password before it can log in, so set the client first or expect existing sessions to fail at their next login.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-modify|qs volume-modify]] --volume=&amp;amp;lt;volume&amp;amp;gt; --chap-policy=target --chap-user=&amp;amp;lt;user&amp;amp;gt; --chap-pass=&amp;amp;lt;password&amp;amp;gt;&amp;lt;/code&amp;gt;. The other {{Code|1=--chap-policy}} values are {{Code|1=user-defaults}}, {{Code|1=cloud-defaults}} (the Resource Group credentials) and {{Code|1=disabled}}.&lt;br /&gt;
&lt;br /&gt;
QuantaStor configures one-way CHAP, where the target authenticates the initiator. Mutual CHAP is off.&lt;br /&gt;
&lt;br /&gt;
== What the initiator sees ==&lt;br /&gt;
&lt;br /&gt;
After login, the client sees one disk per target at LUN 0, with:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Property !! Value&lt;br /&gt;
|-&lt;br /&gt;
| SCSI vendor || {{Code|1=OSNEXUS}}&lt;br /&gt;
|-&lt;br /&gt;
| SCSI product || {{Code|1=QUANTASTOR}}&lt;br /&gt;
|-&lt;br /&gt;
| Device identification || An NAA type 6 identifier, {{Code|1=62000000}} followed by a descriptor built from the Storage Volume ID and the Storage System ID, plus a T10 vendor ID and a unit serial number built from the same descriptor&lt;br /&gt;
|-&lt;br /&gt;
| Size || The Storage Volume&amp;#039;s size. A resize is visible after the client rescans the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The identifiers come from the Storage Volume&amp;#039;s ID rather than its name, and they are the same on every portal the target is offered on. That is what lets a multipath driver recognise the paths through each portal as one device. The Properties panel of a Storage Volume also shows a VMware EUI identifier, which is how [[VMware Configuration]] matches a datastore device to its volume.&lt;br /&gt;
&lt;br /&gt;
Per-volume iSCSI tuning, such as burst lengths and queued commands, comes from the volume&amp;#039;s IO profile rather than from appliance-wide settings; see [[Storage Volumes]].&lt;br /&gt;
&lt;br /&gt;
== iSCSI sessions ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Volumes &amp;#039;&amp;#039;(section)&amp;#039;&amp;#039; &amp;amp;rarr; &amp;#039;&amp;#039;select a Storage Volume&amp;#039;&amp;#039; &amp;amp;rarr; Sessions &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
The Sessions tab below the Storage Volumes grid lists the active iSCSI sessions for the selected volume: Storage System, Session, State, Storage Volume, Initiator IQN/WWN, Initiator IP, Target IQN/WWN, Reads, Writes and Created. It is the quickest way to confirm that a client actually logged in, and from which address.&lt;br /&gt;
&lt;br /&gt;
To end a session, right-click it and choose &amp;#039;&amp;#039;&amp;#039;Drop Session&amp;#039;&amp;#039;&amp;#039;; see [[Session Drop]]. The CLI help recommends removing the host&amp;#039;s assignment instead, because dropping a session does not take away the host&amp;#039;s access.&lt;br /&gt;
&lt;br /&gt;
From the CLI: &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-session-list|qs volume-session-list]] --volume=&amp;amp;lt;volume&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-session-close|qs volume-session-close]] --volume=&amp;amp;lt;volume&amp;amp;gt; --session-list=&amp;amp;lt;session&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Discovery returns no targets.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Check that the volume is assigned to a host, and that the host entry has the client&amp;#039;s exact initiator IQN. A typo in the IQN leaves the target with no matching initiator.&lt;br /&gt;
* Check that the address you discover against is on a port with iSCSI Portal enabled, or, for an HA pool, is the pool&amp;#039;s VIF.&lt;br /&gt;
* Check that TCP port 3260 is open between the client and the appliance.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Discovery works but login fails.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* CHAP mismatch: compare the volume&amp;#039;s CHAP settings with the client&amp;#039;s.&lt;br /&gt;
* The client is using a node IP for a volume in an HA pool. Use the VIF.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The client logs in but sees no disk.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Rescan the client&amp;#039;s iSCSI adapter. On ESXi, rescan storage after every new assignment.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A volume disappears from a client.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Check whether the assignment was removed, the host&amp;#039;s initiator IQN changed, or the port&amp;#039;s iSCSI Portal setting cleared.&lt;br /&gt;
&lt;br /&gt;
== CLI reference ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#host-add|qs host-add]]&amp;lt;/code&amp;gt; || Add a host with its initiator IQN&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#host-initiator-add|qs host-initiator-add]]&amp;lt;/code&amp;gt; || Add another initiator IQN to a host&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-assign|qs volume-assign]]&amp;lt;/code&amp;gt; || Give hosts access to a Storage Volume&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-unassign|qs volume-unassign]]&amp;lt;/code&amp;gt; || Remove access&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-assign-list|qs volume-assign-list]]&amp;lt;/code&amp;gt; || List volume-to-host assignments&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-modify|qs volume-modify]]&amp;lt;/code&amp;gt; || Set the CHAP policy and credentials&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#network-port-modify|qs network-port-modify]]&amp;lt;/code&amp;gt; || Enable or disable iSCSI on a port&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#portal-group-create|qs portal-group-create]]&amp;lt;/code&amp;gt; || Restrict volumes to a set of VIFs and FC ports&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-session-list|qs volume-session-list]]&amp;lt;/code&amp;gt; || List active iSCSI sessions&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#volume-session-close|qs volume-session-close]]&amp;lt;/code&amp;gt; || Close an iSCSI session&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Hosts and Host Groups]]&lt;br /&gt;
* [[Storage Volumes]]&lt;br /&gt;
* [[Network Ports]]&lt;br /&gt;
* [[High-availability VIF Management]]&lt;br /&gt;
* [[ISCSI Initiator Setup]]&lt;br /&gt;
* [[Multipath Configuration]]&lt;br /&gt;
* [[VMware Configuration]]&lt;br /&gt;
* [[Fibre Channel Target Port Management]]&lt;br /&gt;
* [[NVMe-oF Target Configuration]]&lt;br /&gt;
* [[QuantaStor CLI Command Reference]]&lt;br /&gt;
&lt;br /&gt;
[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 6.9.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:12 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:ISCSI_Target_Configuration</comments>
		</item>
		<item>
			<title>File:Docs-iscsi-target-volume-assign.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Docs-iscsi-target-volume-assign.png&amp;diff=28216&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Docs-iscsi-target-volume-assign.png&amp;diff=28216&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Docs-iscsi-target-volume-assign.png&quot; title=&quot;File:Docs-iscsi-target-volume-assign.png&quot;&gt;File:Docs-iscsi-target-volume-assign.png&lt;/a&gt; osn-seo-utilities: screenshot for ISCSI Target Configuration (docs-iscsi-target-presentation-of-storage-volumes-t)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for ISCSI Target Configuration (docs-iscsi-target-presentation-of-storage-volumes-t)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:12 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Docs-iscsi-target-volume-assign.png</comments>
		</item>
		<item>
			<title>File:Docs-iscsi-target-host-add.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Docs-iscsi-target-host-add.png&amp;diff=28215&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Docs-iscsi-target-host-add.png&amp;diff=28215&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Docs-iscsi-target-host-add.png&quot; title=&quot;File:Docs-iscsi-target-host-add.png&quot;&gt;File:Docs-iscsi-target-host-add.png&lt;/a&gt; osn-seo-utilities: screenshot for ISCSI Target Configuration (docs-iscsi-target-presentation-of-storage-volumes-t)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for ISCSI Target Configuration (docs-iscsi-target-presentation-of-storage-volumes-t)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:12 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Docs-iscsi-target-host-add.png</comments>
		</item>
		<item>
			<title>Guides:Nightly Database Analysis from iSCSI Snapshots</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Nightly_Database_Analysis_from_iSCSI_Snapshots&amp;diff=28214&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Nightly_Database_Analysis_from_iSCSI_Snapshots&amp;diff=28214&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: db-analysis-iscsi-snapshot @ cf7d5275edd5 (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 3, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Offline database analysis means running reports, audits and heavy queries against a point-in-time copy of production data on a separate server, so that the production database never sees the load. QuantaStor makes that copy with a snapshot schedule that snapshots every database volume in a pool at the same instant, presents those snapshots to an analysis server over iSCSI, and rotates old copies out on its own. This guide builds the whole nightly loop with the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; CLI and a short bash script that triggers the schedule, waits for the new snapshots, swaps the old mounts for new ones and verifies them.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Nightly reporting, data-quality checks and ad-hoc analysis all compete with production I/O when they run against the live database. Copying databases to a reporting server every night is slow and doubles the capacity bill. A snapshot avoids both: it is created near-instantly, records metadata rather than copying blocks, and consumes pool space only for blocks that change afterwards.&lt;br /&gt;
&lt;br /&gt;
A snapshot schedule adds two things a hand-rolled snapshot script lacks. All ZFS members of a schedule that live in the same [[Storage Pools|storage pool]] are snapshotted by a single ZFS command, so a database spread across data, log and index volumes is captured as one crash-consistent set rather than several copies taken seconds apart. The schedule also owns rotation, so you never write cleanup code that deletes the wrong snapshot.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
The moving parts on the appliance side are all documented reference features:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Snapshot Schedules]]&amp;#039;&amp;#039;&amp;#039; take the snapshots, name them &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;volume&amp;gt;_GMT&amp;lt;YYYYMMDD&amp;gt;_&amp;lt;HHMMSS&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; from the UTC start time of the run, and keep only &amp;#039;&amp;#039;&amp;#039;Max Short Term Snapshots&amp;#039;&amp;#039;&amp;#039; of each volume in the rotating window.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Triggering&amp;#039;&amp;#039;&amp;#039; runs a schedule immediately, in addition to its timed runs. From the CLI it is &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs snap-schedule-trigger&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, and over the [[QuantaStor REST API Reference Guide|REST API]] it is the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;snapshotScheduleTrigger&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; call. Triggering a disabled schedule does nothing, so the schedule must stay enabled.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lazy cloning.&amp;#039;&amp;#039;&amp;#039; A schedule snapshot sits in the Offline state with no iSCSI target until it is needed. Assigning it to a host materializes it: the clone is created, the target is registered and the state moves to Normal. Each volume, snapshots included, gets its own target IQN and presents at LUN 0 (see [[Storage Volumes]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Host assignment&amp;#039;&amp;#039;&amp;#039; is the LUN masking that lets only the analysis server see the snapshot ([[Hosts and Host Groups]]).&lt;br /&gt;
&lt;br /&gt;
On the analysis server, open-iscsi logs in to the snapshot&amp;#039;s target and the filesystem is mounted like any local disk. Because the snapshot is a writable clone (Read/Write is the default access mode for snapshots), the database engine or the filesystem can replay its journal on mount as it would after a power loss. Those writes land in the clone and never touch the production volume.&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
Put every volume of one database, or every database you want captured at the same instant, in the &amp;#039;&amp;#039;&amp;#039;same storage pool&amp;#039;&amp;#039;&amp;#039; and the &amp;#039;&amp;#039;&amp;#039;same schedule&amp;#039;&amp;#039;&amp;#039;. Atomicity holds per pool, and &amp;#039;&amp;#039;&amp;#039;Disable Atomicity&amp;#039;&amp;#039;&amp;#039; on the schedule&amp;#039;s Advanced Settings tab breaks it into batches, so leave it off for this use. A schedule run also snapshots only members owned by the appliance it runs on.&lt;br /&gt;
&lt;br /&gt;
The snapshots are crash-consistent. If your database needs a cleaner point, the schedule runs &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/var/opt/osnexus/custom/schedule-prestart.sh&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; on the appliance at the start of every run, before any snapshot is taken, with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--name=&amp;lt;schedule name&amp;gt; --id=&amp;lt;schedule id&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. It blocks the run for up to five minutes, which is enough to ask the database to checkpoint.&lt;br /&gt;
&lt;br /&gt;
Retention for an analysis schedule is short. You only need the snapshot being analyzed and the one about to replace it:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting !! Suggested value !! Reason&lt;br /&gt;
|-&lt;br /&gt;
| Max Short Term Snapshots (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--max-snaps&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) || 3 || The mounted snapshot is never the oldest one in the window&lt;br /&gt;
|-&lt;br /&gt;
| Hourly to quarterly retention (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--rc-*&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) || 0 || Long-term tags exempt snapshots from rotation, holding space you don&amp;#039;t need&lt;br /&gt;
|-&lt;br /&gt;
| Schedule type || Calendar, one hour per day || The schedule must be enabled for triggers to work, so give it a harmless timed run&lt;br /&gt;
|-&lt;br /&gt;
| Offset || Different from any replication schedule on the same volumes || A member snapshotted by another schedule within the last 10 seconds is skipped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Capacity cost tracks write volume, not database size: each snapshot holds the blocks overwritten since it was taken, and the mounted clone adds whatever the analysis server writes. Check &amp;#039;&amp;#039;&amp;#039;Max Total Source Snapshots&amp;#039;&amp;#039;&amp;#039; on the Snapshot Settings tab against pool free space before you commit.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png|frame|center|The Snapshot Settings tab: clear the long-term counts and keep Max Short Term Snapshots small, and watch the Max Total Source Snapshots figure]]&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Create the schedule.&amp;#039;&amp;#039;&amp;#039; In the web interface, go to &amp;#039;&amp;#039;&amp;#039;Storage Management → Schedules → Snapshot Schedule → Create&amp;#039;&amp;#039;&amp;#039;, or use the CLI. This schedule runs at 1 AM every day, keeps three snapshots per volume and no long-term copies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qs snap-schedule-create --name=db-nightly \&lt;br /&gt;
  --days=mon,tue,wed,thu,fri,sat,sun --hours=1am \&lt;br /&gt;
  --volume-list=db-sales,db-finance,db-hr \&lt;br /&gt;
  --max-snaps=3 --rc-hourly=0 --rc-dailies=0 --rc-weeklies=0 \&lt;br /&gt;
  --rc-monthlies=0 --rc-quarterlies=0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png|frame|center|The Schedule Interval tab: tick the days and the single hour the schedule should fire on its own]]&lt;br /&gt;
&lt;br /&gt;
To add another database later, use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs snap-schedule-add --schedule=db-nightly --volume-list=db-ops&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or the &amp;#039;&amp;#039;&amp;#039;Update Selections&amp;#039;&amp;#039;&amp;#039; dialog ([[Snapshot Schedule Add/Remove Volumes]]). &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs snap-schedule-assoc-list --schedule=db-nightly&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; confirms the members.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Register the analysis server.&amp;#039;&amp;#039;&amp;#039; Read its IQN from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/etc/iscsi/initiatorname.iscsi&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (install &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;open-iscsi&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;iscsi-initiator-utils&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; if it is missing) and add a Host with that IQN, as described in [[ISCSI Initiator Setup]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qs host-add --hostname=analytics1 --host-type=linux \&lt;br /&gt;
  --iqn=iqn.1994-05.com.redhat:5a66857c49dc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png|frame|center|The Add Host dialog: set Operating System Type to Linux and paste the server&amp;#039;s IQN into iSCSI Initiator]]&lt;br /&gt;
&lt;br /&gt;
The appliance port at 192.0.2.10 in the examples below must have iSCSI enabled, or discovery returns no portals.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Install the refresh script&amp;#039;&amp;#039;&amp;#039; on the analysis server. It needs the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; CLI pointed at the appliance (the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;QS_SERVER&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; variable or &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;~/.qs.cnf&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, per the [[QuantaStor CLI Command Reference|CLI reference]]), plus &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;jq&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;iscsiadm&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/bash&lt;br /&gt;
set -euo pipefail  # usage: refresh-db-snaps.sh [--use-existing-snaps]&lt;br /&gt;
&lt;br /&gt;
SCHEDULE=db-nightly&lt;br /&gt;
HOST=analytics1                      # Host object holding this server&amp;#039;s IQN&lt;br /&gt;
PORTAL=192.0.2.10                    # iSCSI-enabled port on the appliance&lt;br /&gt;
VOLUMES=&amp;quot;db-sales db-finance db-hr&amp;quot;  # source volumes; each mounts at $MNT/&amp;amp;lt;volume&amp;amp;gt;&lt;br /&gt;
MNT=/mnt/dbsnap&lt;br /&gt;
PART=-part1                          # set to &amp;quot;&amp;quot; if the filesystem uses the whole disk&lt;br /&gt;
STATE=/var/lib/dbsnap                # which snapshot is mounted where&lt;br /&gt;
WAIT=600                             # seconds to wait for new snapshots&lt;br /&gt;
&lt;br /&gt;
USE_EXISTING=0&lt;br /&gt;
[ &amp;quot;${1:-}&amp;quot; = &amp;quot;--use-existing-snaps&amp;quot; ] &amp;amp;amp;&amp;amp;amp; USE_EXISTING=1&lt;br /&gt;
mkdir -p &amp;quot;$STATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
latest() {  # names are &amp;amp;lt;volume&amp;amp;gt;_GMTYYYYMMDD_HHMMSS (UTC): last sorted is newest&lt;br /&gt;
  qs volume-list --json | jq -r &amp;#039;.. | objects | .name? // empty&amp;#039; \&lt;br /&gt;
    | grep -E &amp;quot;^${1}_GMT[0-9]{8}_[0-9]{6}\$&amp;quot; | sort -u | tail -1 || true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
declare -A NEW OLD&lt;br /&gt;
if [ &amp;quot;$USE_EXISTING&amp;quot; = 1 ]; then&lt;br /&gt;
  for v in $VOLUMES; do NEW[$v]=$(latest &amp;quot;$v&amp;quot;); done&lt;br /&gt;
else&lt;br /&gt;
  for v in $VOLUMES; do OLD[$v]=$(latest &amp;quot;$v&amp;quot;); done&lt;br /&gt;
  qs snap-schedule-trigger --schedule=&amp;quot;$SCHEDULE&amp;quot;&lt;br /&gt;
  deadline=$((SECONDS + WAIT))&lt;br /&gt;
  for v in $VOLUMES; do&lt;br /&gt;
    while NEW[$v]=$(latest &amp;quot;$v&amp;quot;); [ &amp;quot;${NEW[$v]}&amp;quot; = &amp;quot;${OLD[$v]}&amp;quot; ]; do&lt;br /&gt;
      [ &amp;quot;$SECONDS&amp;quot; -lt &amp;quot;$deadline&amp;quot; ] || { echo &amp;quot;no new snapshot of $v&amp;quot; &amp;amp;gt;&amp;amp;amp;2; exit 1; }&lt;br /&gt;
      sleep 10&lt;br /&gt;
    done&lt;br /&gt;
  done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
changed=0  # remount only if some volume has a newer snapshot than the one mounted&lt;br /&gt;
for v in $VOLUMES; do&lt;br /&gt;
  [ -n &amp;quot;${NEW[$v]}&amp;quot; ] || { echo &amp;quot;no snapshot of $v yet&amp;quot; &amp;amp;gt;&amp;amp;amp;2; exit 1; }&lt;br /&gt;
  [ &amp;quot;${NEW[$v]}&amp;quot; = &amp;quot;$(cat &amp;quot;$STATE/$v&amp;quot; 2&amp;amp;gt;/dev/null)&amp;quot; ] || changed=1&lt;br /&gt;
done&lt;br /&gt;
[ &amp;quot;$changed&amp;quot; = 1 ] || { echo &amp;quot;snapshots unchanged, mounts left in place&amp;quot;; exit 0; }&lt;br /&gt;
&lt;br /&gt;
for v in $VOLUMES; do&lt;br /&gt;
  # Detach the previous snapshot: unmount, log out, remove the assignment.&lt;br /&gt;
  if [ -f &amp;quot;$STATE/$v&amp;quot; ]; then&lt;br /&gt;
    old=$(cat &amp;quot;$STATE/$v&amp;quot;); oldiqn=$(cat &amp;quot;$STATE/$v.iqn&amp;quot;)&lt;br /&gt;
    if mountpoint -q &amp;quot;$MNT/$v&amp;quot;; then umount &amp;quot;$MNT/$v&amp;quot;; fi&lt;br /&gt;
    iscsiadm -m node -T &amp;quot;$oldiqn&amp;quot; -p &amp;quot;$PORTAL&amp;quot; --logout || true&lt;br /&gt;
    iscsiadm -m node -T &amp;quot;$oldiqn&amp;quot; -p &amp;quot;$PORTAL&amp;quot; -o delete || true&lt;br /&gt;
    qs volume-unassign --volume=&amp;quot;$old&amp;quot; --host-list=&amp;quot;$HOST&amp;quot; || true&lt;br /&gt;
    rm -f &amp;quot;$STATE/$v&amp;quot; &amp;quot;$STATE/$v.iqn&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
  # Attach the new one. Assigning it materializes the lazy clone and its target.&lt;br /&gt;
  snap=${NEW[$v]}&lt;br /&gt;
  qs volume-assign --volume=&amp;quot;$snap&amp;quot; --host-list=&amp;quot;$HOST&amp;quot;&lt;br /&gt;
  iqn=$(qs volume-get --volume=&amp;quot;$snap&amp;quot; --json \&lt;br /&gt;
        | jq -r &amp;#039;.. | objects | .iqn? // empty&amp;#039; | head -1)&lt;br /&gt;
  iscsiadm -m discovery -t sendtargets -p &amp;quot;$PORTAL&amp;quot; &amp;amp;gt;/dev/null&lt;br /&gt;
  iscsiadm -m node -T &amp;quot;$iqn&amp;quot; -p &amp;quot;$PORTAL&amp;quot; --login&lt;br /&gt;
  dev=/dev/disk/by-path/ip-$PORTAL:3260-iscsi-$iqn-lun-0$PART&lt;br /&gt;
  for _ in $(seq 30); do [ -b &amp;quot;$dev&amp;quot; ] &amp;amp;amp;&amp;amp;amp; break; sleep 1; done&lt;br /&gt;
  mkdir -p &amp;quot;$MNT/$v&amp;quot;&lt;br /&gt;
  mount &amp;quot;$dev&amp;quot; &amp;quot;$MNT/$v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Verify: mounted and not empty, then record it for the next run.&lt;br /&gt;
  mountpoint -q &amp;quot;$MNT/$v&amp;quot; &amp;amp;amp;&amp;amp;amp; [ -n &amp;quot;$(ls -A &amp;quot;$MNT/$v&amp;quot;)&amp;quot; ] \&lt;br /&gt;
    || { echo &amp;quot;mount check failed for $snap&amp;quot; &amp;amp;gt;&amp;amp;amp;2; exit 1; }&lt;br /&gt;
  echo &amp;quot;$snap&amp;quot; &amp;amp;gt; &amp;quot;$STATE/$v&amp;quot;; echo &amp;quot;$iqn&amp;quot; &amp;amp;gt; &amp;quot;$STATE/$v.iqn&amp;quot;&lt;br /&gt;
  echo &amp;quot;$v -&amp;amp;gt; $snap mounted at $MNT/$v&amp;quot;&lt;br /&gt;
done&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;set -e&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; stops the script if an unmount fails, which is what you want when a report still has files open: the old snapshot stays mounted and nothing is half-swapped.&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Choose one of two timing models:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Script-driven.&amp;#039;&amp;#039;&amp;#039; Cron runs &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;refresh-db-snaps.sh&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; when you want the copy, for example after the nightly ETL load finishes. The trigger makes the snapshots, and the script waits up to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;WAIT&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; seconds for a new name to appear on every volume.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Schedule-driven.&amp;#039;&amp;#039;&amp;#039; The schedule&amp;#039;s own 1 AM run makes the snapshots and cron runs &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;refresh-db-snaps.sh --use-existing-snaps&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; at 1:30 AM. The script compares the newest snapshot names with what it last mounted and exits without touching the mounts if nothing is new. This is also the safe way to re-run the script by hand during the day.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png|frame|center|The Hosts view: the analysis server&amp;#039;s initiator IQN, and in Storage Volume Assignments, the volumes currently assigned to it]]&lt;br /&gt;
&lt;br /&gt;
To test, run the script by hand once and check four things:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs volume-list&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; shows a new &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;db-sales_GMT...&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; snapshot for each volume, all with the same timestamp.&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs volume-assign-list --host=analytics1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; lists exactly one snapshot per source volume.&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;iscsiadm -m session&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; shows one session per snapshot target.&lt;br /&gt;
# The database engine starts against &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/mnt/dbsnap&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and your reports return yesterday&amp;#039;s numbers.&lt;br /&gt;
&lt;br /&gt;
Run it a second time with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;--use-existing-snaps&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and confirm it reports the snapshots as unchanged. If no new snapshot ever appears, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs snap-schedule-get --schedule=db-nightly&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; shows whether the schedule is enabled. A schedule left with no members disables itself.&lt;br /&gt;
&lt;br /&gt;
Old snapshots need no cleanup code. Once the script has unassigned a snapshot ([[Remove Storage Assignment]] is the equivalent in the web interface), the schedule rotates it out when it falls outside the window. To keep one copy for an audit, put a hold on it with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs volume-hold-add --volume=&amp;lt;snapshot&amp;gt; --hold-tag=keep-for-audit&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. A held snapshot is excluded from schedule cleanup until the hold is released.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Is a snapshot taken by the schedule consistent across several database volumes? ===&lt;br /&gt;
&lt;br /&gt;
Yes, for volumes in the same storage pool. The schedule snapshots all of its ZFS members in a pool with a single ZFS command, so they share one point in time and are crash-consistent with each other. Volumes in different pools, or a schedule with Disable Atomicity ticked, don&amp;#039;t get that guarantee.&lt;br /&gt;
&lt;br /&gt;
=== Does running analysis on the snapshot slow down the production database? ===&lt;br /&gt;
&lt;br /&gt;
The analysis reads come from the snapshot&amp;#039;s clone, which shares unchanged blocks with the production volume in the same pool. The analysis server&amp;#039;s queries therefore still use the pool&amp;#039;s disks, but none of the work runs inside the production database engine, and writes to the clone never reach the production volume. If pool I/O is a concern, schedule the refresh and heavy reports outside peak hours.&lt;br /&gt;
&lt;br /&gt;
=== What does --use-existing-snaps do? ===&lt;br /&gt;
&lt;br /&gt;
It skips the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;snap-schedule-trigger&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; call and works with snapshots the schedule has already made. If the newest snapshot of every volume is the one already mounted, the script exits without unmounting anything. Otherwise it swaps in the newer snapshots exactly as a normal run would.&lt;br /&gt;
&lt;br /&gt;
=== Can I trigger the schedule over the REST API instead of the CLI? ===&lt;br /&gt;
&lt;br /&gt;
Yes. The &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;snapshotScheduleTrigger&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; call takes the schedule name or ID and signals the schedule manager to run it immediately, the same as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs snap-schedule-trigger&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. The CLI is the simpler choice for a bash script, and the API suits tools that already speak JSON-RPC.&lt;br /&gt;
&lt;br /&gt;
=== How much pool space do the snapshots use? ===&lt;br /&gt;
&lt;br /&gt;
Each snapshot holds only the blocks overwritten in production since it was taken, plus anything the analysis server writes to its clone. With Max Short Term Snapshots at 3 and no long-term retention, you hold roughly three days of change per volume.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-db-analysis-iscsi-snapshot.md @ cf7d5275edd5 --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:08 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Nightly_Database_Analysis_from_iSCSI_Snapshots</comments>
		</item>
		<item>
			<title>File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png&amp;diff=28213&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png&amp;diff=28213&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png&quot; title=&quot;File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png&quot;&gt;File:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-db-analysis-iscsi-snapshot-db-snap-host-assignments.png</comments>
		</item>
		<item>
			<title>File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png&amp;diff=28212&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png&amp;diff=28212&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png&quot; title=&quot;File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png&quot;&gt;File:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-db-analysis-iscsi-snapshot-db-snap-add-host.png</comments>
		</item>
		<item>
			<title>File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png&amp;diff=28211&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png&amp;diff=28211&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png&quot; title=&quot;File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png&quot;&gt;File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-interval.png</comments>
		</item>
		<item>
			<title>File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png&amp;diff=28210&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png&amp;diff=28210&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png&quot; title=&quot;File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png&quot;&gt;File:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (db-analysis-iscsi-snapshot)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-db-analysis-iscsi-snapshot-db-snap-schedule-retention.png</comments>
		</item>
		<item>
			<title>Guides:Encryption at Rest and FIPS Mode for On-Premises Storage</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Encryption_at_Rest_and_FIPS_Mode_for_On-Premises_Storage&amp;diff=28209&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Encryption_at_Rest_and_FIPS_Mode_for_On-Premises_Storage&amp;diff=28209&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: fips-encryption @ 9d6065261ad2 (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 3, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Encryption at rest protects the data on a storage pool&amp;#039;s media, so drives that leave the data center, whether failed, stolen or decommissioned, can&amp;#039;t be read without the keys. QuantaStor encrypts storage pools with AES-256, either in software through Linux LUKS with AES-NI acceleration or in hardware on Opal 2 self-encrypting NVMe drives, with keys held on the appliance, protected by a passphrase or stored on a KMIP key server. A separate FIPS mode switches the appliance&amp;#039;s cryptography to the FIPS 140-2 validated OSNEXUS Crypto Library and self-tests it at every start.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Federal, defense, healthcare and financial buyers usually face two separate requirements that are easy to mix up:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Data at rest must be encrypted.&amp;#039;&amp;#039;&amp;#039; Lost drives, RMA returns and decommissioned servers must not expose data.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;The cryptography must be FIPS validated.&amp;#039;&amp;#039;&amp;#039; Many government contracts and agency policies require cryptographic modules validated under the NIST Cryptographic Module Validation Program (CMVP), and an auditor will ask for the certificate number.&lt;br /&gt;
&lt;br /&gt;
Encryption alone covers the first requirement. To cover the second, the module doing the encryption needs a certificate, and that decides which of the options below fits. The [[End-to-end Security]] overview places encryption at rest alongside the other controls agencies typically review: encryption on the wire, role-based access control, password policy and data shredding.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
=== Software encryption ===&lt;br /&gt;
&lt;br /&gt;
[[Software Encryption|Software encryption]] uses the Linux LUKS key management system, so it works on any media type: HDD, SATA/SAS SSD or NVMe. The AES-NI instructions in modern server processors do the encryption. It is applied when the pool is created, because the underlying devices themselves are encrypted. An encrypted pool shows a lock icon in the web interface. When you grow the pool, new devices are encrypted automatically before they&amp;#039;re added.&lt;br /&gt;
&lt;br /&gt;
=== Hardware encryption (self-encrypting drives) ===&lt;br /&gt;
&lt;br /&gt;
[[Hardware Encryption|Hardware encryption]] moves the work onto the drive. QuantaStor supports Opal 2 compliant NVMe self-encrypting drives (SEDs), both FIPS and non-FIPS models. For HDD-based SED encryption, the recommended approach is a Seagate Corvault system, which handles encryption in the external enclosure. [[Physical Disks/Devices]] reports each drive&amp;#039;s SED capability and status. The older RAID-controller-based encryption is deprecated; HBA (IT) mode controllers are the current standard.&lt;br /&gt;
&lt;br /&gt;
=== Key protection ===&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Encryption&amp;#039;&amp;#039;&amp;#039; tab of the Create Storage Pool dialog offers three ways to protect a pool&amp;#039;s keys:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key protection !! Where the key lives !! Behavior&lt;br /&gt;
|-&lt;br /&gt;
| Encrypt with No Passphrase || On the appliance || Pool starts automatically at boot; supported in HA groups&lt;br /&gt;
|-&lt;br /&gt;
| Encrypt with User Defined Passphrase || On the appliance, locked by the passphrase || Pool starts only after an administrator enters the passphrase; not supported in HA groups&lt;br /&gt;
|-&lt;br /&gt;
| Encrypt and Store on Key Server || On a KMIP key server || Keys are managed centrally through a key server profile&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
KMIP is the standard protocol for talking to enterprise key managers. You add a [[Create Key Server Profile|key server profile]], then select it when you create a pool. You can also move a pool&amp;#039;s locally stored keys onto the key server later by modifying the pool and selecting the profile.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-fips-encryption-fips-encryption-create-pool-software.png|frame|center|The Encryption tab of Create Storage Pool with Software Encryption selected: AES-256 for every option, the three Key Protection choices, and the passphrase and Key Server Profile fields below them]]&lt;br /&gt;
&lt;br /&gt;
=== FIPS mode ===&lt;br /&gt;
&lt;br /&gt;
[[FIPS Mode|FIPS mode]] controls which cryptographic library the appliance uses. QuantaStor ships two complete OpenSSL library sets and switches between them:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Mode !! OpenSSL !! Crypto library&lt;br /&gt;
|-&lt;br /&gt;
| Non-FIPS (default) || 3.5.7 || Non-FIPS build of the OSNEXUS Crypto Library&lt;br /&gt;
|-&lt;br /&gt;
| FIPS || 3.1.2 with the OpenSSL FIPS provider || OSNEXUS Crypto Library (FIPS build)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In FIPS mode the appliance runs power-on self-tests and integrity checks, and the QuantaStor service won&amp;#039;t start if they fail. The FIPS path stays on OpenSSL 3.1.2 on purpose: the FIPS provider is tied to the OpenSSL release it was built and validated against, so it is pinned separately from the general runtime.&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
=== Certified versus compliant ===&lt;br /&gt;
&lt;br /&gt;
Be precise about what is validated. The &amp;#039;&amp;#039;&amp;#039;OSNEXUS Crypto Library holds FIPS 140-2 Level 1 validation, [https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4185 NIST CMVP certificate 4185]&amp;#039;&amp;#039;&amp;#039;, with a public [https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp4185.pdf non-proprietary security policy]. QuantaStor 6 and 7 have &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; been through FIPS 140-3 certification. The crypto library is maintained against current FIPS 140-3 compliant OpenSSL releases, but compliant isn&amp;#039;t the same as certified.&lt;br /&gt;
&lt;br /&gt;
Where a deployment requires FIPS certification, the documented recommendation is &amp;#039;&amp;#039;&amp;#039;self-encrypting drives with full-disk encryption on FIPS 140-3 validated media&amp;#039;&amp;#039;&amp;#039;. That puts the certified cryptographic boundary at the drive, where the media vendor holds the certificate. Running FIPS mode on the appliance as well is still worthwhile: it limits management cryptography to validated algorithms and self-tests them at every start, which satisfies many internal security policies.&lt;br /&gt;
&lt;br /&gt;
=== Choosing an approach ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Requirement !! Recommended configuration&lt;br /&gt;
|-&lt;br /&gt;
| Encrypt at rest, no formal certification || Software encryption, no passphrase or KMIP&lt;br /&gt;
|-&lt;br /&gt;
| Certificate required for data at rest || FIPS 140-3 SED media with hardware encryption, plus FIPS mode&lt;br /&gt;
|-&lt;br /&gt;
| Keys held off the appliance under central control || Software encryption with a KMIP key server profile&lt;br /&gt;
|-&lt;br /&gt;
| Pool must not start without a person present || Software encryption with a user-defined passphrase (not with HA)&lt;br /&gt;
|-&lt;br /&gt;
| HA failover between two controllers || Software encryption without a passphrase, or SEDs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Software encryption typically reduces a pool&amp;#039;s performance by about 15%, and by as much as 30% depending on the CPU and the number of devices. Hardware encryption avoids that CPU cost, so if your media is SED Opal compliant, it&amp;#039;s the better option. Plan software-encrypted pools with that headroom in mind, especially all-NVMe pools, where the CPU is more likely to be the bottleneck.&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
=== Create an encrypted pool ===&lt;br /&gt;
&lt;br /&gt;
# Go to &amp;#039;&amp;#039;&amp;#039;Storage Management → Storage Pools → Create&amp;#039;&amp;#039;&amp;#039;. See [[Storage Pools]] for the General tab settings.&lt;br /&gt;
# On the &amp;#039;&amp;#039;&amp;#039;Encryption&amp;#039;&amp;#039;&amp;#039; tab, select &amp;#039;&amp;#039;&amp;#039;Software Encryption&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Hardware Encryption&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Under &amp;#039;&amp;#039;&amp;#039;Key Protection&amp;#039;&amp;#039;&amp;#039;, choose no passphrase, a user-defined passphrase, or &amp;#039;&amp;#039;&amp;#039;Encrypt and Store on Key Server&amp;#039;&amp;#039;&amp;#039; with a key server profile.&lt;br /&gt;
# Finish creating the pool. Encryption can&amp;#039;t be added after the pool is created.&lt;br /&gt;
&lt;br /&gt;
=== Back up the keys ===&lt;br /&gt;
&lt;br /&gt;
Immediately after you create the pool, use &amp;#039;&amp;#039;&amp;#039;Storage Pool Encryption → Export Keys&amp;#039;&amp;#039;&amp;#039; ([[Storage Pool Export Encryption Keys]]) and keep the backup somewhere secure. If the boot media is lost, you reinstall QuantaStor on new boot devices, run &amp;#039;&amp;#039;&amp;#039;Import Keys&amp;#039;&amp;#039;&amp;#039; and start the pool. The same ribbon group holds &amp;#039;&amp;#039;&amp;#039;Re-Key Pool&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png|frame|center|The Storage Pools view with the Storage Pool Encryption group on the ribbon: Import Keys, Export Keys and Re-Key Pool sit next to the pool and HA group actions]]&lt;br /&gt;
&lt;br /&gt;
=== Enable FIPS mode ===&lt;br /&gt;
&lt;br /&gt;
FIPS mode is set per appliance, from the console as root. A grid has no grid-wide switch, so repeat this on every appliance (see [[Grid Configuration]]). Connect over SSH as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qadmin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo qs-util enablefips&lt;br /&gt;
sudo reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;enablefips&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; repoints the library symlinks and restarts the service, reporting &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;FIPS mode enabled in the storage system. Restarting QuantaStor Service&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. The reboot is required. Several integrity checks run only at system startup, and the FIPS state doesn&amp;#039;t settle until they have. Restarting the service isn&amp;#039;t a substitute.&lt;br /&gt;
&lt;br /&gt;
=== HA and the rest of the security stack ===&lt;br /&gt;
&lt;br /&gt;
Encrypted pools work in [[Create Storage Pool High-Availability Group|storage pool HA groups]] like unencrypted pools, provided they have no passphrase. For data on the wire, use SMB3 encryption, [[IPSec|IPsec]] and HTTPS, and CHAP authentication for iSCSI. Grid management and replication traffic use SSL/TLS 1.2 with strong ciphers; see [[Custom SSL TLS Security]]. Administrative access is covered by [[Security Configuration]] (role-based access control) and the [[Password Policy set|password policy]], which supports HIPAA and CJIS requirements.&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Check the FIPS state after the reboot, not before:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qs system-get | grep -i fips&lt;br /&gt;
sudo /opt/osnexus/quantastor/bin/osn_fipscheck validate-fips&lt;br /&gt;
tail -f /var/log/qs/qs_crypto.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On an appliance in FIPS mode, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs system-get&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; reports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FIPS State: Verified&lt;br /&gt;
FIPS State Detail: FIPS 140-2 security validation checks succeeded, FIPS mode enabled.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;osn_fipscheck validate-fips&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; confirms that FIPS mode is enabled and the module passed its self-tests, returning 0 on success and 1 or greater on failure. A healthy start logs &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Start up self-tests completed successfully&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and the DRBG in use (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;CTR-DRBG&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;) in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs_crypto.log&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. In the web interface, the &amp;#039;&amp;#039;&amp;#039;FIPS&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;FIPS State Detail&amp;#039;&amp;#039;&amp;#039; fields appear in the storage system&amp;#039;s Properties panel.&lt;br /&gt;
&lt;br /&gt;
To confirm which OpenSSL the appliance actually uses, don&amp;#039;t run &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;openssl version&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, which reports the operating system&amp;#039;s copy. Read the active library instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;strings /opt/osnexus/common/lib/active/libcrypto.so.3 | grep -oE &amp;#039;OpenSSL 3\.[0-9]+\.[0-9]+&amp;#039; | sort -u&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Routine operations on an encrypted pool work the same as on a plain one: adding devices, replacing a faulted drive, and adding write log, cache or spare devices to a passphrase-protected pool. After a reboot, a passphrase-protected pool stays stopped until an administrator starts it with the passphrase from the web interface or the CLI. To change a passphrase, remove it and apply a new one.&lt;br /&gt;
&lt;br /&gt;
When a pool is retired, delete it using a data shredding option: the 4-pass DoD 5220.22-M (section 8-306) procedure, the 4-pass NNSA Policy Letter NAP-14.1-C procedure or the US Army AR380-19 method. Shredding runs at the block level, concurrently across all disks in the pool, and the encryption keys can be shredded too.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Is QuantaStor FIPS 140 validated? ===&lt;br /&gt;
&lt;br /&gt;
The OSNEXUS Crypto Library, which QuantaStor uses in FIPS mode, holds FIPS 140-2 Level 1 validation under NIST CMVP certificate 4185. QuantaStor 6 and 7 haven&amp;#039;t been through FIPS 140-3 certification. Where a 140-3 certificate is required for data at rest, use FIPS 140-3 validated self-encrypting drives, where the drive vendor holds the certificate.&lt;br /&gt;
&lt;br /&gt;
=== Is it suitable for US government and defense deployments? ===&lt;br /&gt;
&lt;br /&gt;
It provides the controls these environments usually review: AES-256 encryption at rest, a FIPS mode that uses a validated crypto library, support for FIPS SED media, encryption on the wire with SMB3, IPsec and TLS 1.2, role-based access control, password policy that supports HIPAA and CJIS requirements, and DoD 5220.22-M, NNSA and AR380-19 data shredding. Whether a given deployment passes accreditation depends on the agency&amp;#039;s specific control set, so map these controls to it.&lt;br /&gt;
&lt;br /&gt;
=== Can I encrypt an existing pool? ===&lt;br /&gt;
&lt;br /&gt;
No. Software encryption encrypts the underlying devices, so it has to be selected when the pool is created. To encrypt existing data, create a new encrypted pool and move the data onto it.&lt;br /&gt;
&lt;br /&gt;
=== What happens if I lose the boot drives? ===&lt;br /&gt;
&lt;br /&gt;
If you exported the pool keys, reinstall on new boot media, import the keys and start the pool. Without the key backup, a software-encrypted pool can&amp;#039;t be recovered, so export the keys as soon as you create the pool.&lt;br /&gt;
&lt;br /&gt;
=== Does encryption work with high availability? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Encrypted pools fail over between controllers like unencrypted pools, provided they have no passphrase. A passphrase would stop the pool from starting automatically on the surviving controller.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-fips-encryption.md @ 9d6065261ad2 --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Encryption_at_Rest_and_FIPS_Mode_for_On-Premises_Storage</comments>
		</item>
		<item>
			<title>File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png&amp;diff=28208&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png&amp;diff=28208&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png&quot; title=&quot;File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png&quot;&gt;File:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (fips-encryption)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (fips-encryption)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-fips-encryption-fips-encryption-pool-encryption-ribbon.png</comments>
		</item>
		<item>
			<title>File:Guide-fips-encryption-fips-encryption-create-pool-software.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-fips-encryption-fips-encryption-create-pool-software.png&amp;diff=28207&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-fips-encryption-fips-encryption-create-pool-software.png&amp;diff=28207&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-fips-encryption-fips-encryption-create-pool-software.png&quot; title=&quot;File:Guide-fips-encryption-fips-encryption-create-pool-software.png&quot;&gt;File:Guide-fips-encryption-fips-encryption-create-pool-software.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (fips-encryption)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (fips-encryption)&lt;/div&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:45:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-fips-encryption-fips-encryption-create-pool-software.png</comments>
		</item>
		<item>
			<title>Network Ports</title>
			<link>https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28206&amp;oldid=28203</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28206&amp;oldid=28203</guid>
			<description>&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Management and grid&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:14, 7 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l390&quot;&gt;Line 390:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 390:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 443 || TCP || Web management interface (HTTPS) || -- || The address you browse to. Keep it open from the networks your administrators work from.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 443 || TCP || Web management interface (HTTPS) || -- || The address you browse to. Keep it open from the networks your administrators work from.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 80 || TCP || Web management interface (HTTP) || QS Web Management || Redirects to HTTPS on 443 by default. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Close it if your browsers &lt;/del&gt;always &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;use &lt;/del&gt;HTTPS.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 80 || TCP || Web management interface (HTTP) || QS Web Management || Redirects to HTTPS on 443 by default. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is safe to close as you&#039;ll &lt;/ins&gt;always &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be using &lt;/ins&gt;HTTPS &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;but the redirect is there for convenience&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8080 || TCP || Web management interface (HTTPS, alternate port) || QS Web Management || Serves the same interface over HTTPS on a second port. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Close &lt;/del&gt;it unless something depends on it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8080 || TCP || Web management interface (HTTPS, alternate port) || QS Web Management || Serves the same interface over HTTPS on a second port. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is available as a backup in case a service or firewall is setup to block it.  On example where this can be handy is if the object storage gateways is set to bind to 443 rather than 7480.  Safe to close &lt;/ins&gt;it unless something depends on it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8153 || TCP || [[QuantaStor REST API Reference Guide|REST API]] (HTTPS) || QS REST API || Needed by scripts, automation, plugins and integrations that call the REST API. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Close it &lt;/del&gt;if &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nothing &lt;/del&gt;does.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8153 || TCP || [[QuantaStor REST API Reference Guide|REST API]] (HTTPS) || QS REST API || Needed by scripts, automation, plugins and integrations that call the REST API. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Safe to close &lt;/ins&gt;if &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you&#039;re not using the QuantaStor REST API in scripts, QuantaStor Proxmox plug-in or the QuantaStor Python Client library.  The &#039;qs&#039; CLI &lt;/ins&gt;does &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not use this interface, it goes direct into the service API on 5151&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 5151 || TCP || QuantaStor core service (TLS) || -- || Every appliance in a [[Grid Configuration|storage grid]] talks to the others on this port, so it must be open between all grid members in both directions. The &amp;lt;code&amp;gt;qs&amp;lt;/code&amp;gt; CLI also uses it when pointed at a remote system.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 5151 || TCP || QuantaStor core service (TLS) || -- || Every appliance in a [[Grid Configuration|storage grid]] talks to the others on this port, so it must be open between all grid members in both directions. The &amp;lt;code&amp;gt;qs&amp;lt;/code&amp;gt; CLI also uses it when pointed at a remote system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28203:rev-28206:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:14:09 GMT</pubDate>
			<dc:creator>Umbe</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Network_Ports</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28204&amp;oldid=28197</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28204&amp;oldid=28197</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:00, 7 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Network Ports|Network Ports]]&#039;&#039;&#039; &amp;amp;mdash; [[Category:admin_guide]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28197:rev-28204:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:00:08 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Network Ports</title>
			<link>https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28203&amp;oldid=27825</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Network_Ports&amp;diff=28203&amp;oldid=27825</guid>
			<description>&lt;p&gt;osn-seo-utilities: quantastor-network-port-usage @ 5caca23311c7 (approved in the portal)&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=Network_Ports&amp;amp;diff=28203&amp;amp;oldid=27825&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Wed, 07 Oct 2026 05:00:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Network_Ports</comments>
		</item>
		<item>
			<title>Clustered SCSI-3 Persistent Reservations</title>
			<link>https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28202&amp;oldid=28199</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28202&amp;oldid=28199</guid>
			<description>&lt;p&gt;Reword the Windows MPIO links&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:02, 6 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot;&gt;Line 60:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 60:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;A healthy site cluster.&amp;#039;&amp;#039;&amp;#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;A healthy site cluster.&amp;#039;&amp;#039;&amp;#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor. For the recommended MPIO &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;setup and timer tuning&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;so that &lt;/del&gt;cluster disks &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ride &lt;/del&gt;through a failover &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;instead of being removed&lt;/del&gt;, see [[Windows MPIO for Failover Clusters and Hyper-V]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor. For the recommended MPIO &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;configuration&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which keeps &lt;/ins&gt;cluster disks &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;online and Cluster Shared Volumes running smoothly &lt;/ins&gt;through a failover, see [[Windows MPIO for Failover Clusters and Hyper-V]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enabling clustered reservations ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enabling clustered reservations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l104&quot;&gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Before going further&lt;/del&gt;, set up MPIO &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and apply &lt;/del&gt;the recommended &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;timer &lt;/del&gt;settings on every node as described in [[Windows MPIO for Failover Clusters and Hyper-V]]; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the settings need &lt;/del&gt;a reboot of each node.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For the best results&lt;/ins&gt;, set up MPIO &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with &lt;/ins&gt;the recommended settings on every node as described in [[Windows MPIO for Failover Clusters and Hyper-V]]; a reboot of each node &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;activates them&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 4. Bring the disks online on one node ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 4. Bring the disks online on one node ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28199:rev-28202:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 06 Oct 2026 16:02:05 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Clustered_SCSI-3_Persistent_Reservations</comments>
		</item>
		<item>
			<title>Windows MPIO for Failover Clusters and Hyper-V</title>
			<link>https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28201&amp;oldid=28198</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28201&amp;oldid=28198</guid>
			<description>&lt;p&gt;Reword as the recommended configuration&lt;/p&gt;
&lt;a href=&quot;https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;amp;diff=28201&amp;amp;oldid=28198&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Tue, 06 Oct 2026 16:02:04 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Windows_MPIO_for_Failover_Clusters_and_Hyper-V</comments>
		</item>
		<item>
			<title>Multipath IO Configuration</title>
			<link>https://wiki.osnexus.com/index.php?title=Multipath_IO_Configuration&amp;diff=28200&amp;oldid=26711</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Multipath_IO_Configuration&amp;diff=28200&amp;oldid=26711</guid>
			<description>&lt;p&gt;Point to the Windows MPIO page for failover clusters and Hyper-V&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:58, 6 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot;&gt;Line 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Configuring Microsoft MPIO ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Configuring Microsoft MPIO ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;For Windows Server failover clusters, Cluster Shared Volumes and Hyper-V on QuantaStor HA pools, see [[Windows MPIO for Failover Clusters and Hyper-V]] for the recommended MPIO setup and timer tuning; the steps below cover only adding the QuantaStor device string.&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first step in configuring MPIO on Windows Server is to navigate to MPIO properties. (Note that desktop versions of Windows such as XP, Vista, and Windows 7/8 do not support MPIO, you must be using Windows Server 2003/2008/2012) The easiest way to get to the MPIO configuration screen is to type MPIO in the &amp;#039;&amp;#039;Start&amp;#039;&amp;#039; menu search bar. It can also be found in the Control Panel under &amp;quot;MPIO&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The first step in configuring MPIO on Windows Server is to navigate to MPIO properties. (Note that desktop versions of Windows such as XP, Vista, and Windows 7/8 do not support MPIO, you must be using Windows Server 2003/2008/2012) The easiest way to get to the MPIO configuration screen is to type MPIO in the &amp;#039;&amp;#039;Start&amp;#039;&amp;#039; menu search bar. It can also be found in the Control Panel under &amp;quot;MPIO&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-26711:rev-28200:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 06 Oct 2026 15:58:54 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Multipath_IO_Configuration</comments>
		</item>
		<item>
			<title>Clustered SCSI-3 Persistent Reservations</title>
			<link>https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28199&amp;oldid=28161</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28199&amp;oldid=28161</guid>
			<description>&lt;p&gt;Link the recommended Windows MPIO setup and tuning page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:58, 6 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot;&gt;Line 60:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 60:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;A healthy site cluster.&amp;#039;&amp;#039;&amp;#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;A healthy site cluster.&amp;#039;&amp;#039;&amp;#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. For the recommended MPIO setup and timer tuning, so that cluster disks ride through a failover instead of being removed, see [[Windows MPIO for Failover Clusters and Hyper-V]]&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enabling clustered reservations ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Enabling clustered reservations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l104&quot;&gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Before going further, set up MPIO and apply the recommended timer settings on every node as described in [[Windows MPIO for Failover Clusters and Hyper-V]]; the settings need a reboot of each node&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 4. Bring the disks online on one node ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 4. Bring the disks online on one node ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l198&quot;&gt;Line 198:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 198:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[HA Cluster Setup (external SAN)]] -- HA pools on LUNs from a back-end array&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[HA Cluster Setup (external SAN)]] -- HA pools on LUNs from a back-end array&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Site Cluster Setup]] -- the Corosync and Pacemaker cluster the DLM runs on&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Site Cluster Setup]] -- the Corosync and Pacemaker cluster the DLM runs on&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Multipath Configuration&lt;/del&gt;]] -- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;multipath on the client&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Windows MPIO for Failover Clusters and Hyper-V&lt;/ins&gt;]] -- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;recommended multipathing setup and tuning for Windows cluster disks, Cluster Shared Volumes and Hyper-V&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[QuantaStor CLI Command Reference]] -- full argument lists for the commands above&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[QuantaStor CLI Command Reference]] -- full argument lists for the commands above&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 6.9.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 6.9.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28161:rev-28199:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 06 Oct 2026 15:58:54 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Clustered_SCSI-3_Persistent_Reservations</comments>
		</item>
		<item>
			<title>Windows MPIO for Failover Clusters and Hyper-V</title>
			<link>https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28198&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Windows_MPIO_for_Failover_Clusters_and_Hyper-V&amp;diff=28198&amp;oldid=0</guid>
			<description>&lt;p&gt;Recommended Windows MPIO setup and timer tuning for failover clusters, CSV and Hyper-V on QuantaStor HA pools&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
This page covers the recommended Microsoft Multipath I/O (MPIO) setup and tuning for Windows Server hosts that use QuantaStor storage volumes as shared cluster disks: Windows Server Failover Clustering, Cluster Shared Volumes, Hyper-V clusters and SQL Server Failover Cluster Instances. It applies to Fibre Channel and iSCSI access to a QuantaStor HA pool, and it is the client-side companion to [[Clustered SCSI-3 Persistent Reservations]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Summary.&amp;#039;&amp;#039;&amp;#039; Install MPIO, let the Microsoft DSM claim QuantaStor devices, and raise three MPIO timers above their Windows defaults so that a disk survives a QuantaStor HA failover or an appliance reboot without Windows removing it. The settings were validated on Windows Server 2022 Hyper-V clusters connected over Fibre Channel to a QuantaStor HA pair.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#Why the defaults are not enough|Why the defaults are not enough]] || What Windows does when every path to a disk is briefly unavailable&lt;br /&gt;
|-&lt;br /&gt;
| [[#Installing MPIO and claiming QuantaStor devices|Installing MPIO and claiming QuantaStor devices]] || The MPIO feature and the QuantaStor hardware ID&lt;br /&gt;
|-&lt;br /&gt;
| [[#Recommended MPIO settings|Recommended MPIO settings]] || The timer values, and how to apply and verify them&lt;br /&gt;
|-&lt;br /&gt;
| [[#Paths and load balancing|Paths and load balancing]] || What a correctly configured disk looks like&lt;br /&gt;
|-&lt;br /&gt;
| [[#After maintenance on a QuantaStor appliance|After maintenance on a QuantaStor appliance]] || Checking that a rebooted appliance&amp;#039;s paths are back before failing pools to it&lt;br /&gt;
|-&lt;br /&gt;
| [[#Troubleshooting|Troubleshooting]] || Disks that go offline during a failover, and missing paths&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Why the defaults are not enough ==&lt;br /&gt;
&lt;br /&gt;
During an HA failover the pool moves from one QuantaStor appliance to the other. For a short time no path to a volume can complete I/O: the departing appliance has stopped serving the pool and the receiving appliance has not yet finished importing it. With Fibre Channel and ALUA, QuantaStor keeps the standby paths through the partner appliance present throughout, so Windows sees the paths change state rather than disappear; the I/O stall is typically well under a minute.&lt;br /&gt;
&lt;br /&gt;
Windows decides how long to wait with three MPIO settings. With the defaults, MPIO deletes the disk 20 seconds after its last path stops working (PDORemovePeriod), and each I/O times out after 60 seconds (DiskTimeoutValue). A failover that runs longer than that, for example because the pool export runs up to its configured Export Timeout, makes Windows remove the disk. For a cluster disk that means the disk goes Failed or Offline, a Cluster Shared Volume stops, and Hyper-V virtual machines lose their storage. Windows does not bring a removed disk back on its own when the pool comes back: an administrator has to rescan storage and bring the cluster disk online again.&lt;br /&gt;
&lt;br /&gt;
Raising the timers makes Windows hold I/O and keep the disk while the pool moves, so the failover appears to the cluster as a pause rather than a disk failure.&lt;br /&gt;
&lt;br /&gt;
== Installing MPIO and claiming QuantaStor devices ==&lt;br /&gt;
&lt;br /&gt;
Do this on every cluster node, before presenting QuantaStor volumes to it.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Install the Multipath I/O feature&amp;#039;&amp;#039;&amp;#039; (requires a reboot):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
Install-WindowsFeature -Name Multipath-IO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. Add the QuantaStor hardware ID to the Microsoft DSM&amp;#039;&amp;#039;&amp;#039; so that MPIO combines the paths to each QuantaStor volume into one disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
New-MSDSMSupportedHW -VendorId OSNEXUS -ProductId QUANTASTOR&lt;br /&gt;
Get-MSDSMSupportedHW | Where-Object VendorId -match OSNEXUS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PowerShell cmdlet pads the vendor and product IDs to their SCSI field widths. If you use the MPIO control panel or {{Code|1=mpclaim}} instead, the string must be exactly {{Code|1=OSNEXUS QUANTASTOR}} followed by six trailing spaces, as described in [[Multipath IO Configuration#Configuring Microsoft MPIO|Configuring Microsoft MPIO]]. Without this entry each path appears as a separate disk.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Reboot&amp;#039;&amp;#039;&amp;#039; the node so MPIO claims the devices, then confirm in Disk Management or with {{Code|1=Get-Disk}} that each QuantaStor volume appears once.&lt;br /&gt;
&lt;br /&gt;
For iSCSI, also connect one session per path in the iSCSI Initiator with &amp;#039;&amp;#039;&amp;#039;Enable multi-path&amp;#039;&amp;#039;&amp;#039; selected, using addresses on separate subnets; see [[ISCSI Initiator Setup]] and [[Multipath IO Configuration]]. For an HA pool, connect to the pool&amp;#039;s HA virtual interfaces rather than an appliance&amp;#039;s own addresses, so the sessions follow the pool when it fails over.&lt;br /&gt;
&lt;br /&gt;
== Recommended MPIO settings ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting !! Windows default !! Recommended !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| PDORemovePeriod || 20 || &amp;#039;&amp;#039;&amp;#039;240&amp;#039;&amp;#039;&amp;#039; || Seconds MPIO keeps a disk after its last path has failed before removing it. Must be longer than the slowest failover you expect.&lt;br /&gt;
|-&lt;br /&gt;
| DiskTimeoutValue || 60 || &amp;#039;&amp;#039;&amp;#039;100&amp;#039;&amp;#039;&amp;#039; || Seconds before Windows times out an individual I/O. 100 is the largest value {{Code|1=Set-MPIOSetting}} accepts.&lt;br /&gt;
|-&lt;br /&gt;
| PathVerificationState || Disabled || &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039; || MPIO periodically tests every path, so a failed path is detected and a recovered path is put back into use without waiting for I/O to hit it.&lt;br /&gt;
|-&lt;br /&gt;
| PathVerificationPeriod || 30 || 30 || Seconds between path tests. The default is fine.&lt;br /&gt;
|-&lt;br /&gt;
| RetryCount || 3 || 3 || Times MPIO retries a failed I/O on a path. Leave at the default.&lt;br /&gt;
|-&lt;br /&gt;
| RetryInterval || 1 || 1 || Seconds between those retries. Leave at the default.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Apply them in an elevated PowerShell on each cluster node:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
Set-MPIOSetting -NewPathVerificationState Enabled -NewPathVerificationPeriod 30 -NewPDORemovePeriod 240 -NewRetryCount 3 -NewRetryInterval 1 -NewDiskTimeout 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reboot the node for the settings to take effect.&amp;#039;&amp;#039;&amp;#039; In a running cluster, drain one node at a time (Pause, Drain Roles in Failover Cluster Manager, or {{Code|1=Suspend-ClusterNode -Drain}}), reboot it, resume it, and move on to the next.&lt;br /&gt;
&lt;br /&gt;
Verify with {{Code|1=Get-MPIOSetting}}, which is the authoritative view; the cmdlet stores the values through WMI, so reading the MPIO registry key directly can be misleading:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
PS C:\&amp;gt; Get-MPIOSetting&lt;br /&gt;
&lt;br /&gt;
PathVerificationState     : Enabled&lt;br /&gt;
PathVerificationPeriod    : 30&lt;br /&gt;
PDORemovePeriod           : 240&lt;br /&gt;
RetryCount                : 3&lt;br /&gt;
RetryInterval             : 1&lt;br /&gt;
UseCustomPathRecoveryTime : Disabled&lt;br /&gt;
CustomPathRecoveryTime    : 40&lt;br /&gt;
DiskTimeoutValue          : 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If {{Code|1=Set-MPIOSetting}} reports a parameter error, for example a {{Code|1=-NewDiskTimeout}} above 100, none of the values in that command are applied. Check the output for errors and run {{Code|1=Get-MPIOSetting}} afterwards.&lt;br /&gt;
&lt;br /&gt;
Leave the Fibre Channel HBA driver parameters at the vendor defaults; these settings were validated with the QLogic Windows driver at its defaults.&lt;br /&gt;
&lt;br /&gt;
== Paths and load balancing ==&lt;br /&gt;
&lt;br /&gt;
Leave the Microsoft DSM load-balance policy at its default. QuantaStor reports ALUA path states for HA pools: paths through the appliance that owns the pool are Active/Optimized and paths through the partner appliance are Standby. The Microsoft DSM&amp;#039;s default for ALUA storage, Round Robin With Subset, sends I/O across the Active/Optimized paths only and switches to the other set when the states change.&lt;br /&gt;
&lt;br /&gt;
Check a disk&amp;#039;s paths with {{Code|1=mpclaim}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
mpclaim -s -d              # list MPIO disks&lt;br /&gt;
mpclaim -s -d 1            # paths and their states for MPIO disk 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A host with two HBA ports zoned to both appliances of an HA pair shows four paths per disk: two Active/Optimized and two Standby. After a failover, the states swap between the two appliances, and the number of paths stays the same.&lt;br /&gt;
&lt;br /&gt;
== After maintenance on a QuantaStor appliance ==&lt;br /&gt;
&lt;br /&gt;
When a QuantaStor appliance reboots or its Fibre Channel ports go down, Windows marks its paths as failed. When the appliance returns, Windows does not always add its paths back on its own. A disk then keeps running on the partner appliance&amp;#039;s paths, but a pool failed back to the returning appliance would find that host with standby paths only.&lt;br /&gt;
&lt;br /&gt;
After any appliance reboot, and before failing a pool back to it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On every cluster node, rescan storage:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
Update-HostStorageCache&lt;br /&gt;
pnputil /scan-devices&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If paths are still missing, run {{Code|1=rescan}} in {{Code|1=diskpart}}.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Check with {{Code|1=mpclaim -s -d &amp;lt;n&amp;gt;}} that every QuantaStor disk shows its full path count again.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Only then fail the pool back.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
QuantaStor holds an appliance&amp;#039;s Fibre Channel target ports disabled during startup until its LUNs are mapped and ALUA states are set, so wait until the appliance is fully up, with its Storage Pools showing a Normal state in the web interface, before rescanning.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A cluster disk went Failed or Offline during a failover, and the disk disappeared from Disk Management.&amp;#039;&amp;#039;&amp;#039; MPIO removed the disk because the failover outlasted PDORemovePeriod. Check {{Code|1=Get-MPIOSetting}} on every node; the values above must be in effect, which requires a reboot after setting them. To recover, run {{Code|1=Update-HostStorageCache}} and a {{Code|1=diskpart}} rescan on each node, then bring the cluster disk online in Failover Cluster Manager ({{Code|1=Start-ClusterResource}}).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Cluster disks went offline after a failover, but the disks are still present in Windows.&amp;#039;&amp;#039;&amp;#039; Check that [[Clustered SCSI-3 Persistent Reservations]] is Enabled on the pool&amp;#039;s HA group. Without it the reservations the cluster placed on the disks are lost when the pool moves, and the cluster treats the disks as failed.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A disk shows only Standby paths, or fewer paths than expected.&amp;#039;&amp;#039;&amp;#039; One appliance&amp;#039;s paths were not re-added after it rebooted. Follow [[#After maintenance on a QuantaStor appliance|After maintenance on a QuantaStor appliance]]. Also confirm that both of the host&amp;#039;s HBA ports are zoned to both appliances, and that both of its WWPNs are listed under the host in QuantaStor.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Each QuantaStor volume appears more than once in Disk Management.&amp;#039;&amp;#039;&amp;#039; MPIO has not claimed the devices. Check {{Code|1=Get-MSDSMSupportedHW}} for the OSNEXUS QUANTASTOR entry, add it if missing, and reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Keep the appliances&amp;#039; Fibre Channel ports in the default target-only mode.&amp;#039;&amp;#039;&amp;#039; Dual initiator and target mode ({{Code|1=qs-util enabledualmode}}) is a diagnostic setting. On an appliance that serves an HA pool, it can log out host sessions whenever the fabric changes, for example while the partner appliance reboots, which shows up on Windows as long I/O stalls.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Clustered SCSI-3 Persistent Reservations]] -- the HA group setting Windows failover clusters need&lt;br /&gt;
* [[Multipath IO Configuration]] -- MPIO and Linux multipath basics for QuantaStor volumes&lt;br /&gt;
* [[ISCSI Initiator Setup]] -- connecting iSCSI initiators&lt;br /&gt;
* [[Fibre Channel Target Port Management]] -- presenting volumes over Fibre Channel&lt;br /&gt;
* [[Hosts and Host Groups]] -- host records, initiators, and Host Groups for clusters&lt;br /&gt;
* [[HA Cluster Setup (JBODs)]] -- HA groups and failover&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</description>
			<pubDate>Tue, 06 Oct 2026 15:58:54 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Talk:Windows_MPIO_for_Failover_Clusters_and_Hyper-V</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28197&amp;oldid=28193</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28197&amp;oldid=28193</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:45, 3 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Multi-Admin Approval for Destructive Storage Operations|Multi-Admin Approval for Destructive Storage Operations]]&#039;&#039;&#039; &amp;amp;mdash; Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28193:rev-28197:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:45:06 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Guides:Multi-Admin Approval for Destructive Storage Operations</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Multi-Admin_Approval_for_Destructive_Storage_Operations&amp;diff=28196&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Multi-Admin_Approval_for_Destructive_Storage_Operations&amp;diff=28196&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: multi-admin-approval @ d95f434838dc (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 3, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Multi-admin approval is a two-person rule for data-destructive operations: when it is enabled, a delete of a protected object type is held as a pending request until a set number of administrators approve it. QuantaStor applies it grid-wide from the Security Manager, covering deletes of storage volumes, network shares, buckets, scale-up and scale-out pools, object storage classes and Ceph clusters. Approvers work from the Multi-admin Approval toolbar in the web interface, and held deletes issued from the CLI report how many approvals they have so far.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Most storage-side ransomware and insider attacks end with the same step: someone with valid administrator credentials deletes the pools, volumes or buckets that hold the data, and with them the snapshots that would have allowed recovery. Password policy and [[Multi-Factor Authentication Manager|multi-factor authentication]] make it harder to steal those credentials, but once an attacker holds them, a single account can still destroy everything.&lt;br /&gt;
&lt;br /&gt;
Multi-admin approval removes that single point of failure. A stolen or misused account can request a delete, but the delete does not start until other administrators agree. The same control catches honest mistakes, such as a pool deleted on the wrong system or a share removed during the wrong change window.&lt;br /&gt;
&lt;br /&gt;
For regulated environments, it fits alongside the controls described in [[Security Configuration]]: password and lockout policy with a &amp;#039;&amp;#039;&amp;#039;Suggested Defaults&amp;#039;&amp;#039;&amp;#039; preset aimed at standards such as HIPAA, CJIS and NIST 800-53 / 800-171, role based access control over every management operation, LDAP single sign-on for administrators, and always-on [[Audit Logging|audit logging]] of every management operation, login attempt and authorization decision. Agencies and contractors that need separation of duties for destructive actions can enforce it on the storage itself instead of relying on a change-control process alone.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
The workflow has three parts: a policy, a pending request and the approval votes.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Policy.&amp;#039;&amp;#039;&amp;#039; In &amp;#039;&amp;#039;&amp;#039;Security Manager&amp;#039;&amp;#039;&amp;#039;, the &amp;#039;&amp;#039;&amp;#039;Multi-admin Approvals&amp;#039;&amp;#039;&amp;#039; tab turns the feature on, sets the minimum number of approvals and the expiry time, and selects which delete operations require approval. The policy applies to the whole storage grid.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Pending request.&amp;#039;&amp;#039;&amp;#039; When an administrator deletes an object whose type is selected, QuantaStor records a pending multi-admin approval request instead of starting the delete task. The request carries the object name, type and ID, its status, the required and current approval counts, the request originator and an expiry time.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Approval votes.&amp;#039;&amp;#039;&amp;#039; Other administrators open &amp;#039;&amp;#039;&amp;#039;Security → Multi-admin Approval → Approve&amp;#039;&amp;#039;&amp;#039;, which &amp;quot;casts an approval vote for the associated data-destructive operation&amp;quot;, or &amp;#039;&amp;#039;&amp;#039;Reject&amp;#039;&amp;#039;&amp;#039; to refuse it. Once the current count reaches the required count, the delete proceeds. If the request is not approved before it expires, the delete does not run.&lt;br /&gt;
&lt;br /&gt;
From the CLI, a held delete reports its approval status, for example &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;1 of 3 approvals met&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, rather than returning an empty task, so a script or operator can see exactly why the delete has not started.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png|frame|center|The Multi-admin Approvals tab of Security Manager: the Enable checkbox, Minimum Approvals and Hours Until Auto-expiration, and the list of delete operations that can require approval]]&lt;br /&gt;
&lt;br /&gt;
=== Operations that can require approval ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Required approval type !! Reference&lt;br /&gt;
|-&lt;br /&gt;
| Storage Volume : Delete || [[Storage Volume Delete]]&lt;br /&gt;
|-&lt;br /&gt;
| Network Share : Delete || [[Network Share Delete]]&lt;br /&gt;
|-&lt;br /&gt;
| Bucket : Delete || [[Object Bucket Delete]]&lt;br /&gt;
|-&lt;br /&gt;
| Scale-up Storage Pool : Delete || [[Storage Pools]]&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out Block Pool : Delete || [[Storage Pools]]&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out File Pool : Delete || [[Storage Pools]]&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out Object Pool : Delete || [[Storage Pools]]&lt;br /&gt;
|-&lt;br /&gt;
| Object Storage Class : Delete || &lt;br /&gt;
|-&lt;br /&gt;
| Ceph Cluster : Delete || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each type is a separate checkbox, and &amp;#039;&amp;#039;&amp;#039;Select All&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Clear All&amp;#039;&amp;#039;&amp;#039; set them in one step.&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
Three settings define the policy. Choose them with your team size and on-call coverage in mind.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting !! What it controls !! Guidance&lt;br /&gt;
|-&lt;br /&gt;
| Minimum Approvals || Approvals a pending delete needs before it runs (2 by default in the dialog) || 2 suits most teams. Use a higher number only if that many administrators can realistically be reached during a change window.&lt;br /&gt;
|-&lt;br /&gt;
| Hours Until Auto-expiration || How long a request waits for approval (48 hours by default in the dialog) || Long enough to span a weekend change window, short enough that stale requests don&amp;#039;t linger. A value of 0 means requests never expire.&lt;br /&gt;
|-&lt;br /&gt;
| Required Approval Types || Which delete operations are held || Select all pool, cluster and bucket types at a minimum, because those deletes remove the most data in one step.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some practical points:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Give every administrator a named account.&amp;#039;&amp;#039;&amp;#039; Approval only means something if each vote comes from a different person. Shared logins such as a single &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; account defeat the purpose. Map named accounts to roles, or use LDAP single sign-on so administrator groups are managed in your directory.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Decide who may approve.&amp;#039;&amp;#039;&amp;#039; Approving and rejecting are ordinary RBAC permissions on the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;PendingOperationRequest&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; object type (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;view&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;create&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;approve&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;reject&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;clear&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). Grant &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;approve&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;reject&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the roles that should vote, and leave them off roles such as System Monitor.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Protect the approvers.&amp;#039;&amp;#039;&amp;#039; Turn on multi-factor authentication for every account that holds the approve permission, so a single stolen password cannot both request and approve.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Keep snapshots in the plan.&amp;#039;&amp;#039;&amp;#039; Approval stops a malicious delete, but it does nothing against data that is encrypted or overwritten in place. Pair it with [[Snapshot Schedules|snapshot schedules]] so there is a clean recovery point when data inside a volume or share is damaged.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png|frame|center|Update Role Permissions filtered to the PendingOperationRequest operations, where approve and reject rights are granted to a role. The Administrator role already has this permission but you can create new roles that are limited to a subset of operations including PendingOperationRequest approval and rejection.]]&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
# Create a named account for each administrator and assign roles under &amp;#039;&amp;#039;&amp;#039;Security → Management Users&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Management Roles&amp;#039;&amp;#039;&amp;#039;. In &amp;#039;&amp;#039;&amp;#039;Add/Remove Permissions&amp;#039;&amp;#039;&amp;#039; for each approving role, confirm &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;PendingOperationRequest&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;approve&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;reject&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; are granted at the scope you need.&lt;br /&gt;
# Enable multi-factor authentication for those accounts from &amp;#039;&amp;#039;&amp;#039;Multi-Factor Auth Manager&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Open &amp;#039;&amp;#039;&amp;#039;Security → Management Users → Security Manager&amp;#039;&amp;#039;&amp;#039; (toolbar) and select the &amp;#039;&amp;#039;&amp;#039;Multi-admin Approvals&amp;#039;&amp;#039;&amp;#039; tab.&lt;br /&gt;
# Tick &amp;#039;&amp;#039;&amp;#039;Enable Multi-admin Approvals&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Set &amp;#039;&amp;#039;&amp;#039;Minimum Approvals&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Hours Until Auto-expiration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Under &amp;#039;&amp;#039;&amp;#039;Required Approval Types&amp;#039;&amp;#039;&amp;#039;, tick the delete operations to protect, or use &amp;#039;&amp;#039;&amp;#039;Select All&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;. Changes made only on this tab save without the logout and password-expiry confirmation that password-policy changes trigger, so you can enable the feature during working hours.&lt;br /&gt;
&lt;br /&gt;
To roll it out without blocking routine work, start with the operations that destroy the most data at once (pools, Ceph clusters, object storage classes and buckets), run with them for a few weeks, then add volume and share deletes once the team is used to the approval step. Volume and share cleanup is more frequent, so plan who covers approvals before you protect those types.&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Test the policy before relying on it. On a non-production object, for example a scratch volume &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vol-test1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;pool1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# As one administrator, delete &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;vol-test1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. The delete should not start. From the CLI, the response shows the approval status, such as &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;1 of 2 approvals met&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
# As a second administrator, open &amp;#039;&amp;#039;&amp;#039;Security → Multi-admin Approval → Approve&amp;#039;&amp;#039;&amp;#039;. The &amp;#039;&amp;#039;&amp;#039;Pending Multi-admin Approval Requests&amp;#039;&amp;#039;&amp;#039; list shows the object name, object type, required and current counts, the originator and the expiry time.&lt;br /&gt;
# Select the request and approve it. When the required count is reached, the delete task runs and appears in the Tasks pane.&lt;br /&gt;
# Repeat with a second scratch object and use &amp;#039;&amp;#039;&amp;#039;Reject&amp;#039;&amp;#039;&amp;#039; to confirm a refused delete never runs.&lt;br /&gt;
&lt;br /&gt;
If nothing is waiting, the Approve dialog reports that there are no pending operation requests to approve.&lt;br /&gt;
&lt;br /&gt;
Day to day, treat an unexpected pending request as a security event: check who originated it, and reject it if it isn&amp;#039;t tied to an approved change. Every request, approval and delete is recorded by [[Audit Logging|audit logging]], which gives you the trail auditors ask for. For scripted cleanup jobs, check the CLI approval status so the job reports a held delete instead of treating it as a failure. Command syntax is in the [[QuantaStor CLI Command Reference]].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Which operations does multi-admin approval cover? ===&lt;br /&gt;
&lt;br /&gt;
It covers deletes: storage volumes, network shares, buckets, scale-up storage pools, scale-out block, file and object pools, object storage classes and Ceph clusters. You choose which of these require approval on the Multi-admin Approvals tab of Security Manager. Other management operations are governed by role based access control as usual.&lt;br /&gt;
&lt;br /&gt;
=== Does multi-admin approval protect against ransomware? ===&lt;br /&gt;
&lt;br /&gt;
It protects against the destructive step attackers use once they hold administrator credentials: deleting pools, volumes or buckets so there is nothing left to recover from. It does not stop data from being encrypted inside a volume or share, so combine it with snapshot schedules, replication schedules, multi-factor authentication and audit logging.&lt;br /&gt;
&lt;br /&gt;
=== What happens if nobody approves a request? ===&lt;br /&gt;
&lt;br /&gt;
The delete never runs. The request expires after the configured &amp;#039;&amp;#039;&amp;#039;Hours Until Auto-expiration&amp;#039;&amp;#039;&amp;#039;, and the object stays in place. Setting the expiry to 0 keeps requests open until they are approved or rejected.&lt;br /&gt;
&lt;br /&gt;
=== Is multi-admin approval suitable for government and regulated deployments? ===&lt;br /&gt;
&lt;br /&gt;
It enforces separation of duties for data destruction on the storage system itself, which supports audit and access-control requirements in frameworks such as NIST 800-53 and 800-171. It works alongside QuantaStor&amp;#039;s password and lockout policy presets, RBAC, multi-factor authentication, LDAP single sign-on and always-on audit logging, all described in Security Configuration.&lt;br /&gt;
&lt;br /&gt;
=== Can an administrator approve their own delete? ===&lt;br /&gt;
&lt;br /&gt;
Treat approval as needing different people: give each administrator a named account, grant the approve permission only to roles that should vote, and protect those accounts with multi-factor authentication. Check the Request Originator column before approving a request.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-multi-admin-approval.md @ d95f434838dc --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:45:02 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Multi-Admin_Approval_for_Destructive_Storage_Operations</comments>
		</item>
		<item>
			<title>File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png&amp;diff=28195&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png&amp;diff=28195&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png&quot; title=&quot;File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png&quot;&gt;File:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (multi-admin-approval)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (multi-admin-approval)&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:45:02 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-multi-admin-approval-multi-admin-approval-role-permissions.png</comments>
		</item>
		<item>
			<title>File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png&amp;diff=28194&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png&amp;diff=28194&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png&quot; title=&quot;File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png&quot;&gt;File:Guide-multi-admin-approval-multi-admin-approval-security-manager.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (multi-admin-approval)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (multi-admin-approval)&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:45:02 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-multi-admin-approval-multi-admin-approval-security-manager.png</comments>
		</item>
		<item>
			<title>Guides:Index</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28193&amp;oldid=28187</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Index&amp;diff=28193&amp;oldid=28187</guid>
			<description>&lt;p&gt;osn-seo-utilities: regenerate index&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:30, 3 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Guides ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Guides ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;[[Guides:Asynchronous Remote Replication and Disaster Recovery Failover|Asynchronous Remote Replication and Disaster Recovery Failover]]&#039;&#039;&#039; &amp;amp;mdash; Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[Guides:Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies|Tiering On-Premises Object Storage to AWS S3 with Lifecycle Policies]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;mdash; Cloud tiering moves older objects from a local S3 bucket to a bucket at AWS while the bucket keeps serving the same namespace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Guides]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- osn-seo-utilities: generated index --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-28187:rev-28193:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:30:07 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Index</comments>
		</item>
		<item>
			<title>Guides:Asynchronous Remote Replication and Disaster Recovery Failover</title>
			<link>https://wiki.osnexus.com/index.php?title=Guides:Asynchronous_Remote_Replication_and_Disaster_Recovery_Failover&amp;diff=28192&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=Guides:Asynchronous_Remote_Replication_and_Disaster_Recovery_Failover&amp;diff=28192&amp;oldid=0</guid>
			<description>&lt;p&gt;osn-seo-utilities: remote-replication-dr @ f2ee090c4281 (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;By Steve Umbehocker, CTO, OSNexus &amp;amp;middot; Updated October 3, 2026&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Asynchronous remote replication keeps a second, mountable copy of your volumes and shares at another site, updated on a schedule by sending only the blocks that changed. QuantaStor replicates Storage Volumes and Network Shares between Storage Pools on systems in the same grid. When the primary site is lost, you activate the replica checkpoints at the DR site, and later you can fail back with or without the changes made.&lt;br /&gt;
&lt;br /&gt;
== Why it matters ==&lt;br /&gt;
&lt;br /&gt;
Snapshots protect against mistakes, but they live in the same pool as the data, so they go down with the pool, the system or the site. Replication puts a full copy somewhere else. The three scheduled data-protection features answer different questions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! Where the copy lands !! Use it for&lt;br /&gt;
|-&lt;br /&gt;
| [[Snapshot Schedules]] || Destination is the same Storage Pool || Fast local recovery points, undoing a bad change&lt;br /&gt;
|-&lt;br /&gt;
| Remote replication || Destination is a Storage Pool on another system within the grid || Surviving the loss of a system, pool or site&lt;br /&gt;
|-&lt;br /&gt;
| [[Backup Policies]] || Destination is cloud object storage or an an external NFS/SMB source || Provides great flexibility and you can do inbound or outbound policies and autotiering but it doesn&amp;#039;t have the block-level incremental efficiency of the other methods&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A replication schedule already snapshots its sources and keeps its own retention on both sides, so you rarely need a separate Snapshot Schedule on the same volume or share.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Replication is snapshot-driven ZFS send/receive between two pools. The full reference is [[Remote-replication (DR)]]. The moving parts:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Grid membership.&amp;#039;&amp;#039;&amp;#039; Both systems must belong to the same storage grid. A grid can span sites, so replicating to a remote site means joining the remote appliances to this grid. See [[Grid Configuration]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Storage System Replication Link.&amp;#039;&amp;#039;&amp;#039; A trust relationship and data path between two systems. Creating one generates a dedicated SSH key pair, registers each side&amp;#039;s public key on the other, and pins replication traffic to a fixed IP address on each end. Links come in pairs: A to B creates B to A as well.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Replication schedule.&amp;#039;&amp;#039;&amp;#039; Names a link (which sets the direction), a destination pool, the volumes and shares, when to run, and how many snapshots to keep on each side. The system that owns the destination pool owns and runs the schedule.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Replica checkpoint.&amp;#039;&amp;#039;&amp;#039; For each source, the destination pool holds a real volume or share named with a &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;_chkpnt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; suffix (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;backups&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; becomes &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;backups_chkpnt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), plus timestamped snapshots that serve as retained recovery points.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Replica association.&amp;#039;&amp;#039;&amp;#039; The persistent source-to-checkpoint relationship, where live status and sync times are recorded.&lt;br /&gt;
&lt;br /&gt;
Only the first run is a full copy. After that, each run snapshots the source, finds the newest GMT-stamped snapshot that both source and checkpoint have, and sends the difference. The pools don&amp;#039;t need to match in size, layout, disk type or hardware, and the remote-replication feature must be included in the license.&lt;br /&gt;
&lt;br /&gt;
On a Ceph scale-out cluster, Ceph RBD pools can be a destination only when the remote system belongs to the same Ceph cluster as the source. Network Shares on scale-out CephFS replicate to a second Ceph cluster through CephFS snapshot mirroring instead; see [[Scale-out File Replication]].&lt;br /&gt;
&lt;br /&gt;
== Design and sizing ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RPO.&amp;#039;&amp;#039;&amp;#039; On the Schedule Interval tab, a timer interval is the rest time between the &amp;#039;&amp;#039;end&amp;#039;&amp;#039; of one run and the start of the next: 3 minutes minimum, 30 by default, up to 360. Your worst-case data loss is about one interval plus the duration of a run, so the real lever is how long a run takes. A run never starts while the previous one is still working. For a fixed timetable, the day/hour grid gives a calendar schedule, with an offset of 0–59 minutes to stagger several schedules. Frequent small runs usually transfer less each time and keep the DR copy closer than one big nightly run.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bandwidth.&amp;#039;&amp;#039;&amp;#039; Each link has a Bandwidth Limit in MB/sec (the dialog suggests 200; entering 0 means the service default of 100). The limit is shared evenly across the streams currently running on that link and rebalanced as streams finish, so four concurrent replications on a 200 MB/sec link get 50 MB/sec each. Size the limit against your daily change rate. This is plain arithmetic, not a measured benchmark:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Changed data per run !! Time to send at 100 MB/sec !! Time to send at 200 MB/sec&lt;br /&gt;
|-&lt;br /&gt;
| 10 GB || about 1.7 minutes || about 50 seconds&lt;br /&gt;
|-&lt;br /&gt;
| 100 GB || about 17 minutes || about 8.5 minutes&lt;br /&gt;
|-&lt;br /&gt;
| 1 TB || about 2.8 hours || about 1.4 hours&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first full copy is the long one. Seeding with a one-time replica (below) before you enable a tight schedule keeps the initial copy from colliding with production hours.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Transport.&amp;#039;&amp;#039;&amp;#039; Encryption is on by default and tunnels the stream over SSH. Turning it off sends the stream over a plain mbuffer TCP session, which is faster on a trusted private link and offers no confidentiality. Compression adds lz4 only when the source dataset isn&amp;#039;t already compressed.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Retention.&amp;#039;&amp;#039;&amp;#039; The Snapshot Settings tab keeps 3 short-term snapshots by default (the recommended value) for computing deltas, plus long-term hourly, daily, weekly, monthly and quarterly counts set separately for source and checkpoint. Keep enough snapshots that both sides always share one; otherwise the next run falls back to a full copy.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HA pools.&amp;#039;&amp;#039;&amp;#039; Each run re-selects its link based on which systems currently own the source and destination pools. With an HA pool on systems A and B replicating to one on C and D, create all four links (A–C, A–D, B–C, B–D) so replication keeps running after a failover on either end.&lt;br /&gt;
&lt;br /&gt;
== Setting it up ==&lt;br /&gt;
&lt;br /&gt;
# Join both systems to one grid ([[Grid Configuration]]) and create a destination pool ([[Storage Pools]]).&lt;br /&gt;
# Create the link: &amp;#039;&amp;#039;&amp;#039;Remote Replication → Storage System Replication Links → Replication Link → Create&amp;#039;&amp;#039;&amp;#039;. Choose the storage system and a fixed IP address for each side. Floating cluster VIF addresses are filtered out. For a cloud system with a public address, the far side can use &amp;#039;&amp;#039;&amp;#039;External IP Address&amp;#039;&amp;#039;&amp;#039;, which is pre-filled from the system&amp;#039;s external hostname (set with &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs system-modify --ext-hostname&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, see the [[QuantaStor CLI Command Reference]]).&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-remote-replication-dr-remote-replication-dr-replication-link-create.png|frame|center|The Create Storage System Replication Link dialog, with an existing link pair (primary site to DR site) behind it: pick a system and fixed IP address for each end, then check the Bandwidth Limit and the Encryption box, which is on by default]]&lt;br /&gt;
&lt;br /&gt;
# Create the schedule: &amp;#039;&amp;#039;&amp;#039;Remote Replication → Volume &amp;amp; Share Replication Schedules → Replication Schedule → Create&amp;#039;&amp;#039;&amp;#039;. On the General tab, pick the link (this sets the direction) and the Remote Pool. Then set the interval, select volumes and shares (selecting a parent share and one nested inside it is rejected), set retention, and review Advanced Settings. Leave &amp;#039;&amp;#039;&amp;#039;Enable resumable replication&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Enable target checkpoint recovery&amp;#039;&amp;#039;&amp;#039; on, as they are by default.&lt;br /&gt;
# To seed a destination or copy one volume on demand without a schedule, use [[Create Volume Replica]]. The diff-copy option sends changes against an existing checkpoint; full copy creates a new one.&lt;br /&gt;
# Interval schedules start shortly after you create them. To run any schedule immediately:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qs replication-schedule-trigger --schedule=nightly-dr&lt;br /&gt;
qs replica-assoc-list&lt;br /&gt;
qs replica-report-summary-list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating and testing ==&lt;br /&gt;
&lt;br /&gt;
Watch the &amp;#039;&amp;#039;&amp;#039;Volume &amp;amp; Share Replica Associations&amp;#039;&amp;#039;&amp;#039; section. Each source shows its status (Synchronizing, Synchronized, Sync Failed (Resumable), Skipped and so on), elapsed time, and when the last sync started and completed. Each run also writes a summary report with bytes transferred and average speed, which is the number to check against your RPO math.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png|frame|center|The Remote Replica Associations grid after a scheduled run: a volume and a share, both Synchronized, with sync start and completion times and their _chkpnt targets on the DR system]]&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png|frame|center|The Replication Report for the schedule: a full first sync of 1.29 GB, then incremental runs that send only the changed blocks, plus one run skipped because the previous one was still active]]&lt;br /&gt;
&lt;br /&gt;
If a run is interrupted (the WAN drops, a node reboots), resumable replication keeps a ZFS resume token and the next run continues from where it stopped. A failed run raises an alert, at most one per hour per schedule and source; see [[Call-home / Alerting]] for sending alerts off the appliance. A run is skipped, with its reason shown on the schedule, if a link is missing or not Normal, if a pool is unhealthy, or if a destination HA failover is in progress.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Failover.&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;Activate Checkpoints&amp;#039;&amp;#039;&amp;#039; on the schedule toolbar is the promotion step. It disables the schedule, marks the checkpoints as Active Replica Checkpoints, brings checkpoint shares online and makes checkpoint volumes available to map to hosts. It can also create share aliases named after the sources, so clients reach &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;backups&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;backups_chkpnt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. Optional &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dr-prefailover&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;dr-postfailover&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; scripts in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;/var/opt/osnexus/custom/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; handle site-specific steps such as repointing DNS. For hands-off failover, the Automatic Activation tab activates checkpoints when a Site Cluster VIF ([[Site Cluster Create]]) moves to the destination node.&lt;br /&gt;
&lt;br /&gt;
[[File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png|frame|center|A replication schedule that runs every 15 minutes and keeps 10 checkpoints. Its toolbar has Activate Checkpoints, Deactivate Checkpoints and Rollback for failover and failback]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Failback.&amp;#039;&amp;#039;&amp;#039; After a test, disconnect DR-site clients, then use &amp;#039;&amp;#039;&amp;#039;Deactivate Checkpoints&amp;#039;&amp;#039;&amp;#039; with &amp;#039;&amp;#039;&amp;#039;Re-enable Replication Schedule&amp;#039;&amp;#039;&amp;#039; ticked; the next run overwrites the checkpoints from the source. If the DR site took writes you need to keep, use &amp;#039;&amp;#039;&amp;#039;Rollback&amp;#039;&amp;#039;&amp;#039; first (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;qs replication-schedule-trigger-rollback --schedule=&amp;lt;name&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;). It sends the checkpoint&amp;#039;s changes back and overwrites the original source. Then deactivate and re-enable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Test it regularly.&amp;#039;&amp;#039;&amp;#039; A DR test is activate, mount and verify from a DR-site client, then deactivate. Any client session on a checkpoint marks it active again on its own, and while any checkpoint is active the schedule stays blocked. A test that ends with clients still attached quietly stops replication, so check the schedule&amp;#039;s state afterwards.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
=== Does QuantaStor support asynchronous replication with DR failover between sites? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Replication schedules copy Storage Volumes and Network Shares asynchronously and incrementally to a Storage Pool on another grid member, which can be at another site. Failover is the Activate Checkpoints step, either manual or automatic on a Site Cluster VIF move. Failback either discards the DR-site changes or rolls them back to the source first.&lt;br /&gt;
&lt;br /&gt;
=== What RPO can I get? ===&lt;br /&gt;
&lt;br /&gt;
The shortest timer interval is 3 minutes, measured from the end of one run to the start of the next. Your effective RPO is that interval plus however long a run takes, which depends on change rate and the link&amp;#039;s bandwidth limit. Check the average speed in the replication reports to see what you&amp;#039;re actually achieving.&lt;br /&gt;
&lt;br /&gt;
=== Do the source and destination systems need identical hardware? ===&lt;br /&gt;
&lt;br /&gt;
No. The pools don&amp;#039;t need to match in size, layout, disk type or hardware. Both systems do need to be in the same grid and licensed for remote replication. Ceph RBD destinations must be in the same Ceph cluster as the source.&lt;br /&gt;
&lt;br /&gt;
=== Can one source replicate to more than one site? ===&lt;br /&gt;
&lt;br /&gt;
Yes. Create one schedule per destination (N-way), or replicate from the DR site&amp;#039;s checkpoint to a third site (cascading). On the second and later schedules, enable source snapshot reuse so all destinations share a common snapshot.&lt;br /&gt;
&lt;br /&gt;
=== Will replication overwrite changes made at the DR site? ===&lt;br /&gt;
&lt;br /&gt;
Not while a checkpoint is active. An active checkpoint blocks the schedule, and any iSCSI, FC, NFS or SMB client session marks a checkpoint active automatically. Overwriting happens only after you deactivate, so roll back first if you want to keep DR-site writes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Part of the [[Guides:Index|QuantaStor Guides]] series. For reference documentation, see the [[Main Page|QuantaStor documentation]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&amp;lt;!-- osn-seo-utilities: ../review/articles/wiki-remote-replication-dr.md @ f2ee090c4281 --&amp;gt;&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:30:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=Guides_talk:Asynchronous_Remote_Replication_and_Disaster_Recovery_Failover</comments>
		</item>
		<item>
			<title>File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png&amp;diff=28191&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png&amp;diff=28191&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png&quot; title=&quot;File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png&quot;&gt;File:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:30:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-remote-replication-dr-remote-replication-dr-replication-schedule-toolbar.png</comments>
		</item>
		<item>
			<title>File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png&amp;diff=28190&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png&amp;diff=28190&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png&quot; title=&quot;File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png&quot;&gt;File:Guide-remote-replication-dr-remote-replication-dr-replication-report.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:30:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-remote-replication-dr-remote-replication-dr-replication-report.png</comments>
		</item>
		<item>
			<title>File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png</title>
			<link>https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png&amp;diff=28189&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.osnexus.com/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png&amp;diff=28189&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Qadmin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Qadmin (page does not exist)&quot;&gt;&lt;bdi&gt;Qadmin&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/index.php?title=File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png&quot; title=&quot;File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png&quot;&gt;File:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png&lt;/a&gt; osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;osn-seo-utilities: screenshot for Guides (remote-replication-dr)&lt;/div&gt;</description>
			<pubDate>Sat, 03 Oct 2026 02:30:03 GMT</pubDate>
			<dc:creator>Qadmin</dc:creator>
			<comments>https://wiki.osnexus.com/index.php?title=File_talk:Guide-remote-replication-dr-remote-replication-dr-replica-associations.png</comments>
		</item>
</channel></rss>