Pages

Saturday, May 18, 2024

Recovering Mistakenly Deleted LVM Partitions: A Lifesaver for Linux Admins

We've all been there – a moment of inattention or a typo, and suddenly a crucial LVM partition is gone. Thankfully, Linux offers a built-in safety net for these scenarios. The vgcfgrestore command can be your lifeline for recovering accidentally deleted LVM partitions, saving you from potential data loss and downtime.

Understanding the Safety Net: LVM Configuration Backups

Linux diligently maintains backup copies of your LVM configurations in the /etc/lvm/archive directory. This archive acts as a time machine, allowing you to rewind and restore your LVM setup to a previous state.

Recovering a Deleted LVM Partition: Step-by-Step

Let's walk through a real-world scenario. Suppose you've accidentally deleted a 10GB LVM partition belonging to a volume group named "my-vg." Here's how to recover it:

Step 1: Locate the Backup Configuration

First, you need to find the relevant backup file in the /etc/lvm/archive directory. The vgcfgrestore command makes this easy:

sudo vgcfgrestore --list my-vg

This will list all available backup configurations for your "my-vg" volume group. The output might look something like this:

my-vg_00001-123456789.vg
my-vg_00002-692643462.vg  
... 

Identify the backup file you want to use (e.g., my-vg_00002-692643462.vg).

Step 2: Restore the LVM Partition

Now, you can restore the LVM configuration using the backup file and the vgcfgrestore command:

sudo vgcfgrestore -f /etc/lvm/archive/my-vg_00002-692643462.vg my-vg

If successful, you'll see the message:

Restored volume group my-vg

Important Note: Before restoring, double-check that you've selected the correct backup file! Restoring the wrong configuration could lead to unintended consequences.

After the Restoration

Once the volume group is restored, you'll need to reactivate it:

sudo vgchange -ay my-vg

You should now be able to see and use your recovered LVM partition again.

Prevention is Key

While vgcfgrestore is a lifesaver, it's always better to prevent data loss in the first place. Consider these best practices:

  • Regular Backups: Always maintain up-to-date backups of your entire system, including LVM metadata.
  • Double-Check Commands: Be extremely careful when executing commands that modify LVM partitions.
  • Use Snapshots: If you're unsure about a change, create an LVM snapshot first to have a rollback point.

Conclusion

The vgcfgrestore command is a powerful tool that can rescue you from the panic of accidentally deleting an LVM partition. By understanding how to use it and following preventive measures, you can confidently manage your LVM environment and ensure the safety of your data.

Using mdadm to Manage RAID and Multipath Storage on Linux: A Practical Guide with Examples

The mdadm command is a powerful tool for managing multiple device sets on Linux systems. It plays a crucial role in creating and maintaining RAID arrays, which provide redundancy and performance benefits, and multipath setups, which ensure data availability in case of hardware failure. Let's delve into how you can use mdadm to harness these powerful storage features, complete with practical examples.

Creating RAID Devices with mdadm

1. Define Your Configuration:

The /etc/mdadm.conf file is where you specify the devices and RAID level for your array.

Example: RAID 1 (Mirroring)

DEVICE /dev/sd[b,c]1  
ARRAY /dev/md0 level=raid1 raid-devices=2 /dev/sdb1 /dev/sdc1

This configuration creates a RAID 1 array (/dev/md0) that mirrors data across two devices (/dev/sdb1 and /dev/sdc1).

Example: RAID 5 (Striping with Parity)

DEVICE /dev/sd[b-d]1
ARRAY /dev/md0 level=raid5 raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

This configuration creates a RAID 5 array (/dev/md0) that stripes data across three devices with parity information for fault tolerance.

2. Create the RAID Array:

Use mdadm with the -C (create) option and the details from your configuration:

# RAID 1 example sudo mdadm -C /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1 # RAID 5 example sudo mdadm -C /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

3. Verify RAID Status:

Check the status of your newly created RAID array:

sudo mdadm --detail /dev/md0

You should see information about the RAID level, state (active, syncing, etc.), device status, and more.

Creating Multipath Devices with mdadm

Multipathing provides an additional layer of reliability by creating multiple paths to access a storage device.

sudo mdadm -C /dev/md1 --level=multipath --raid-devices=2 /dev/mapper/mpatha /dev/mapper/mpathb

This command creates a multipath device (/dev/md1) using two paths (/dev/mapper/mpatha and /dev/mapper/mpathb) that likely correspond to different physical disks.

Key Considerations

  • Choose the Right RAID Level:
    • RAID 0: Best for performance but no redundancy.
    • RAID 1: Offers redundancy with mirroring.
    • RAID 5: Good balance of performance and redundancy.
    • RAID 6: More redundancy than RAID 5 but slightly slower.
    • RAID 10: Combines mirroring and striping for both performance and redundancy.
  • Data Backup: RAID is not a backup solution; always maintain regular backups.
  • Hardware Compatibility: Ensure your hardware (controllers, disks) supports your chosen RAID level.

Conclusion

mdadm empowers you to create robust and fault-tolerant storage solutions on Linux. By mastering its capabilities, you can optimize your server's performance and protect your valuable data.

Let me know if you'd like more in-depth examples or have any specific scenarios you'd like to explore!

Google Apps Wizard cPanel plugin

This tool was developed for web hosting companies, webmasters and website developers that have to setup domains with Google Apps in the everyday work. The purpose of Google Apps Wizard cPanel plugin is to facilitate the steps needed to work with Google Apps services. cPanel end user doesn’t need to have any prior knowledge of DNS records management while working with this tool.

http://code.google.com/p/google-apps-wizard-cpanel-plugin/

Installation

Run the following shell commands as root via SSH:

# wget http://google-apps-wizard-cpanel-plugin.googlecode.com/files/gaw-2.0.tar
# tar -xf gaw-2.0.tar
# cd gaw-2.0
# ./gawinstall.sh
# cd ..
# rm -Rfv gaw-2.0/ gaw-2.0.tar

Go to WHM >> Main >> Plugins >> Google Apps Wizard and click Update Now.
Upgrade

If you running version 2+ please skip this part.

# wget http://google-apps-wizard-cpanel-plugin.googlecode.com/files/gaw-2.0.tar
# tar -xf gaw-2.0.tar
# cd gaw-2.0
# ./gawupdate.sh
# cd ..
# rm -Rfv gaw-2.0/ gaw-2.0.tar

Uninstall

# wget http://google-apps-wizard-cpanel-plugin.googlecode.com/files/gaw-2.0.tar
# tar -xf gaw-2.0.tar
# cd gaw-2.0
# ./gawuninstall.sh
# cd ..
# rm -Rfv gaw-2.0/ gaw-2.0.tar

Multi-languages support

The language files folder is located at: /usr/local/cpanel/base/3rdparty/GoogleAppsWizard/lang/
The en.php is the default fallback language file so do not delete it!
To create new language files you must use an existing cPanel prefix.
You can see your available languages by navigating to: Main >> Locales >> View Available Locales.

Templates support

The Google Apps Wizard plugin support third party cPanel templates.
All you need to do is to copy the default template to your third party template folder.
Template path: /usr/local/cpanel/base/frontend/x3/gaw
Example command: # cp /usr/local/cpanel/base/frontend/x3/gaw /usr/local/cpanel/base/frontend/{Your custom template folder name}/

Mastering Installatron: A Guide to Installing and Uninstalling on Linux Servers

Installatron is a powerful web application installer that simplifies the deployment of popular scripts and CMS platforms like WordPress, Joomla, Drupal, and many more. It's a valuable tool for web hosting providers and system administrators who want to automate the process of setting up websites and applications for their clients.

In this guide, we'll walk you through the steps for installing and uninstalling Installatron on your Linux or FreeBSD server.

Installing Installatron

  1. Download the Installer Script: Open your terminal and run the following command to download the Installatron installation script:
wget http://data.installatron.com/installatron-plugin.sh
  1. Make the Script Executable: Give the script execute permissions:
chmod +x installatron-plugin.sh
  1. Run the Installer: Execute the script to begin the installation process:
./installatron-plugin.sh -f

The -f flag indicates a forced installation, which might be necessary in some cases.

The script will automatically install Installatron and its dependencies.

Uninstalling Installatron

If you need to remove Installatron from your server, follow these steps:

  1. Remove the Core Components: Execute the following commands to remove the core Installatron files:
rpm -e installatron-server rm -fr /usr/local/installatron rm -f /etc/cron.d/installatron
  1. Delete User Install Data (Optional): If you want to completely remove all traces of Installatron and the applications it installed, you can delete the user install data. Exercise caution here, as this will delete all data associated with installed applications.
rm -fr /var/installatron

Important Considerations:

  • Backups: Before installing or uninstalling any software, including Installatron, it's always a good practice to back up your server's data. This ensures you can easily restore your system in case anything goes wrong.
  • Dependencies: Installatron may rely on certain dependencies (like PHP or MySQL). Make sure these dependencies are installed and configured correctly before installing Installatron.
  • User Data: If you decide to remove user install data, be absolutely sure you don't need any of the installed applications or their data.

By following these instructions, you can confidently install and uninstall Installatron on your Linux server, giving you a versatile tool for managing web applications efficiently.

Lynis: Elevate Your Server Security with a Powerful Auditing Tool

In the ever-evolving landscape of cybersecurity, proactive security measures are paramount. One tool that can significantly bolster your server's defenses is Lynis, a comprehensive auditing and hardening tool designed to uncover vulnerabilities and security issues.

What is Lynis?

Lynis is an open-source security auditing tool that meticulously scans your server, assessing its configuration, software components, and potential weaknesses. It provides valuable insights into your system's overall security posture, enabling you to take proactive steps to harden it against potential threats.

Why Choose Lynis?

  • Comprehensive Scanning: Lynis analyzes a wide range of aspects, including operating system settings, network configuration, installed software, user accounts, file permissions, and much more.
  • Customizable Tests: You can tailor Lynis to focus on specific areas of concern, ensuring it aligns with your unique security requirements.
  • Detailed Reports: The tool generates detailed reports highlighting potential vulnerabilities, configuration issues, and recommendations for remediation.
  • Easy to Use: Lynis is designed to be user-friendly, even for those without deep security expertise.

Installing Lynis

  1. Create a Directory: Use the following command to create a directory where you'll store Lynis:

    mkdir /usr/local/lynis
  2. Download Lynis: Navigate to the new directory and download the latest stable version:

    cd /usr/local/lynis
    wget http://www.rootkit.nl/files/lynis-1.3.0.tar.gz 
    
  3. Extract the Files: Unpack the downloaded archive:

    tar -xvf lynis-1.3.0.tar.gz

Running and Using Lynis

  1. Become Root: You'll need root privileges to run Lynis because it accesses system-level information and writes logs.

  2. Run Lynis: Navigate to the Lynis directory and execute the script:

    cd lynis-1.3.0
    ./lynis

Lynis will begin its comprehensive scan, analyzing your server's configuration and security settings. The process may take a while, depending on the size and complexity of your system.

Reviewing the Report

Once the scan completes, Lynis will generate a detailed report. Typically, you'll find it in /var/log/lynis.log. This report is a goldmine of information, including:

  • Warnings: Potential vulnerabilities or misconfigurations that need your attention.
  • Suggestions: Recommendations for hardening your system based on Lynis' findings.
  • Details: In-depth explanations of each issue and why it matters.

Take the time to carefully review the report, prioritize the identified issues, and implement the suggested fixes.

Regular Audits

Remember, security is an ongoing process. Schedule regular Lynis scans to keep your server's security posture up-to-date and address any new vulnerabilities that may arise.

Lynis is an indispensable tool in your arsenal for maintaining a secure and resilient server environment. By proactively identifying and addressing vulnerabilities, you'll be well-equipped to protect your data and defend against potential threats.

Effortlessly Manage Perl Modules with cPanel's Built-in CPAN Installer

Working with Perl scripts on your cPanel server often requires additional modules for specific functionalities. Thankfully, cPanel simplifies this process with its integrated CPAN (Comprehensive Perl Archive Network) installer script. Let's dive into how you can leverage this powerful tool to install, update, and even empower your users to manage Perl modules.

Meet the /scripts/perlinstaller

cPanel comes equipped with a handy script called /scripts/perlinstaller that makes interacting with CPAN a breeze. Whether you prefer the convenience of the WHM interface or the flexibility of the command line, cPanel's got you covered.

WHM Interface: User-Friendly Module Management

For those who prefer a visual approach, the WHM (WebHost Manager) interface provides a straightforward way to install Perl modules. Head over to WHM -> Software -> Install a Perl Module. Here you can:

  • Search: Easily find the module you need using the search feature.
  • Install: Click a button to install the selected module directly from CPAN.

This is a great option when you're not entirely sure of the exact module name or want to explore available modules.

Command-Line Installation: Quick and Efficient

If you're comfortable with the command line, the perlinstaller script offers a fast and efficient way to install modules. The syntax is simple:

/scripts/perlinstaller <module_name>

For example:

/scripts/perlinstaller MD5 /scripts/perlinstaller IO::Compress::Base

Force Reinstall or Update

Need to update or reinstall a module? Use the --force flag:

/scripts/perlinstaller --force MD5

Empowering Your Users (cPanel 11 and above)

cPanel 11 introduced a fantastic feature that allows your users to install Perl modules within their own home directories (/home/$user/perl). This means they don't need to bother you or have SSH access to get the modules they need.

To enable this self-service option:

  1. Go to WHM -> Module Installers -> Perl Module [Manage].
  2. Make sure you have compilers enabled for users in WHM -> Security Center -> Compilers Tweak.

Key Benefits

  • Convenience: cPanel eliminates the need to manually download and install modules from CPAN.
  • Flexibility: You can choose the interface or command line method that suits your preference.
  • User Empowerment: Give your users the ability to manage their own Perl modules.

The cPanel CPAN installer streamlines the process of working with Perl modules on your server, making it easier to build and maintain dynamic web applications. So, the next time you need a specific Perl module, don't hesitate to use this powerful tool at your disposal!

Account DNS Check Plugin for cPanel/WHM: Simplifying Server Migration and Domain Cleanup

Managing a cPanel/WHM server often involves tasks like migrating accounts to new servers or cleaning up old, inactive domains. One of the most tedious aspects of these tasks is ensuring that all domains are pointing to the correct server IP address. This is where the Account DNS Check plugin comes to the rescue!

What is the Account DNS Check Plugin?

The Account DNS Check plugin is a handy tool designed specifically for cPanel/WHM administrators. It streamlines the process of verifying whether hosted domains resolve to the correct IP address of your server. This can be a lifesaver when:

  • Migrating Servers: When moving accounts from one server to another, this plugin quickly identifies domains that still point to the old server, ensuring a smooth transition.
  • Auditing Your Server: It helps you pinpoint domains that are no longer active or that might have mistakenly been pointed elsewhere, allowing you to free up resources.

Key Features

  • Easy Domain Verification: The plugin automatically checks the DNS records for all domains hosted on your cPanel/WHM server.
  • Clear Reporting: It generates a clear list of domains that are either resolving correctly or those that need attention.
  • Multiple Usage Options: You can use the plugin directly within WHM's graphical interface or execute it from the command line, offering flexibility for different workflows.

Installation Instructions

  1. SSH Access: Log into your server as the root user via SSH or the console.
  2. Download and Install:
    Bash
    cd /home
    rm -f latest-accountdnscheck  # Remove old version (if exists)
    wget http://www.ndchost.com/cpanel-whm/plugins/accountdnscheck/download.php
    sh latest-accountdnscheck

How to Use the Plugin

Within WHM:

  1. Log in to your WHM panel.
  2. Go to Plugins and click on Account DNS Check.
  3. The plugin will take a few minutes to process, depending on the number of domains you have. Once complete, you'll see a list of domains with their DNS status.

From the Command Line:

  1. SSH into your server as the root user.
  2. Run the following command:
    Bash
    /var/cpanel/accountdnscheck/scripts/cli_run.sh
    The results will be displayed in your terminal.

Why This Plugin Matters

  • Saves Time: Manual DNS checks can be extremely time-consuming, especially on servers with a large number of domains.
  • Reduces Errors: The plugin automates the process, minimizing the chance of human error.
  • Improves Efficiency: It gives you a quick overview of your domain's DNS health, allowing you to take corrective action promptly.

The Account DNS Check plugin is an indispensable tool for any cPanel/WHM administrator. By simplifying a critical but often tedious task, it helps ensure smooth server migrations and a clean, well-organized server environment.