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 instance. The computing resources for these instances 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 instance, 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", "Infrastructure". For more information on managing quotas, see the article "Reqest a quota increase..
Go inside the project, section Bare Metal Servers → Create Bare Metal Server.
You will see the page for configuring and creating a new server.
Select the region.
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". Please note that only prepared images can be used for bare metal servers.
If you have created networks before, select the created network from the drop-down list. To create a new network, click on the Add a new network button, and enter the network name. Note! While creating a network you need to select the Bare Metal Network (VLAN) option.
After creating a network, you should configure a subnet (address range for machines in the cloud). If you have early created subnets, select the created subnet from the drop-down list.
To create a new subnet, click on the Add a new subnetwork button, enter the subnet name, and set the CIDR range for the subnet (the valid range for the subnet mask is: 16-24):
* 10.0.0.0 - 10.255.255.255
* 172.16.0.0 - 172.31.255.255
* 192.168.0.0 - 192.168.255.255
Only private IPv4 addresses can be used in subnets.
Please note that after creating a bare metal server, you will not be able to attach an external network to it. You can not attach more than 6 networks to the server.
If you select Windows Server 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 your Control Panel or from your computer using the RDP protocol.
For example, you may insert a script that will allow connecting to a Linux server directly from your Control Panel 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 ))
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.