How to Upgrade proxmox from 3.x to 4.1

How to Upgrade proxmox from 3.x to 4.0- Well, kembali lagi untuk kali ini aku akan mencoba memaparkan tutorial singkat bagaimana melakukan upgrade proxmox from 3.x ke versi 4.1. Ada beberapa hal yang mesti diketahui mengenai proxmox versi 4 ini dan apa saja pembaharuannya. Berikut pemaparannya.

Pertama

Upgrade besar untuk proxmox 4.x adalah sebagai berikut ini

  • Kabar buruk untuk OpenVZ, pada versi terbaru ini OpenVZ dihapuskan
  • diperlukan Versi Corosync terbaru , oleh karena itu clusters harus didirikan kembali
  • Manager baru untuk HA, ( menggantikan RGmanager , melibatkan HA re – konfigurasi lengkap )

Jika Anda menjalankan instalasi yang disesuaikan dan / atau Anda menginstal paket tambahan, misalnya untuk penyimpanan didistribusikan seperti Ceph atau sheepdog , DRBD atau paket pihak ketiga lainnya , Anda perlu memastikan bahwa Anda juga meng-upgrade paket ini untuk Debian Jessie.

Perlu di catat dan ingat bahwa V4.0 mendukung hanya DRBD9 baru yang tidak kompatibel dengan versi 8.x dan dianggap hanya preview teknologi .

Ada dua alternatif untuk melakukan upgrade ini, yakni:

  • Upgrade langsung secara online dengan melakukan beberapa modifikasi terhadap source list, atau
  • upgrade langsung menggunakan cd instalasi proxmox yang telah dilakukan burning terlebih dahulu

Pada percobaan ini, adalah pilihan upgrade langsung secara online yang hendak dilakukan. Untuk itu harap ikuti dengan baik-baik langkah-langkah berikut ini. Selamat mencoba

Prasyarat

  • upgrade ke versi V3.4 terbaru
  • akses yang dapat diandalkan untuk semua konfigurasi penyimpanan
  • tidak ada masalah pada cluster yang berjalan
  • tidak ada VM atau CT yang sedang aktif/berjalan
  • cadangan yang valid dari semua kontainer OpenVZ (diperlukan untuk konversi ke LXC)
  • setidaknya ruang disk 1GB pada root mount point

Hapus Proxmox VE paket 3.x untuk menghindari kesalahan

Jalankan perintah berikut ini untuk memastikan nantinya instlasi berjalan dengan baik dan bersih

[sourcecode language=”bash”]
apt-get update && apt-get dist-upgrade
[/sourcecode]

[sourcecode language=”bash”]
root@tunaro:~#
root@tunaro:~# apt-get update && apt-get dist-upgrade
[/sourcecode]

selanjutnya hapus:

[sourcecode language=”bash”]
apt-get remove proxmox-ve-2.6.32 pve-manager corosync-pve openais-pve redhat-cluster-pve pve-cluster pve-firmware
[/sourcecode]

[sourcecode language=”bash”]
root@tunaro:~# pt-get remove proxmox-ve-2.6.32 pve-manager corosync-

pve openais-pve redhat-cluster-pve pve-cluster pve-firmware
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
clvm corosync-pve fence-agents-pve libpve-access-control libpve-

storage-perl
librados2-perl openais-pve proxmox-ve-2.6.32 pve-cluster pve-firmware
pve-manager qemu-server redhat-cluster-pve resource-agents-pve vzctl
0 upgraded, 0 newly installed, 15 to remove and 103 not upgraded.
After this operation, 6,702 kB disk space will be freed.
Do you want to continue [Y/n]?
[/sourcecode]

tekan tombol Y untuk melanjutkan

[sourcecode language=”bash”]
root@tunaro:~# pt-get remove proxmox-ve-2.6.32 pve-manager corosync-

pve openais-pve redhat-cluster-pve pve-cluster pve-firmware
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be REMOVED:
clvm corosync-pve fence-agents-pve libpve-access-control libpve-

storage-perl
librados2-perl openais-pve proxmox-ve-2.6.32 pve-cluster pve-firmware
pve-manager qemu-server redhat-cluster-pve resource-agents-pve vzctl
0 upgraded, 0 newly installed, 15 to remove and 103 not upgraded.
After this operation, 6,702 kB disk space will be freed.
Do you want to continue [Y/n]Y

(Reading database … 30441 files and directories currently installed.)
Removing proxmox-ve-2.6.32 …
Removing pve-manager …
Removing vzctl …
Container(s) not found
Container(s) not found
Container(s) not found
Bringing down interface venet0: ..done
Stopping OpenVZ: ..done
Removing qemu-server …
Removing libpve-storage-perl …
Removing clvm …
Removing resource-agents-pve …
Removing fence-agents-pve …
dpkg: warning: while removing fence-agents-pve, directory

‘/usr/share/fence’ not empty so not removed
Removing redhat-cluster-pve …
Removing openais-pve …
Removing corosync-pve …
Removing librados2-perl …
Removing libpve-access-control …
Removing pve-cluster …
Stopping pve cluster filesystem: pve-cluster.
dpkg: warning: while removing pve-cluster, unable to remove directory

‘/etc/pve': Device or resource busy – directory may be a mount point?
Removing pve-firmware …
Processing triggers for man-db …
root@tunaro:~#
[/sourcecode]

Selanjutnya, lakukan perubahan pada repository sebagai berikut ini

[sourcecode language=”bash”]
root@tunaro:~# sed -i ‘s/wheezy/jessie/g’ /etc/apt/sources.list
root@tunaro:~# sed -i ‘s/wheezy/jessie/g’ /etc/apt/sources.list.d/pve-enterprise.list
root@tunaro:~#
[/sourcecode]

untuk seragamnya, dalam percobaan ini saya menggunakan repository berikut ini:

[sourcecode language=”bash”]
root@tunaro:~# cat /etc/apt/sources.list
deb http://ftp.debian.org/debian jessie main contrib

# security updates
deb http://security.debian.org/ jessie/updates main contrib

deb http://kambing.ui.ac.id/debian/ jessie main contrib non-free
deb http://kambing.ui.ac.id/debian/ jessie-updates main contrib non-free
deb http://kambing.ui.ac.id/debian-security/ jessie/updates main contrib non-free

deb http://download.proxmox.com/debian jessie pve-no-subscription
root@tunaro:~#
[/sourcecode]

selanjunya, tambahkan repository berikut ini

[sourcecode language=”bash”]
nano /etc/apt/sources.list.d/ceph.list
[/sourcecode]

[sourcecode language=”bash”]
deb http://download.ceph.com/debian-hammer jessie main
[/sourcecode]

Install Kernel Baru
untuk menginstall kernel baru, ikuti perintah berikut ini

[sourcecode language=”bash”]
root@tunaro:~# apt-get install pve-kernel-4.2.2-1-pve pve-firmware
Reading package lists… Done
[/sourcecode]

[sourcecode language=”bash”]
root@tunaro:~# apt-get install pve-kernel-4.2.2-1-pve pve-firmware
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
pve-firmware pve-kernel-4.2.2-1-pve
0 upgraded, 2 newly installed, 0 to remove and 412 not upgraded.
Need to get 69.0 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://download.proxmox.com/debian/ jessie/pvetest pve-firmware

all 1.1-7 [26.1 MB]
Get:2 http://download.proxmox.com/debian/ jessie/pvetest pve-kernel-

4.2.2-1-pve amd64 4.2.2-16 [43.0 MB]
Fetched 69.0 MB in 3min 32s (325 kB/s)
Selecting previously unselected package pve-firmware.
(Reading database … 28812 files and directories currently installed.)
Unpacking pve-firmware (from …/pve-firmware_1.1-7_all.deb) …
Selecting previously unselected package pve-kernel-4.2.2-1-pve.
Unpacking pve-kernel-4.2.2-1-pve (from …/pve-kernel-4.2.2-1-

pve_4.2.2-16_amd64.deb) …
Setting up pve-firmware (1.1-7) …
Setting up pve-kernel-4.2.2-1-pve (4.2.2-16) …
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.2-1-pve

/boot/vmlinuz-4.2.2-1-pve
update-initramfs: Generating /boot/initrd.img-4.2.2-1-pve
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.2.2-1-pve

/boot/vmlinuz-4.2.2-1-pve
Generating grub.cfg …
Found linux image: /boot/vmlinuz-4.2.2-1-pve
Found initrd image: /boot/initrd.img-4.2.2-1-pve
Found linux image: /boot/vmlinuz-2.6.32-29-pve
Found initrd image: /boot/initrd.img-2.6.32-29-pve
Found memtest86+ image: /memtest86+.bin
Found memtest86+ multiboot image: /memtest86+_multiboot.bin
done
root@tunaro:~#
[/sourcecode]

Upgrade sistem standar ke debian jeesie

[sourcecode language=”bash”]
root@tunaro:~# apt-get dist-upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages will be REMOVED:
console-tools cpp-4.7 gcc-4.7-base libjpeg62 libperl5.14 libsnmp15
The following NEW packages will be installed:
acl cgmanager cpp-4.9 dbus dmeventd docutils-common docutils-doc
fonts-dejavu-core gcc-4.9-base gnupg-agent gnupg2 hicolor-icon-theme
ifenslave init init-system-helpers iproute2 kbd libalgorithm-c3-perl
libarchive-extract-perl libasn1-8-heimdal libasound2-data libassuan0
libasync-interrupt-perl libatk1.0-0 libatk1.0-data libatm1 libaudit-

common
libaudit1 libavahi-client3 libavahi-common-data libavahi-common3

libbind9-90
libblas-common libboost-iostreams1.55.0 libboost-system1.55.0
libboost-thread1.55.0 libcap-ng0 libcap2-bin libcephfs1 libcgi-fast-

perl
libcgi-pm-perl libcgmanager0 libclass-c3-perl libclass-c3-xs-perl
libclone-perl libcloog-isl4 libcpan-meta-perl libcryptsetup4 libcups2
libcurl3 libdata-optlist-perl libdata-section-perl libdb5.3
libdebconfclient0 libdns-export100 libdns100 libestr0 libev-perl
libfcgi-perl libffi6 libgcrypt20 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0

-common
libgnutls-deb0-28 libgoogle-perftools4 libgraphite2-3 libgssapi-perl
libgssapi3-heimdal libgtk2.0-0 libgtk2.0-bin libgtk2.0-common

libguard-perl
libharfbuzz0b libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-

heimdal
libhogweed2 libhx509-5-heimdal libicu52 libio-html-perl
libio-socket-inet6-perl libirs-export91 libisc-export95 libisc95

libisccc90
libisccfg-export90 libisccfg90 libiscsi4 libisl10 libjasper1 libjbig0
libjemalloc1 libjpeg62-turbo libjson-c2 libkrb5-26-heimdal libksba8
liblcms2-2 libldb1 liblog-message-perl liblog-message-simple-perl
liblogging-stdlog0 liblognorm1 liblua5.2-0 liblvm2cmd2.02 liblwres90
libmodule-build-perl libmodule-pluggable-perl libmodule-signature-

perl
libmpc3 libmro-compat-perl libnettle4 libnih-dbus1 libnih1 libntdb1

libnuma1
libnvpair1 libpackage-constants-perl libpam-cap libpam-systemd
libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangox-1.0-0
libpangoxft-1.0-0 libpaper-utils libpaper1 libparams-util-perl

libparted2
libperl4-corelibs-perl libperl5.20 libpod-latex-perl libpod-readme-

perl
libprocps3 libpsl0 libpython-stdlib libpython2.7 libpython2.7-minimal
libpython2.7-stdlib libreadline5 libregexp-common-perl libroken18-

heimdal
librtmp1 libsasl2-modules-db libseccomp2 libsmartcols1 libsmbclient
libsnmp30 libsocket6-perl libsoftware-license-perl libsub-exporter-

perl
libsub-install-perl libsystemd0 libtasn1-6 libtcmalloc-minimal4
libterm-ui-perl libtevent0 libtext-soundex-perl libtext-template-perl
libtext-unidecode-perl libtiff5 libudev1 libunwind8 libuutil1

libwebp5
libwebpdemux1 libwebpmux1 libwind0-heimdal libxcomposite1 libxdamage1
libxinerama1 libxml-libxml-perl libxml-namespacesupport-perl
libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxrandr2
libxtables10 libzfs2 libzpool2 ndiff numactl openssh-sftp-server
pinentry-gtk2 python-blinker python-cffi python-cryptography
python-defusedxml python-docutils python-itsdangerous python-lxml
python-ndg-httpsclient python-pil python-pkg-resources python-ply
python-pyasn1 python-pycparser python-pygments python-pyinotify

python-roman
python-talloc python-urllib3 python-wstools rename samba-libs sgml-

base
shared-mime-info startpar systemd systemd-shim systemd-sysv xdg-user

-dirs
xml-core
The following packages have been kept back:
db5.1-util
The following packages will be upgraded:
apt apt-listchanges apt-transport-https apt-utils aptitude aptitude-

common
at attr base-files base-passwd bash bash-completion bc bind9-host

bootlogd
bridge-utils bsd-mailx bsdmainutils bsdutils busybox bzip2 ca-

certificates
ceph-common cifs-utils console-common console-data coreutils cpio cpp

cron
dash dc debconf debconf-i18n debian-archive-keyring debian-faq

debianutils
diffutils dmidecode dmsetup dnsutils doc-debian dpkg e2fslibs

e2fsprogs
eject fdutils file findutils fontconfig fontconfig-config ftp fuse

gawk
gdisk gettext-base glusterfs-client glusterfs-common gnupg gpgv grep
groff-base grub-common grub-pc grub-pc-bin grub2-common gzip hdparm

hostname
ifenslave-2.6 ifupdown info initramfs-tools initscripts install-info

iproute
iptables iputils-arping iputils-ping isc-dhcp-client isc-dhcp-common
klibc-utils kmod krb5-locales ksm-control-daemon less libacl1 libaio1
libanyevent-http-perl libanyevent-perl libapt-inst1.5 libapt-pkg-perl
libapt-pkg4.12 libasound2 libasprintf0c2 libasyncns0 libattr1
libauthen-pam-perl libblas3 libblas3gf libblkid1 libbsd0 libbz2-1.0

libc-bin
libc6 libcaca0 libcairo2 libcap2 libcgroup1 libclass-isa-perl

libcomerr2
libcommon-sense-perl libconvert-asn1-perl libcorosync4-pve
libcrypt-openssl-bignum-perl libcrypt-openssl-random-perl
libcrypt-openssl-rsa-perl libcrypt-ssleay-perl libcurl3-gnutls

libcwidget3
libdatrie1 libdbi1 libdbus-1-3 libdevmapper-event1.02.1

libdevmapper1.02.1
libdirectfb-1.2-9 libedit2 libept1.4.12 libevent-2.0-5 libexpat1
libfile-chdir-perl libfile-sync-perl libfilesys-df-perl libflac8
libfontconfig1 libfreetype6 libfuse2 libgc1c2 libgcc1 libgdbm3

libgeoip1
libgfortran3 libglib2.0-0 libgmp10 libgnutls-openssl27 libgpg-error0
libgpgme11 libgpm2 libgssapi-krb5-2 libgssrpc4 libhtml-parser-perl
libhtml-tree-perl libhttp-cookies-perl libhttp-message-perl

libibverbs1
libice6 libidn11 libintl-perl libio-socket-ssl-perl libjs-jquery
libjson-perl libjson-xs-perl libjson0 libk5crypto3 libkeyutils1

libklibc
libkmod2 libkrb5-3 libkrb5support0 libldap-2.4-2 libleveldb1

liblinear1
liblinux-inotify2-perl liblocale-gettext-perl liblockfile-bin

liblockfile1
liblog-agent-perl liblua5.1-0 liblvm2app2.2 liblwp-protocol-https-

perl
liblzma5 liblzo2-2 libmagic1 libmath-bigint-perl libmount1 libmpfr4
libncurses5 libncursesw5 libnet-dns-perl libnet-http-perl libnet-ip-

perl
libnet-ldap-perl libnet-ssleay-perl libnet-telnet-perl libnewt0.52
libnfnetlink0 libnfsidmap2 libnspr4 libnss3 libogg0 libopenipmi0

libopts25
libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime libpam0g
libpango1.0-0 libpcap0.8 libpci3 libpcre3 libpipeline1 libpixman-1-0
libpng12-0 libpopt0 libpth20 libpulse0 libpve-common-perl libqb0
libquadmath0 librados2 librbd1 librdmacm1 libreadline6 librpcsecgss3

librrd4
librrds-perl libsasl2-2 libsdl1.2debian libselinux1 libsemanage-

common
libsemanage1 libsensors4 libsepol1 libsgutils2-2 libsigc++-2.0-0c2a
libsigsegv2 libslang2 libsm6 libsnappy1 libsndfile1 libsnmp-base
libsqlite3-0 libss2 libssh2-1 libssl1.0.0 libstdc++6 libswitch-perl
libsysfs2 libtalloc2 libtdb1 libterm-readline-gnu-perl
libtext-charwidth-perl libtext-iconv-perl libthai-data libthai0
libtimedate-perl libtinfo5 libtirpc1 libtokyocabinet9 liburi-perl
libusb-0.1-4 libusb-1.0-0 libusbredirparser1 libustr-1.0-1 libuuid-

perl
libuuid1 libvncserver0 libvorbis0a libvorbisenc2 libwbclient0

libwrap0
libwww-perl libx11-6 libx11-data libx11-xcb1 libxapian22 libxau6

libxaw7
libxcb-render0 libxcb-shm0 libxcb1 libxcursor1 libxdmcp6 libxext6

libxfixes3
libxft2 libxi6 libxml-parser-perl libxml2 libxml2-utils libxmu6

libxmuu1
libxpm4 libxrender1 libxslt1.1 libxt6 libxtst6 locales login

logrotate
lsb-base lvm2 lynx lynx-cur m4 man-db manpages memtest86+ mime-

support
mlocate mount multiarch-support mutt nano ncurses-base ncurses-bin
ncurses-term net-tools netbase netcat-traditional nfs-common nmap ntp

omping
open-iscsi openipmi openssh-client openssh-server openssl parted

passwd
patch pciutils perl perl-base perl-modules postfix procmail procps

psmisc
pve-libspice-server1 pve-qemu-kvm python python-apt python-apt-common
python-ceph python-chardet python-debian python-debianbts python-

flask
python-jinja2 python-markupsafe python-minimal python-openssl python

-pexpect
python-pycurl python-reportbug python-requests python-six python-

soappy
python-werkzeug python2.7 python2.7-minimal readline-common reportbug
rpcbind rrdcached rsync rsyslog samba-common sed sensible-utils sg3-

utils
smbclient snmp socat spiceterm sqlite3 ssh ssl-cert strace sysv-rc

sysvinit
sysvinit-utils tasksel tasksel-data tcpdump texinfo time traceroute
ttf-dejavu-core tzdata ucf udev usbutils util-linux vim-common vim-

tiny vlan
vncterm w3m wget whiptail whois x11-apps x11-common xauth xsltproc

xz-utils
zlib1g
411 upgraded, 212 newly installed, 6 to remove and 1 not upgraded.
Need to get 192 MB of archives.
After this operation, 185 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
[/sourcecode]

Saat menjalankan perintah diatas, anda akan dihadapkan dengan pilihan sebagai berikut ini
1pada kasus diatas, saya memilih untuk tidak mendisable SSH password untuk root (super ucer), selanjutnya akan ada menu berikut ini dan silahkan anda ikuti
2
3
4
5
Restart sistem jika telah selesai melakukan installasi seperti di atas

Install Proxmox 4.1
Terakhir, kita melakukan instalasi Proxmox 4.1

[sourcecode language=”bash”]
root@tunaro:~# apt-get install proxmox-ve
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
apparmor corosync-pve criu dh-python ipset libapparmor-perl

libapparmor1
libgnutlsxx28 libipset3 libmime-base32-perl libmnl0 libmpdec2
libnet-dbus-perl libnetfilter-log1 liboath0 libprotobuf-c1

libprotobuf9
libpve-access-control libpve-storage-perl libpython3-stdlib
libpython3.4-minimal libpython3.4-stdlib librados2-perl libtie-

ixhash-perl
libxml-twig-perl libxml-xpathengine-perl lxc-pve lxcfs netcat6 novnc

-pve
oathtool pve-cluster pve-container pve-firewall pve-ha-manager
pve-kernel-4.2.6-1-pve pve-manager python-ipaddr python-protobuf

python3
python3-minimal python3.4 python3.4-minimal qemu-server uidmap
Suggested packages:
apparmor-profiles apparmor-profiles-extra apparmor-docs apparmor-

utils
libunicode-map8-perl libunicode-string-perl xml-twig-tools python3-

doc
python3-tk python3-venv python3.4-venv python3.4-doc binutils binfmt

-support
The following packages will be REMOVED:
vlan
The following NEW packages will be installed:
apparmor corosync-pve criu dh-python ipset libapparmor-perl

libapparmor1
libgnutlsxx28 libipset3 libmime-base32-perl libmnl0 libmpdec2
libnet-dbus-perl libnetfilter-log1 liboath0 libprotobuf-c1

libprotobuf9
libpve-access-control libpve-storage-perl libpython3-stdlib
libpython3.4-minimal libpython3.4-stdlib librados2-perl libtie-

ixhash-perl
libxml-twig-perl libxml-xpathengine-perl lxc-pve lxcfs netcat6 novnc

-pve
oathtool proxmox-ve pve-cluster pve-container pve-firewall pve-ha-

manager
pve-kernel-4.2.6-1-pve pve-manager python-ipaddr python-protobuf

python3
python3-minimal python3.4 python3.4-minimal qemu-server uidmap
0 upgraded, 46 newly installed, 1 to remove and 1 not upgraded.
Need to get 54.6 MB of archives.
After this operation, 31.6 MB of additional disk space will be used.
Do you want to continue? [Y/n]
[/sourcecode]

Jika telah selesai, restart server

[sourcecode language=”bash”]
root@tunaro:~# service pve-cluster restart
root@tunaro:~# service pvedaemon restart
root@tunaro:~# service pveproxy restart
root@tunaro:~# service pvestatd restart
root@tunaro:~#
[/sourcecode]

Maka Anda harus membersihkan file konfigurasi dari paket yang tidak lagi diperlukan (dengan asumsi Anda sudah menyimpan kontainer OpenVZ Anda)

[sourcecode language=”bash”]
root@tunaro:~# dpkg –purge vzctl
root@tunaro:~# dpkg –purge redhat-cluster-pve
root@tunaro:~#
[/sourcecode]

Sebagai tambahan, anda dapat menghapus file kernel lama

[sourcecode language=”bash”]
root@tunaro:~# apt-get remove pve-kernel-2.6.32-41-pve
[/sourcecode]

Untuk mengkonfersi OpenVZ ke LXC kalukan perintah berikut ini

[sourcecode language=”bash”][/sourcecode]

root@tunaro:~# rm -f /etc/pve/openvz/.conf
root@tunaro:~# rm -R /private/*
root@tunaro:~#
[/sourcecode]

Akses website browser, misal alamat IP server https://172.16.228.114:8006

6

Sekian tutorial dan workshop kali ini, semoga bermanfaat. Salam

Muhammad Ikbal
ngaku sebagai tukang tarik kabel internet dan pengembala komputer

https://tunaro.wordpress.com/2015/12/21/how-to-upgrade-proxmox-from-3-x-to-4-1/

Leave a Reply

Your email address will not be published. Required fields are marked *