Hi
i have been watching speed since it was announced and was expecting some form of rough plan for the server would be discussed but haven't seen one proposed to date. since no one has got the ball rolling i thought i would put some questions out there to get it all started
What sort of raid level will be used with the server, raid10? raid5? How is the hard drive going to be divided up? Any opinions on what OS should be installed? What services need to be running What services need to be remotely accessible is there any other infrastructure we need to integrate to? eg ldap for logins (unlikely but worth asking) what are we doing about turbo boost? disabling in the BIOS or just leaving it in there Who will need regular accesses to the box? what is the box for besides benchmarking, will we allow users to log on and run their own compile jobs?
to answer some of my own questions: Personally i think raid5 should be sufficient i don't see IO being a significant bottle neck and having 900GB vs 600GB may be an advantage down the road. raid 6 was ruled out as there are only 4 drives in the machine. there should be 2 unused hard drive slots we can use in the future if we need to. IIRC there is online raid5 -> raid6 migration code in the MD device subsystem but i can confirm that if anyone needs me to
as for hard drives, i am a fan of LVM as long as its don't right. VG name being <system name>-<Year><Month><day><count> where count is the install number for the day. if you don't do it this way you WILL have issues when the machine crashes and you need to plug those drives into another machine with the same hostname. as for partitioning, 10-15GB for / is normally sufficient. a couple of GB's for log files (/var/log) to avoid a misconfigured logrotate cron job from eating all the disk space (seen this more times than i want to count in production). 5GB for /tmp and the remaining space apart from 20GB allocated to /home
the reason for the 20GB of "slosh" space is so that if something does fill up and you cant afford to delete it you can resize the partition and then extend the filesystem while the machine is still running (only works on some filesystems and as such i would recommend only using a filesystem with only resize, online shrinking is not a high priority as one may think).
another tactic i have seen is a separate partition to install daily/weekly backups (eg /backups) that are rsyncd to a remote server. cheap and effective.
as for OS choice i assume that means ubuntu for 90% of the people on this mailing list, this is basically a matter of personal preference but if anyone has specific constructive comments then i recommend mentioning it
that covers most of the presetup work that cant be changed easily at another date
is this just a benchmarking server, or a server people can also log into and use as a generic build machine? i always assumed that one socket would be used to benchmarking and the other socket would be given over to normal users who needed a machine with a bit more speed as it is some nice hardware and it would be a shame to see it go to waste. this leads into the next question of who needs access to the machine and what level of accesses do they need.
remotely accessible serveries, i know apache was mentioned and someone wanted something a tiny bit more light weight. as long as you tune it apache is fine, we used to run 2000+ domains on machines with a quarter as much ram and only 2 cpus and still had them humming along with no issue. i would doubt you would hit the kind of traffic to that machine that would justify not using the default config and would put this as premature optimization. if you still want to look at alternatives, i have had experience with nginx. on my machine it only uses about 2MB but i would have to recommend lighttpd due to its cgi support and its fcgi process support (no external monitoring app required for fcgi processes unlike nginx)
i know someone mentioned doing some virtualisation which i assume by that they meant xen or virtual box. the cgroups support is one half of the light weight virtualisation stack for linux (the resource counting part) with LXC being the other half. but full virtualisation is something that should also be discussed.
i will stop here as my original list of "points to be discussed" came to about 50 items and even then i would have considered that a short list for server deployment, hopefully someone has some more input or if people like these ideas i can start putting this together as a more concrete list of things that need to get done
Man with a plan Da_Blitz
On Mon, Jul 11, 2011 at 10:25 AM, Da_Blitz <pypy@pocketnix.org> wrote:
Hi
i have been watching speed since it was announced and was expecting some form of rough plan for the server would be discussed but haven't seen one proposed to date. since no one has got the ball rolling i thought i would put some questions out there to get it all started
Note - you're asking setup questions which have actually already been done by the folks as OSU/OSL at my request. So, these decisions have already been made - we actually already have the box ready to go and offer accounts to the people who will deploy codespeed and get the benchmarks going.
What sort of raid level will be used with the server, raid10? raid5?
This is already done. We have hardware level Raid 5
How is the hard drive going to be divided up?
Filesystem Size Used Avail Use% Mounted on /dev/sda2 19G 3.4G 15G 20% / none 7.9G 196K 7.9G 1% /dev none 7.9G 0 7.9G 0% /dev/shm none 7.9G 48K 7.9G 1% /var/run none 7.9G 0 7.9G 0% /var/lock /dev/sda1 184M 29M 147M 17% /boot
root@speed-python:~# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert swap lvm -wi-ao 14.90g root@speed-python:~# pvs PV VG Fmt Attr PSize PFree /dev/sda3 lvm lvm2 a- 1.07t 1.06t root@speed-python:~#
Any opinions on what OS should be installed?
Linux speed-python 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
What services need to be running
Only what we need to host the site and SSH
What services need to be remotely accessible
SSH
is there any other infrastructure we need to integrate to? eg ldap for logins (unlikely but worth asking)
None
what are we doing about turbo boost? disabling in the BIOS or just leaving it in there
I'll leave that to you guys to decide. If you want it shut off, I need to contact OSU/OSL to have it done.
Who will need regular accesses to the box?
This is up to the team. Currently, I have root and 1 user, and Fijal has an account.
what is the box for besides benchmarking, will we allow users to log on and run their own compile jobs?
Benchmarking and code coverage only. This is not a general shell account box for users. That's not how I sold it to HP who donated the machine.
...snip
is this just a benchmarking server, or a server people can also log into and use as a generic build machine? i always assumed that one socket would be used to benchmarking and the other socket would be given over to normal users who needed a machine with a bit more speed as it is some nice hardware and it would be a shame to see it go to waste. this leads into the next question of who needs access to the machine and what level of accesses do they need.
This server is for benchmarking CPython, PyPy and Jython and potentially running detailed code coverage reports. Until we have that done and in place, I can not in good conscience discuss allowing any other users on the box for general jobs and work.
i know someone mentioned doing some virtualisation which i assume by that they meant xen or virtual box. the cgroups support is one half of the light weight virtualisation stack for linux (the resource counting part) with LXC being the other half. but full virtualisation is something that should also be discussed.
We should not be using virtualization to generate benchmark numbers; hypervisors are lying bastards :)
Deployment is done. We need code.
participants (2)
-
Da_Blitz -
Jesse Noller