Skip to content

Commit d66e32a

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-compute-docs-pr into tornWriteMD
2 parents aa2473c + f092fb6 commit d66e32a

File tree

155 files changed

+449
-1341
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

155 files changed

+449
-1341
lines changed

articles/container-instances/using-azure-container-registry-mi.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ When access to an Azure Container Registry (ACR) is [restricted using a private
2626
## Limitations
2727
* Windows containers don't support system-assigned managed identity-authenticated image pulls with ACR, only user-assigned.
2828

29+
> [!NOTE]
30+
> Managed identity access to a private Azure Container Registry can be configured **only** via an ARM/Bicep template or the latest Azure CLI.
31+
2932
## Configure registry authentication
3033

3134
Your container registry must have Trusted Services enabled. To find instructions on how to enable trusted services, see [Allow trusted services to securely access a network-restricted container registry][allow-access-trusted-services].
734 KB
Loading
130 KB
Loading
156 KB
Loading
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Replica soft delete for enhanced data protection in Service Fabric
3+
description: Learn about the replica soft delete feature for Service Fabric's reliable services.
4+
ms.topic: concept-article
5+
ms.author: tomcassidy
6+
author: tomvcassidy
7+
ms.service: azure-service-fabric
8+
services: service-fabric
9+
ms.date: 11/07/2025
10+
# Customer intent: As a developer, I want to understand how the soft deletion of a replica feature works and what impact it has on the existing replica development model.
11+
---
12+
13+
# Replica soft delete for enhanced data protection in Service Fabric
14+
15+
A [replica of a stateful service](./service-fabric-concepts-replica-lifecycle.md#replicas-of-stateful-services) is a copy of the service logic running on one of the nodes of the cluster. This article introduces a new Service Fabric enhancement - soft delete for stateful replicas. Replica Soft Delete (RSD) provides an additional layer of data protection and operational safety for stateful workloads, helping ensure data integrity and reliability. This feature provides a safeguard against accidental or unintended data loss when using Remove Replica destructive operations on stateful persistent services. Instead of immediately and permanently deleting data, Service Fabric now retains a snapshot of the replica at the time of deletion until the partition regains quorum. RSD operates in the background for every deleted replica.
16+
17+
RSD also incorporates smart deletion logic, which automatically identifies and permanently removes soft-deleted replicas that are stale if the partition is otherwise healthy. This ensures efficient resource management across the Service Fabric cluster.
18+
19+
The key benefits of replica soft delete are:
20+
21+
* Operational safety and control: Safeguards against accidental data loss due to human error, with restore options and audit logs visibility.
22+
* Data resiliency with minimal storage and compute overhead: Keeps your data protected while eliminating redundant replicas and preventing unnecessary data accumulation.
23+
24+
## Lifecycle of a soft-deleted replica
25+
26+
When stateful service replicas are removed either through the administrative PowerShell API (Remove-ServiceFabricReplica), or directly through the Fabric Client API, Service Fabric will now transition the replicas into a `ToBeRemoved` state. In this new state, the replicas are closed, releasing compute resources. However, SF continues to track these replicas and ensures that replica data on disk isn't cleaned up in case the partition is in quorum loss.
27+
28+
If removing the replica causes the partition to go into quorum loss, Service Fabric would wait for manual intervention to bring the partition out of quorum loss by recovering the soft deleted replicas.
29+
30+
Using a new restore replica API (Restore-ServiceFabricReplica), these soft deleted replicas can be recovered to regain quorum without data loss.
31+
32+
If the partition is healthy, the soft deleted replica will be cleaned up after its retention period expires.
33+
34+
Soft deleted replicas don't block repairs, upgrades, or other administrative operations on the service or the cluster. Repairs with data removal intents clean up the replica data as well.
35+
36+
The following diagram shows the flow for replica soft delete:
37+
38+
:::image type="content" source="media/service-fabric-replica-soft-delete/replica-soft-delete-lifecycle.png" alt-text="Diagram showing the process flow for a replica soft delete action." lightbox="media/service-fabric-replica-soft-delete/replica-soft-delete-lifecycle.png":::
39+
40+
## Opt-in process
41+
42+
Replica soft delete is available as an opt-in feature in Service Fabric 11.x releases, starting with SF 11.3. Beginning with SF runtime release 12.0, it's enabled by default for all customers.
43+
44+
Starting with SF 11.3, this behavior can be enabled by [setting](service-fabric-cluster-config-upgrade-azure.md) the `IsDelayedReplicaCleanupEnabled` configuration under the ReconfigurationAgent section in the cluster manifest to be “true”. For example, the following shows a configuration update using an ARM template:
45+
46+
```json
47+
{
48+
"name": "ReconfigurationAgent",
49+
"parameters": [
50+
{
51+
"name": "IsDelayedReplicaCleanupEnabled",
52+
"value": "true"
53+
}
54+
]
55+
}
56+
```
57+
58+
## Changes in user experience
59+
60+
Upon removal of stateful service replicas—whether initiated through the administrative PowerShell API (Remove-ServiceFabricReplica), or the Fabric Client API—Service Fabric transitions the affected replicas to the `ToBeRemoved` state.
61+
62+
`ToBeRemoved` replicas can be queried using the existing replica query API. To recover these replicas, a new Restore Replica API (Restore-ServiceFabricReplica) is introduced. This API can be used with the latest SF SDK version, either using PowerShell or FabricClient APIs directly. More details on the API behavior in the sections.
63+
64+
Even without the new SDK, replicas are still soft-deleted once the feature is enabled, providing safeguards against data loss.
65+
66+
Usually, this behavior change won't impact existing workflows using the Remove Replica API, since SF automatically handles the cleanup within 10 minutes of deleting the replica if the partition is healthy. However, during this short window, you may notice a couple of temporary side effects. Specifically, placements for new replicas of the same partition will be blocked on nodes with soft-deleted replicas. Also, as the soft-deleted replica is cleaned up, the replica process comes back up momentarily to allow a graceful cleanup of disk resources.
67+
68+
> [!NOTE]
69+
> RSD works regardless of whether [Backup and Restore Service (BRS)](service-fabric-reliable-services-backup-restore.md) is enabled or not.
70+
71+
### Newly introduced APIs
72+
73+
* Restore-ServiceFabricReplica:
74+
75+
* Syntactically similar to [Restart-ServiceFabricReplica](/powershell/module/servicefabric/restart-servicefabricreplica). Recovers a `ToBeRemoved` replica by reopening the Replica object. If the partition was in quorum loss, customers should restore all soft deleted replicas using this API. Service Fabric automatically determines which replicas to retain to restore quorum.
76+
77+
### Changes to the behavior of existing APIs
78+
79+
* [Remove-ServiceFabricReplica](/powershell/module/servicefabric/remove-servicefabricreplica):
80+
81+
* Without -ForceRemove parameter:
82+
83+
* Rather than permanently deleting the replica, Remove-ServiceFabricReplica will now soft-delete a replica, provided the replica is responsive.
84+
85+
* With -ForceRemove parameter:
86+
87+
* Same as without the parameter, but we just don't wait for the replica to close gracefully.
88+
89+
* [Get-ServiceFabricReplica](/powershell/module/servicefabric/get-servicefabricreplica)
90+
91+
* The ReplicaStatus property now includes a new value: “ToBeRemoved”. This value indicates soft-deleted replicas. For replicas with a ReplicaStatus of “ToBeRemoved”, the `ToBeRemovedReplicaExpirationTimeUtc` property is displayed. `ToBeRemovedReplicaExpirationTimeUtc` shows the best-effort estimate of when the replica will be permanently removed, assuming the partition is healthy.
92+
93+
:::image type="content" source="media/service-fabric-replica-soft-delete/to-be-removed-status.png" alt-text="Screenshot of sample command line output showing To Be Removed status." lightbox="media/service-fabric-replica-soft-delete/to-be-removed-status.png":::
94+
95+
### Service Fabric Explorer (SFX) changes
96+
97+
SFX now shows `ToBeRemoved` replicas, along with the time by which they get cleaned up permanently.
98+
99+
:::image type="content" source="media/service-fabric-replica-soft-delete/service-fabric-explorer-to-be-removed.png" alt-text="Screenshot of To Be Removed status in Service Fabric Explorer." lightbox="media/service-fabric-replica-soft-delete/service-fabric-explorer-to-be-removed.png":::
100+
101+
## Next steps
102+
103+
* [Reliable Services overview](service-fabric-reliable-services-introduction.md)
104+
* [Reliable Services quickstart](service-fabric-reliable-services-quick-start.md)
105+
* [Reliable collections](service-fabric-reliable-services-reliable-collections.md)

articles/service-fabric/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@
206206
href: service-fabric-reliable-services-reliable-concurrent-queue.md
207207
- name: Reliable Collection serialization
208208
href: service-fabric-reliable-services-reliable-collections-serialization.md
209+
- name: Replica soft delete
210+
href: service-fabric-replica-soft-delete.md
209211
- name: Reliable Actors
210212
items:
211213
- name: Reliable Actors overview

articles/virtual-machine-scale-sets/includes/spot-priority-mix.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

articles/virtual-machine-scale-sets/virtual-machine-scale-sets-faq.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ sections:
7676
answer: |
7777
If you increase capacity to 18, then 3 new VMs are created. Each time, the VM instance ID is incremented from the previous highest value (for example, 20, 21, 22). VMs are balanced across fault domains.
7878
79+
- question: |
80+
What happens when a VM in a scale set becomes unhealthy?
81+
answer: |
82+
Azure automatically replaces unhealthy instances based on health probe signals or application health extensions.
83+
7984
- question: |
8085
When I'm using multiple extensions in a scale set, can I enforce an execution sequence?
8186
answer: |

articles/virtual-machines/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1105,7 +1105,7 @@
11051105
href: ./linux/spot-template.md
11061106
- name: Spot Priority Mix
11071107
href: /azure/virtual-machine-scale-sets/spot-priority-mix?toc=/azure/virtual-machines/toc.json
1108-
- name: Spot Placement Score (Preview)
1108+
- name: Spot Placement Score
11091109
href: /azure/virtual-machine-scale-sets/spot-placement-score?toc=/azure/virtual-machines/toc.json
11101110
- name: VM size recommendation
11111111
href: /azure/virtual-machine-scale-sets/spot-vm-size-recommendation?toc=/azure/virtual-machines/toc.json

articles/virtual-machines/boot-diagnostics.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ Everything after API version 2020-06-01 supports managed boot diagnostics. For m
127127
- Managed storage accounts are supported in Resource Manager API version "2020-06-01" and later.
128128
- Portal only supports the use of boot diagnostics with a managed storage account for single instance VMs.
129129
- Users can't configure a retention period for Managed Boot Diagnostics. The logs are overwritten when the total size crosses 1 GB.
130+
- If the OS disk is swapped after enabling boot diagnostics, the VM will required a stop/ start before boot diagnostics will work again. To avoid this, disable boot diagnostics before swapping the OS disk and enable again after the OS disk swap has been completed.
130131

131132
## Next steps
132133

0 commit comments

Comments
 (0)