Connect file storage to a cloud server in another pool
If you plan to use file storage to store backups, to improve fault tolerance, we recommend creating the storage and cloud server in the poolahs from different availability zones or regions. If the file storage and the cloud server are in different pools, you must configure private network connectivity at the L3 level to connect the storage via the global router.
-
Connect the network and subnet for the cloud server to the global router.
-
Connect the network and subnet for the file storage to the global router.
Check it out example of connecting file storage to a cloud server in another pool.
If you need to increase disk space with file storage, we recommend creating storage in the same pool as the cloud server. Read more in the instructions Connect file storage to a cloud server in a single pool.
Example of connecting file storage to a cloud server
For example, you need to connect file storage in pool ru-2 to a cloud server in pool ru-8.
-
Create a global router.
-
Connect two private networks to the global router —
192.168.0.0/29
gateway192.168.0.1
for the ru-8 pool and172.16.0.0/29
gateway172.16.0.1
for pool ru-2. -
Assign an address from a subnet
192.168.0.0/29
on a cloud server, like192.168.0.2
. -
Write a route on the cloud server in the ru-8 pool — to a subnet
172.16.0.0/29
through the gateway192.168.0.1
. -
Create file storage on a subnetwork
172.16.0.0/29
. -
Mount the file storage to the cloud server.


1. Create a global router
- В control panels from the top menu, press Products and select Global router.
- Click Create a router. Each account is set limit to five global routers.
- Enter the name of the router.
- Click Create.
- If the router was created with status ERROR or hovered in one of the statuses, file a ticket.
2. Connect the network and subnet for the cloud server to the router
If the cloud platform network is connected to a global router, you can only manage it on the global router page.
You need to connect the network and subnet to the global router up to the project and cloud platform pool where the cloud server is created.
You can connect a new network to the router or an existing network if it is not already connected to any of the account's global routers.
Connect a new network
Connect existing network
-
В control panels from the top menu, press Products and select Global router.
-
Open the router page → tab Networks.
-
Enter a network name, this will only be used in the control panel.
-
Select a service Cloud platform.
-
Select pool.
-
Select project.
-
Enter the subnet name — this will only be used in the control panel.
-
Enter the CIDR — IP address and subnet mask. The subnet must meet the conditions:
- belong to the RFC 1918 private address range:
10.0.0.0/8
,172.16.0.0/12
or192.168.0.0/16
; - have a size of at least /29, as three addresses will be occupied by Servercore network equipment;
- Do not overlap with other subnets added to this router: The IP addresses of each subnet on the router must not overlap with the IP addresses of other subnets on the router;
- If Managed Kubernetes nodes will be included in the global router network, the subnet must not overlap with the ranges
10.250.0.0/16
,10.10.0.0/16
и10.96.0.0/12
. These subnets participate in the internal addressing of Managed Kubernetes, their use may cause conflicts in the global router network.
- belong to the RFC 1918 private address range:
-
Enter the gateway IP or leave the first address from the subnet assigned by default. Do not assign this address to your devices to avoid disrupting the network.
-
Enter service IPs or leave the last addresses from the subnet assigned by default. Do not assign these addresses to your devices to avoid disrupting the network.
-
Click Create a network.
-
Optional: check the network topology on the global router. В control panels from the top menu, press Products and select Global router. Open the router page and click Network map.
-
Check that the network has not yet been added to any of the account's global routers. В control panels from the top menu, press Products → Cloud servers → Network → tab Private networks → check that there is no tag in the network card Global router.
-
Verify that the subnet meets the conditions:
- belongs to the private address range according to RFC 1918:
10.0.0.0/8
,172.16.0.0/12
or192.168.0.0/16
; - is at least /29, as three addresses will be occupied by Servercore network equipment;
- does not overlap with other subnets added to this router: the IP addresses of each subnet on the router must not overlap with the IP addresses of other subnets on the router;
- If Managed Kubernetes nodes will be included in the global router network, the subnet must not overlap with the ranges
10.250.0.0/16
,10.10.0.0/16
и10.96.0.0/12
. These subnets participate in the internal addressing of Managed Kubernetes, their use may cause conflicts in the global router network.
- belongs to the private address range according to RFC 1918:
-
В control panels from the top menu, press Products and select Cloud servers.
-
Go to the section Network → tab Private networks.
-
On the menu networks select Connect to a global router.
-
Select the global router.
-
For each of the network subnets, enter the IP address that will be assigned to the router, or leave the first available address from the subnet assigned by default. Do not assign this address to your devices to avoid disrupting the network. The last two free subnet addresses will be reserved as service addresses.
-
Click Connect. Do not close the window until you see the message that the network is connected. After that, in the control panel:
- the network will appear under Servercore Global Router on the page of the router you connected it to. You can look in control panels: from the top menu, press Products → Global router → router page;
- the network will be tagged Global router. You can look in control panels: from the top menu, press Products → Cloud servers → cloud server page → section Network → network card.
3. Connect a network and subnet to the router for file storage
If the cloud platform network is connected to a global router, you can only manage it on the global router page.
You need to connect the network and subnet to the global router up to the project and cloud platform pool where the file storage will be created in the future.
You can connect a new network to the router or an existing network if it is not already connected to any of the account's global routers.
Connect a new network
Connect existing network
-
В control panels from the top menu, press Products and select Global router.
-
Open the router page → tab Networks.
-
Click Create a network.
-
Enter a network name, this will only be used in the control panel.
-
Select a service Cloud platform.
-
Select pool The file storage will be created in this folder.
-
Select project The file storage will be created in this folder.
-
Enter the subnet name — this will only be used in the control panel.
-
Enter the CIDR — IP address and subnet mask. The subnet must meet the conditions:
- belong to the RFC 1918 private address range:
10.0.0.0/8
,172.16.0.0/12
or192.168.0.0/16
; - have a size of at least /29, as three addresses will be occupied by Servercore network equipment;
- Do not overlap with other subnets added to this router: The IP addresses of each subnet on the router must not overlap with the IP addresses of other subnets on the router;
- If Managed Kubernetes nodes will be included in the global router network, the subnet must not overlap with the ranges
10.250.0.0/16
,10.10.0.0/16
и10.96.0.0/12
. These subnets participate in the internal addressing of Managed Kubernetes, their use may cause conflicts in the global router network.
- belong to the RFC 1918 private address range:
-
Enter the gateway IP or leave the first address from the subnet assigned by default. Do not assign this address to your devices to avoid disrupting the network.
-
Enter service IPs or leave the last addresses from the subnet assigned by default. Do not assign these addresses to your devices to avoid disrupting the network.
-
Click Create a network.
-
Optional: check the network topology on the global router. В control panels from the top menu, press Products and select Global router. Open the router page and click Network map.
-
Check that the network has not yet been added to any of the account's global routers. В control panels from the top menu, press Products → Cloud servers → Network → tab Private networks → check that there is no tag in the network card Global router.
-
Verify that the subnet meets the conditions:
- belong to the RFC 1918 private address range:
10.0.0.0/8
,172.16.0.0/12
or192.168.0.0/16
; - have a size of at least /29, as three addresses will be occupied by Servercore network equipment;
- Do not overlap with other subnets added to this router: The IP addresses of each subnet on the router must not overlap with the IP addresses of other subnets on the router;
- If Managed Kubernetes nodes will be included in the global router network, the subnet must not overlap with the ranges
10.250.0.0/16
,10.10.0.0/16
и10.96.0.0/12
. These subnets participate in the internal addressing of Managed Kubernetes, their use may cause conflicts in the global router network.
- belong to the RFC 1918 private address range:
-
В control panels from the top menu, press Products and select Cloud servers.
-
Go to the section Network → tab Private networks.
-
On the menu networks select Connect to a global router.
-
Select the global router.
-
For each of the network subnets, enter the IP address that will be assigned to the router, or leave the first available address from the subnet assigned by default. Do not assign this address to your devices to avoid disrupting the network. The last two free subnet addresses will be reserved as service addresses.
-
Click Connect. Do not close the window until you see the message that the network is connected. After that, in the control panel:
- the network will appear under Servercore Global Router on the page of the router you connected it to. You can look in control panels: from the top menu, press Products → Global router → section Servercore Global Router → router page;
- the network will be tagged Global router. You can look in control panels: from the top menu, press Products → Cloud servers → cloud server page → section Network → network card.
4. Assign an IP address to the cloud server
Configure a local port on the cloud server that is included in the global router network. On the port, assign an IP address from the subnet you created on the global router for the corresponding pool.
-
Add the cloud server to the created subnet of the global router. If you do not already have a cloud server, create one. When creating it, select the subnet of the global router as the subnet.
-
Apply the changes depending on the port parameter Apply the changes. The value of the parameter can be viewed in control panels: from the top menu, press Products → Cloud servers → cloud server page → tab Ports → block Configuring ports:
- When the server reboots — programmatically reboot the cloud server or manually make changes to the network configuration file on the server;
- Manually in the network configuration file on the server — manually make changes to the network configuration file on the server.
5. Prescribe routes on the cloud server
If you create a new server and add it to an existing global router network, you do not need to specify routes. In this case, the server will be immediately available to other devices on the network.
If you are adding an existing server to a global router network, it must have static routes to all subnets with which you want connectivity.
Ubuntu
Debian
CentOS
Windows
-
Disable network configuration. To do this, create a file
99-disable-network-config.cfg
:echo "network: {config: disabled}" >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
-
Open the configuration file:
vi /etc/network/interfaces.d/50-cloud-init.cfg
-
Locate the data block of the corresponding network interface.
-
At the end of this block, add a route:
up route add -net <ip_address> netmask <mask> gw <gateway>
Specify:
<ip_address>
— the subnet you want to route to, e.g.192.168.0.0
;<mask>
— the subnet mask to which you want to route, e.g.255.255.255.0
;<gateway>
— gateway for the current server subnet, which is specified on the global router.
-
If you need to prescribe multiple routes, add them sequentially in the same block.
-
Restart the server.
-
Open the network settings file:
vi /etc/network/interfaces
-
Locate the data block of the corresponding network interface.
-
At the end of this block, add a route:
up route add -net <ip_address> netmask <mask> gw <gateway>
down route del -net <ip_address> netmask <mask> gw <gateway>Specify:
<ip_address>
— the subnet you want to route to, e.g.192.168.0.0
;<mask>
— the subnet mask to which you want to route, e.g.255.255.255.0
;<gateway>
— gateway for the current server subnet, which is specified on the global router.
-
If you need to prescribe multiple routes, add them sequentially in the same block.
-
Save the file.
-
Restart the network:
sudo /etc/init.d/networking restart
-
Disable network configuration. To do this, create a file
99-disable-network-config.cfg
:echo "network: {config: disabled}" >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
-
Add a new route:
echo "<ip_address>/<mask> via <gateway>" > /etc/sysconfig/network-scripts/route-<eth_name>
Specify:
<ip_address>/<mask>
— the subnet to which you want to route, specifying the mask, e.g.192.168.0.0/29
;<gateway>
— gateway for the current server subnet, which is specified on the global router;<eth_name>
— the name of the corresponding LAN interface.
If you need to add multiple routes, specify them in one command. Specify each route on a new line, for example:
echo "192.168.0.0/29 via 172.16.0.1
192.168.1.0/29 via 172.16.0.1" >> /etc/sysconfig/network-scripts/route-eno2 -
Restart the network:
systemctl restart network
-
Add the required routes one at a time:
route -p ADD <ip_address> MASK <mask> <gateway> METRIC <x>
Specify:
<ip_address>
— the subnet you want to route to, e.g.192.168.0.0
;<mask>
— the subnet mask to which you want to route, e.g.255.255.255.0
;<gateway>
— gateway for the current server subnet, which is specified on the global router.<x>
— number that determines the priority of the specified gateway, 1 being the highest priority.
6. Create file storage
Control panel
Terraform
-
В control panels from the top menu, press Products and select File storage.
-
Click Create storage.
-
Enter a new storage name or leave the name that is automatically created.
-
Select region and pool segment where the storage will be created.
If you need to increase disk space with file storage, select a pool segment from the pool that hosts the cloud server or Managed Kubernetes cluster.
If you plan to use storage to store backups, we recommend selecting a pool segment from a different availability zone or region to improve fault tolerance.
-
Fill in the blocks:
-
Check out the price of file storage.
-
Click Create.
Subnetwork
-
Select the private subnet where the storage will be located. The type of subnet depends on what you want to connect the storage to:
- cloud private subnet — the storage will be available to Managed Kubernetes cloud servers and clusters only in the pool you selected in the previous step. To connect the storage you will only need to mount it;
- global router subnet — the storage will be available for dedicated servers, as well as cloud servers and Managed Kubernetes clusters that are located in other pools. To connect the storage, you need to configure network connectivity between the server or cluster and the storage through the global router. See examples of how to configure network connectivity in the instructions in the section Connect file storage.
Once the repository is created, the subnet cannot be changed.
-
Enter a private IP address for the vault or leave the first available address from the subnet assigned by default. Once the storage is created, the IP address cannot be changed.
Settings
-
Select file storage type:
- HDD Basic
- SSD Universal
- SSD Fast
Once created, the storage type cannot be changed.
-
Specify the storage size: from 50 GB to 50 TB. Once created, you can expand file storage but you can't reduce it.
-
Select a protocol:
- NFSv4 — for connecting storage to servers running Linux and other Unix systems;
- CIFS SMBv3 — for connecting the storage to Windows servers.
Once the repository is created, the protocol cannot be changed.
Access rules
NFSv4
CIFS SMBv3
-
Configure the file storage access rules:
- available to all — the storage will be available to any IP address of the private subnet in which it is created;
- access restricted — the storage will be available only to specific IP addresses or private subnets. If you create a file storage without rules, access will be restricted to all IP addresses.
-
If you have selected the option Access is restricted, press Add rule.
-
Enter the IP address or CIDR of the private subnet, select the access level.
After creating the storage you can change the access rules, for this purpose you can configure new access rules.
-
Configure the file storage access rules:
- available to all — the storage will be available to any IP address of the private subnet in which it is created;
- access restricted — the storage will be available only to specific IP addresses or private subnets. If you create a file storage without rules, access will be restricted to all IP addresses.
-
If you have selected the option Access is restricted, press Add rule.
-
Enter the IP address or CIDR of the private subnet.
After creating the storage you can change the access rules, for this purpose you can configure new access rules.
Use the instructions Create file storage in the Terraform documentation.
7. Mount the file storage to the cloud server
The mount process depends on the operating system on the server and the file storage protocol: NFSv4 or CIFS SMBv3.
NFSv4
CIFS SMBv3
Linux
Windows
-
Open the CLI.
-
Install the NFS protocol package:
sudo apt install nfs-common
-
Create a folder to mount the repository:
sudo mkdir -p /mnt/nfs
-
Mount the file storage:
sudo mount -vt nfs "<filestorage_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/nfs
Specify:
<filestorage_ip_address>
— The IP address of the file storage. You can look in control panels: from the top menu, press Products → File storage → storage page → tab Settings → field IP;<mountpoint_uuid>
— The ID of the mount point. You can look in control panels: from the top menu, press Products → File storage → storage page → block Connection → tab GNU/Linux.
The file storage works only with an NFS client of NFSv4 version. By default, Windows supports NFSv2 and NFSv3 NFS clients. Read more about NFS versions in the article NFS Review Microsoft documentation.
To work with file storage from Windows, we recommend using file storage with CIFS protocol. If you need to mount storage with NFSv4 protocol, install and use a client that supports this protocol. To mount the file storage, refer to the documentation of the selected client.
Linux
Windows
-
Open the CLI.
-
Install the CIFS protocol package:
sudo apt install cifs-utils
-
Create a folder to mount the repository:
sudo mkdir -p /mnt/cifs
-
Mount the file storage:
sudo mount.cifs -o guest //<filestorage_ip_address>/share-<mountpoint_uuid> /mnt/cifs
Specify:
<filestorage_ip_address>
— The IP address of the file storage. You can look in control panels: from the top menu, press Products → File storage → storage page → tab Settings → field IP;<mountpoint_uuid>
— The ID of the mount point. You can look in control panels: from the top menu, press Products → File storage → storage page → block Connection → tab GNU/Linux.
-
Open the CLI.
-
Mount the file storage:
net use X: \\\\<filestorage_ip_address>\share-<mountpoint_uuid>
Specify:
<filestorage_ip_address>
— The IP address of the file storage. You can look in control panels: from the top menu, press Products → File storage → storage page → tab Settings → field IP;<mountpoint_uuid>
— The ID of the mount point. You can look in control panels: from the top menu, press Products → File storage → storage page → block Connection → tab Windows.