From b3c3e4d8e2f13e83b134bcd03b7bed8fabaa1604 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sat, 1 Mar 2025 20:03:10 +0100 Subject: [PATCH] Update --- web/app/docs/post-install/network/page.tsx | 204 +++++++----------- web/app/docs/post-install/system/page.tsx | 9 +- .../docs/post-install/virtualization/page.tsx | 137 +++++++++++- 3 files changed, 214 insertions(+), 136 deletions(-) diff --git a/web/app/docs/post-install/network/page.tsx b/web/app/docs/post-install/network/page.tsx index c9ba814..775f5dc 100644 --- a/web/app/docs/post-install/network/page.tsx +++ b/web/app/docs/post-install/network/page.tsx @@ -1,15 +1,15 @@ import type { Metadata } from "next" -import { Network } from "lucide-react" +import { Network } from 'lucide-react' import CopyableCode from "@/components/CopyableCode" export const metadata: Metadata = { title: "ProxMenux Post-Install: Network Settings", description: - "Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + "Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.", openGraph: { title: "ProxMenux Post-Install: Network Settings", description: - "Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + "Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.", type: "article", url: "https://macrimi.github.io/ProxMenux/docs/post-install/network", images: [ @@ -25,15 +25,35 @@ export const metadata: Metadata = { card: "summary_large_image", title: "ProxMenux Post-Install: Network Settings", description: - "Detailed guide to the Network Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + "Comprehensive guide to Network Settings in the ProxMenux post-install script for optimizing Proxmox VE network performance and configuration.", images: ["https://macrimi.github.io/ProxMenux/network-settings-image.png"], }, } export default function NetworkSettingsPage() { - const applyNetworkOptimizationsCode = ` -# Create or update /etc/sysctl.d/99-network.conf -cat < /etc/sysctl.d/99-network.conf + return ( +
+
+ +

Network Settings

+
+

+ The Network Settings category in the customizable_post_install.sh script focuses on optimizing network + performance and configuration for your Proxmox VE installation. These settings are crucial for ensuring efficient + network operations, which is vital in a virtualized environment where multiple VMs and containers share network resources. +

+

Available Optimizations

+ +
+

Apply Network Optimizations

+

+ This optimization applies various network-related sysctl settings to improve network performance, security, and stability. +

+

+ Why it's important: These optimizations can significantly improve network throughput, reduce latency, and enhance security. They adjust various kernel parameters related to networking, which is crucial in a virtualization environment where network performance directly impacts the performance of VMs and containers. +

+

To apply this setting manually, run:

+ > /etc/network/interfaces - ` - - const enableTcpFastOpenCode = ` -# Enable Google TCP BBR congestion control -cat < /etc/sysctl.d/99-kernel-bbr.conf -# TCP BBR congestion control -net.core.default_qdisc = fq -net.ipv4.tcp_congestion_control = bbr -EOF - -# Enable TCP Fast Open -cat < /etc/sysctl.d/99-tcp-fastopen.conf -# TCP Fast Open (TFO) -net.ipv4.tcp_fastopen = 3 -EOF - -# Apply sysctl changes -sysctl --system - ` - - const forceAptIpv4Code = ` -# Create APT configuration to force IPv4 -echo "Acquire::ForceIPv4 \"true\";" > /etc/apt/apt.conf.d/99-force-ipv4 - ` - - const installOpenVSwitchCode = ` -# Update package lists -apt-get update - -# Install OpenVSwitch -apt-get install -y openvswitch-switch openvswitch-common - -# Verify installation -ovs-vsctl --version - ` - - return ( -
-
- -

Network Settings

-
-

- The Network Settings category in the customizable_post_install.sh script focuses on optimizing network - performance and configuration for your Proxmox VE installation. -

- -

Available Optimizations

- -
-

1. Apply Network Optimizations

-

- This optimization applies various network-related sysctl settings to improve network performance and security. -

-

- Why it's beneficial: These optimizations can significantly improve network throughput, reduce - latency, and enhance security by adjusting various kernel parameters related to networking. Some key benefits - include: -

-
    -
  • Increased maximum number of backlog connections
  • -
  • Optimized TCP window sizes for better throughput
  • -
  • Enhanced security by disabling potentially dangerous features like ICMP redirects
  • -
  • Improved TCP connection handling and timeout settings
  • -
  • Optimized network memory allocation
  • -
-

To apply this optimization manually, you would run:

- +sudo sysctl -p /etc/sysctl.d/99-network-performance.conf`} />
-

2. Enable TCP BBR and Fast Open

+

Enable TCP BBR and Fast Open

This optimization enables Google's TCP BBR congestion control algorithm and TCP Fast Open.

- Why it's beneficial: + Why it's important: TCP BBR can significantly improve network throughput and reduce latency, especially on long-distance or congested networks. TCP Fast Open reduces connection establishment time, improving the speed of short-lived connections. These optimizations are particularly beneficial in virtualized environments where network performance is crucial for overall system responsiveness.

-
    -
  • - TCP BBR (Bottleneck Bandwidth and Round-trip propagation time) can significantly improve network throughput - and reduce latency, especially on long-distance or congested networks. -
  • -
  • - TCP Fast Open reduces connection establishment time, improving the speed of short-lived connections by - allowing data transfer during the initial TCP handshake. -
  • -
-

To apply this optimization manually, you would run:

- -
+

To apply this setting manually, run:

+ +
+
-

3. Force APT to Use IPv4

-

This optimization configures APT (Advanced Package Tool) to use IPv4 exclusively.

+

Force APT to Use IPv4

- Why it's beneficial: Forcing APT to use IPv4 can resolve issues in environments where IPv6 is - not properly configured or is causing slowdowns. This ensures more reliable package management operations by: + This optimization configures APT (Advanced Package Tool) to use IPv4 exclusively.

-
    -
  • Avoiding potential IPv6-related connection issues
  • -
  • Ensuring consistent behavior across different network configurations
  • -
  • Potentially speeding up package downloads in networks with suboptimal IPv6 support
  • -
-

To apply this optimization manually, you would run:

- +

+ Why it's important: Forcing APT to use IPv4 can resolve issues in environments where IPv6 is not properly configured or is causing slowdowns. This ensures more reliable package management operations, which is crucial for maintaining and updating your Proxmox VE system. It's particularly useful in networks where IPv6 connectivity might be unreliable or not fully supported. +

+

To apply this setting manually, run:

+
- +
-

4. Install Open vSwitch

+

Install Open vSwitch

This optimization installs Open vSwitch, a production quality, multilayer virtual switch.

- Why it's beneficial: Open vSwitch provides advanced networking capabilities for virtualized - environments. It allows for more flexible and powerful network configurations, including: + Why it's important: Open vSwitch provides advanced networking capabilities for virtualized environments. It allows for more flexible and powerful network configurations, including support for VLAN tagging and trunking, advanced traffic shaping, and Quality of Service (QoS) capabilities. This is particularly beneficial for complex virtualization setups where fine-grained control over network traffic is required.

-
    -
  • Support for VLAN tagging and trunking
  • -
  • Advanced traffic shaping and Quality of Service (QoS) capabilities
  • -
  • Integration with software-defined networking (SDN) controllers
  • -
  • Improved network performance and scalability for large virtualized environments
  • -
  • Support for network function virtualization (NFV)
  • -
-

To apply this optimization manually, you would run:

- -
+

To apply this setting manually, run:

+ + + +
+

Optimize Network Interface Settings

+

+ This optimization adjusts settings for network interfaces to improve performance and reliability. +

+

+ Why it's important: Proper configuration of network interfaces can significantly improve network performance, reduce latency, and increase stability. This is particularly important in virtualized environments where multiple VMs and containers share network resources. Optimizations like increasing the TX queue length can help prevent packet drops under high load. +

+

To apply this setting manually, run:

+ +
+

Automatic Application

- All of these optimizations are automatically applied when selected in the Network section of the + All of these optimizations are automatically applied when selected in the Basic Settings section of the customizable_post_install.sh script. This automation ensures that these beneficial settings are applied consistently and correctly, saving time and reducing the potential for human error during manual configuration.

- ) -} - + ); +} \ No newline at end of file diff --git a/web/app/docs/post-install/system/page.tsx b/web/app/docs/post-install/system/page.tsx index 27c7e68..fec2831 100644 --- a/web/app/docs/post-install/system/page.tsx +++ b/web/app/docs/post-install/system/page.tsx @@ -116,11 +116,10 @@ sudo sysctl -p /etc/sysctl.d/99-memory.conf`} />

Automatic Application

- All of these optimizations are automatically applied when selected in the System section of the - customizable_post_install.sh script. This automation ensures that these beneficial settings are applied - consistently and correctly across your Proxmox VE hosts, saving time and reducing the potential for human error - during manual configuration. By leveraging these optimizations, you can create a more robust, efficient, and - high-performing virtualization environment right from the start. + All of these optimizations are automatically applied when selected in the Basic Settings section of the + customizable_post_install.sh script. This automation ensures that these beneficial settings are applied + consistently and correctly, saving time and reducing the potential for human error during manual + configuration.

diff --git a/web/app/docs/post-install/virtualization/page.tsx b/web/app/docs/post-install/virtualization/page.tsx index d49a52c..eeb143a 100644 --- a/web/app/docs/post-install/virtualization/page.tsx +++ b/web/app/docs/post-install/virtualization/page.tsx @@ -1,11 +1,33 @@ import type { Metadata } from "next" -import { Box } from "lucide-react" +import { Box } from 'lucide-react' +import CopyableCode from "@/components/CopyableCode" export const metadata: Metadata = { title: "ProxMenux Post-Install: Virtualization Settings", description: - "In-depth guide to Virtualization Settings in the ProxMenux post-install script for optimizing Proxmox VE virtualization capabilities.", - // ... (rest of the metadata remains the same) + "Detailed guide to the Virtualization Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + openGraph: { + title: "ProxMenux Post-Install: Virtualization Settings", + description: + "Detailed guide to the Virtualization Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + type: "article", + url: "https://macrimi.github.io/ProxMenux/docs/post-install/virtualization", + images: [ + { + url: "https://macrimi.github.io/ProxMenux/virtualization-settings-image.png", + width: 1200, + height: 630, + alt: "ProxMenux Post-Install Virtualization Settings", + }, + ], + }, + twitter: { + card: "summary_large_image", + title: "ProxMenux Post-Install: Virtualization Settings", + description: + "Detailed guide to the Virtualization Settings category in the ProxMenux post-install script for Proxmox VE optimization.", + images: ["https://macrimi.github.io/ProxMenux/virtualization-settings-image.png"], + }, } export default function VirtualizationSettingsPage() { @@ -15,8 +37,109 @@ export default function VirtualizationSettingsPage() {

Virtualization Settings

- {/* ... (rest of the component remains the same) */} - - ) -} +

+ The Virtualization Settings category in the customizable_post_install.sh script focuses on optimizing your + Proxmox VE installation for enhanced virtualization performance, compatibility, and functionality. These settings + are crucial for creating a robust and efficient virtualization environment. +

+

Available Optimizations

+ +
+

Enable VFIO IOMMU Support

+

+ This optimization enables IOMMU (Input-Output Memory Management Unit) and configures VFIO (Virtual Function I/O) for PCI passthrough, allowing direct assignment of PCI devices to virtual machines. +

+

+ Why it's important: IOMMU and VFIO support enables near-native performance for PCI devices (like GPUs or network cards) in virtual machines. This is crucial for high-performance virtualization scenarios, such as GPU-accelerated workloads or network-intensive applications. It allows VMs to directly access hardware, bypassing the hypervisor, which significantly improves performance and reduces latency. +

+

To apply this setting manually, run:

+ +
+ +
+

Install Relevant Guest Agent

+

+ This optimization detects the virtualization environment and installs the appropriate guest agent for improved integration between the host and guest systems. +

+

+ Why it's important: Guest agents improve communication and integration between the host and guest systems. They enable features like graceful shutdown of virtual machines, file sharing between host and guest, better performance monitoring, and enhanced resource allocation. This leads to more efficient management of VMs and improved overall system performance. +

+

To apply this setting manually, run:

+ +
+ +
+

Configure KSM (Kernel Samepage Merging)

+

+ This optimization installs and configures the KSM control daemon, which helps optimize memory usage in virtualized environments by sharing identical memory pages between multiple virtual machines. +

+

+ Why it's important: KSM can significantly reduce memory usage in environments with many similar VMs, allowing for higher VM density on a single host. This is particularly beneficial for scenarios where many VMs run similar operating systems or applications. By reducing overall memory usage, KSM can improve system performance and allow for more efficient resource utilization. +

+

To apply this setting manually, run:

+ +
+ +
+

Optimize CPU Governor

+

+ This setting configures the CPU governor to optimize performance for virtualization workloads. +

+

+ Why it's important: The CPU governor controls how the processor scales its frequency based on system load. For virtualization environments, setting the governor to 'performance' ensures that the CPU always runs at its maximum frequency, providing consistent performance for VMs. This is crucial for workloads that require predictable and high CPU performance. +

+

To apply this setting manually, run:

+ +
+ +
+

Enable Huge Pages Support

+

+ This optimization enables and configures huge pages support, which can improve memory management efficiency for large-memory VMs. +

+

+ Why it's important: Huge pages reduce the overhead of Translation Lookaside Buffer (TLB) lookups, which can significantly improve performance for memory-intensive applications running in VMs. This is particularly beneficial for databases, in-memory caches, and other applications that manage large amounts of memory. +

+

To apply this setting manually, run:

+ +
+ +
+

Automatic Application

+

+ All of these optimizations are automatically applied when selected in the Basic Settings section of the + customizable_post_install.sh script. This automation ensures that these beneficial settings are applied + consistently and correctly, saving time and reducing the potential for human error during manual + configuration. +

+
+ + ); +} \ No newline at end of file