This commit is contained in:
MacRimi 2025-03-02 11:17:44 +01:00
parent 44014aa2cd
commit 443d371174
4 changed files with 415 additions and 68 deletions

View File

@ -1,21 +1,156 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import { Sliders } from "lucide-react" import { Paintbrush } from "lucide-react"
import CopyableCode from "@/components/CopyableCode"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "ProxMenux Post-Install: Customization Settings", title: "ProxMenux Post-Install: Customization Settings",
description: description:
"Detailed guide to Customization Settings in the ProxMenux post-install script for personalizing your Proxmox VE environment.", "Guide to Customization Settings in the ProxMenux post-install script for personalizing your Proxmox VE environment.",
// ... (rest of the metadata remains the same) openGraph: {
title: "ProxMenux Post-Install: Customization Settings",
description:
"Guide to Customization Settings in the ProxMenux post-install script for personalizing your Proxmox VE environment.",
type: "article",
url: "https://macrimi.github.io/ProxMenux/docs/post-install/customization",
images: [
{
url: "https://macrimi.github.io/ProxMenux/customization-settings-image.png",
width: 1200,
height: 630,
alt: "ProxMenux Post-Install Customization Settings",
},
],
},
twitter: {
card: "summary_large_image",
title: "ProxMenux Post-Install: Customization Settings",
description:
"Guide to Customization Settings in the ProxMenux post-install script for personalizing your Proxmox VE environment.",
images: ["https://macrimi.github.io/ProxMenux/customization-settings-image.png"],
},
}
function StepNumber({ number }: { number: number }) {
return (
<div className="inline-flex items-center justify-center w-8 h-8 mr-3 text-white bg-blue-500 rounded-full">
<span className="text-sm font-bold">{number}</span>
</div>
)
} }
export default function CustomizationSettingsPage() { export default function CustomizationSettingsPage() {
return ( return (
<div className="container mx-auto px-4 py-8"> <div className="container mx-auto px-4 py-8">
<div className="flex items-center mb-6"> <div className="flex items-center mb-6">
<Sliders className="h-8 w-8 mr-2 text-blue-500" /> <Paintbrush className="h-8 w-8 mr-2 text-blue-500" />
<h1 className="text-3xl font-bold">Customization Settings</h1> <h1 className="text-3xl font-bold">Customization Settings</h1>
</div> </div>
{/* ... (rest of the component remains the same) */} <p className="mb-4">
The <strong>Customization Settings</strong> category allows you to personalize various aspects of your Proxmox
VE installation. These settings are optional and can be adjusted according to your preferences.
</p>
<h2 className="text-2xl font-semibold mt-8 mb-4">Available Customizations</h2>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={1} />
Customize bashrc
</h3>
<p className="mb-4">
This customization modifies the .bashrc file for the root user, adding various aliases and configurations.
</p>
<p className="mb-4">The following changes are made:</p>
<ul className="list-disc pl-5 mb-4">
<li>Sets HISTTIMEFORMAT to include date and time in command history</li>
<li>Configures a custom colorful prompt</li>
<li>Adds aliases for common ls commands (l, la, ll)</li>
<li>Enables color output for ls, grep, fgrep, and egrep commands</li>
<li>Sources bash completion script</li>
</ul>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Add custom configurations to .bashrc
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> /root/.bashrc
echo 'export PS1="\[\e[31m\][\[\e[m\]\[\e[38;5;172m\]\u\[\e[m\]@\[\e[38;5;153m\]\h\[\e[m\] \[\e[38;5;214m\]\W\[\e[m\]\[\e[31m\]]\[\e[m\]\\$ "' >> /root/.bashrc
echo "alias l='ls -CF'" >> /root/.bashrc
echo "alias la='ls -A'" >> /root/.bashrc
echo "alias ll='ls -alF'" >> /root/.bashrc
echo "alias ls='ls --color=auto'" >> /root/.bashrc
echo "alias grep='grep --color=auto'" >> /root/.bashrc
echo "alias fgrep='fgrep --color=auto'" >> /root/.bashrc
echo "alias egrep='egrep --color=auto'" >> /root/.bashrc
echo "source /etc/profile.d/bash_completion.sh" >> /root/.bashrc
# Ensure .bashrc is sourced in .bash_profile
echo "source /root/.bashrc" >> /root/.bash_profile
`}
/>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={2} />
Remove Subscription Banner
</h3>
<p className="mb-4">
This customization removes the Proxmox VE subscription banner and nag messages from the web interface.
</p>
<p className="mb-4">The following changes are made:</p>
<ul className="list-disc pl-5 mb-4">
<li>Creates a daily cron job to remove the subscription banner</li>
<li>Adds an APT hook to remove the nag message after package updates</li>
<li>Applies the changes immediately by reinstalling the proxmox-widget-toolkit</li>
</ul>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Create cron job for banner removal
cat <<'EOF' > /etc/cron.daily/xs-pve-nosub
#!/bin/sh
sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i "s/checked_command: function(orig_cmd) {/checked_command: function() {} || function(orig_cmd) {/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
EOF
chmod 755 /etc/cron.daily/xs-pve-nosub
# Create APT hook for nag removal
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data.status/{s/\!//;s/Active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" > /etc/apt/apt.conf.d/xs-pve-no-nag
# Apply changes immediately
apt --reinstall install proxmox-widget-toolkit
`}
/>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={3} />
Set up Custom MOTD Banner
</h3>
<p className="mb-4">
This customization adds a custom message to the MOTD (Message of the Day) that appears when logging into the
system via SSH.
</p>
<p className="mb-4">The following changes are made:</p>
<ul className="list-disc pl-5 mb-4">
<li>Adds a custom message at the beginning of the MOTD file</li>
<li>Creates a backup of the original MOTD file</li>
<li>Removes any empty lines from the MOTD file</li>
</ul>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Add custom message to MOTD
custom_message="This system is optimised by: ProxMenux"
cp /etc/motd /etc/motd.bak
echo -e "$custom_message\n\n$(cat /etc/motd)" > /etc/motd
sed -i '/^$/N;/^\n$/D' /etc/motd
`}
/>
<section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2>
<p>
All of these customizations are automatically applied when selected in the Customization section. This
automation ensures that these personalized settings are applied consistently and correctly, saving time and
reducing the potential for manual configuration errors.
</p>
</section>
</div> </div>
) )
} }

View File

@ -1,14 +1,15 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import { LineChart } from "lucide-react" import { LineChart } from "lucide-react"
import CopyableCode from "@/components/CopyableCode"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "ProxMenux Post-Install: Monitoring Settings", title: "ProxMenux Post-Install: Monitoring Settings",
description: description:
"Comprehensive guide to Monitoring Settings in the ProxMenux post-install script for optimizing Proxmox VE system monitoring and alerting.", "Guide to Monitoring Settings in the ProxMenux post-install script for enhancing your Proxmox VE monitoring capabilities.",
openGraph: { openGraph: {
title: "ProxMenux Post-Install: Monitoring Settings", title: "ProxMenux Post-Install: Monitoring Settings",
description: description:
"Comprehensive guide to Monitoring Settings in the ProxMenux post-install script for optimizing Proxmox VE system monitoring and alerting.", "Guide to Monitoring Settings in the ProxMenux post-install script for enhancing your Proxmox VE monitoring capabilities.",
type: "article", type: "article",
url: "https://macrimi.github.io/ProxMenux/docs/post-install/monitoring", url: "https://macrimi.github.io/ProxMenux/docs/post-install/monitoring",
images: [ images: [
@ -24,11 +25,19 @@ export const metadata: Metadata = {
card: "summary_large_image", card: "summary_large_image",
title: "ProxMenux Post-Install: Monitoring Settings", title: "ProxMenux Post-Install: Monitoring Settings",
description: description:
"Comprehensive guide to Monitoring Settings in the ProxMenux post-install script for optimizing Proxmox VE system monitoring and alerting.", "Guide to Monitoring Settings in the ProxMenux post-install script for enhancing your Proxmox VE monitoring capabilities.",
images: ["https://macrimi.github.io/ProxMenux/monitoring-settings-image.png"], images: ["https://macrimi.github.io/ProxMenux/monitoring-settings-image.png"],
}, },
} }
function StepNumber({ number }: { number: number }) {
return (
<div className="inline-flex items-center justify-center w-8 h-8 mr-3 text-white bg-blue-500 rounded-full">
<span className="text-sm font-bold">{number}</span>
</div>
)
}
export default function MonitoringSettingsPage() { export default function MonitoringSettingsPage() {
return ( return (
<div className="container mx-auto px-4 py-8"> <div className="container mx-auto px-4 py-8">
@ -37,27 +46,52 @@ export default function MonitoringSettingsPage() {
<h1 className="text-3xl font-bold">Monitoring Settings</h1> <h1 className="text-3xl font-bold">Monitoring Settings</h1>
</div> </div>
<p className="mb-4"> <p className="mb-4">
The Monitoring Settings category in the customizable_post_install.sh script focuses on setting up and optimizing The <strong>Monitoring Settings</strong> category focuses on enhancing the monitoring capabilities of your
system monitoring and alerting for your Proxmox VE installation. Proxmox VE installation. These settings are designed to provide better insights into your system's performance
and health.
</p> </p>
<h2 className="text-2xl font-semibold mt-6 mb-4">Available Optimizations</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2>
<ul className="list-disc pl-5 mb-6">
<li className="mb-2"> <h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<strong>System Metrics:</strong> Configure collection and storage of key system metrics. <StepNumber number={1} />
</li> Install OVH Real Time Monitoring (RTM)
<li className="mb-2"> </h3>
<strong>Alert Configuration:</strong> Set up alerts for critical system events and thresholds.
</li>
<li className="mb-2">
<strong>Logging Optimization:</strong> Fine-tune system logging for better troubleshooting and analysis.
</li>
{/* Add more list items for each optimization in this category */}
</ul>
<h2 className="text-2xl font-semibold mt-6 mb-4">Usage</h2>
<p className="mb-4"> <p className="mb-4">
When running the customizable_post_install.sh script, you'll be prompted to choose which Monitoring Settings to This optimization detects if the server is hosted by OVH and installs the OVH Real Time Monitoring (RTM) tool if
apply. Select the options that best suit your monitoring needs and system requirements. applicable.
</p> </p>
<p className="mb-4">The following steps are performed:</p>
<ul className="list-disc pl-5 mb-4">
<li>Detects the server's public IP address</li>
<li>Checks if the IP belongs to OVH using WHOIS information</li>
<li>If it's an OVH server, installs the OVH RTM tool</li>
</ul>
<p className="mb-4">
<strong>Note:</strong> This optimization is only applicable to servers hosted by OVH. If your server is not
hosted by OVH, this step will be skipped.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Get the public IP and check if it belongs to OVH
public_ip=$(curl -s ipinfo.io/ip)
is_ovh=$(whois -h v4.whois.cymru.com " -t $public_ip" | tail -n 1 | cut -d'|' -f3 | grep -i "ovh")
if [ -n "$is_ovh" ]; then
# Install OVH RTM
wget -qO - https://last-public-ovh-infra-yak.snap.mirrors.ovh.net/yak/archives/apply.sh | OVH_PUPPET_MANIFEST=distribyak/catalog/master/puppet/manifests/common/rtmv2.pp bash
fi
`}
/>
<section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2>
<p>
This monitoring optimization is automatically applied when selected in the Monitoring section. The automation
ensures that the OVH RTM tool is installed correctly if your server is hosted by OVH, enhancing your server's
monitoring capabilities without manual intervention.
</p>
</section>
</div> </div>
) )
} }

View File

@ -1,14 +1,15 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import { Plus } from "lucide-react" import { Plus } from "lucide-react"
import CopyableCode from "@/components/CopyableCode"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "ProxMenux Post-Install: Optional Settings", title: "ProxMenux Post-Install: Optional Settings",
description: description:
"Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE customizations and features.", "Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE features and optimizations.",
openGraph: { openGraph: {
title: "ProxMenux Post-Install: Optional Settings", title: "ProxMenux Post-Install: Optional Settings",
description: description:
"Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE customizations and features.", "Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE features and optimizations.",
type: "article", type: "article",
url: "https://macrimi.github.io/ProxMenux/docs/post-install/optional", url: "https://macrimi.github.io/ProxMenux/docs/post-install/optional",
images: [ images: [
@ -24,11 +25,19 @@ export const metadata: Metadata = {
card: "summary_large_image", card: "summary_large_image",
title: "ProxMenux Post-Install: Optional Settings", title: "ProxMenux Post-Install: Optional Settings",
description: description:
"Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE customizations and features.", "Guide to Optional Settings in the ProxMenux post-install script for additional Proxmox VE features and optimizations.",
images: ["https://macrimi.github.io/ProxMenux/optional-settings-image.png"], images: ["https://macrimi.github.io/ProxMenux/optional-settings-image.png"],
}, },
} }
function StepNumber({ number }: { number: number }) {
return (
<div className="inline-flex items-center justify-center w-8 h-8 mr-3 text-white bg-blue-500 rounded-full">
<span className="text-sm font-bold">{number}</span>
</div>
)
}
export default function OptionalSettingsPage() { export default function OptionalSettingsPage() {
return ( return (
<div className="container mx-auto px-4 py-8"> <div className="container mx-auto px-4 py-8">
@ -37,27 +46,150 @@ export default function OptionalSettingsPage() {
<h1 className="text-3xl font-bold">Optional Settings</h1> <h1 className="text-3xl font-bold">Optional Settings</h1>
</div> </div>
<p className="mb-4"> <p className="mb-4">
The Optional Settings category in the customizable_post_install.sh script provides additional customizations and The <strong>Optional Settings</strong> category provides additional features and optimizations that you can
features that you may choose to implement in your Proxmox VE environment. choose to apply to your Proxmox VE installation. These settings are not essential but can enhance your system's
capabilities in specific scenarios.
</p> </p>
<h2 className="text-2xl font-semibold mt-6 mb-4">Available Options</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Available Optional Features</h2>
<ul className="list-disc pl-5 mb-6">
<li className="mb-2"> <h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<strong>Additional Software:</strong> Install optional software packages or tools. <StepNumber number={1} />
</li> Add Latest Ceph Support
<li className="mb-2"> </h3>
<strong>Custom Scripts:</strong> Add your own scripts to run post-installation.
</li>
<li className="mb-2">
<strong>Extended Configurations:</strong> Apply additional, non-essential configurations.
</li>
{/* Add more list items for each option in this category */}
</ul>
<h2 className="text-2xl font-semibold mt-6 mb-4">Usage</h2>
<p className="mb-4"> <p className="mb-4">
When running the customizable_post_install.sh script, you'll be presented with these Optional Settings. You can This option installs the latest Ceph storage system support for Proxmox VE. Ceph is a distributed storage system
choose to apply any or all of these settings based on your specific needs and preferences. that provides high performance, reliability, and scalability.
</p> </p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
<li>Adds the Ceph repository to your system</li>
<li>Updates package lists</li>
<li>Installs Ceph packages using the 'pveceph install' command</li>
<li>Verifies the installation</li>
</ul>
<p className="mb-4">
How to use: After installation, you can configure and manage Ceph storage using the Proxmox VE web interface or
command-line tools.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Add Ceph repository
echo "deb https://download.proxmox.com/debian/ceph-squid $(lsb_release -cs) no-subscription" > /etc/apt/sources.list.d/ceph-squid.list
# Update package lists
apt-get update
# Install Ceph
pveceph install
# Verify installation
pveceph status
`}
/>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={2} />
Apply AMD CPU Fixes
</h3>
<p className="mb-4">
This option applies specific fixes for AMD EPYC and Ryzen CPUs to improve stability and compatibility.
</p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
<li>Detects if an AMD EPYC or Ryzen CPU is present</li>
<li>Applies kernel parameter 'idle=nomwait' to prevent random crashes</li>
<li>Configures KVM to ignore certain MSRs (Model Specific Registers) for better Windows guest compatibility</li>
<li>Installs the latest Proxmox VE kernel</li>
</ul>
<p className="mb-4">
How to use: These fixes are applied automatically and require a system reboot to take effect.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Set kernel parameter
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="idle=nomwait /g' /etc/default/grub
update-grub
# Configure KVM
echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf
echo "options kvm report_ignored_msrs=N" >> /etc/modprobe.d/kvm.conf
# Install latest Proxmox VE kernel
apt-get install pve-kernel-$(uname -r | cut -d'-' -f1-2)
`}
/>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={3} />
Enable High Availability Services
</h3>
<p className="mb-4">
This option enables High Availability (HA) services in Proxmox VE, allowing for automatic failover of VMs and
containers in case of node failure.
</p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
<li>Enables and starts the pve-ha-lrm (Local Resource Manager) service</li>
<li>Enables and starts the pve-ha-crm (Cluster Resource Manager) service</li>
<li>Enables and starts the corosync service for cluster communication</li>
</ul>
<p className="mb-4">
How to use: After enabling these services, you can configure HA groups and resources in the Proxmox VE web
interface.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
systemctl enable --now pve-ha-lrm pve-ha-crm corosync
`}
/>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={4} />
Install and Configure Fastfetch
</h3>
<p className="mb-4">
This option installs and configures Fastfetch, a system information tool that displays system specs and a custom
logo at login.
</p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
<li>Downloads and installs Fastfetch</li>
<li>
Allows you to choose a custom logo (ProxMenux, Proxmox, Helper-Scripts, Home-Labs-Club, Proxmology, or a
custom one)
</li>
<li>Configures Fastfetch to display "System optimised by ProxMenux"</li>
<li>Sets up Fastfetch to run automatically at console login</li>
</ul>
<p className="mb-4">
How to use: After installation, Fastfetch will run automatically when you log into the console, displaying
system information and your chosen logo.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Install Fastfetch
wget -qO /usr/local/bin/fastfetch "https://github.com/fastfetch-cli/fastfetch/releases/latest/download/fastfetch-linux-amd64"
chmod +x /usr/local/bin/fastfetch
# Configure Fastfetch (logo selection and custom message are interactive)
fastfetch --gen-config
# Set Fastfetch to run at login
echo "clear && fastfetch" >> ~/.bashrc
`}
/>
<section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2>
<p>
These optional features are applied only when specifically selected during the post-install process. Each
feature can be individually chosen based on your specific needs and preferences.
</p>
</section>
</div> </div>
) )
} }

View File

@ -1,14 +1,15 @@
import type { Metadata } from "next" import type { Metadata } from "next"
import { Zap } from "lucide-react" import { Zap } from "lucide-react"
import CopyableCode from "@/components/CopyableCode"
export const metadata: Metadata = { export const metadata: Metadata = {
title: "ProxMenux Post-Install: Performance Settings", title: "ProxMenux Post-Install: Performance Settings",
description: description:
"Detailed guide to Performance Settings in the ProxMenux post-install script for optimizing Proxmox VE system performance.", "Guide to Performance Settings in the ProxMenux post-install script for optimizing your Proxmox VE system performance.",
openGraph: { openGraph: {
title: "ProxMenux Post-Install: Performance Settings", title: "ProxMenux Post-Install: Performance Settings",
description: description:
"Detailed guide to Performance Settings in the ProxMenux post-install script for optimizing Proxmox VE system performance.", "Guide to Performance Settings in the ProxMenux post-install script for optimizing your Proxmox VE system performance.",
type: "article", type: "article",
url: "https://macrimi.github.io/ProxMenux/docs/post-install/performance", url: "https://macrimi.github.io/ProxMenux/docs/post-install/performance",
images: [ images: [
@ -24,11 +25,19 @@ export const metadata: Metadata = {
card: "summary_large_image", card: "summary_large_image",
title: "ProxMenux Post-Install: Performance Settings", title: "ProxMenux Post-Install: Performance Settings",
description: description:
"Detailed guide to Performance Settings in the ProxMenux post-install script for optimizing Proxmox VE system performance.", "Guide to Performance Settings in the ProxMenux post-install script for optimizing your Proxmox VE system performance.",
images: ["https://macrimi.github.io/ProxMenux/performance-settings-image.png"], images: ["https://macrimi.github.io/ProxMenux/performance-settings-image.png"],
}, },
} }
function StepNumber({ number }: { number: number }) {
return (
<div className="inline-flex items-center justify-center w-8 h-8 mr-3 text-white bg-blue-500 rounded-full">
<span className="text-sm font-bold">{number}</span>
</div>
)
}
export default function PerformanceSettingsPage() { export default function PerformanceSettingsPage() {
return ( return (
<div className="container mx-auto px-4 py-8"> <div className="container mx-auto px-4 py-8">
@ -37,27 +46,64 @@ export default function PerformanceSettingsPage() {
<h1 className="text-3xl font-bold">Performance Settings</h1> <h1 className="text-3xl font-bold">Performance Settings</h1>
</div> </div>
<p className="mb-4"> <p className="mb-4">
The Performance Settings category in the customizable_post_install.sh script is dedicated to optimizing the The <strong>Performance Settings</strong> category focuses on optimizing various aspects of your Proxmox VE
overall performance of your Proxmox VE system. system to enhance overall performance. These settings are designed to improve system efficiency and speed up
certain operations.
</p> </p>
<h2 className="text-2xl font-semibold mt-6 mb-4">Available Optimizations</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Available Optimizations</h2>
<ul className="list-disc pl-5 mb-6">
<li className="mb-2"> <h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<strong>CPU Tuning:</strong> Optimize CPU governor and other CPU-related settings. <StepNumber number={1} />
</li> Configure pigz for Faster gzip Compression
<li className="mb-2"> </h3>
<strong>Memory Management:</strong> Fine-tune memory allocation and swapping behavior.
</li>
<li className="mb-2">
<strong>I/O Optimization:</strong> Adjust I/O scheduler and other disk-related performance settings.
</li>
{/* Add more list items for each optimization in this category */}
</ul>
<h2 className="text-2xl font-semibold mt-6 mb-4">Usage</h2>
<p className="mb-4"> <p className="mb-4">
During the execution of customizable_post_install.sh, you'll have the option to apply various Performance This optimization configures pigz as a faster replacement for gzip compression. pigz is a parallel
Settings. Choose the optimizations that best match your hardware configuration and workload requirements. implementation of gzip for modern multi-processor, multi-core machines.
</p> </p>
<p className="mb-4">The following steps are performed:</p>
<ul className="list-disc pl-5 mb-4">
<li>Enables pigz in the vzdump configuration for faster backups</li>
<li>Installs the pigz package if not already installed</li>
<li>Creates a pigz wrapper script to replace the standard gzip command</li>
<li>Replaces the system gzip command with the pigz wrapper</li>
</ul>
<p className="mb-4">
<strong>Note:</strong> This optimization can significantly speed up compression tasks, especially on systems
with multiple CPU cores.
</p>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
<CopyableCode
code={`
# Enable pigz in vzdump configuration
sed -i "s/#pigz:.*/pigz: 1/" /etc/vzdump.conf
# Install pigz
apt-get -y install pigz
# Create pigz wrapper script
cat <<EOF > /bin/pigzwrapper
#!/bin/sh
PATH=/bin:\$PATH
GZIP="-1"
exec /usr/bin/pigz "\$@"
EOF
chmod +x /bin/pigzwrapper
# Replace gzip with pigz wrapper
mv -f /bin/gzip /bin/gzip.original
cp -f /bin/pigzwrapper /bin/gzip
chmod +x /bin/gzip
`}
/>
<section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Automatic Application</h2>
<p>
This performance optimization is automatically applied when selected in the Performance section. The
automation ensures that pigz is correctly configured and integrated into your system, potentially improving
the speed of compression operations without requiring manual intervention.
</p>
</section>
</div> </div>
) )
} }