RUVDS , as an official partner of Huawei, is implementing a new virtualization system to provide its customers with access to modern cloud technologies with a high degree of reliability and security. This is a new experience for us, and we continue to share it with the readers of our blog.
You can read the beginning in the
first article in this series. Before you the second. In it, we will plan the necessary computing resources and consider an example of how to calculate the required number of servers of a suitable configuration.
In the RUVDS project, x64-based servers are used to create a cloud-based virtualization platform. Physical servers are pooled computing resources, and services are migrated to the cloud platform during migration. Sharing resources within a cloud platform allows for dynamic resource planning, maximizes the efficiency of their use and reduces hardware and maintenance costs. Database components can be deployed on physical servers.
When choosing servers for RUVDS, the following requirements were followed:
• We need a server with a modern architecture that combines network support, management, power supply and heat dissipation in a single shelf. It should provide the ability to jointly deploy multiple servers, simplify cabling required for implementing network connections of the project, maximize the use of space in the server rack, and also support hot swapping.
• Each server must have at least 4 processors and at least 128 GB of RAM. This requirement is caused by the fact that servers are used to create virtual resource pools.
')
Based on these requirements, we chose blade servers with at least 4 latest-generation Intel Xeon processors and at least 384GB of RAM for RUVDS project clients.
Example of planning the number of serversFor calculation, the values of SPECint2006 Rates are used. SPEC values are taken at www.spec.org/cgi-bin/osgresults?conf=rint2006 .
The following are two methods of calculation: the method of estimating calculation based on the calculation of general requirements for the SPEC parameters and the exact method based on converting the SPEC value to the number of vCPUs and then converting the number of vCPUs to the number of servers.
These calculations are given as an example to understand how the calculation of the number of servers.Method 1: Calculation Based on General SPEC Parameter RequirementsThe essence of this method is as follows: all SPEC values required for the original application systems are added up to calculate the total computing power, after which the SPEC values for the new servers are queried. The number of servers is equal to the total computing power divided by the SPEC value for new servers.
An example of the calculation is given below.
The average CPU utilization rate for the 107 Dell PowerEdge 2950 servers (8 GB of memory and two E5420 CPUs with a 2.5 GHz core frequency and four cores) is 20%. The SPEC value is 118 (it is obtained at
www.spec.org/cgi-bin/osgresults?conf=rint2006 ).
It is required to migrate application systems to RH5885 servers (each with four eight-core E7-4820 CPUs with a fundamental frequency of 2 GHz). The SPEC value is 775.
Therefore, the number of servers can be calculated by the following formulas:
Computational power requirement = ∑ (SPEC value for existing servers x CPU utilization ratio) x (1 + redundancy ratio) = 107 x 118 x 20% x (1 + 20%) = 3283
Note: Typically, the reserve ratio is between 10% and 20%. A value of 20% is recommended.Available server computing power = SPEC value x CPU utilization factor x (1 - the number of hyper threads UVP / total number of hyper threads) = 775 x 70% x [1 - 2 / (4 x 8 x 2)] = 525
Note: The number of hyper-threads used by the base hypervisor is 2. The CPU utilization rate is between 50% and 70% .
Total number of servers = rounding up (computational power / available computing power of the server) = rounding up (3283/525) = 7 servers
Note: When calculating the actual number of servers, you must consider redundancy. To support the VM HA function, you must have at least one backup server per cluster.In the case of 8 GB memory modules, the number of memory modules per server can be determined as follows:
Number of memory modules per server = (total memory / number of servers + 8 GB) / 8 GB = (987 GB / 7 servers + 8 GB for virtualization) / 8 = 19 memory modules
Note: It is recommended to configure an even number of memory modules. Make sure that the memory utilization rate does not exceed 80%.Method 2: calculate the number of vCPUs based on the SPEC valueThe number of servers is determined by the number of vCPU VMs and the amount of memory. Currently servers support memory modules of 16 GB and 32 GB. Therefore, memory is not a factor limiting server performance.
An example of the calculation is given below.
The average CPU utilization rate of 107 Dell PowerEdge 2950 servers (8 GB of memory and two E5420 CPUs with 2.5 GHz core frequency and four cores) is 20%. The SPEC value is 118 (it is obtained at
www.spec.org/cgi-bin/osgresults?conf=rint2006 ).
The migration of application systems to RH5885 servers (each with four eight-core E7-4820 CPUs with a main frequency of 2 GHz) is required. The SPEC value is 775.
Consequently, the computing power of a single server can be calculated using the following formulas:
Computational power of a single server vCPU = SPEC CINT2006 Rates value x CPU utilization factor / (number of CPUs x number of cores x 2 - number of logical cores necessary for virtualization) = 775 x 70% / (4 x 8 x 2 - 2) = 8, 7
Required quantity vCPU = rounding up (118 x 20% / 8,7) = 3
Memory required: 8 GB
Virtual machine (VM) resources:Total number of VM: 107
Total vCPU: 322
Total VM memory: 856 GB
Calculate the number of servers:For reliable operation of a cloud platform VM and ensuring VM migration without interruption of service in case of server failure, it is necessary to reserve 20% (depending on a specific project) of CPU resources and memory of computing servers when deploying a system.
Based on the above principles, the amount of computing resources required for the system can be calculated as follows.
Number of vCPUs: 322 x 120% = 387
Memory capacity: 856 GB x 120% = 1028 GB
According to the selected server model (four with eight cores) and redundancy ratio requirements (30%), the required number of servers can be determined as follows:
Number of servers = number of vCPU / (number of CPUs x number of cores x 2 - 2) = 387 / (4 x 8 x 2 - 2) = 7 (rounding up)
In the case of 8 GB memory modules, the number of memory modules per server can be determined as follows:
Number of memory modules per server = (total memory / number of servers + 8 GB) / 8 GB = (1028 GB / 7 servers + 8 GB for virtualization) / 8 = 20 memory modules
In the next article we will look at storage resource planning.