Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
litespeed_wiki:cloudlinux:lsphp_criu_enable [2018/05/15 14:59] Lisa Clarke Proofreading and Reformatting |
litespeed_wiki:cloudlinux:lsphp_criu_enable [2018/08/20 19:33] Jackson Zhang [1. Verify CRIU is enabled on your system] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== How to Enable LSPHP CRIU on CloudLinux ====== | + | ====== How to Enable LSPHP CRIU on CloudLinux and cPanel EA4 ====== |
- | Checkpoint/Restore In Userspace, or CRIU, is an open source project which dumps all of the information of a running process to disk and restores it at the point of the dump. The LiteSpeed Enterprise Edition Web Server now supports CRIU both natively, and for the CloudLinux/Apache-specific implementation of the PHP processor. This will improve the performance of LiteSpeed for transactions which are commonly used, and reduce the memory overhead on the server. | + | Checkpoint/Restore In Userspace, or CRIU, is an open source project which dumps all of the information of a running process to disk and restores it at the point of the dump. The LiteSpeed Enterprise Edition Web Server now supports CRIU for the CloudLinux implementation of the PHP processor. This will improve the performance of LiteSpeed for transactions which are commonly used, and reduce the memory overhead on the server. |
===== Requirements ===== | ===== Requirements ===== | ||
- | - CloudLinux System | + | - CloudLinux System |
- | - LiteSpeed must be running as the root user to use CRIU Litespeed or Apache. Root is required in order to perform the snapshot and recovery. Running as a non-root user automatically disables CRIU. | + | - ea-apache24-mod_lsapi 1.1 on cpanel EA4 (or mod_lsapi on cPanel EA3) or above |
+ | - LiteSpeed Web Server 5.3 or above. | ||
+ | |||
===== Installation ===== | ===== Installation ===== | ||
==== 1. Verify CRIU is enabled on your system ==== | ==== 1. Verify CRIU is enabled on your system ==== | ||
- | Log into your Linux system. Check CRIU whether the service is running or not. \\ | + | |
+ | Criu is installed with dependency to ea-apache24-mod_lsapi for cpanel EA4( or mod_lsapi for cpanel EA3) 1.1 and above package. | ||
+ | |||
+ | If you have not installed it, you should: | ||
+ | |||
+ | <code>yum install liblsapi liblsapi-devel</code> | ||
+ | |||
+ | <code> | ||
+ | ============================================================================================================================================================================= | ||
+ | Package Arch Version Repository Size | ||
+ | ============================================================================================================================================================================= | ||
+ | Installing: | ||
+ | liblsapi x86_64 1.1-28.el7.cloudlinux cloudlinux-x86_64-server-7 180 k | ||
+ | liblsapi-devel x86_64 1.1-28.el7.cloudlinux cloudlinux-x86_64-server-7 37 k | ||
+ | Installing for dependencies: | ||
+ | crit-lve x86_64 3.7-3.el7 cloudlinux-x86_64-server-7 9.6 k | ||
+ | criu-lve x86_64 3.7-3.el7 cloudlinux-x86_64-server-7 439 k | ||
+ | criu-lve-devel x86_64 3.7-3.el7 cloudlinux-x86_64-server-7 11 k | ||
+ | libnet x86_64 1.1.6-7.el7 cloudlinux-x86_64-server-7 58 k | ||
+ | protobuf-c x86_64 1.0.2-3.el7 cloudlinux-x86_64-server-7 27 k | ||
+ | protobuf-python x86_64 2.5.0-8.el7 cloudlinux-x86_64-server-7 129 k | ||
+ | python-criu-lve x86_64 3.7-3.el7 cloudlinux-x86_64-server-7 136 k | ||
+ | python-ipaddr noarch 2.1.11-1.el7 cloudlinux-x86_64-server-7 34 k | ||
+ | |||
+ | Transaction Summary | ||
+ | ============================================================================================================================================================================= | ||
+ | Install 2 Packages (+8 Dependent packages) | ||
+ | </code> | ||
+ | |||
+ | <code>yum install ea-apache24-mod_lsapi</code> | ||
+ | |||
+ | Check CRIU whether the service is running or not. \\ | ||
+ | |||
+ | ps -ef | grep criu | ||
+ | root 967641 1 0 19:24 ? 00:00:00 /usr/sbin/criu service -v4 -o /var/log/criu-service.log --address /var/run/criu/criu_service.socket | ||
+ | root 967680 965818 0 19:24 pts/1 00:00:00 grep --color=auto criu | ||
+ | |||
+ | |||
If not, enable by following method: | If not, enable by following method: | ||
<code> | <code> | ||
- | systemctl enable criu | + | systemctl enable criu |
systemctl start criu | systemctl start criu | ||
systemctl status criu | systemctl status criu | ||
</code> | </code> | ||
+ | |||
+ | |||
Output should be ''Active: active (running)''. | Output should be ''Active: active (running)''. | ||
+ | |||
+ | [root@globalsupport ~]# systemctl status criu | ||
+ | ● criu.service - Checkpoint Restore in Userspace daemon | ||
+ | Loaded: loaded (/usr/lib/systemd/system/criu.service; disabled; vendor preset: disabled) | ||
+ | Active: active (running) since Mon 2018-08-20 19:24:25 UTC; 4min 23s ago | ||
+ | Process: 967640 ExecStartPre=/bin/mkdir -p /var/run/criu (code=exited, status=0/SUCCESS) | ||
+ | Main PID: 967641 (criu) | ||
+ | CGroup: /system.slice/criu.service | ||
+ | └─967641 /usr/sbin/criu service -v4 -o /var/log/criu-service.log --address /var/run/criu/criu_service.socket | ||
+ | |||
+ | Aug 20 19:24:25 globalsupport.litespeedtech.com systemd[1]: Starting Checkpoint Restore in Userspace daemon... | ||
+ | Aug 20 19:24:25 globalsupport.litespeedtech.com systemd[1]: Started Checkpoint Restore in Userspace daemon. | ||
+ | Aug 20 19:24:25 globalsupport.litespeedtech.com criu[967641]: Warn (criu/kerndat.c:660): Can't load /run/criu.kdat | ||
+ | |||
====2. Check CRIU parameters==== | ====2. Check CRIU parameters==== | ||
- | Generally PHP should be compiled with CRIU already. \\ | + | In CloudLinux, LSPHP have been compiled with CRIU already. Please check [[https://docs.cloudlinux.com/index.html?criu_support.html|here]] \\ |
Use ''phpinfo()'' with parameter ''-DWITH_CRIU'' to check the LSPHP build. | Use ''phpinfo()'' with parameter ''-DWITH_CRIU'' to check the LSPHP build. | ||
- | If you want to manually compile, please download LSAPI from [[https://www.litespeedtech.com/open-source/litespeed-sapi/download | here ]] | + | |
====3. Configure the PHP environment==== | ====3. Configure the PHP environment==== | ||
Line 54: | Line 110: | ||
====Step 4==== | ====Step 4==== | ||
- Restore the PHP by refreshing the WordPress page to regenerate it | - Restore the PHP by refreshing the WordPress page to regenerate it | ||
- | - Verify the process number is the same as before:<code>''ps -ef | grep php | + | - Verify the process number is the same as before:<code>ps -ef | grep php |
>>> user 868577 ... 10:55 0:00 lsphp</code>The process is **back**!! | >>> user 868577 ... 10:55 0:00 lsphp</code>The process is **back**!! | ||
- You can also check standard error log for something like <code>LSCRIU: Successful CloudLinux dump of PID: 868577 | - You can also check standard error log for something like <code>LSCRIU: Successful CloudLinux dump of PID: 868577 |