Skip to main content
Connect file storage to a dedicated server
Last update:

Connect file storage to a dedicated server

The file storage and the dedicated server are always in different pools, so to connect the file storage to the dedicated server, you must configure private network connectivity at the L3 level through a global router.

For your information

Some configurations of Chipcore Line dedicated servers cannot be added to the global router network because they do not have a port to connect to the private network. The availability of the private network port can be checked in the control panel: click Products in the top menu and select Dedicated ServersServers → Server → Server page → Ports tab.

  1. Create a global router.

  2. Connect the network and subnet to the global router up to the VLAN of the dedicated server.

  3. Connect the network and subnet for the file storage to the global router.

  4. Assign an IP address to the dedicated server.

  5. Write routes on the dedicated server.

  6. Create file storage.

  7. Mount the file storage to a dedicated server.

See an example of connecting file storage to a dedicated server.

The instructions describe connection examples for dedicated servers with Ubuntu, Debian, CentOS and Windows operating systems. Instructions for servers with VMware ESXi, Proxmox and FreeNAS operating systems — in the Selectel Selectel File Storage blog article.

Example of connecting file storage to a dedicated server

For example, you want to connect file storage in the ru-2 pool to a dedicated server in the SPB-2 pool.

  1. Create a global router.

  2. Connect two private subnets to the global router — 192.168.0.0.0/29 with gateway 192.168.0.1 for the SPB-2 pool and 172.16.0.0.0/29 with gateway 172.16.0.1 for the ru-2 pool.

  3. Assign an address from the 192.168.0.0.0/29 subnet to a dedicated server, such as 192.168.0.2.

  4. Write a route on the dedicated server in the SPB-2 pool — to subnet 172.16.0.0.0/29 via gateway 192.168.0.1.

  5. Create a file store on the 172.16.0.0.0/29 subnet.

  6. Mount the file storage to a dedicated server.

1. Create a global router

  1. In the Control Panel, on the top menu, click Products and select Global Router.
  2. Click Create router. Each account has a limit of five global routers.
  3. Enter the name of the router.
  4. Click Create.
  5. If the router is created with ERROR status or hangs in one of the statuses, create a ticket.

2. Connect the network and subnet to the router to the VLAN of the dedicated server

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.

  1. In the Control Panel, on the top menu, click Products and select Global Router.

  2. Open the router page → Networks tab.

  3. Click Create Network.

  4. Enter a network name, this will only be used in the control panel.

  5. Select a Servers and Hardware service.

  6. Select a pool.

  7. Select VLAN. If you want to create a network up to the internal segment (Q-in-Q), specify its tag, a number from 2 to 4094. If there is already a network up to the VLAN, be sure to specify the Q-in-Q segment of this VLAN.

  8. Enter the subnet name — this will only be used in the control panel.

  9. Enter the CIDR — IP address and private subnet mask. You can enter a new subnet or an existing private subnet of the server if it is not already added to any of the global routers in the account. The subnet must meet the conditions:

    • belong to the RFC 1918 private address range: 10.0.0.0.0/8, 172.16.0.0.0/12, or 192.168.0.0.0/16;
    • have a size of at least /29, as three addresses will be occupied by Selectel 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 are included in the global router network, the subnet must not overlap with the ranges 10.250.0.0.0/16, 10.10.0.0.0/16 and 10.96.0.0.0/12. These subnets participate in the internal addressing of Managed Kubernetes and their use can cause conflicts in the global router network.
  10. If you specified the Q-in-Q tag, make sure to configure Q-in-Q. When configuring, use the subnet you specified in step 10.

  11. 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.

  12. 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.

  13. Click Create Network.

  14. Optional: Check the network topology on the global router. In the control panel, from the top menu, click ProductsGlobal Router → Router page → Network Map.

3. Connect a network and subnet to the router for file storage

For your information

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.

  1. In the Control Panel, on the top menu, click Products and select Global Router.

  2. Open the router page → Networks tab.

  3. Click Create Network.

  4. Enter a network name, this will only be used in the control panel.

  5. Select a Cloud Platform service.

  6. Select the pool where the file storage will be created.

  7. Select the project where the file storage will be created.

  8. Enter the subnet name — this will only be used in the control panel.

  9. 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.0/8, 172.16.0.0.0/12, or 192.168.0.0.0/16;
    • have a size of at least /29, as three addresses will be occupied by Selectel 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 are included in the global router network, the subnet must not overlap with the ranges 10.250.0.0.0/16, 10.10.0.0.0/16 and 10.96.0.0.0/12. These subnets participate in the internal addressing of Managed Kubernetes and their use may cause conflicts in the global router network.
  10. 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.

  11. 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.

  12. Click Create Network.

  13. Optional: Check the network topology on the global router. In the control panel, from the top menu, click ProductsGlobal Router → Router Page → Network Map.

4. Assign an IP address to the dedicated server

Configure a local port on a dedicated server that is included in the global router network. On the port, assign an IP address from the private subnet you created on the global router for the corresponding pool.

  1. Connect to the server via SSH or via KVM console.

  2. Open the netplan utility configuration file with the vi text editor:

    vi /etc/netplan/01-netcfg.yaml
  3. Add or change values for the network interface settings of the private network:

        <eth_name>:
    addresses: [<ip_address>/<mask>]

    Specify:

    • <eth_name> — the name of the network interface of the private network;
    • <ip_address>/<mask> — private IP address of the server with subnet mask, e.g. 192.168.0.2/29.
  4. Press the ESC key.

  5. Exit the vi text editor with your changes saved:

    :wq
  6. Apply the configuration:

    netplan apply
  7. Optional: reboot the server.

5. Write routes on the dedicated server

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.

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.

  1. Connect to the server via SSH or via KVM console.

  2. Open the network configuration file:

    vi /etc/netplan/01-netcfg.yaml
  3. At the end of the network interface data block, add a route:

    routes:
    - to: <ip_address>/<mask>
    via: <gateway>

    Specify:

    • <ip_address>/<mask> — the subnet to which you want to route, with a mask, e.g. 192.168.0.0/29;
    • <gateway> — gateway for the current server subnet, which is specified on the global router.
  4. If you need to prescribe multiple routes, add them sequentially in the same block, for example:

    routes:
    - to: 192.168.0.0/29
    via: 172.16.0.1
    - to: 192.168.1.0/29
    via: 172.16.0.1
  5. Save the file.

  6. Check the settings:

    sudo netplan try
  7. Apply the changes:

    netplan apply

6. Create file storage

  1. In the Control Panel, on the top menu, click Products and select File Storage.

  2. Click Create Storage.

  3. Enter a name for the repository or leave the name that is automatically created.

  4. Select the 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.

  5. Fill in the blocks:

  6. Check out the price of file storage.

  7. Click Create.

Subnetwork

  1. 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 when creating the storage. You will only need to mount the storage to connect 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 the Connect File Storage section for examples of how to configure network connectivity.

    Once the repository is created, the subnet cannot be changed.

  2. 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

  1. Select the type of file storage:

    • HDD Basic,
    • SSD Universal,
    • SSD Fast.

    Once created, the storage type cannot be changed.

  2. Specify the storage size: from 50 GB to 50 TB. Once created, you can increase the file storage, but you cannot decrease it.

  3. Select a protocol:

    • NFSv4 — for connecting storage to servers with Linux-based OS 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

  1. 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.
  2. If you selected Restricted Access, click Add Rule.

  3. Enter the IP address or CIDR of the private subnet, select the access level.

    After creating the repository, you can configure new access rules.

7. Mount the file storage to a dedicated server

The mount process depends on the operating system on the server and the file storage protocol: NFSv4 or CIFS SMBv3.

  1. Connect to a dedicated server.

  2. Open the CLI.

  3. Install the NFS protocol package:

    sudo apt install nfs-common
  4. Create a folder to mount the repository:

    sudo mkdir -p /mnt/nfs
  5. Mount the file storage:

    sudo mount -vt nfs "<filestorage_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/nfs

    Specify:

    • <filestorage_ip_address> — IP address of the file storage. You can view it in control panel: in the top menu, click ProductsFile Storage → Storage page → tab Settings → field IP;
    • <mountpoint_uuuid> — The ID of the mountpoint. You can look in control panel: in the top menu, click ProductsFile Storage → Storage page → Block Connection → tab GNU/Linux.