Connect a network volume to a dedicated server with Linux OS
Learn more about network volumes in the General information about the Network Volumes product.
- Create a SAN network.
- Connect the network volume to the server.
- Connect the network volume to the server in the server OS.
- Configure MPIO.
- Optional: connect the network volume to an additional server.
- Prepare the network volume for operation.
1. Create a SAN network
-
In the Control panel, in the top menu, click Products and select Dedicated Servers.
-
Go to the Network section → SAN Network tab.
-
Click Add SAN network.
-
Select an availability zone.
-
Enter a subnet address from the private address range (
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) or keep the default subnet. The subnet size must be/20.
Ensure that the subnet is not being used in your infrastructure. -
Click Create SAN network.
2. Connect the network volume to the server
-
In the Control panel, on the top menu, click Products and select Dedicated Servers.
-
Go to the Network Volumes and Storage section → Network Volumes tab.
-
Open the volume page → Connect to Server tab.
-
In the Server field, click Select.
-
Select the server to which the network volume will be connected.
-
Click Confirm.
-
If you are connecting a network volume to a server with a private network, configure the network:
7.1. Select a VLAN.
7.2. Enter the subnet CIDR from the private address range
10.0.0.0/8,172.16.0.0/12or192.168.0.0/16.
Ensure that the subnet does not overlap with the SAN network you created in step 1 and that you are not using it elsewhere in your infrastructure.7.3. Enter the Next hop 1 and Next hop 2 addresses from the selected private subnet.
7.4. Click Configure.
3. Connect the network volume to the server in the server OS
You can connect a network volume to a server manually or by using a ready-made script generated in the control panel. The script can only be used on Ubuntu OS.
Connect manually
Connect using a script
You can connect a network volume via a SAN network or through a private network.
The process of connecting a network volume in the server OS through a private subnet depends on the number of ports:
-
if the server has only one local port or MC-LAG is configured, use the instructions for a single port;
-
if the server has two local ports, use the instructions for two ports.
SAN network
Private network: single port
Private network: two ports
-
Connect to the server via SSH or via the KVM console.
-
Open the
netplanutility configuration file with the text editorvi:vi /etc/netplan/50-cloud-init.yaml -
Add IP addresses to the network interfaces connected to the SAN switch and configure routes to gain access to the iSCSI targets:
<eth_name_1>:addresses:- <ip_address_1>routes:- to: <destination_subnet_1>via: <next_hop_1><eth_name_2>:addresses:- <ip_address_2>routes:- to: <destination_subnet_2>via: <next_hop_2>Specify:
<eth_name_1>— name of the first network interface, configured on the first port of the network card;<ip_address_1>— IP address of the first port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Port IP address;<destination_subnet_1>— destination subnet for the first port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Destination subnet;<next_hop_1>— gateway for the first port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Next hop (gateway);<eth_name_2>— name of the second network interface, configured on the second port of the network card;<ip_address_2>— IP address of the second port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Port IP address;<destination_subnet_2>— destination subnet for the second port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Destination subnet;<next_hop_2>— gateway for the second port on the network card. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Network Interface Configuration → column Next hop (gateway).
-
Exit the
vitext editor with your changes saved::wq -
Apply the configuration:
netplan apply -
Display information about the network interfaces and check that they are configured correctly:
ip a -
Optional: reboot the server.
-
Check that the operating speed of each interface is at least 10 Gbps:
ethtool <eth_name_1> | grep -i speedethtool <eth_name_2> | grep -i speedSpecify
<eth_name_1>and<eth_name_2>— the names of the network interfaces that you configured in step 3. -
If the speed is below 10 Gbps, submit a ticket.
-
Check that the iSCSI target is accessible:
ping -c5 <iscsi_target_ip_address_1>ping -c5 <iscsi_target_ip_address_2>Specify:
<iscsi_target_ip_address_1>— IP address of the first iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 1;<iscsi_target_ip_address_2>— IP address of the second iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 2.
-
Enter the iSCSI initiator name:
vi /etc/iscsi/initiatorname.iscsiInitiatorName= <initiator_name>Specify
<initiator_name>— the iSCSI initiator name. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Initiator name. -
Restart iSCSI:
systemctl restart iscsid.servicesystemctl restart multipathd.service -
Create iSCSI interfaces:
iscsiadm -m iface -I <iscsi_eth_name_1> --op newiscsiadm -m iface -I <iscsi_eth_name_2> --op newSpecify:
<iscsi_eth_name_1>— name of the first iSCSI interface;<iscsi_eth_name_2>— name of the second iSCSI interface.
iSCSI interface names must not match the names of existing network interfaces. You can view the list of existing network interfaces using the
ip acommand. -
Bind the iSCSI interfaces to the network interfaces:
iscsiadm -m iface --interface <iscsi_eth_name_1> --op update -n iface.net_ifacename -v <eth_name_1>iscsiadm -m iface --interface <iscsi_eth_name_2> --op update -n iface.net_ifacename -v <eth_name_2>Specify:
<iscsi_eth_name_1>— name of the first iSCSI interface that you created in step 13;<eth_name_1>— name of the first network interface that you configured in step 3;<iscsi_eth_name_2>— name of the second iSCSI interface that you created in step 13;<eth_name_2>— name of the second network interface that you configured in step 3.
-
Check the accessibility of the iSCSI target via the iSCSI interfaces:
iscsiadm -m discovery -t sendtargets -p <iscsi_target_ip_address_1> --interface <iscsi_eth_name_1>iscsiadm -m discovery -t sendtargets -p <iscsi_target_ip_address_2> --interface <iscsi_eth_name_2>Specify:
<iscsi_target_ip_address_1>— IP address of the first iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 1;<iscsi_eth_name_1>— name of the first iSCSI interface that you created in step 13;<iscsi_target_ip_address_2>— IP address of the second iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 2;<iscsi_eth_name_2>— name of the second iSCSI interface that you created in step 13.
A list of iSCSI targets will appear in the output. For example:
10.100.1.2:3260,1 iqn.2003-01.com.redhat.iscsi-gw:workshop-target10.100.1.6:3260,2 iqn.2003-01.com.redhat.iscsi-gw:workshop-targetWhere:
10.100.1.2:3260— IP address of the first iSCSI target;iqn.2003-01.com.redhat.iscsi-gw:workshop-target— IQN of the first iSCSI target. IQN (iSCSI Qualified Name) is the full unique identifier of the iSCSI device;10.100.1.6:3260— IP address of the second iSCSI target;iqn.2003-01.com.redhat.iscsi-gw:workshop-target— IQN of the second iSCSI target.
-
Configure CHAP authentication on the iSCSI Initiator:
iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_1> --op update -n node.session.auth.authmethod --value CHAPiscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_2> --op update -n node.session.auth.authmethod --value CHAPiscsiadm --mode node -T <iqn> --op update -n node.session.auth.username --value <username>iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_1> --op update -n node.session.auth.password --value <password>iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_2> --op update -n node.session.auth.password --value <password>Specify:
<iqn>— IQN of the first and second iSCSI targets. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Target name;<iscsi_target_ip_address_1>— IP address of the first iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 1;<iscsi_target_ip_address_2>— IP address of the second iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 2;<username>— username for iSCSI initiator authorization. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Username;<password>— password for iSCSI initiator authorization. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Password.
-
Authorize on the iSCSI target via the iSCSI interfaces:
iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_1> --login --interface <iscsi_eth_name_1>iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_2> --login --interface <iscsi_eth_name_2>Specify:
<iqn>— IQN of the first and second iSCSI targets. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Target name;<iscsi_target_ip_address_1>— IP address of the first iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 2;<iscsi_eth_name_1>— name of the first iSCSI interface that you created in step 13;<iscsi_target_ip_address_2>— IP address of the second iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 2;<iscsi_eth_name_2>— name of the second iSCSI interface that you created in step 13.
-
Check that the iSCSI session has started for each iSCSI target:
iscsiadm -m sessionTwo active iSCSI sessions will appear in the output. For example:
tcp: [1] 10.100.1.2:3260,1 iqn.2003-01.com.redhat.iscsi-gw:workshop-target (non-flash)tcp: [3] 10.100.1.6:3260,2 iqn.2003-01.com.redhat.iscsi-gw:workshop-target (non-flash)Here
[1]and[3]are iSCSI session numbers. -
Enable automatic disk mounting when the server reboots; to do this, set the
node.startupparameter toautomatic:iscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_1> --op update -n node.startup -v automaticiscsiadm --mode node -T <iqn> -p <iscsi_target_ip_address_2> --op update -n node.startup -v automaticsystemctl enable iscsid.servicesystemctl restart iscsid.serviceSpecify:
<iqn>— IQN of the first and second iSCSI targets. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field Target name;<iscsi_target_ip_address_1>— IP address of the first iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 1;<iscsi_target_ip_address_2>— IP address of the second iSCSI target. You can view it in the control panel: in the top menu, click Products → Dedicated Servers → section Network Volumes and Storage → tab Network Volumes → volume page → block Configuring an iSCSI connection → field IP address of the iSCSI target 1.
-
Optional: reboot the server.
4. Configure MPIO
MultiPath-IO (MPIO) is multi-path I/O to improve the fault tolerance of data transfer to a network volume.
In Ubuntu OS, MPIO is configured by default; check the settings.
-
Open the
Device Mapper Multipathutility configuration file with the text editorvi:vi /etc/multipath.conf -
Make sure that the
/etc/multipath.conffile contains only the following lines:defaults {user_friendly_names yes} -
Make sure that the
bindingsfile contains information about the block device WWID:cat /etc/multipath/bindingsThe response will display information about the WWID of the block device. For example:
# Format:# alias wwid#mpatha 3600140530fab7e779fa41038a0a08f8e -
Make sure that the
wwidsfile contains information about the block device WWID:cat /etc/multipath/wwidsThe response will display information about the WWID of the block device. For example:
# Valid WWIDs:/3600140530fab7e779fa41038a0a08f8e/ -
Check the network volume connection and make sure that the
policyparameter is set toservice-time 0:multipath -llThe response will display information about the devices, paths, and current policy. For example:
mpatha (3600140530fab7e779fa41038a0a08f8e) dm-0 LIO-ORG,TCMU devicesize=20G features='0' hwhandler='1 alua' wp=rw|-+- policy='service-time 0' prio=10 status=active| `- 8:0:0:0 sdc 8:32 active ready running`-+- policy='service-time 0' prio=10 status=enabled`- 9:0:0:0 sdd 8:48 active ready running
5. Optional: connect the network volume to another server
- Connect the network volume to the server in the Control panel.
- Connect the network volume to the server in the server OS.
- Configure MPIO.
6. Prepare the network volume for use
For shared access from multiple servers, we recommend using cluster file systems.
The network volume that you connected to the server can be formatted into the required file system:
-
a cluster file system (Cluster File System, CFS) — a file system that allows multiple servers (nodes) to work simultaneously with the same data on shared storage. Examples of cluster file systems:
- GFS2 (Global File System 2); for details, see the GFS2 Overview article in the official Red Hat documentation;
- OCFS2 (Oracle Cluster File System 2); for details, see the official documentation for Oracle Linux.
-
Logical Volume Manager (LVM) is storage virtualization software designed for flexible management of physical storage devices. Learn more in the Configuring and managing logical volumes guide in the official Red Hat documentation.
-
a standard file system, such as
ext4orXFS. Please note that in read-write mode, a standard file system can only be used on one server at a time to avoid data corruption. To speed up the formatting process when creating a file system, use the-Koption, which disables zero initialization (discard) of disk blocks.Example command to format the file system:
mkfs -t <filesystem> -K /dev/mapper/<block_storage_name>Specify:
<filesystem>— file system type, for exampleext4orxfs;<block_storage_name>— network volume name, can be viewed with the commandmultipath -ll.
-
VMFS (VMware File System) is a cluster file system used by VMware ESXi to store virtual machine files. It supports shared access to storage by multiple ESXi hosts. VMFS automatically manages locks, preventing simultaneous modification of virtual machine files, which ensures data integrity. Learn more in the VMware vSphere VMFS guide in the official VMware Storage documentation.