Software

Now virtual server program is now implemented based on Linux IP masquerading codes, and some of Steven Clarke's port forwarding codes are reused.

The virtual server patch for 2.2 is under beta test now, it has more features and is becoming more and more stable.

The virtual server patch for kernel 2.2

The virtual server patch v0.8 for kernel 2.2.10 (ipvs-0.8-2.2.12.tar.gz) was released on September 1, 1999. Changes are as follows:

The virtual server patch v0.7 for kernel 2.2.10 (ipvs-0.7-2.2.10.tar.gz) was released on July 9, 1999. Changes are as follows:

The virtual server patch v0.6 for kernel 2.2.10 (ipvs-0.6-2.2.10.tar.gz) was released on July 1, 1999. Fixed the overflow bug in the ip_vs_procinfo(). Thank Ted Pavlic <tpavlic_list@netwalk.com> for reporting it. Added the functionality to change weight and forwarding (dispatching) method of existing real server. Added the functionality to change scheduler of virtual service on the fly. Reorganized some code and changed names of some functions.

The virtual server patch v0.5 for kernel 2.2.9 (ipvs-0.5-2.2.9.tar.gz) was released on June 22, 1999. Fix the bug that LocalNode doesn't work in vs0.4-2.2.9. Thank Changwon Kim <chwkim@samsung.co.kr> for reporting the bug and pointing me the checksum update problem in the code. Some code in the ip_fw_demasquerade was reorganized for efficiency.

The virtual server patch v0.4 for kernel 2.2.9 (ipvs-0.4-2.2.9.tar.gz) was released on June 1, 1999. Most of the code was rewritten. The locking and refcnt was changed. The violation of "no floats in kernel mode" rule in the weighted least-connection scheduling was fixed. This patch is more efficient, and should be more stable.

Peter provided the ipvs-0.2-2.2.9.tar.gz, it was for test purpose. Peter ported the VS patch to kernel 2.2, rewrote the code and loadable scheduling modules. Thank Peter!

Please report bugs to the Linux Virtual Server mailing list <linux-virtualserver@iinchina.net>, thank you!

The virtual server patch for kernel 2.0

The latest archive is the virtual server patch version 0.9 vs-0.9.tar.gz. The ChangeLog is as follows:

The virtual server patch version 0.8 vs-0.8.tar.gz was changed as follows:

Matthew Kellett used the virtual server patch in his Zaphod project (a rack-mounted multiple computer web server) in the Corel Computer Corpration, and did his modification on the vs patch. Here is his patch matthewpatch-0.5.zip, which is against the vs-0.5 patch. He added the load-balancing module and the load-informed scheduling. It will compeletly change the infrastructure of current vs patch and will require a lot of coding to make it fit with the vs-0.9 if it is merged into the vs-0.9 patch, and which may make the current vs patch unstable. So, his patch won't be included in the current patch, however the idea of flexible load-balancing module and maybe part of his patch will be used in the new next-stage development of the virtual server.

The virtual server patch version 0.7 vs-0.7.tar.gz was changed as follows:

The virtual server patch version 0.6 vs-0.6.tar.gz was changed as follows:

The virtual server patch version 0.5 vs-0.5.tar.gz was changed as follows:

Old archives:

The archive is virtual server patch version 0.4 vs-0.4.tar.gz, in which a bug of memory access error was fixed. The set_serverpointer_null() function is added to scan all the existing ip masquerading records for its server pointer which points to the server specified and set it null. It is useful when administrators delete a real server or all real servers, those pointers pointing to the server must be set null. Otherwise, decreasing the connection counter of the server may cause memory access error when the connection terminates or timeout.

The virtual server patch version 0.3 vs-0.3.tar.gz is for the Linux kernel 2.0.35. Three scheduling algorithms, the weighted round-robin scheduling, the least-connection scheduling and the weighted least-connection scheduling, are implemented in this patch. You can also see the ChangeLog in the archive to check the new features.

There are two virtual server program patch for Linux 2.0.33. One is vs-r-2.0.34.tar.gz, which uses round-robin scheduling algorithm; it is a little bit more efficient in scheduling when all real servers have the same processing capacity. The other is vs-w-2.0.34.tar.gz, which uses the weighted round-robin scheduling algorithm; it is better when the real servers have different processing capacity, actually this one should be called the weighted least-connection scheduling, the concept was clarified in the version 0.3.

Virtual server administration program ippfvsadm.c allows you to configure the virtual server, the program is available at the packed archives. ipvsadmcgi.c allows you to administrate the virtual server via browsers.


Last updated: 1999/9/1

Created on: 1998/5/28