Step-by-Step Proxmox and Ceph High Availability Setup Guide | Free High Availability Storage

Prerequisites
Three or more nodes: Ensure you have at least three nodes to create a Ceph cluster.
Proxmox VE installed on all nodes: Ensure all nodes have Proxmox VE installed and network connectivity between them.
Network Configuration: Proper network setup for cluster communication and Ceph replication.

Step 1: Prepare Proxmox Nodes

  1. Update and Upgrade Proxmox VE on all nodes:

apt update && apt full-upgrade -y

2. Ensure that all nodes have the same version of Proxmox VE:

pveversion

Step 2: Set Up the Proxmox Cluster

  1. Create a new cluster on the first node:
    • pvecm create my-cluster
  2. Add the other nodes to the cluster:
    • pvecm add <IP_of_first_node>
  3. Verify the cluster status:
    • pvecm status

Step 3: Install Ceph on Proxmox Nodes

  1. Install Ceph packages on all nodes:

install ceph ceph-mgr -y

Step 4: Create the Ceph Cluster

  1. Initialize the Ceph cluster on the first node:
    • pveceph init --network <cluster_network>
  2. Create the manager daemon on the first node:
    • pveceph createmgr

Step 5: Add OSDs (Object Storage Daemons)

  1. Prepare disks on each node for Ceph OSDs:
    • pveceph createosd /dev/sdX
  2. Repeat the process for each node and disk.

Step 6: Create Ceph Pools

  1. Create a Ceph pool for VM storage:
    • pveceph pool create mypool 128

Step 7: Configure Proxmox to Use Ceph Storage

  1. Add the Ceph storage to Proxmox:
    • Navigate to Datacenter > Storage > Add > RBD.
    • Enter the required details like ID, Pool, and Monitor hosts.
    • Save the configuration.

Step 8: Enable HA (High Availability)

  1. Configure HA on Proxmox:
    • Navigate to Datacenter > HA.
    • Add resources (VMs or containers) to the HA manager.
    • Configure the HA policy and set desired node priorities.

Step 9: Testing High Availability

  1. Simulate node failure: Power off one of the nodes and observe how the VMs or containers are automatically migrated to other nodes.

Step 10: Monitoring and Maintenance

  1. Use the Proxmox and Ceph dashboards to monitor the health of your cluster.
  2. Regularly update all nodes to ensure stability and security.

Optional: Additional Ceph Configuration

  1. Add Ceph Monitors for redundancy:bashKodu kopyalapveceph createmon
  2. Add more Ceph MDS (Metadata Servers) if using CephFS:bashKodu kopyalapveceph createmds
  3. Tune Ceph settings for performance and reliability based on your specific needs.

By following these steps, you will have a robust Proxmox VE and Ceph high availability setup, ensuring that your VMs and containers remain highly available even in the event of hardware failures.

Free FortiGate Install and Configuration | Create Fortigate LAB for Training

1. Downloading Free FortiGate VM

Fortinet offers a free version of FortiGate VM for various hypervisors including VMware, Hyper-V, KVM, and more. Follow these steps to download it:

  1. Visit the Fortinet Support Portal:
    • Go to Fortinet Support.
    • Log in or create a new account if you don’t have one.
  2. Download the FortiGate VM:
    • Navigate to the “Download” section.
    • Select “VM Images” and choose the appropriate hypervisor (e.g., VMware ESXi, Microsoft Hyper-V, etc.).
    • Download the FortiGate VM package.

2. Deploying FortiGate VM on Your Hypervisor

The deployment process may vary slightly depending on your hypervisor. Below are steps for VMware ESXi:

  1. Deploy OVF Template:
    • Open your VMware vSphere Client.
    • Right-click on your desired host or cluster and select “Deploy OVF Template.”
    • Follow the wizard, selecting the downloaded FortiGate VM OVF file.
    • Configure the VM settings (name, datastore, network mapping, etc.).
    • Finish the deployment process.
  2. Power On the VM:
    • Once the deployment is complete, power on the FortiGate VM.

3. Initial Configuration

  1. Access the FortiGate Console:
    • Use the vSphere Client to open the console of the FortiGate VM.
    • The initial login credentials are usually admin for the username and a blank password.
  2. Set the Password:
    • You will be prompted to set a new password for the admin user.
  3. Configure the Management Interface:
    • Assign an IP address to the management interface.
    • Example commands:

config system interface
edit port1
set ip 192.168.1.99/24
set allowaccess http https ping ssh
next
end

  1. Access the Web Interface:
    • Open a web browser and navigate to https://<management-ip>.
    • Log in with the admin credentials.

4. Basic Setup via Web Interface

  1. System Settings:
    • Navigate to System > Settings.
    • Set the hostname, time zone, and DNS servers.
  2. Network Configuration:
    • Configure additional interfaces if needed under Network > Interfaces.
    • Create VLANs, set up DHCP, etc.
  3. Security Policies:
    • Define security policies to control traffic flow under Policy & Objects > IPv4 Policy.
    • Set source and destination interfaces, addresses, and services.
  4. Enable Features:
    • Enable and configure additional features like IPS, Antivirus, Web Filtering, etc., under Security Profiles.

5. Connecting to the Internet

  1. WAN Interface Configuration:
    • Configure the WAN interface with the appropriate settings (static IP, DHCP, PPPoE, etc.).
  2. Routing:
    • Set up a default route under Network > Static Routes pointing to the WAN gateway.
  3. NAT Configuration:
    • Configure NAT settings under Policy & Objects > NAT.

6. Licensing

  • The free version of FortiGate VM comes with limited features. For full functionality, you may need to purchase a license and activate it under System > FortiGuard.

Proxmox Cluster | Free Virtualization with HA Feature | Step by Step

    1. Cluster Configuration:
      • Nodes: A Proxmox cluster consists of multiple nodes, which are physical servers running Proxmox VE.
      • Networking: Nodes in a Proxmox cluster should be connected to a common network. A private network for internal communication and a public network for client access are typically configured.
      • Shared Storage: Shared storage is crucial for a Proxmox cluster to enable features like live migration and high availability. This can be achieved through technologies like NFS, iSCSI, or Ceph.
    2. High Availability (HA):
      • Proxmox VE includes a feature called HA, which ensures that critical VMs are automatically restarted on another node in the event of a node failure.
      • HA relies on fencing mechanisms to isolate a failed node from the cluster and prevent split-brain scenarios. This can be achieved through power fencing (e.g., IPMI, iLO, iDRAC) or network fencing (e.g., switch port blocking).
      • When a node fails, the HA manager on the remaining nodes detects the failure and initiates the restart of the affected VMs on healthy nodes.
    3. Corosync and Pacemaker:
      • Proxmox VE uses Corosync as the messaging layer and Pacemaker as the cluster resource manager. These components ensure that cluster nodes can communicate effectively and coordinate resource management.
      • Corosync provides a reliable communication channel between nodes, while Pacemaker manages the resources (VMs, containers, services) in the cluster and ensures they are highly available.
    4. Resource Management:
      • Proxmox clusters allow for dynamic resource allocation, allowing VMs and containers to use resources based on demand.
      • Memory and CPU resources can be allocated and adjusted for each VM or container, and live migration allows these resources to be moved between nodes without downtime.
    5. Backup and Restore:
      • Proxmox includes backup and restore functionality, allowing administrators to create scheduled backups of VMs and containers.
      • Backups can be stored locally or on remote storage, providing flexibility in backup storage options.
    6. Monitoring and Logging:
      • Proxmox provides monitoring and logging capabilities to help administrators track the performance and health of the cluster.
      • The web interface includes dashboards and graphs for monitoring resource usage, as well as logs for tracking cluster events.
    7. Updates and Maintenance:
      • Proxmox clusters can be updated and maintained using the web interface or command-line tools. Updates can be applied to individual nodes or the entire cluster.

    Replace expensive VMware to Proxmox, Free Virtualization Platform | How to Install Proxmox

    1. Download Proxmox VE ISO:
    2. Create a Bootable USB Drive:
    3. Boot from USB Drive:
      • Insert the bootable USB drive into the server where you want to install Proxmox VE.
      • Power on or restart the server and boot from the USB drive. You may need to change the boot order in the BIOS settings to boot from USB.
    4. Proxmox VE Installer:
      • Once the server boots from the USB drive, you’ll see the Proxmox VE installer menu.
      • Select “Install Proxmox VE” and press Enter.
    5. Select Installation Target:
      • Select the target disk where you want to install Proxmox VE. This will typically be the server’s local disk.
      • You can choose to use the entire disk for Proxmox VE or manually partition the disk.
    6. Set Root Password:
      • Set a password for the root user of the Proxmox VE system.
    7. Configure Network:
      • Configure the network settings for Proxmox VE. This includes setting the IP address, netmask, gateway, and DNS servers.
    8. Begin Installation:
      • Review the installation summary and confirm to begin the installation process.
    9. Installation Progress:
      • The installer will copy the necessary files and install Proxmox VE on the selected disk. This may take some time depending on your hardware.
    10. Installation Complete:
      • Once the installation is complete, remove the USB drive and reboot the server.
    11. Access Proxmox VE Web Interface:
      • Open a web browser on a computer connected to the same network as the Proxmox VE server.
      • Enter the IP address of the Proxmox VE server in the address bar.
      • Log in to the Proxmox VE web interface using the root user and the password you set during installation.
    12. Configure Proxmox VE:
      • From the web interface, you can configure additional settings such as storage, networks, and backups.
    13. Create VMs and Containers:
      • Use the web interface to create virtual machines (VMs) and containers to run your applications and services.

    Setup Free Firewall at Home or Office, Install and Configure pfSense

    1. Download pfSense:
      • Go to the pfSense website (https://www.pfsense.org/download/) and download the appropriate installation image for your hardware. Choose between the Community Edition (CE) or pfSense Plus.
    2. Create Installation Media:
      • Burn the downloaded image to a CD/DVD or create a bootable USB drive using software like Rufus (for Windows) or dd (for Linux).
    3. Boot from Installation Media:
      • Insert the installation media into the computer where you want to install pfSense and boot from it. You may need to change the boot order in the BIOS settings.
    4. Install pfSense:
      • Follow the on-screen instructions to install pfSense. You’ll be asked to select the installation mode (e.g., Quick/Easy Install, Custom Install), configure network interfaces, set up disk partitions, and create an admin password.
    5. Reboot:
      • Once the installation is complete, remove the installation media and reboot the computer.

    Configuration:

    1. Initial Setup:
      • After rebooting, pfSense will start up and present you with a console menu.
      • Use the keyboard to select ‘1’ to boot pfSense in multi-user mode.
    2. Access the Web Interface:
      • Open a web browser on a computer connected to the same network as pfSense.
      • Enter the IP address of the pfSense firewall in the address bar (default is 192.168.1.1).
      • Log in with the username ‘admin’ and the password you set during installation.
    3. Initial Configuration Wizard:
      • The first time you access the web interface, you’ll be guided through the initial configuration wizard.
      • Set the WAN and LAN interfaces, configure the LAN IP address, set the time zone, and configure the admin password.
    4. Configure Interfaces:
      • Navigate to ‘Interfaces’ in the web interface to configure additional interfaces if needed (e.g., DMZ, OPT interfaces). Assign interfaces and configure IP addresses.
    5. Firewall Rules:
      • Set up firewall rules under ‘Firewall’ > ‘Rules’ to allow or block traffic between interfaces. Configure rules for the WAN, LAN, and any additional interfaces.
    6. NAT (Network Address Translation):
      • Configure NAT rules under ‘Firewall’ > ‘NAT’ to translate private IP addresses to public IP addresses. Set up Port Forwarding, 1:1 NAT, or Outbound NAT rules as needed.
    7. DHCP Server:
      • If you want pfSense to act as a DHCP server, configure DHCP settings under ‘Services’ > ‘DHCP Server’. Set up the range of IP addresses to lease, DNS servers, and other DHCP options.
    8. VPN:
      • Set up VPN connections (e.g., OpenVPN, IPsec) under ‘VPN’ > ‘IPsec’ or ‘OpenVPN’. Configure VPN settings, certificates, and user authentication.
    9. Packages:
      • Install additional packages for extra functionality under ‘System’ > ‘Package Manager’. Popular packages include Snort (for Intrusion Detection/Prevention), Squid (for web caching), and HAProxy (for load balancing).
    10. Save Configuration:
      • Click on ‘Apply Changes’ to save your configuration.
    11. Final Steps:
      • Test your configuration to ensure everything is working as expected.
      • Consider setting up backups of your pfSense configuration under ‘Diagnostics’ > ‘Backup & Restore’.

    How to Run Any Specific Command or Script on Linux Startup

    1. Using cron:

    The cron method is convenient for running commands or scripts at startup. The @reboot directive in the crontab allows you to specify tasks to be run when the system starts.

    Open the crontab file

    crontab -e

    Add the following line:

    @reboot /path/to/your/script.sh

    Save and exit the editor. This ensures that your script will run each time the system reboots.

    2. Using rc.local:

    The /etc/rc.local file is traditionally used to run commands at the end of the system boot process.

    Open the rc.local file

    sudo nano /etc/rc.local

    Add your command or script just before the exit 0 line:

    /path/to/your/script.sh

    Save and exit. Make sure the file is executable:

    sudo chmod +x /etc/rc.local

    This method may not be available on all distributions, as some are moving away from using rc.local in favor of systemd.

    3. Using systemd:

    Systemd is a modern init system used by many Linux distributions. You can create a systemd service to execute your script at startup.

    Create a new service file, for example, /etc/systemd/system/myscript.service:

    [Unit]
    Description=My Startup Script

    [Service]
    ExecStart=/path/to/your/script.sh

    [Install]
    WantedBy=default.target

    Reload systemd and enable/start the service:

    sudo systemctl daemon-reload
    sudo systemctl enable myscript.service
    sudo systemctl start myscript.service

    This method provides more control and flexibility and is widely used in modern Linux distributions.

    4. Using ~/.bashrc or ~/.bash_profile (for user-specific commands):

    If you want a command or script to run when a specific user logs in, you can add it to the ~/.bashrc or ~/.bash_profile file.

    Open the .bashrc file

    nano ~/.bashrc

    Add your command or script at the end of the file:

    /path/to/your/script.sh

    Save and exit the editor. This method is user-specific and will run the script when the user logs in.

    Remember to replace /path/to/your/script.sh with the actual path to your script or command in each case. The appropriate method may vary depending on your distribution and system configuration.

    HPE DL380 Gen10 Unboxing | Prepare Server to Install in DATACENTER

    Unboxing the HPE DL380 Gen10:

    1. Inspect the Package:
      • Carefully inspect the external packaging for any signs of damage.
      • Ensure that the package includes all the components listed in the packing list.
    2. Open the Box:
      • Use a box cutter or scissors to carefully open the packaging.
    3. Remove Accessories:
      • Take out all the accessories such as power cables, documentation, and any additional components that come with the server.
    4. Inspect the Server:
      • Carefully take the server out of the packaging and inspect it for any physical damage.
      • Ensure that all components, including hard drives, are properly seated.
    5. Documentation:
      • Review the provided documentation, including the quick start guide and any safety information.

    1. iLO Configuration:

    a. Physical Connection:

    1. Connect to the iLO port on the rear of the server using a network cable.
    2. Ensure the iLO port has an IP address on the same network as your management system.

    b. Access iLO Web Interface:

    1. Open a web browser and enter the iLO IP address.
    2. Log in with the default or provided credentials.

    c. iLO Configuration:

    1. Change the default password for security.
    2. Configure network settings as needed.
    3. Enable iLO Advanced features if necessary.

    1. Accessing Smart Array Configuration Utility:

    1. Power on the Server:
      • Ensure all necessary components, including hard drives, are properly installed.
    2. Access RAID Configuration:
      • During the server boot process, press the designated key (e.g., F8) to access the Smart Array Configuration Utility.

    2. Creating a RAID 6 Array:

    1. Select/Create Array:
      • In the Smart Array Configuration Utility, choose an option like “Create Array” or “Manage Arrays.”
    2. Select Drives:
      • Choose the physical drives you want to include in the RAID 6 array. There should be at least four drives for RAID 6.
    3. Configure RAID Level:
      • Select RAID 6 from the available RAID levels.
    4. Set Array Size:
      • Define the size of the RAID array. Keep in mind that RAID 6 requires at least four drives, and usable capacity will be less than the total drive capacity due to the dual parity.
    5. Confirm and Save:
      • Review the configuration and confirm to save the RAID 6 array settings.

    3. Installing an Operating System:

    1. Boot from Installation Media:
      • Insert the installation media for your operating system (e.g., Windows Server, Linux) and boot from it.
    2. Select Installation Drive:
      • During the OS installation process, you will be prompted to select the logical drive created by the RAID 6 configuration.
    3. Complete OS Installation:
      • Follow the on-screen instructions to complete the operating system installation.

    4. Additional RAID 6 Management:

    1. RAID Monitoring:
      • After the OS is installed, monitor the RAID status through the HPE Smart Storage Administrator or other management tools provided by HPE.
    2. Expand or Modify RAID:
      • If needed, you can later expand the RAID 6 array or modify its configuration through the Smart Storage Administrator.

    2. ESXi Installation:

    a. Obtain ESXi Installer:

    1. Download the ESXi ISO image from the VMware website.

    b. Prepare Boot Media:

    1. Create a bootable USB drive with the ESXi installer using tools like Rufus or UNetbootin.

    c. Install ESXi:

    1. Insert the bootable USB drive into the server.
    2. Power on the server and boot from the USB drive.

    d. ESXi Installation Wizard:

    1. Follow the on-screen prompts to install ESXi.
    2. Select the installation disk (usually the local storage on your server).

    e. Configure ESXi:

    1. Set a password for the ESXi host.
    2. Configure management network settings (IP address, subnet mask, gateway, DNS).

    f. Complete Installation:

    1. Allow the ESXi installer to complete the installation process.
    2. Reboot the server.

    3. Post-Installation ESXi Configuration:

    a. Access ESXi Web Interface:

    1. Open a web browser and enter the ESXi host IP address.
    2. Log in with the credentials you set during installation.

    b. Configure Networking:

    1. Verify and configure networking settings as needed.

    c. License ESXi:

    1. Apply a license to your ESXi host if required.

    d. Create Datastores:

    1. Configure storage settings by creating datastores on your server’s storage.

    e. Virtual Machine Management:

    1. Create and manage virtual machines through the ESXi web interface or vSphere Client.

    f. Monitor and Manage:

    1. Monitor the ESXi host health, performance, and other settings through the web interface.

    4. Additional iLO Integration:

    1. Back in the iLO interface, you can integrate iLO with the ESXi host for enhanced management features.
    2. Configure iLO settings to enable remote console access and other management features.

    Setup VoIP Phone System at Home or Office in 4 EASY STEPS | FreePBX and Zoiper Guide

    Setting up a VoIP (Voice over Internet Protocol) phone system at home or in an office with FreePBX involves several steps. FreePBX is an open-source PBX (Private Branch Exchange) software that can be used to manage and control VoIP phone calls. Here is a basic guide to help you set up a VoIP phone system using FreePBX:

    1. Requirements:

    • A computer or server to host FreePBX (can be a physical machine or a virtual server).
    • A reliable internet connection with sufficient bandwidth for VoIP calls.
    • IP phones or softphones for users to make and receive calls.
    • VoIP service provider for external call routing.

    2. Install FreePBX:

    • Download the FreePBX ISO from the official website: https://www.freepbx.org/downloads/
    • Install FreePBX on your chosen hardware or virtual machine following the installation instructions provided on the website.

    3. Access FreePBX Web Interface:

    • Once the installation is complete, access the FreePBX web interface using a web browser. The default login credentials are usually:
      • Username: admin
      • Password: admin

    4. Configure System Admin Module:

    • In the FreePBX web interface, go to the “Admin” menu and select “System Admin.”
    • Set the time zone, hostname, and other necessary system settings.

    5. Configure Extensions:

    • Extensions represent individual phone lines or users in the FreePBX system.
    • Navigate to the “Applications” menu and select “Extensions.” Add extensions for each user or device, specifying the type of device (SIP phone, softphone, etc.).

    6. Set Up Trunks:

    • Trunks are used to connect FreePBX to external VoIP providers for making and receiving calls.
    • In the FreePBX web interface, go to the “Connectivity” menu and select “Trunks.” Configure trunks with the details provided by your VoIP service provider.

    7. Create Inbound and Outbound Routes:

    • Inbound routes determine how incoming calls are handled, and outbound routes determine the path for outgoing calls.
    • Navigate to the “Connectivity” menu and select “Inbound Routes” and “Outbound Routes.” Configure routes based on your requirements.

    8. Set Up IVR (Interactive Voice Response):

    • If needed, create an IVR to provide callers with menu options for call routing.
    • In the FreePBX web interface, go to the “Applications” menu and select “IVR.”

    9. Configure Voicemail:

    • Set up voicemail boxes for users who need voicemail services.
    • In the FreePBX web interface, go to the “Applications” menu and select “Voicemail.”

    10. Test the System:

    • Once everything is configured, test the system by making internal and external calls to ensure that the setup is working as expected.

    11. Security Considerations:

    • Implement security measures such as firewall rules, strong passwords, and regular system updates to protect your VoIP system.

    Remember to consult the documentation provided by FreePBX and your VoIP service provider for specific configuration details and troubleshooting tips. Additionally, configuring a VoIP system may require a good understanding of networking concepts and VoIP protocols, so be prepared to address any technical challenges that may arise.