Preparing a WinDRBD Disk by Using PowerShell
WinDRBD® presents data as Windows Disk objects to achieve maximum compatibility. Like physical disks, WinDRBD disks should contain a partition table, partition(s) and a file system in the partition.
Once you have configured your WinDRBD resource you will likely want to
start using it. To make the resource visible to the Windows system, run
following commands (replace myres
with your resource name):
drbdadm up myres
drbdadm primary myres
Then you get a new empty virtual disk which is both offline and read
only. You can see it for example by using the Control Panel’s Disk
Management utility (Windows meta key + R , diskmgmt.msc
,
Get-Disk | where { $_.Path -like *#WinDRBD{0}#* -f 42 }
Output from the command should show exactly one entry. If not, you need to fix that first. Replace 42 with the WinDRBD minor number that you are using. If you need to find the minor that you are using, you can enter the following command:
drbdadm dump myres
Locate your local node in the output and look for the device clause in the disk section.
To assign the disk to a PowerShell variable (mydisk
), you can do the
following:
$mydisk = Get-Disk | where { $_.Path -like *#WinDRBD{0}#* -f 1008 }
We now assume you did that. To show the content of the $mydisk
variable, just enter:
$mydisk
Again it should print exactly one entry.
Now to set the disk both online and read/write, enter:
$mydisk | set-disk -IsOffline $false
$mydisk | set-disk -IsReadonly $false
As a last step, initialize the disk (which creates a partition table), create a partition on it, and then format the volume. You can do so with one PowerShell command:
$mydisk | Initialize-Disk -passthru | New-Partition -UseMaximumSize -DriveLetter X | format-volume
Replace X
with the drive letter that you want to use. Note that this
initialization takes the defaults which are:
- Uses GPT for the partition style.
- Creates one big partition on the entire disk.
- Performs a quick format for NTFS on the partition.
That’s it. You should now be able to access your new NTFS partition. To
test it you can enter the following command (replace x
with your own
drive letter):
dir x:
It should show no output because there are no (non-hidden) files on the partition yet.
If you are new to PowerShell, there is a short article that explains PowerShell syntax with a little more detail that you might find useful.
Written by JT, 02/16/2022
Reviewed by MAT, 02/21/2022