Bare Metal server in the cloud is a machine deployed on dedicated physical hardware for a single tenant.
Physical servers are being managed from the regular Cloud interface, but the virtualization software is not installed on the servers.
A Virtual Server in the cloud does not interact directly with a physical computer; it uses a software layer called a hypervisor. The hypervisor allocates physical computing resources such as CPU, RAM, and Storage for each Virtual Machine (VM). The computing resources for these VMs are allocated from the shared physical hardware on which the created Virtual Server data is deployed. The hypervisor acts as a traffic cop of sorts, directing and allocating the Bare Metal's resources to each of the various new virtual machines, ensuring they don't disrupt each other.
The disadvantage of a Virtual Server is limited performance, which can be critical for some applications.
Bare Metal is considered to be a more high-performance solution.
In this case, all physical server resources are allocated to a single user and can provide better performance than a comparable Virtual Server. Resources are not shared, as in the case of Virtual Machine, and the hypervisor level is not required, which allows the application to allocate more computing resources.
Please note that due to the features of the Bare Metal infrastructure, creating a compatible custom image requires a special program to build the image for a physical server and code from a dedicated repository.
We have prepared very detailed instructions with all the necessary files available via the link.
Physical machines are created inside the project. You can use the default project or create a new one (for more information, see the article "How to create and delete a project").
Note! By default, physical servers are not available for ordering. To create a physical server, you need to request a quota increase.
Quotas of physical machines are carried out according to the server types: "Basic", "High-frequency", and "Infrastructure". For more information on managing quotas, read the article "Reqest a quota increase.
To create a Bare Metal:
1. In the Gcore Customer Portal, navigate to Cloud > Bare Metal.
2. Click Create Bare Metal.
3. Select the region.
4. Select the image to install. You can choose a system from the prepared templates or from custom images that you've previously uploaded. You can find more information about uploading the images in the article "Upload an image to the storage". Consider that only prepared images can be used for Bare Metal servers.
5. Select the server type. Currently, "High-Frequency" and "Infrastructure" servers are available.
6. Add network interfaces. You can create a public and private interface.
Note that after creating a Bare Metal server, you won’t be able to attach an external network to it. Additionally, you can’t attach more than six networks to the server.
If you select a public interface, you can also enable the Use reserved IP toggle and assign a reserved IP address to your Bare Metal.
If you select a private interface, configure a network and a subnetwork according to the following steps.
If you need both a public and private interface, disable the default gateway on the private network's subnetwork and assign a floating IP to the private interface.
If you previously created networks, select the needed network from the dropdown. To add a new network, click Private network radio button and configure the network as follows.
1. Enter the network name.
2. Ensure that the Bare Metal network toggle is enabled. This is required to connect Bare Metal servers to the network.
3. (Optional) Turn on the Add tags toggle to add metadata to the network.
4. Click Create network.
5. (Optional) Enable IPv6 dual-stack to assign both IPv4 and IPv6 addresses for network interfaces. If the Enable IPv6 dual-stack toggle is not available, check the following settings:
Public network. Ensure that the region where you’re creating a Bare Metal supports IPv6.
Private network. If your Bare Metal server is only connected to a private network, you need to configure and add both IPv4 and IPv6 private subnets.
If you don’t meet these prerequisites, the IPv6 dual-stack option won’t appear in the network settings.
Note that to activate IPv6 dual-stack, you only need to configure a network interface. The subnetwork will be automatically selected.
If your Bare Metal server has several subnetworks, ensure that only one subnetwork is routable. Otherwise, there will be a conflict with the default gateway on the server, and you might not be able to connect to the Bare Metal.
If you previously created subnetworks, select the needed subnetwork from the dropdown. If you choose Automatic, the system will use one of the existing subnetworks, which has most available resources.
To add a new subnetwork, click Add a new subnetwork and configure according to the following instructions: Create a subnetwork.
7. Add an SSH key or generate a new one for a remote connection to a server. For more information about adding a key, read the article Connect to your Bare Metal via SSH. You can connect via SSH to all machines except Windows servers.
If you select Windows OS, you should set a password for the Admin user. It can contain Latin letters (a-zA-Z), numbers (0-9) and special characters (!#$%&'()*+,-./:;<=>?@[]^_{|}~). Valid length is from 8 to 16 characters. You can connect to the Windows server from the Customer Portal or from your computer using the RDP protocol.
8. In Additional options, you can add metadata for processing by a cloud-init
agent running on a Virtual Machine. To do it insert your script in the User data field.
For example, you may insert a script that will allow connecting to a Linux server directly from the Customer Portal or via SSH (this script is not needed to connect to a Windows server). Enter this code with the password chosen by you into the User data field:
#cloud-config
password: **your password**
chpasswd: { expire: False }
ssh_pwauth: True
Using the specified password you will be able to connect to the server. It is not necessary to specify the password explicitly, you can enter its hash (the same password, only in a converted form; the system will be able to read it, but for a person, it looks like a random set of symbols). Then, even if someone gets into the system, he or she won’t know the password — only the hash will be stored inside. And the system will open its doors only to the user who knows the password.
To generate a hash, you can use the Python script:
#!/usr/bin/env python3
\# based on [https://stackoverflow.com/a/17992126/117471](https://stackoverflow.com/a/17992126/117471)
\# pip3 install passlib
import sys
from getpass import getpass
from passlib.hash import sha512_crypt
passwd = input() if not sys.stdin.isatty() else getpass()
print(sha512_crypt.hash(passwd , rounds = 5000 ))
9. Tags are key-value pairs that form the metadata of the machine description. Also, you can tag your server. To to do it, activate the Tags option, and set the necessary ones.
10. If you want to create multiple Bare Metal machines with the same configuration, specify the number you want (the maximum is limited by your quotas) and add names (only Latin characters, underscores, spaces, and dots are allowed).
To complete the configuration, click Create server, and then the server will be deployed in the cloud.
There are several important limitations for Bare Metal servers:
Was this article helpful?
Discover our offerings, including virtual instances starting from 3.7 euro/mo, bare metal servers, AI Infrastructure, load balancers, Managed Kubernetes, Function as a Service, and Centralized Logging solutions.