StorageUtility.psm1-help.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
<?xml version="1.0" encoding="utf-8"?>
<helpItems xmlns="http://msh" schema="maml">
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
        <command:name>Update-VmfsDatastore</command:name>
        <maml:description>
            <maml:para>This cmdlet updates a VMFS5 datastore to VMFS6.</maml:para>
        </maml:description>
        <maml:copyright>
           <maml:para />
        <!--Add copy right info here.-->
        </maml:copyright>
        <command:verb>Update</command:verb>
        <command:noun>VmfsDatastore</command:noun>
        <!--Add Dev version info here.-->
        <dev:version />
    </command:details>
    <maml:description>
    <!--This is the Description section-->
        <maml:para>This cmdlet updates a VMFS5 datastore to a supported specified target VMFS version. The supported new VMFS version in vSphere 6.5 is version 6.
 
Things to consider before running this cmdlet:
- This operation deletes the existing VMFS5 datastore to create a VMFS6 datastore. You should back up any files from the VMFS5 datastore to prevent any data loss.
- As the existing VMFS5 datastore is formatted to VMFS6 datastore, the UUID of the datastore will change.
- If the UUID of the datastore is different from the previous UUID of the VMFS5 datastore, all applications that depend on the UUID of VMFS5 datastores should be updated with the new UUID.
- Example: Any backup solution which uses datastore UUID to back up datastore contents must be updated with the new UUID before running this cmdlet.
- HBR (Host Based Replciation)/VR (vSphere Replication) and SRM (Site Recovery Manager) enabled vSphere environments are not supported with this cmdlet. You should not run the VMFS update with HBR or SRM configured as the cmdlet is not aware of any files or configurations related to HBR or SRM.
- If VADP is enabled on a VM, migration is disabled on such a VM. The cmdlet will fail to move such VM.
- After migrating all active or registered VMs from the source datastore, if swap files or delta.vmdk (snapshots of vitual disk) files are found, the datastore will not be upgraded.
- VMFS extend: In case the VMFS datastore (which you try to upgrade from VMFS version 5 to 6) is extended across multiple devices (or extents), this cmdlet extends the VMFS on the primary datastore over the tail devices. All data on the tail devices (extents), including the partitions, will be deleted. Hence, the tail devices with multiple active partitions are not supported.
- This cmdlet supports DRS on a cluster, SDRS, SIOC, SPBM (VMFS tagging), CBRC (Content Based Read Cache), and vFRC (vSphere Flash Read Cache) only.
- This cmdlet does not support VADP (VMware vSphere Storage APIs - Data Protection), SRM (Site Recovery Manager), HBR (Host Based Replication)/VR (vSphere Replication), SMP-FT (Symmetric Multi-Processing Fault Tolerance) and FT (Fault Tolerance), First Class Disks (FCD), Windows Server Failover Clustering (WSFC), and Oracle Real Application Clusters (RAC).
 
This cmdlet performs the following tasks:
 
1. Backs up the VMFS5 (source) datastore, if the datastore contains any VMs or any other directories or files, to another VMFS5 datastore (temporary).
2. Deletes the source datastore, re-creates it with VMFS6 file system, and moves back all the files from temporary to source.
3. Rollback option: If there are infrastructure issues causing the ongoing task on step 1 to abort, use the Rollback option in the cmdlet to roll back all VMs and copied files from temporary to source.
4. If the Rollback option is not possible (due to being past step 1), you can resume the task which is initiated in step 1 by rectifying any infrastructure issues.
5. There is no post-update rollback option as the goal is to move all files from the VMFS5 datastore (temporary) to the newly formatted VMFS6 (source) datastore.
6. HA (High Availability) is supported in the 6.5.4 release.
7. VAAI (VMware vSphere Storage APIs - Array Integration) enabled VMFS5 datastores are supported in the 6.5.4 release.</maml:para>
    </maml:description>
    <command:syntax>
        <command:syntaxItem>
            <maml:name>Update-VmfsDatastore</maml:name>
            <command:parameter required = "true" variableLength = "false" globbing = "false" pipelineInput = "false" position = "1" >
                <maml:name>Server</maml:name>
                <maml:description>
                    <maml:para>Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is given to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer.</maml:para>
                </maml:description>
            <command:parameterValue required="true" variableLength = "false" >VIServer</command:parameterValue>
            </command:parameter>
            <command:parameter required = "true" variableLength = "false" globbing = "false" pipelineInput = "true (ByValue)" position = "2" >
                <maml:name>Datastore</maml:name>
                <maml:description>
                    <maml:para>Specifies datastore to update to VMFS6. It must be of version VMFS5.</maml:para>
                </maml:description>
            <command:parameterValue required="true" variableLength = "false" >Datastore</command:parameterValue>
            </command:parameter>
            <command:parameter required = "true" variableLength = "false" globbing = "false" pipelineInput = "false" position = "3" >
                <maml:name>TemporaryDatastore</maml:name>
                <maml:description>
                    <maml:para>Specifies the temporary datastore to help the upgrade to VMFS6. It should be of VMFS5 version. This datastore should be empty and its size should be more than that of the datastore you want to upgrade. The temporary datastore must have enough backing to support the migration.</maml:para>
                </maml:description>
            <command:parameterValue required="true" variableLength = "false" >Datastore</command:parameterValue>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "4" >
                <maml:name>TargetVmfsVersion</maml:name>
                <maml:description>
                    <maml:para>Specifies the target version to which you want to update the datastore. By default, the target VMFS version is 6.</maml:para>
                </maml:description>
            <command:parameterValue required="true" variableLength = "false" >Int32</command:parameterValue>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "named" >
                <maml:name>Rollback</maml:name>
                <maml:description>
                    <maml:para>Specifies whether to roll back Storage vMotion after a failure happens. This is possible only before the original datastore has been deleted. After the original datastore is removed, only resume is possible.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "named" >
                <maml:name>Resume</maml:name>
                <maml:description>
                    <maml:para>Indicates that you want to resume the previous upgrade attempt.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "named" >
                <maml:name>Force</maml:name>
                <maml:description>
                    <maml:para>Suppresses the confirmation prompt if vSphere Replication/HBR or SRM is enabled on the specified datastore.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "named" >
                <maml:name>WhatIf</maml:name>
                <maml:description>
                    <maml:para>Indicates that the cmdlet is run only to display the changes that would be made and actually no objects are modified.</maml:para>
                </maml:description>
            </command:parameter>
            <command:parameter required = "false" variableLength = "false" globbing = "false" pipelineInput = "false" position = "named" >
                <maml:name>Confirm</maml:name>
                <maml:description>
                    <maml:para>If the value is $true, indicates that the cmdlet asks for confirmation before running. If the value is $false, the cmdlet runs without asking for user confirmation.</maml:para>
                </maml:description>
            </command:parameter>
        </command:syntaxItem>
    </command:syntax>
    <command:parameters>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
            <maml:name>Server</maml:name>
            <maml:description>
                <maml:para>Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is given to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">VIServer</command:parameterValue>
            <dev:type>
                <maml:name>VIServer</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="true (ByValue)" position="2">
            <maml:name>Datastore</maml:name>
            <maml:description>
                <maml:para>Specifies datastore to update to VMFS6. It must be of version VMFS5.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Datastore</command:parameterValue>
            <dev:type>
                <maml:name>Datastore</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
            <maml:name>TemporaryDatastore</maml:name>
            <maml:description>
                <maml:para>Specifies the temporary datastore to help the upgrade to VMFS6. It should be of VMFS5 version. This datastore should be empty and its size should be more than that of the datastore you want to upgrade. The temporary datastore must have enough backing to support the migration.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Datastore</command:parameterValue>
            <dev:type>
                <maml:name>Datastore</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
            <maml:name>TargetVmfsVersion</maml:name>
            <maml:description>
                <maml:para>Specifies the target version to which you want to update the datastore. By default, the target VMFS version is 6.</maml:para>
            </maml:description>
            <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
            <dev:type>
                <maml:name>Int32</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Rollback</maml:name>
            <maml:description>
                <maml:para>Specifies whether to roll back Storage vMotion after a failure happens. This is possible only before the original datastore has been deleted. After the original datastore is removed, only resume is possible.</maml:para>
            </maml:description>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Resume</maml:name>
            <maml:description>
                <maml:para>Indicates that you want to resume the previous upgrade attempt.</maml:para>
            </maml:description>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Force</maml:name>
            <maml:description>
                <maml:para>Suppresses the confirmation prompt if vSphere Replication/HBR or SRM is enabled on the specified datastore.</maml:para>
            </maml:description>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>WhatIf</maml:name>
            <maml:description>
                <maml:para>Indicates that the cmdlet is run only to display the changes that would be made and actually no objects are modified.</maml:para>
            </maml:description>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
            <maml:name>Confirm</maml:name>
            <maml:description>
                <maml:para>If the value is $true, indicates that the cmdlet asks for confirmation before running. If the value is $false, the cmdlet runs without asking for user confirmation.</maml:para>
            </maml:description>
            <dev:type>
                <maml:name>SwitchParameter</maml:name>
                <maml:uri/>
            </dev:type>
            <dev:defaultValue></dev:defaultValue>
        </command:parameter>
    </command:parameters>
    <command:inputTypes>
        <command:inputType>
            <dev:type>
                <maml:name></maml:name>
                <maml:uri/>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </dev:type>
            <maml:description></maml:description>
        </command:inputType>
    </command:inputTypes>
    <command:returnValues>
        <command:returnValue>
            <dev:type>
                <maml:name>Null</maml:name>
                <maml:uri />
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </dev:type>
            <maml:description></maml:description>
        </command:returnValue>
    </command:returnValues>
    <command:terminatingErrors>
    </command:terminatingErrors>
    <command:nonTerminatingErrors>
    </command:nonTerminatingErrors>
    <maml:alertSet>
        <maml:title></maml:title>
        <maml:alert>
            <maml:para></maml:para>
        </maml:alert>
    </maml:alertSet>
    <command:examples>
        <command:example>
            <maml:title>
-------------- Example 1 -------------- </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
C:\PS&gt; </maml:introduction>
              <dev:code>Update-VmfsDatastore -Datastore $source -TemporaryDatastore $temp</dev:code>
              <dev:remarks>
                <maml:para>Starts an update of the $source VMFS5 datastore to VMFS version 6 by using $temp as a temporary datastore.</maml:para>
                <maml:para></maml:para>
                <maml:para></maml:para>
                <maml:para>
                </maml:para>
                <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
        <command:example>
            <maml:title>
-------------- Example 2 -------------- </maml:title>
            <maml:introduction>
                <maml:para>C:\PS&gt;</maml:para>
C:\PS&gt; </maml:introduction>
              <dev:code>Update-VmfsDatastore -Datastore $source -TemporaryDatastore $temp -Resume</dev:code>
              <dev:remarks>
                <maml:para>Resumes a previous failed attempt of updating the $source datastore to the specified VMFS version.</maml:para>
                <maml:para></maml:para>
                <maml:para></maml:para>
                <maml:para>
                </maml:para>
                <maml:para></maml:para>
              </dev:remarks>
            <command:commandLines>
                <command:commandLine>
                    <command:commandText>
                    </command:commandText>
                </command:commandLine>
            </command:commandLines>
        </command:example>
    </command:examples>
    <maml:relatedLinks>
        <maml:navigationLink>
            <maml:linkText>Online version:</maml:linkText>
            <maml:uri>https://code.vmware.com/doc/preview?id=5975#/doc/Update-VmfsDatastore.html</maml:uri>
        </maml:navigationLink>
    </maml:relatedLinks>
</command:command>
</helpItems>