Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
litespeed_wiki:cloudlinux:lsphp_criu_enable [2018/05/15 15:01] Eric Leu [Step 4] |
litespeed_wiki:cloudlinux:lsphp_criu_enable [2019/10/15 18:41] (current) Lisa Clarke [Enabling CRIU on CloudLinux + cPanel EA4 + LSWS] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== How to Enable LSPHP CRIU on CloudLinux ====== | + | ====== Enabling CRIU on CloudLinux + 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. | + | **IMPORTANT!! CRIU may cause stability issues! Enable CRIU AT YOUR OWN RISK!** |
+ | |||
+ | 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. | ||
+ | |||
+ | However, generally, we don't recommend you enable CRIU unless you have a special requirement for it. CRIU uses significant server resources and may generate unusual errors while providing no performance benefits. | ||
+ | |||
+ | **We have received quite a few reports that potential bugs on the CRIU module may cause web server stability issues. Please permanently disable CRIU, or enable CRIU AT YOUR OWN RISK**. | ||
===== 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 ==== | + | ==== 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)''. | ||
- | ====2. Check CRIU parameters==== | + | [root@globalsupport ~]# systemctl status criu |
- | Generally PHP should be compiled with CRIU already. \\ | + | ● 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 | ||
+ | |||
+ | ====CRIU Master Switch on LSWS ==== | ||
+ | CRIU is disabled by default. To enable it, you can go to LSWS Web Admin Console -> Server -> PHP -> PHP Global Configuration -> Enable CRIU( Again, we recommend you keep CRIU off unless you have some speical testing need only). | ||
+ | {{:litespeed_wiki:cloudlinux:lsws-master-criu-switch.png?800|}} | ||
+ | |||
+ | ==== Check CRIU parameters==== | ||
+ | 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==== | + | |
+ | ====Configure the PHP environment==== | ||
Add the following necessary parameter to the PHPx.x **External App > Environment** \\ | Add the following necessary parameter to the PHPx.x **External App > Environment** \\ | ||
<code> | <code> |