I have a VPS with Santrex.net and I'm having some technical difficulties. It is not a post of opinion about if Santrex is good or not, or if it's enaugh for my propuses or for your propouses, it's a post about the technical difficulties that I have had. In some cases this can be more valuable that a simple opinion.
My configuration is:
- Type of VPS: OpenVZ Linux.
- Administrated by: me, myself and I (root access).
- OS: Debian 6/Stable (krenel version 2.6.18-164.15.1.el5.028stab068.9)
- Network: Unlimited
- Memory: 512 MB (1024 brustable, don't reall know what does it means...)
- Disk space: 45GB
- Connection: 100Mbps
- Server Location: Germany
- Monthly price: $9
- Time I've been using this VPS: two weeks
Problems I'm having:
- The custom kernel of OpenVZ does not have tun/tap kernel modules installed. This is a problem if you want to install OpenVPN or PPTPd services. I thought that I could have my own VPN having a VPS, but with Santrex (and my configuration) it does not seem possible.
- After every reboot, when I try to connect via SSH the openssh client says "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!". This is a symptom of a MITM attack and I don't really like to have this warning every time I reboot the machine for obvious reasons. Sometimes, even if I don't restart the machine, this warning appears anyway. I don't really understand what's wrong. They change the key pairs of my openssh daemon every time I reboot it? Maybe. [Fixed here]
- Listing the processes. When you do a "sudo ps aux" or a simple "ps" trying to list all the processes you have currently running, most of the times (not always, I don't know what makes the difference) is does not show anything, or just show partial information. It's like you weren't running any process at all. It's very annoying when you are trying to debug problems with services because you cannot do a "ps aux | grep ssh" to check if the openssh server is working correctly, or see how many processes you have.
- We don't have "ps" so it is difficult to know what are the applications that are consuming more memory.
- You cannot reboot your VPS from the machine itself, you have to do it from the web browser. This is not a problem, just something you have to know.
- Have some problems just after fresh install VSquota package and his LSB tags and with the locales as well.
- In my laptop, I can run the command "cat /proc/*/comm | less" and I'll see the names of all the processes. The file "comm" of every process contains the name of the process. In the VPS all the files "comm" of every process does not exists (maybe that the way they can prevent you from doing a proper "ps", I don't know).
- I had an script ./4chan.py that downloads images from 4chan. I launched late at night but in the morning, for some reason, the script was stopped. I don't know if it was an error with the script itself, a problem of connectivity (that maybe broke my script) or what... but I had the sensation that I cannot trust the machine at all (I'll have to try again, btw).
A funny way for see some the name of the processes of the system is by executing "$ sudo strings /proc// | grep "^Name:" ".
Name: pptpd Name: named Name: saslauthd Name: saslauthd Name: syslogd Name: sendmail-mta Name: sshd Name: xinetd Name: cron Name: mysqld_safe Name: mysqld Name: logger Name: cherokee Name: cherokee-worker Name: python Name: sshd Name: sshd Name: bash Name: sudo Name: grep Name: php-cgi Name: php-cgi Name: php-cgi Name: php-cgi Name: php-cgi Name: php-cgi
To be able to know the memory used by a process we can do:
/proc/1/status:VmSize: 2024 kB /proc/23567/status:VmSize: 1852 kB /proc/69314/status:VmSize: 48292 kB /proc/69336/status:VmSize: 8664 kB /proc/69337/status:VmSize: 8664 kB /proc/69349/status:VmSize: 1732 kB /proc/69376/status:VmSize: 9960 kB /proc/69403/status:VmSize: 5484 kB /proc/69416/status:VmSize: 2388 kB /proc/69431/status:VmSize: 3804 kB /proc/69467/status:VmSize: 2672 kB /proc/69594/status:VmSize: 156408 kB /proc/69596/status:VmSize: 1664 kB /proc/70709/status:VmSize: 13740 kB /proc/70731/status:VmSize: 47120 kB /proc/77361/status:VmSize: 10484 kB /proc/7900/status:VmSize: 8540 kB /proc/7915/status:VmSize: 8676 kB /proc/7916/status:VmSize: 4540 kB /proc/85667/status:VmSize: 30464 kB /proc/85669/status:VmSize: 40192 kB /proc/85670/status:VmSize: 40192 kB /proc/85671/status:VmSize: 40192 kB /proc/85672/status:VmSize: 48924 kB /proc/85673/status:VmSize: 46596 kB
And we will have te memory used for each process. This is not very useful because we don't know the name of the process, just the PID. We can create a little script for being able generate the same information that "ps" provides:
for file in /proc/* do if [ -d $file ]; then if [[ $file =~ +$ ]]; then pid=$(echo $file | cut -d"/" -f3) name=$(sudo strings $file/* | grep "Name:" | grep -v "%" | head -1) memory=$(grep "VmSize" $file/status) echo "Pid: $pid - $name $memory" fi fi
As a result of executing the script we can end up with something like this:
Pid: 1 - Name: init VmSize: 2024 kB Pid: 15622 - Name: sshd VmSize: 6828 kB Pid: 15637 - Name: sshd VmSize: 6828 kB Pid: 15649 - Name: sshd VmSize: 6828 kB Pid: 15655 - Name: sshd VmSize: 6828 kB Pid: 15691 - Name: ps.sh VmSize: 4156 kB Pid: 23567 - Name: pptpd VmSize: 1852 kB Pid: 69314 - Name: named VmSize: 48292 kB Pid: 69336 - Name: saslauthd VmSize: 8664 kB Pid: 69337 - Name: saslauthd VmSize: 8664 kB Pid: 69349 - Name: syslogd VmSize: 1732 kB Pid: 69376 - Name: sendmail-mta VmSize: 9960 kB Pid: 69403 - Name: sshd VmSize: 5484 kB Pid: 69416 - Name: xinetd VmSize: 2388 kB Pid: 69431 - Name: cron VmSize: 3804 kB Pid: 69467 - Name: mysqld_safe VmSize: 2672 kB Pid: 69594 - Name: mysqld VmSize: 156408 kB Pid: 69596 - Name: logger VmSize: 1664 kB Pid: 70709 - Name: cherokee VmSize: 13740 kB Pid: 70731 - Name: cherokee-worker VmSize: 47116 kB Pid: 73550 - Name: vim VmSize: 5780 kB Pid: 77361 - Name: python VmSize: 10484 kB Pid: 7900 - Name: sshd VmSize: 8540 kB Pid: 79122 - Name: sshd VmSize: 8540 kB Pid: 79130 - Name: sshd VmSize: 8540 kB Pid: 79133 - Name: bash VmSize: 4528 kB Pid: 7915 - Name: sshd VmSize: 8676 kB Pid: 7916 - Name: bash VmSize: 4540 kB Pid: 85667 - Name: php-cgi VmSize: 30464 kB Pid: 85669 - Name: php-cgi VmSize: 40192 kB Pid: 85670 - Name: php-cgi VmSize: 40192 kB Pid: 85671 - Name: php-cgi VmSize: 40192 kB Pid: 85672 - Name: php-cgi VmSize: 48924 kB
It's just a ugly hack, but it works. Of course I would prefer to have my "ps" command working as expected.
The main problem is to know if you have make a mistake when configurating a new service or tuning stuff on the system, or if it's something that the kernel/hosting does not support (in case of tun/tap) or just it does not work properly (like the command "ps") for some strange reason. Some problems can be bypassed like this ugly script simulating "ps", or using openssh and creating SOCKS5 tunnel for being able to use the VPS as a proxy instead of having a proper VPN installation.
And all of this just during two weeks! I promise to writte more stuff if I found new problems. Thanks for reading.