Jump to content
Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
NickTheGreek

CentOS 7 --> Virtuozzo 7

Recommended Posts

Hi,


I was now able to reproduce and document the steps needed to go from CentOS 7 -> Virtuozzo Linux 7 -> Virtuozzo 7.

You need to install CentOS 7 your prefered way with /vz ext4 partition (I made all partions ext4, as the Virtuozzo 7 Bare Metal installer does).

First the steps to convert CentOS 7 (minimal) to Virtuozzo Linux 7 with vzdeploy:

cd /root

yum install wget

wget http://repo.virtuozzo.com/vzlinux/vzdeploy/vzdeploy

chmod 700 vzdeploy

./vzdeploy

This takes some time and finishes without interaction needed. At the end you'll see:

-----
Complete!
Installing a trial license...
Start activation for code trial...
License VZLINUX [*****] was loaded successfully.
Calling 0
sh: 0: command not found
Subscription completed unsuccessfully
Activation completed successfully with product key *****
You can find complete log in /var/log/vzdeploy.log
-----

Pavel told me that this licence is only needed for some features, that are only available in the commercial version. As far as I can see, the licence is no longer installed after conversion to Virtuozzo 7 is done.

The next step is adding the Virtuozzo 7 repositories to yum. Note that the factory repository is enabled for my test, but with lower priority than the release repository. I need to check what have been the original settings of the bare metal installer before setting up a production system.

echo "# These repositories are for internal use by developers only
# Enable them on your own risk!!!

[factory]
name=Build Factory packages for Containers
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/factory-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/factory/x86_64/os/
priority=49
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7

[factory-debuginfo]
name=Debug packages for Containers from Build Factory
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/factory-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/factory/x86_64/debug/
priority=49
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7" > /etc/yum.repos.d/factory.repo

echo "[openvz-os]
name=OpenVZ
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/releases-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/releases/7.0/x86_64/os/
enabled=1
gpgcheck=1
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7

[openvz-updates]
name=OpenVZ Updates
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/updates-os.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/updates/7.0/x86_64/os/
enabled=1
gpgcheck=1
priority=50
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7

[openvz-os-debuginfo]
name=OpenVZ os Debug packages
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/releases-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/releases/7.0/x86_64/debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7

[openvz-updates-debuginfo]
name=OpenVZ updates Debug packages
mirrorlist=http://download.openvz.org/virtuozzo/mirrorlists/7.0/updates-debug.mirrorlist
#baseurl=http://download.openvz.org/virtuozzo/updates/7.0/x86_64/debug/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7" > /etc/yum.repos.d/openvz.repo

We now fetch the lists of the available packages:

yum update

That will import the required GPG key, you have to allow it, when seeing this message:

------
warning: /var/cache/yum/x86_64/7/factory/packages/openvz-logos-70.0.11-1.vz7.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 44cdad2a: NOKEY
Public key for openvz-logos-70.0.11-1.vz7.noarch.rpm is not installed
openvz-logos-70.0.11-1.vz7.noarch.rpm                                                                                                                                                                                                                   | 298 kB  00:00:00     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7
Importing GPG key 0x44CDAD2A:
Userid     : "Virtuozzo Team (GPG key signature for packages) <security@xxxxxxxxxxxxx>"
Fingerprint: c92b bb23 e3c3 1386 6694d5f5 ca0b 7d19 44cd ad2a
Package    : 1:vzlinux-release-7-1.vl7.15.x86_64 (@virtuozzolinux-base/7.1.0)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-Virtuozzo-7
------

As Pavel said (thank you very much for the hint) we can use yum groups to install all required packages:

yum grouplist | grep -i virtuozzo

returns in my case:

  Virtuozzo
  Virtuozzo Containers
  Virtuozzo Hypervisor

Then install the groups

yum groupinstall 'Virtuozzo' 'Virtuozzo Containers' 'Virtuozzo Hypervisor'

Finally reboot to run Virtuozzo 7.


 
Regards
    Volker

 

https://marc.ttias.be/openvz-users/2016-08/msg00027.php

Share this post


Link to post
Share on other sites

or use this:

 

http://repo.virtuozzo.com/vzlinux/vzdeploy/vzdeploy

 

#!/bin/sh

## vzdeploy INFO
# Short Description	:upgrades CentOS or RHEL distro to Virtuozzo Linux
# Description      	:removes yum repo configuration related to CentOS/RHEL,
#	  		as well as release related packages. Installs Virtuozzo Linux
#		        release related packages and new kernel
## vzdeploy INFO

version="1.0"

init_vars()
{
log=/var/log/vzdeploy.log
lock=/var/lock/vzdeploy.lck

wget="/usr/bin/wget"
wget_options="-q"
skipkmodcheck=false
skipversioncheck=false
NO_ARGS=0

helpdesk="https://bugs.openvz.org"

# Update checker URL
checksite="http://repo.virtuozzo.com/vzlinux/vzdeploy/"
checkfile="version.dat"
checkurl="$checksite$checkfile"
scriptname="vzdeploy"
upgradeurl="$checksite$scriptname"
script="vzdeploy"
dry_run="0"
script="$1"
case "$script" in
    ./*) script="`pwd`/`basename $script`" ;;
    /*) script="$script" ;;
    *) script="`pwd`/$script" ;;
esac
}

check_exit_code()  { if [ $? -ne $1 ]; then echo $2; rm -f $lock; exit 1; fi; }
check_pipestatus()   { if [ $PIPESTATUS -ne $1 ]; then echo $2; rm -f $lock; exit 1; fi; }


yesno()
# $1 = Message prompt
# Returns ans=0 for no, ans=1 for yes
{
if [ $dry_run -eq 1 ]; then
    echo "Would be asked here if you wanted to"
    echo "$1 (y/n - y is assumed)"
    ans=1
else
    ans=2
fi

while [ $ans -eq 2 ]; do
    echo -n "Do you want to $1 (y/n) ?" ; read reply
    case "$reply" in
        Y*|y*) ans=1 ;;
        N*|n*) ans=0 ;;
        *) echo "Please answer y or n" ;;
    esac
done
}


download_file()
# $1 = Full URL to download
# $2 = Optional basename to save to (if omitted, then = basename $1)
#      Also allow download to fail without exit if $2 is set
{
if [ "$2" = "" ]; then
    dlbase="`basename \"$1\"`"
else
    dlbase="$2"
fi

if [ $dry_run -eq 1 ]; then
    echo "Would download this URL to $tmp_tree/$dlbase :"
    echo $1 ; echo
    return
fi

old_dlbase="$dlbase.old"
if [ -f "$dlbase" ]; then
    rm -f "$old_dlbase"
    mv -f "$dlbase" "$old_dlbase"
fi

echo "Check for wget, install if absent..."
rpm -q wget >/dev/null 2>&1 || yum install -y wget

echo "Downloading $dlbase (please wait)"
$wget $wget_options -O "$dlbase" "$1"

if [ ! -s "$dlbase" ]; then
    if [ -f "$old_dlbase" ]; then
        mv -f "$old_dlbase" "$dlbase"
    fi
    if [ "$2" = "" ]; then
        echo "Failed to download $dlbase"
        rm -f $lock
        exit 1
    fi
fi
}


check_version()
# Make sure that we are running the latest version
# $* = Params passed to script
{
echo "Checking for an update to $scriptname"
download_file "$checkurl"

if [ $dry_run -eq 1 ]; then
    echo "Would check if this running script (version $version) is out of date."
    echo "If it's been superseded, the new version would be downloaded and you'd be asked"
    echo "if you want to upgrade to it and run the new version."
    echo
    return
fi

newversion="`cat \"$checkfile\"`"
newversion="`echo $newversion`"
rm -f "$checkfile"

if [ "$newversion" = "$version" ]; then
    echo "$scriptname is already the latest version ($version) - continuing"
else
    echo "New version ($newversion) of $scriptname detected"
    yesno "download and run $scriptname $newversion now"
    if [ $ans -eq 1 ]; then
        echo "OK, downloading and executing $script $*"
        download_file "$upgradeurl"
        if [ "$scriptname" -ef "$script" ]; then
            let a=1
        else
            mv -f "$scriptname" "$script"
        fi
        chmod u+x "$script"
        echo "Download of $scriptname $newversion successful"
        rm -f $lock
        exec "$script" --skip-version-check $*
            error "Failed to run $script $*"
    else
        echo "New version of script is available: $upgradeurl"
        echo "Please download new script, review code and run it."
        echo "If you prefer to use current version, run it with \"--skip-version-check\" key."
        exit 1
    fi
fi
}


check_kernel_update_permission()
{
if [ -e /etc/yum.conf ] && [ -n "$(grep exclude /etc/yum.conf | grep kernel | grep -v '^#')" ]; then
    echo Kernel update is prohibited on your system. | tee -a $log
    echo Remove "exclude kernel" option from /etc/yum.conf | tee -a $log
    echo and run this script again. | tee -a $log
    rm -f $lock
    exit 1;
fi;

if rpm -q --qf '%{name}\n' `rpm -qa | grep hpahcisr` > /dev/null 2>&1 ; then
    echo "This server uses a binary driver hpahcisr.ko (HP AHCI Software RAID)."
    echo "That driver is not compatible with Virtuozzo Linux kernel."
    echo "We don’t know about any open source alternative for that driver."
    echo "The only work around known to us today is to disable RAID feature in system BIOS."
    echo "and configure Linux software raid instead. Such work around requires full re-install of the OS."
    rm -f $lock
    exit 1
fi

if [ "$skipkmodcheck" = "false" ] ; then
    if rpm -q --qf '%{name}\n' `rpm -qa | grep ^kmod\-` | grep -v -e iolimits -e aacraid -e megaraid_sas -e1000e -e r8168 -e microsoft -e igb -e libs -e ^kmod$; then
        echo "You have third-party kernel module rpm installed (see line above)."
        echo "It's not compatible with Virtuozzo Linux kernel."
        echo "Please contact Virtuozzo Linux support at $helpdesk"
        rm -f $lock
        exit 1
    fi
fi

if uname -r | grep -v  $KERNEL_VERSION ; then
    echo "Your server has non-standard kernel installed (see above)" | tee -a $log
    echo "To resolve the issue, we can unregister this kernel RPM from RPM database." | tee -a $log
    echo -n "Do you want to do that [Y/N]: " | tee -a $log
    read YN
    case $YN in
        [yY]|[yY][eE][sS])
            echo "Removing non-standard kernels from RPM database" | tee -a $log
            rpm -e --justdb `rpm -qa | grep kernel | grep -v $KERNEL_VERSION` 2>&1 | tee -a $log
            ;;
        *)
            echo "Please remove non-standard kernels manually and run this script again." | tee -a $log
            rm -f $lock
            exit 1
            ;;
    esac
fi
}


check_yum()
{
if [ ! -n "$(cat /etc/yum.conf | sed -e 's/ //g' | grep -i ^"plugins=1")" ]; then
    echo "Yum error: Plugins are disabled" | tee -a $log
    echo "Please enable yum-plugins: add string \"plugins=1\" to the /etc/yum.conf" | tee -a $log
    rm -f $lock
    exit 1;
fi;
}


check_release()
{
rpm -q --whatprovides redhat-release > /dev/null 2>&1
check_exit_code 0 "There is no package providing /etc/redhat-release, please install redhat-release or centos-release first"

ARCH=$(uname -i)
CPU=$(uname -p)

# handle 32bit xen with x86_64 host kernel
if ( ! rpm -q glibc.x86_64 > /dev/null 2>&1 ) && [ "$ARCH" = "x86_64" ]; then
    ARCH=i386
    CPU=i686
fi

OS_VERSION="$(rpm -q --qf %{version} `rpm -q --whatprovides redhat-release` | cut -c 1)"
if [ "$OS_VERSION" -eq "7" ]; then
    KERNEL_VERSION=3.10.0
    VIRTUOZZO_RELEASE=http://repo.virtuozzo.com/vzlinux/migrate/7/${ARCH}/vzlinux-release-7-1.vl7.20.${CPU}.rpm
    VIRTUOZZO_LOGOS=http://repo.virtuozzo.com/vzlinux/migrate/7/${ARCH}/vzlinux-logos-70.0.5-4.vl7.noarch.rpm
else
    echo "This script is for OS version 7 only" | tee -a $log
    rm -f $lock
    exit 1;
fi;
}


backup()
{
BACKUP=/etc/virtuozzo-convert-saved
mkdir -p $BACKUP
cp /etc/redhat-release $BACKUP 2>&1 | tee -a $log

# Disable RedHat
if [ -f /etc/yum.repos.d/RedHat-Base.repo ]; then
    mv /etc/yum.repos.d/RedHat-Base.repo $BACKUP >> $log 2>&1 #test if that is the rate path
fi
if rpm -q rhnlib > /dev/null; then
    yum -y erase rhnlib >> $log 2>&1
fi
if rpm -q subscription-manager > /dev/null; then
    yum -y erase subscription-manager >> $log 2>&1
fi
if rpm -q python-vzsubscribe > /dev/null; then
    yum -y erase python-vzsubscribe >> $log 2>&1
fi
if rpm -q redhat-logos > /dev/null; then
    rpm -e --nodeps redhat-logos >> $log 2>&1
fi
if rpm -q redhat-release > /dev/null; then
    rpm -e --nodeps redhat-release >> $log 2>&1
fi
if rpm -q redhat-release-notes > /dev/null; then
    rpm -e --nodeps redhat-release-notes >> $log 2>&1
fi
if rpm -q redhat-release-server > /dev/null; then
    rpm -e --nodeps redhat-release-server >> $log 2>&1
fi
if [ -f /etc/sysconfig/rhn/systemid ]; then
    mv /etc/sysconfig/rhn/systemid $BACKUP >> $log 2>&1
fi
if [ -f /etc/yum/pluginconf.d/rhnplugin.conf ]; then
    mv /etc/yum/pluginconf.d/rhnplugin.conf $BACKUP >> $log 2>&1
fi

# Disable CentOS
if [ -f /etc/yum.repos.d/CentOS-Media.repo ]; then
    mv /etc/yum.repos.d/CentOS-Media.repo $BACKUP >> $log 2>&1
fi
if [ -f /etc/yum.repos.d/CentOS-Base.repo ]; then
    mv /etc/yum.repos.d/CentOS-Base.repo $BACKUP >> $log 2>&1
fi
if rpm -q centos-release > /dev/null; then
    rpm -e --nodeps centos-release >> $log 2>&1
fi
if rpm -q centos-release-notes > /dev/null; then
    rpm -e --nodeps centos-release-notes >> $log 2>&1
fi

# Disable Scientific Linux
if [ -f /etc/yum.repos.d/sl.repo ]; then
    mv /etc/yum.repos.d/sl.repo $BACKUP >> $log 2>&1
fi
if [ -f /etc/yum.repos.d/cd.repo ]; then
    mv /etc/yum.repos.d/cd.repo $BACKUP >> $log 2>&1
fi
if rpm -q sl-release > /dev/null; then
    rpm -e --nodeps sl-release >> $log 2>&1;
fi
if rpm -q sl-release-notes > /dev/null; then
    rpm -e --nodeps sl-release-notes >> $log 2>&1;
fi
}


prep()
{
yum clean all 2>&1 | tee -a $log
rpm --import http://repo.virtuozzo.com/vzlinux/security/VZLINUX_GPG_KEY >> $log 2>&1
rpm --import http://repo.virtuozzo.com/vzlinux/security/VIRTUOZZO_GPG_KEY >> $log 2>&1
rpm -Uvh $VIRTUOZZO_RELEASE $VIRTUOZZO_LOGOS --force >> $log 2>&1 ;
# Handle LES
if [ -x /usr/local/sbin/les ]; then
    LES=true
    /usr/local/sbin/les -da 2>&1 | tee -a $log
    check_pipestatus 0 "Unable to turn off LES, please contact Virtuozzo Linux support at $helpdesk"
fi
}


check_source()
# We need to install kernel-devel for virtual containers
{
NEED_SOURCE="NO"
if ! rpm -q pciutils > /dev/null 2>&1; then
    yum -y install pciutils
fi
if [ -x /sbin/lspci ] ; then
    if $(/sbin/lspci -n | grep -q 1414) || $(/sbin/lspci -n | grep -q 15ad) || $(/sbin/lspci -n | grep -q 1ab8); then
        NEED_SOURCE="YES"
    fi
fi
}


check_root()
# Root device link
{
if [ ! -e /dev/root ]; then
    if grep -q ^/ /etc/fstab; then
        ln -s `awk '{ if ($2 == "/") print $1; }' /etc/fstab` /dev/root
    fi
fi
}


check_efi()
{
if [ -f /boot/efi/EFI/redhat/grub.conf ] ; then
    if [ "$(readlink /etc/grub.conf)" != "/boot/efi/EFI/redhat/grub.conf" ] || [ "$(readlink /boot/grub/grub.conf)" != "/boot/efi/EFI/redhat/grub.conf" ]; then
        ln -sf /boot/efi/EFI/redhat/grub.conf /etc/grub.conf
        ln -sf /boot/efi/EFI/redhat/grub.conf /boot/grub/grub.conf
    fi
fi
if [ -f /boot/efi/EFI/centos/grub.conf ] ; then
    if [ "$(readlink /etc/grub.conf)" != "/boot/efi/EFI/centos/grub.conf" ] || [ "$(readlink /boot/grub/grub.conf)" != "/boot/efi/EFI/centos/grub.conf" ]; then
        ln -sf /boot/efi/EFI/centos/grub.conf /etc/grub.conf
        ln -sf /boot/efi/EFI/centos/grub.conf /boot/grub/grub.conf
    fi
fi
}


print_help()
{
    cat << EOF >&2
Usage:

  -h, --help            Print this message
  --skip-kmod-check     Skip check for unsupported kmods
  --skip-version-check  Do not check for script updates
EOF
}

# Start here ################################################################

init_vars $0
check_release
check_yum

if [ -f $lock ] ; then
    if [ -d /proc/$(cat $lock) ] ; then
        echo "$scriptname is already running"
        exit 1
    fi
fi

echo $$ > $lock
check_exit_code 0 "Please run $scriptname as root"

options=`getopt -o ecmik: -l help,skip-kmod-check,skip-version-check -- "$@"`

if [ $? != 0 ] ; then print_help ; rm -f $lock; exit 1 ; fi

eval set -- "$options"

while true; do
    case $1 in
        --help)
            print_help
            rm -f $lock
            exit 0
            ;;
        --skip-kmod-check)
            skipkmodcheck=true
            shift
            ;;
        --skip-version-check)
            skipversioncheck=true
            shift
            ;;
        --)
            shift
            break
            ;;
        -*)
            echo "$0: error - unrecognized option $1" 1>&2
            print_help
            rm -f $lock
            exit 1
            ;;
         *) echo "Internal error!" ; rm -f $lock; exit 1 ;;
    esac
done

if [ "$skipversioncheck" = "false" ]; then
    check_version
fi

yesno "continue with deploy"
if [ $ans -eq 1 ]; then
    conversion=true
    echo "Deploy started"
else
    conversion=false
fi

if [ "$conversion" = "true" ] ; then
    backup
    prep
    check_kernel_update_permission
    check_source
    check_root

    yum clean all 2>&1 | tee -a $log

#    if rpm -qf --queryformat "%{name}" /lib/modules/$(uname -r) > /dev/null 2>&1 ; then
#        KERNEL=$(rpm -qf --queryformat "%{name}" /lib/modules/$(uname -r))
#    else
#        KERNEL=kernel
#    fi
    KERNEL=vzkernel

    echo "kernel flavour $KERNEL" >> $log

    PKGS="vzlinux-release"
    KPKGS="$KERNEL"
    if rpm -qa | grep -q kmod > /dev/null 2>&1 ; then
        for kmod in `rpm -q --qf '%{name}\n' $(rpm -qa | grep ^kmod\-) | grep -v x86_64 | grep -v i686 | grep -e e1000e -e aacraid -e r8168 -e microsoft -e igb`; do
            rpm -e --justdb $kmod --nodeps
            PKGS="$PKGS $kmod"
        done
    fi

    if [ $NEED_SOURCE = "YES" ] ; then PKGS="$PKGS gcc make"; KPKGS="$KPKGS $KERNEL-devel"; fi

    if rpm -q subscription-manager 2>&1 > /dev/null; then
        echo "Uninstalling subscription-manager..." | tee -a $log
        yum -y erase subscription-manager
    fi

    rpm -e --nodeps cpuspeed > /dev/null 2>&1
    yum -y --disablerepo=* --enablerepo=virtuozzolinux-base --enablerepo=virtuozzolinux-updates --disableexcludes=main install $PKGS 2>&1 | tee -a $log
    check_pipestatus 0 "Unable to install required packages, please contact Virtuozzo Linux support at $helpdesk"
    yum -y --disablerepo=* --enablerepo=virtuozzolinux-base --enablerepo=virtuozzolinux-updates --disableexcludes=main install $KPKGS 2>&1 | tee -a $log
    check_pipestatus 0 "Unable to install required packages, please contact Virtuozzo Linux support at $helpdesk"
    yum -y --disablerepo=* --enablerepo=virtuozzolinux-base --enablerepo=virtuozzolinux-updates --exclude=kernel* update 2>&1 | tee -a $log
    check_pipestatus 0 "Unable to update packages, please contact Virtuozzo Linux support at $helpdesk"

    if [ -e /sys/firmware/efi ]; then
        # Bootloader for the previous system is probably dead by now.
        # Generate new grub config and create the new EFI boot entry.
        # It would be nice to remove the previous EFI entry as well, but we don't know which one it is...
        grub2-mkconfig > /boot/efi/EFI/virtuozzo/grub.cfg
        efidir_part="$(grub2-probe --target=device --device-map= /boot/efi)"
        efidir_part_num="$(echo "$efidir_part" | sed 's/^[^0-9]*//')"
        efidir_disk="$(echo "$efidir_part" | sed 's/[0-9]\+$//')"
        efibootmgr -c -L VirtuozzoLinux -d "$efidir_disk" -p "$efidir_part_num" -l /EFI/virtuozzo/shim.efi
    fi

    # Packages present in VzLinux installation from ISO
    VZL_PKGS="vllicutils libreport-plugin-vzlinux-bugs kpatch bzip2 firewalld teamd"
    yum -y --disablerepo=* --enablerepo=virtuozzolinux-base --enablerepo=virtuozzolinux-updates --disableexcludes=main install $VZL_PKGS 2>&1 | tee -a $log
    check_pipestatus 0 "Unable to install vllicutils and other VzLinux-specific packages, please contact Virtuozzo Linux support at $helpdesk"
fi

if [ "$LES" = "true" ]; then
    echo "Linux Environment Security was disabled, you can re-enable it if needed"
fi

echo "Installing a trial license..."
vllicupdate -a trial

echo "You can find complete log in $log"
rm -f $lock
exit 0

Share this post


Link to post
Share on other sites

http://docs.virtuozzo.com/virtuozzo_7_upgrade_guide/upgrading-from-other-products/upgrading-from-centos-7-to-virtuozzo-7.html

 

6.3. Upgrading from CentOS 7 to Virtuozzo 7

Warning

This procedure cannot be reverted.

Physical or virtual servers running CentOS 7.x can be upgraded to Virtuozzo 7.

The server must:

  • have a clean CentOS 7.x installation without third-party drivers or packages,
  • have ext4 file system on the root disk,
  • have Internet connection for downloading Virtuozzo Linux and Virtuozzo packages.

To upgrade CentOS 7.x to Virtuozzo 7, do the following:

  1. Convert CentOS 7 to Virtuozzo Linux 7. To do this, download and run the upgrade script:

    # wget http://repo.virtuozzo.com/vzlinux/vzdeploy/vzdeploy
    # chmod 755 vzdeploy
    # ./vzdeploy
    

    The script will replace CentOS repositories and packages with Virtuozzo Linux ones, install a Virtuozzo Linux kernel in addition to the current CentOS one, and activate a trial Virtuozzo Linux license.

  2. Reboot to the Virtuozzo Linux kernel.

  3. Optionally, you can remove the CentOS kernel to make sure that the server always boots to the Virtuozzo kernel.

    # yum remove kernel
    
  4. Upgrade Virtuozzo Linux 7 to Virtuozzo 7. To do this, run the script do-upgrade-vzlin-vz7 installed with the vzlin-release package on previous steps.

    # do-upgrade-vzlin-vz7 --key <VZ7_product_key>
    

    You can skip license installation by specifying --skip-license instead of --key <VZ7_product_key>. In this case, you will need to install a license later with the vzlicload tool.

    The script will add Virtuozzo 7 repositories, install Virtuozzo 7 packages, and perform required configuration. No new partitions will be created during installation (e.g., /vz will be a directory on the root disk).

  5. Reboot the server to start using Virtuozzo 7.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×