> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/cortex-xsoar-8-on-prem/8.13/install-cortex-xsoar/install-cortex-xsoar-on-a-vm-deployed-on-hyper-v/task-2.-deploy-your-virtual-machine-on-hyper-v.md).

# Task 2. Deploy your virtual machine on Hyper-V

The following is an example of deploying your VM on Hyper-V from a VHD image.

If you set your Cortex XSOAR environment as a standalone (single node), you cannot add nodes to it and switch to a cluster. If you deploy three nodes, you can later add nodes and expand the cluster. For more information, see [Manage nodes in a cluster](/cortex-xsoar-8-on-prem/8.13/install-cortex-xsoar/post-installation/optimize-performance-and-robustness-from-the-textual-ui/manage-nodes-in-a-cluster.md).

{% hint style="info" %}

### Important

To implement built-in High Availability, deploy a cluster with three nodes (VMs), with each VM on a different hypervisor. This ensures that if one hypervisor fails, the other VMs continue to operate.

You then need to:

* Establish trust between all nodes in the cluster (Task 6).
* Set the **Cluster FQDN** to the either the virtual IP address or to the reverse proxy/ingress controller IP address (Task 7). The virtual IP or the reverse proxy/ingress controller serves as a single entry point to distribute traffic across the nodes in the cluster.

To use backup and restore functionality, deploy a second cluster in a secondary data center. For more information, see [Set up backup and restore in Cortex XSOAR](/cortex-xsoar-8-on-prem/8.8/onboard-cortex-xsoar/back-up-and-restore-cortex-xsoar/set-up-backup-and-restore-in-cortex-xsoar.md).
{% endhint %}

1. Open the Hyper-V manager.
2. Create a new hard disk. This additional hard drive will contain the application data.
   1. In the Hyper-V manager menu select Action → **New** → **Hard disk** → **next**.
   2. Select **VHD** and then **fixed size**.
   3. Name the new drive and set its location to the dedicated hard disk you prepared to contain to the application data.
   4. Select **Create a new blank virtual hard disk** and set its size. For more details, see the [System requirements](/cortex-xsoar-8-on-prem/8.14/install-cortex-xsoar/system-requirements.md).
   5. Click **finish**. This may take a few minutes to complete.
3. Create a new virtual machine.
   1. In the Hyper-V manager menu select Action → **New** → **Virtual Machine** and follow the instructions.
   2. Name your machine.
   3. Choose **Generation 1**.
   4. Disable storage DRS for the virtual machine.
   5. Set the memory size. For more details, see the [System requirements](/cortex-xsoar-8-on-prem/8.14/install-cortex-xsoar/system-requirements.md).

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Important</h3><p>Every virtual machine is provided with a 256 GB hard disk to run the OS. Add a separate hard disk for each application instance.</p><p>All virtual machines in a cluster must have the same storage size.</p><p>Ensure the disks meet the <a href="/spaces/CkR7os5WSdK8uJZdAMGp/pages/GFXOfjei9DOdpuplJQoH">System requirements</a>.</p></div>
   6. Choose the relevant virtual network switch.
   7. Choose **Use an existing virtual Hard Disk** and browse to the location of the VHD image.
   8. Click **finish**.
4. Configure the virtual machine.
   1. Right click the virtual machine and select **Settings**.
   2. Under **Processor**, set the number of processors. For more details, see the [System requirements](/cortex-xsoar-8-on-prem/8.14/install-cortex-xsoar/system-requirements.md).
   3. Under IDE controller 0 → **Hard drive**, click **add** → **virtual hard disk**. Choose the hard disk created in step 2.
5. Start the virtual machine.
6. Repeat this procedure from Step 2 for each additional virtual machine in the cluster.
7. For first time login, the default user name and password is `admin`.

   * If you log in from the web console, you are prompted for your username and password.

     ![opp-first-login.png](/files/PjrK740dHoUPFAt4W1Kv)
   * If you log in from an external terminal, use the `ssh admin@<server ip address>` command to SSH log in.

     ![opp-oci-cloud-shell.png](/files/NjoYvvpI63YniLWyGAzb)

   Give the admin a new password as follows.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Important</h3><p>Save the SSH password securely. If you lose this password you cannot recover or change it, and to use SSH you will need to redeploy the cluster.</p></div>

   The password must be at least eight characters long and contain at least:

   * One lower case letter
   * One upper case letter
   * One number, or one of the following special characters: !@#%

   If this is not a first time login, you can log in from the web console or from a terminal using the `ssh admin@<server ip address>` command to SSH log in.

   The textual UI menu opens with all the configuration and installation options.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><h3>Tip</h3><ul><li>To start using the textual UI, click anywhere on the screen.</li><li>To navigate between the menu items, use the up and down arrow keys. To select a menu item, press the Enter key.</li><li>To navigate between fields within a menu item, use the Tab key. To save settings, tab to the <strong>Save</strong> button and press the Enter key.</li><li>To go back to the menu from a specific menu item field, press the <strong>esc</strong> key.</li></ul></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/cortex-xsoar-8-on-prem/8.13/install-cortex-xsoar/install-cortex-xsoar-on-a-vm-deployed-on-hyper-v/task-2.-deploy-your-virtual-machine-on-hyper-v.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
