Just a short explanation of how to take process dump using CDB.
First you need to get Debugging Tools for Windows. To get Debugging Tools as a standalone tool set you can just download Windows SDK and during installation select Debugging Tools for Windows:
Once Debugging tools for Windows are downloaded and installed
you can find cdb.exe in the following location – C:\Program Files (x86)\Windows
Kits\10\Debuggers\x64 (note that number
highlighted in bold may vary depending on SDK version installed – in my case it
is 10, and you obviously have cdb.exe for different platforms – x86/x64 etc. –
just navigate to appropriate subfolder of Debuggers folder).
To take dump launch CMD in elevated mode, switch directory to CDB location and execute cdb -p <PROCESS PID> to take crash dump (remember that PID information can be found in Task Manager or retrieved with PowerShell using Get-Process “%ProcessName%” | select -expand id):
At this stage CDB is attached to process and closing this
CMD window will terminate process you are attached to. Once CDB is loaded type
in the following commands:
..loadby sos clr
You will receive
“No export Thread found” error – it can be ignored, and some more commands needs
to be executed. First run !StopOnException
-create System.StackOverflowException it may not work from the first attempt,
just re-run it once again until you see confirmation that breakpoint was
breakpoint is set type gn and wait
for process crash:
process crashed the following commands have to be executed:
.dump /ma /u C:\dumps\process.dmp
gn until you get “there is no debugee” message. Your dump will be written in
the location you specified above (C:\dumps\process.dmp).
You may see the following error message on attempt to create new web application using SharePoint 2013 CA UI:
Error message says: “Invalid URI: The hostname could not be parsed“, at the same time creation of web application using PowerShell may work just fine. This error can be caused by the fact that you have asterisk (“*”) as a value of Host name property in bindings of one of your existing web applications. Removing asterisk and leaving host name blank should resolve this issue.
Some time ago I wrote a blog post where I explained how to change SQL Server instance collation for installed SQL server instance (see “Changing SQL collation for deployed instance without reinstall (almost)“). That post contained some scripting bits to detect installed SQL Server version and navigate to appropriate setup directory to facilitate collation change process. Recently I had a bit of time to consolidate these bits of PowerShell into one script which detects installed SQL Server version and changes directory to appropriate setup folder. Here you have it:
This blog post is just a short
walk-through explaining how to switch your K2 environment from Windows to Forms
authentication. Just to provide you an example of when you may want this – you
can use this configuration when you want to get password prompt on token
expiration while all your forms users working from domain joined workstations
belonging to K2 server domain (that means that STS token refresh will be
happening without any extra password prompts using existing Windows user
credentials to obtain STS token).
Required steps are described in K2 documentation (look under “Forms
Authentication”) but at the moment it does not mention some required steps
which we will cover here.
To switch over to Forms
Authentication you first need to navigate to K2 Management > Authentication
> Claims > Issuers section of K2 Management site:
There you can select K2 Forms STS and Click Edit button to enable “Use for Login” option of this issuer:
Once you enabled this option, switch
over to Authentication > Claims > Realms:
Here you need to edit every realm
and link K2 Forms STS issuers to it (depending on your needs you can do that
only for some realms):
Once you do that your realms should
have K2 Forms STS visible in LINKED ISSUERS column:
At this point if you restart your
browser and try to access K2 sites you will be presented with login method
selection which looks as follows:
If you don’t like this dialog or do
not need to use multiple logon methods just uncheck
“Use for Login” option for K2 Windows STS issuer, with such
configuration you will be getting immediate form authentication prompt on
attempt to access K2 site (and after K2 STS token expiration). This is how it
Up to now we were following steps
from K2 documentation and completed them but if you try to login with correct
credentials you may see the following error:
Error message has the following
Claim mapping configuration cannot be found for this claim. Claim information:
Name='DENALLIX\administrator', Issuer='FormsSTS', Original Issuer='FormsSTS'.
Please ensure that you have configured the K2 server as specified in K2 Help:
Installation and Configuration > Configuration > SharePoint >
tokenXml, ClaimsTokenType tokenType, ClaimsVersion claimsVersion)
sessionCookie, String tokenXml, ClaimsTokenType tokenType, String
connectionString, String authReqSource, ClaimsVersion claimsVersion)
This error and corrective actions to
it do not mentioned in product documentation. To fix this you have to do the
1. Edit K2TokenService.exe.config
located in “%K2_INSTALLATION_ROOT%\Token Service\Bin\” adding your K2
service and K2 application pool accounts into allowedCallers section as
Here is sample of allowedCallers section
2. Save your changes and restart K2
Claims To Windows Token Service aka K2WTS (you can use PoSh command for that –
After performing these steps you
will be able to logon to K2 sites using forms authentication.
This article provides a basic overview of StarWind Virtual SAN (VSAN), a
software-defined storage (SDS) solution from StarWind.
First things first: it is important to understand what SDS is
SDS is an umbrella term for software that enables policy-based
provisioning of data storage independently of the underlying hardware. You can
consider SDS a form of storage virtualization allowing to separate storage
hardware from the software for its management. On top of that, SDS
virtualization may also provide a rich policy-managed feature set including
such things as data deduplication, replication, thin provisioning, etc.
SDS allows you to design architectures where software
(instead of hardware) determines storage performance, availability, and
resiliency. Usually, SDS systems are designed to perform on commodity hardware so that the software never gets dependent on
proprietary hardware. However, the software you use may lock-in you to the
There are different implementations of SDS from different
vendors. They can be divided on solutions offered by OS vendors (or public
cloud providers) and ones developed by vendors focused purely on SDS.
For example, Microsoft introduced its SDS solution, Storage Spaces Direct, as a Windows Server 2016 feature (this version was RTMed in September 2016). However, you can find flaws even in the latest versions of their Storage Spaces Direct technology (for instance, deduplication did not work on ReFS until Windows Server 2019 release). Such issues may be a good reason why users opt for an alternative. Another thing about SDS is that you can access Storage Spaces Direct functionality only in Datacenter edition of Windows Server (high licensing costs).
On the other hand,
StarWind VSAN is an example of SDS software developed by an SDS-oriented
company. First released in 2005, it was one of the first practical
implementations of SDS built with simplicity in mind. Any experienced
administrator of Microsoft Hyper-V, VMware vSphere, or Citrix XenServer can
configure StarWind VSAN easily. StarWind VSAN also allows you to start
leveraging its full feature set starting with just two commodity servers as a
foundation of highly-available (HA)
SDS. Although this software uses the services provided by of Windows Server,
you have a better version and edition choices, i.e., you can run it on any
edition of Windows Server 2012 or 2016 (there is still even partial support for
2008 R2 which will probably end soon). As you can see, this specialized
software found a way to the market earlier than Storage Spaces Direct, thereby developers
had more time for adding improvements and refinements based on real-world usage
and client base’s feedback.
You can have a full-fledged feature set including asynchronous replication, in-line, and offline deduplication, log structuring, and multi-tiered caching even in a minimal configuration of a two-node VSAN cluster. These features are present in other software solutions, but they often do not allow the two-node implementation scenario.
StarWind Virtual SAN features
replication replicates mission-critical data to remote disaster recovery
(DR) site with minimal requirements for network bandwidth and hardware
equipment, enabling you to perform replication over long-distance high-latency
routes. Replication is performed asynchronously in the background using
snapshots as a source. Features such as deduplication, snapshots, change block
tracking in combination minimize the amount of data transferred to reduce WAN
link usage. Snapshots secure data integrity.
deduplication. Deduplication increases storage efficiency by saving space
through elimination of repeating data.
StarWind in-line duplication uses industry standard 4k blocks. Being combined
with compression, it reduces the number of write operations, allowing to extend
flash life span.
structuring write-back cache (LSWBC) optimizes highly randomized data flow
generated by VMs. Disk storage handles highly randomized writes poorly; it uses
RAM cache, leading to the risk of data loss. The use of SSD as the only
approach is not always viable from the financial standpoint
(overprovisioning/overuse of financial budget). LSWBS uses RAM and flash caching in conjunction with log structuring. LSWBC writes data to the
circular buffer in RAM, organizes its flow sequentially, and gradually flushes
it to the log disk (device from a tiny fraction
of your storage). Log disk, in turn, sends data to the underlying storage where
it eventually resides. Hence, it is possible to get high performance even with
highly randomized workloads.
server-side cache is a technology turning an SSD into level 2 cache. With
the use of server RAM as level 1 cache, it absorbs excessive writes and reduces
the number of write cycles impacting life span of SSD drives. Inexpensive commodity
hardware is available, which means that you can use MLC flash instead of
expensive SLC flash that gives more memory to meet workload requirements.
VSAN supports industry-standard uplink
protocols. The following protocols are available: iSER, NVMe-oF, iSCSI,
SMB3 (including RDMA-supporting SMB Direct and MPIO-utilizing SMB Multichannel),
and NFS. Virtually unlimited use cases are possible: bare-metal, converged
(“compute and storage separated”), hyperconverged, Clustered Shared
Volumes for SOFS, VVols on top of iSCSI,
SMB3 file servers and many others.
In terms of supported fabrics, you can use 1, 10, and up to 200 GbE or Infiniband.
Such feature set makes StarWind VSAN proposition quite
compelling and competitive. It is an interesting option, especially in terms of
design flexibility it provides and a variety of potential use cases.
I hope that this overview was useful and interesting. In
case you want to know more about StarWind VSAN, you can get more information on
Virtual SAN product page.