How many KVM with this server's configuration?

Farmer

New Member
Oct 10, 2017
4
0
1
35
Hello, My School has bought 5 servers and i need config to provide VM to students.

My server info:
Processor: 2 x E5-2683
Memory: 4 x 32GB DIMMs
SSD: 1TB/Raid 10

My question: Is possible to create 300 KVM VPS with this configuration in PROXMOX? (Example each VM is 1vCPU, 1GB Ram, and flexible storage).

Thanks.
 
Hello,

It is hard to say ... Anyway the numbers of VM that you can run depends by what you will run in any VM. And the most important bottleneck will be the storage. 60 VM/server .... will need a lot of iops and bandwidth from the storage.
So you need to ask if your storage can support this load .
 
  • Like
Reactions: Farmer
CPU and RAM should be ok unless all 300 VMs are heavily used at the same time.
you know you can overprovision CPUs so you can even have 2vCPU per VM.
I would cation against overly overprovision RAM in your situation but it can be done to, carefully.
now the storage is the problem.

if you use Windows VM it is simply not enough. a windows 10 VM need at least, and that is bare minimum, 16GB of disk, I usually like to have 20GB for OS. you also need some space for user data.
so @16GB OS drive x300 = 4800Gb (4Tb)
@20GB OS drive x300 = 6000Gb (6Tb)

and you also need some extra for file sharing and whatever the Proxmox needs (unless 1Tb is the data only storage and Proxmox is on it's own drive.)
even if you can create all of this VM with thin provisioning( that is even though the vm disks are defined but not all storage provision right a way) you still going to have an issue. and resizing a raid10 on live server is a pain.
IMHO
 
  • Like
Reactions: Farmer
Hello,

It is hard to say ... Anyway the numbers of VM that you can run depends by what you will run in any VM. And the most important bottleneck will be the storage. 60 VM/server .... will need a lot of iops and bandwidth from the storage.
So you need to ask if your storage can support this load .
as per OP, an all SSD storage in RAID10 should be capable, but OP simply does not have enough space for that many VMs, especially if 1Tb is all there is, as in it have to hold the OS+VMs+user data.
come to think of it. even all Linux VMs would need at least 10Gb drives if this are desktop installs, and that is still 3Tb for 300 VMs
 
  • Like
Reactions: Farmer
as per OP, an all SSD storage in RAID10 should be capable, but OP simply does not have enough space for that many VMs, especially if 1Tb is all there is, as in it have to hold the OS+VMs+user data.
come to think of it. even all Linux VMs would need at least 10Gb drives if this are desktop installs, and that is still 3Tb for 300 VMs

Hi, Thank for support. If possible to create ~300KVM depend on CPU and RAM, storage will be extended (25GB per VM).

One more question, my internet line only 100 Mbps to host server (can up to 500 Mbps). Is it enough to run 300KVM at same time?

Sorry, I'm a developer, not system admin :(
 
can you explain what exactly you are trying to do?
why do you need to provide VMs to students?
why VMs?

are they will be accessing them from outside of the LAN or from inside?
Please elaborate on what you are trying to achieve.

you said you got 5 servers, are you planning for any fault tolerance?
shared storage?


BTW, I am a developer too , but have been dubbing with IT support
 
  • Like
Reactions: Farmer
can you explain what exactly you are trying to do?
why do you need to provide VMs to students?
why VMs?

are they will be accessing them from outside of the LAN or from inside?
Please elaborate on what you are trying to achieve.

you said you got 5 servers, are you planning for any fault tolerance?
shared storage?


BTW, I am a developer too , but have been dubbing with IT support

Hi.
I working on Technology University, and we support students, provide KVM VM (Linux) to learning (not openVZ).
- All VMs access from internet (Data Center - colo)
- Standalone server, not shared. If you have any ideas, please tell me :D
- Cheer from developer, i'm learning about SYSTEM, IT SUPPORT.

p/s: Sorry for bad English. :P
 
Hi.
I working on Technology University, and we support students, provide KVM VM (Linux) to learning (not openVZ).
- All VMs access from internet (Data Center - colo)
- Standalone server, not shared. If you have any ideas, please tell me :D
- Cheer from developer, i'm learning about SYSTEM, IT SUPPORT.

p/s: Sorry for bad English. :p
Hi,
how is the access?
Via vnc/spice for the desktop (need much more bandwith and lower latency) or via ssh?

Udo
 
  • Like
Reactions: Farmer
Hi,
how is the access?
Via vnc/spice for the desktop (need much more bandwith and lower latency) or via ssh?

Udo
Hi. Access via VNC/SSH (putty). But i worry about the traffic from http, each VM will install http server... and they can run theirs websites...

In other words, we are small hosting/vps provider.
 
lets do the math:

assuming that none of the students use this system to host large files for thirdparty downloads, you can quite easity manage this.

Imagine 300 students running 1 website per their kvm. Lets assume that each 200 of these websites get 100 visits a day with 1mb page load each.

200 x 100 x 1mb = 20000mb = 20gb per day

And assume 90 of the websites get 1000 visits a day (this is a moderate traffic for a website) at 1mb per visit
90 x 1000 x 1 = 90000 = 90 gb per day

And assume 10 of the websites get 10,000 visits a day (this is relatively high traffic for a student website) at 1mb per visit
10 x 10,000 x 1mb = 100000 = 100gb per day

Traffic total = 20 + 90 + 100 = 210 gb a day (serving a total of 210,000 visits a day)

Now, lets assume on average each visit has 2 further page views and the further page views cause 0.5mb per page
Thus 1mb for 2 additional page views (With cached data + some new images, html content etc)

so, 420,000 page views x 0.5mb = 210gb

Total daily estimated consumption = 210 + 210 = 420gb of data a day


-----------------------------
Now we know that this will most likely be spread over 8-12 (10 average hours) hours if the traffic is local.
We can assume that following distribution of traffic:
30% other hours
70% in peak hours
1h = 7.5%
2h = 7;5%
3h = 10%
4h = 10%
5h = 10%
6h = 10%
7h = 7.5%
8h = 7.5%

We are assuming at other times we get negligible traffic per hour. We focus on the 4th and the 5th peak hour as that is likely to fill up our 100mb pipe the most.

10% of 420gb is transferred in 4th and another 10% is transferrer in the 5th hour. Thus 10% of 420gb = 42gb

42gb = 42* 8 gigabits = 336 gigabits (the amount we must transfer over an our)

Assuming uniform distribution over 1 hour = 3600 seconds,
336000 megabits / 3600 seconds = 94megabits per second

So you can roughly sustain, in other words 12 new visitors per second during peak time or 24 subsequent page loads per second.

I think 100mb should be sufficient for most student work assuming no one hogs the bandwidth.

Why don't you limit the bandwidth of each student at 1mbps (will prevent abuse or bandwidth hogs)?
 
Also, get datacenter ssd, not a cheapo ssd like samsung evo/pro. If anyone will run mysql / fsync calls, that will sink the ssd. Get a proper datacenter ssd that can support high fsync calls.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!