You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-networking-concepts.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,15 @@ After configuring endpoints, you can configure network rules to further control
29
29
30
30
You can enable or disable public Internet access to your Elastic SAN endpoints at the SAN level. Enabling public network access for an Elastic SAN allows you to configure public access to individual volume groups in that SAN over storage service endpoints. By default, public access to individual volume groups is denied even if you allow it at the SAN level. If you disable public access at the SAN level, access to the volume groups within that SAN is only available over private endpoints.
31
31
32
+
## Data Integrity
33
+
34
+
Data integrity is important for preventing data corruption in cloud storage. TCP provides a foundational level of data integrity through its checksum mechanism, it can be enhanced over iSCSI with more robust error detection with a cyclic redundancy check (CRC), specifically CRC-32C. CRC-32C can be used to add checksum verification for iSCSI headers and data payloads.
35
+
36
+
Elastic SAN supports CRC-32C checksum verification when enabled on the client side for connections to Elastic SAN volumes. Elastic SAN also offers the ability to enforce this error detection through a property that can be set at the volume group level, which is inherited by any volume within that volume group. When you enable this property on a volume group, Elastic SAN rejects all client connections to any volumes in the volume group if CRC-32C isn't set for header or data digests on those connections. When you disable this property, Elastic SAN volume checksum verification depends on whether CRC-32C is set for header or data digests on the client, but your Elastic SAN won't reject any connections. To learn how to enable CRC protection, see [Configure networking](elastic-san-networking.md#enable-iscsi-error-detection).
37
+
38
+
> [!NOTE]
39
+
> Some operating systems may not support iSCSI header or data digests. Fedora and its downstream Linux distributions like Red Hat Enterprise Linux, CentOS, Rocky Linux, etc. don't support data digests. Don't enable CRC protection on your volume groups if your clients use operating systems like these that don't support iSCSI header or data digests because connections to the volumes will fail.
40
+
32
41
## Storage service endpoints
33
42
34
43
[Azure Virtual Network service endpoints](../../virtual-network/virtual-network-service-endpoints-overview.md) provide secure and direct connectivity to Azure services using an optimized route over the Azure backbone network. Service endpoints allow you to secure your critical Azure service resources so only specific virtual networks can access them.
@@ -77,4 +86,4 @@ iSCSI sessions can periodically disconnect and reconnect over the course of the
77
86
78
87
## Next steps
79
88
80
-
[Configure Elastic SAN networking](elastic-san-networking.md)
89
+
[Configure Elastic SAN networking](elastic-san-networking.md)
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-networking.md
+106Lines changed: 106 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,6 +130,112 @@ az elastic-san update \
130
130
131
131
---
132
132
133
+
## Configure iSCSI error detection
134
+
135
+
### Enable iSCSI error detection
136
+
137
+
To enable CRC-32C checksum verification for iSCSI headers or data payloads, set CRC-32C on header or data digests for all connections on your clients that connect to Elastic SAN volumes. To do this, connect your clients to Elastic SAN volumes using multi-session scripts generated either in the Azure portal or provided in either the [Windows](elastic-san-connect-windows.md) or [Linux](elastic-san-connect-Linux.md) Elastic SAN connection articles.
138
+
139
+
If you need to, you can do this without the multi-session connection scripts. On Windows, you can do this by setting header or data digests to 1 during login to the Elastic SAN volumes (`LoginTarget` and `PersistentLoginTarget`). On Linux, you can do this by updating the global iSCSI configuration file (iscsid.conf, generally found in /etc/iscsi directory). When a volume is connected, a node is created along with a configuration file specific to that node (for example, on Ubuntu it can be found in /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port directory) inheriting the settings from global configuration file. If you have already connected volumes to your client before updating your global configuration file, update the node specific configuration file for each volume directly, or using the following command:
To enforce iSCSI error detection, set CRC-32C for both header and data digests on your clients and enable the CRC protection property on the volume group that contains volumes already connected to or have yet to be connected to from your clients. If your Elastic SAN volumes are already connected and don't have CRC-32C for both digests, you should disconnect the volumes and reconnect them using multi-session scripts generated in the Azure portal when connecting to an Elastic SAN volume, or from the [Windows](elastic-san-connect-windows.md) or [Linux](elastic-san-connect-Linux.md) Elastic SAN connection articles.
153
+
154
+
> [!NOTE]
155
+
> CRC protection feature isn't currently available in North Europe and South Central US.
156
+
157
+
To enable CRC protection on the volume group:
158
+
159
+
# [Portal](#tab/azure-portal)
160
+
161
+
Enable CRC protection on a new volume group:
162
+
163
+
:::image type="content" source="media/elastic-san-networking/elastic-san-crc-protection-create-volume-group.png" alt-text="Screenshot of CRC protection enablement on new volume group." lightbox="media/elastic-san-networking/elastic-san-crc-protection-create-volume-group.png":::
164
+
165
+
Enable CRC protection on an existing volume group:
166
+
167
+
:::image type="content" source="media/elastic-san-networking/elastic-san-crc-protection-update-volume-group.png" alt-text="Screenshot of CRC protection enablement on an existing volume group." lightbox="media/elastic-san-networking/elastic-san-crc-protection-update-volume-group.png":::
168
+
169
+
# [PowerShell](#tab/azure-powershell)
170
+
171
+
Use this script to enable CRC protection on a new volume group using the Azure PowerShell module. Replace the values of `$RgName`, `$EsanName`, `$EsanVgName` before running the script.
172
+
173
+
```powershell
174
+
# Set the variable values.
175
+
# The name of the resource group where the Elastic San is deployed.
176
+
$RgName = "<ResourceGroupName>"
177
+
# The name of the Elastic SAN.
178
+
$EsanName = "<ElasticSanName>"
179
+
# The name of volume group within the Elastic SAN.
180
+
$EsanVgName = "<VolumeGroupName>"
181
+
182
+
# Create a volume group by enabling CRC protection
Use this script to enable CRC protection on an existing volume group using the Azure PowerShell module. Replace the values of `$RgName`, `$EsanName`, `$EsanVgName` before running the script.
The following code sample enable CRC protection on a new volume group using Azure CLI. Replace the values of `RgName`, `EsanName`, `EsanVgName`, before running the sample.
202
+
203
+
```azurecli
204
+
# Set the variable values.
205
+
# The name of the resource group where the Elastic San is deployed.
206
+
RgName="<ResourceGroupName>"
207
+
# The name of the Elastic SAN.
208
+
EsanName="<ElasticSanName>"
209
+
# The name of volume group within the Elastic SAN.
210
+
EsanVgName= "<VolumeGroupName>"
211
+
212
+
# Create the Elastic San.
213
+
az elastic-san volume-group create \
214
+
--elastic-san-name $EsanName \
215
+
--resource-group $RgName \
216
+
--volume-group-name $EsanVgName \
217
+
--data-integrity-check true
218
+
```
219
+
220
+
The following code sample enable CRC protection on an existing volume group using Azure CLI. Replace the values of `RgName`, `EsanName`, `EsanVgName`, before running the sample.
221
+
222
+
```azurecli
223
+
# Set the variable values.
224
+
RgName="<ResourceGroupName>"
225
+
EsanName="<ElasticSanName>"
226
+
EsanVgName= "<VolumeGroupName>"
227
+
228
+
# Create the Elastic San.
229
+
az elastic-san volume-group update \
230
+
--elastic-san-name $EsanName \
231
+
--resource-group $RgName \
232
+
--volume-group-name $EsanVgName \
233
+
--data-integrity-check true
234
+
```
235
+
236
+
---
237
+
238
+
133
239
## Configure a virtual network endpoint
134
240
135
241
You can configure your Elastic SAN volume groups to allow access only from endpoints on specific virtual network subnets. The allowed subnets can belong to virtual networks in the same subscription, or those in a different subscription, including a subscription belonging to a different Microsoft Entra tenant.
0 commit comments