云服务器内容精选

  • 前提条件 HCE中已安装dnf组件,dnf命令可用。 [root@localhost bin]# dnfusage: dnf [options] COMMANDList of Main Commands:alias List or create command aliasesautoremove remove all unneeded packages that were originally installed as dependenciescheck check for problems in the packagedbcheck-update check for available package upgradesclean remove cached datadeplist [deprecated, use repoquery --deplist] List package's dependencies and what packages provide themdistro-sync synchronize installed packages to the latest available versionsdowngrade Downgrade a package......
  • 升级步骤 检查待更新的RPM包。 执行dnf list updates命令查看所有待更新的RPM包列表。 [root@localhost bin]# dnf list updates Last metadata expiration check: 6:49:11 ago on Tue 28 Jun 2022 01:55:35 PM CS T. hce-config.x86_64 3.0-66.hce2 hce-latest-release.x86_64 2.0-1656179342.2.0.2206.B032.hce2 irqbalance.x86_64 3:1.8.0-7.h9.hce2 kernel.x86_64 5.10.0-60.18.0.50.h316_1.hce2kernel-tools.x86_64 5.10.0-60.18.0.50.h316_1.hce2 kernel-tools-libs.x86_64 5.10.0-60.18.0.50.h316_1.hce2kexec-tools.x86_64 2.0.23-4.h8.hce2 libcurl.x86_64 7.79.1-2.h4.hce2 libssh.x86_64 0.9.6-2.h3.hce2 libstdc++.x86_64 10.3.1-10.h10.hce2 libxml2.x86_64 2.9.12-5.h5.hce2 openssh.x86_64 8.8p1-2.h12.hce2 openssh-clients.x86_64 8.8p1-2.h12.hce2 openssh-server.x86_64 8.8p1-2.h12.hce2 Obsoleting Packages dnf-data.noarch 4.10.0-3.h6.hce2 dnf.noarch 4.10.0-3.h5.hce2 dnf-data.noarch 4.10.0-3.h6.hce2 dnf-data.noarch 4.10.0-3.h5.hce2 执行dnf list updates --security命令,仅查看安全更新涉及的RPM包。 [root@localhost bin]# dnf list updates --security Last metadata expiration check: 0:00:03 ago on Fri 08 Jul 2022 04:45:56 PM CST. No security updates needed, but 2 updates available 升级待更新的RPM包。 执行dnf update命令升级所有待更新的RPM包,包括安全更新涉及的RPM包和漏洞修复。执行命令输出信息中会显示组件的目标版本信息(Version列)。 [root@localhost bin]# dnf update Last metadata expiration check: 7:12:18 ago on Tue 28 Jun 2022 01:55:35 PM CST. Dependencies resolved. ================================================================================================ Package Arch Version Repo Size ================================================================================================ Installing: kernel x86_64 5.10.0-60.18.0.50.h316_1.hce2 hce2 47 M Upgrading: hce-config x86_64 3.0-66.hce2 hce2 13 k hce-latest-release x86_64 2.0-1656179342.2.0.2206.B032.hce2 hce2 5.2 k kernel-tools x86_64 5.10.0-60.18.0.50.h316_1.hce2 hce2 230 k kernel-tools-libs x86_64 5.10.0-60.18.0.50.h316_1.hce2 hce2 62 k kexec-tools x86_64 2.0.23-4.h8.hce2 hce2 400 k libcurl x86_64 7.79.1-2.h4.hce2 hce2 284 k libssh x86_64 0.9.6-2.h3.hce2 hce2 194 k libstdc++ x86_64 10.3.1-10.h10.hce2 hce2 535 k libxml2 x86_64 2.9.12-5.h5.hce2 hce2 659 k logrotate x86_64 3.18.1-1.h2.hce2 hce2 60 k mdadm x86_64 4.1-5.h2.hce2 hce2 331 k nftables x86_64 1:1.0.0-1.h3.hce2 hce2 303 k perl x86_64 4:5.34.0-3.h5.hce2 hce2 3.2 M perl-libs x86_64 4:5.34.0-3.h5.hce2 hce2 1.8 M Installing dependencies: grub2-tools-efi x86_64 1:2.06-3.h5.hce2 hce2 472 k Transaction Summary ================================================================================================ Install 2 Packages Upgrade 72 Packages Total download size: 105 M Is this ok [y/N]: 执行dnf update --security命令,仅升级安全更新涉及的RPM包。 [root@localhost bin]# dnf update --security Last metadata expiration check: 7:15:16 ago on Tue 28 Jun 2022 01:55:35 PM CST. No security updates needed, but 73 updates available Dependencies resolved. Nothing to do. Complete! 升级成功后,请及时确认业务运行情况。 升级过程中遇到的常见问题: 安全规范要求chronyd服务在安装/升级后默认处于disabled状态,所以从HCE-2.0.2206版本升级至新版本后,chronyd服务会处于disabled状态。如有需要,您可通过systemctl enable chronyd使能该服务,并通过systemctl start chronyd启动该服务。
  • 概述 OSMT是华为云提供的对HCE系统及RPM包升级和回退的工具。OSMT可自定义配置RPM包的升级范围,并支持周期性定时升级、在指定的时间段单次升级、延时升级并重启等功能。 版本升级和回退:介绍对整体HCE系统的升级及回退操作。 更新RPM包:介绍仅对RPM包的升级和回退操作。 OSMT仅支持针对HCE 2.0及之后的版本进行升级和回退。该工具会周期访问repo源以获取软件更新信息,从而产生网络流量。您可通过systemctl stop osmt-agent命令停止该服务,并通过systemctl disable osmt-agent命令禁用该服务自启动。 父主题: 使用OSMT工具升级
  • 冲突包列表 冲突包列表表示在原系统中存在与HCE系统冲突的软件包,会影响升级过程。 冲突包会在升级过程中自动卸载并且不会再安装上,升级前请评估原系统依赖的软件包是否在此冲突列表内,以免造成升级完成后软件缺失。 如果发现升级后软件包丢失,可以通过yum命令安装新版本软件包。 如果升级过程中遇到其他冲突问题,可以修改/etc/centos2hce2.conf配置文件,参考本章节冲突包列表增加自定义的冲突包名称。 表1 CentOS 8系列冲突包列表 CentOS版本 冲突包列表 CentOS8.0 rust-doc intel-gpu-tools netcf-libs redhat-rpm-config asciidoc gnuplot-common perf tigervnc-icons libpq-devel paratype-pt-sans-caption-fonts scala-apidoc java-11-openjdk-devel java-11-openjdk-headless java-1.8.0-openjdk-headless dovecot systemd-journal-remote pcp-manager pcp-webapi libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant tigervnc-server-applet java-atk-wrapper java-11-openjdk guava20 javapackages-tools jboss-jaxrs-2.0-api maven-shared-utils tagsoup cdi-api libbase geronimo-annotation pentaho-reporting-flow-engine maven-resolver-api apache-commons-codec maven-lib jansi-native maven-wagon-provider-api libguestfs-java apache-commons-cli istack-commons-tools jline plexus-cipher istack-commons-runtime jcl-over-slf4j apache-commons-io maven-resolver-spi maven-wagon-file httpcomponents-core icedtea-web glassfish-el-api aopalliance hawtjni-runtime plexus-containers-component-annotations flute jboss-annotations-1.2-api liblayout java-1.8.0-openjdk postgresql-jdbc mariadb-java-client plexus-sec-dispatcher google-guice libformula jdeparser ant-lib maven-wagon-http-shared jboss-logging plexus-classworlds slf4j librepository ongres-scram-client sisu-plexus libfonts plexus-interpolation java-1.8.0-openjdk-src plexus-utils scala-swing maven-wagon-http ongres-scram maven-resolver-impl libloader httpcomponents-client atinject apache-commons-logging maven-resolver-connector-basic jansi jsoup maven-resolver-util jboss-interceptors-1.2-api libreoffice-ure byteman sac apache-commons-lang3 libserializer scala maven-resolver-transport-wagon jboss-logging-tools sisu-inject libreoffice-core java-1.8.0-openjdk-devel CentOS8.1 kernel-rpm-macros intel-gpu-tools netcf-libs redhat-rpm-config asciidoc gnuplot-common perf tigervnc-icons libpq-devel paratype-pt-sans-caption-fonts java-1.8.0-openjdk-headless java-11-openjdk-headless java-11-openjdk-devel pcp-pmda-rpm pcp-pmda-podman scala-apidoc libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant tigervnc-server-applet java-atk-wrapper java-11-openjdk jansi-native hawtjni-runtime ongres-scram jboss-annotations-1.2-api liblayout atinject plexus-utils istack-commons-tools jline apache-commons-io ongres-scram-client maven-shared-utils maven-resolver-impl libfonts jsoup apache-commons-codec glassfish-el-api jdeparser maven-resolver-util scala-swing tagsoup google-guice istack-commons-runtime jcl-over-slf4j pentaho-reporting-flow-engine maven-resolver-api maven-resolver-connector-basic libloader slf4j apache-commons-cli maven-wagon-provider-api maven-resolver-transport-wagon byteman httpcomponents-client jna java-1.8.0-openjdk-devel maven-lib libreoffice-core java-1.8.0-openjdk-src javapackages-tools plexus-cipher cdi-api jboss-logging sisu-inject httpcomponents-core guava20 sac libbase jboss-jaxrs-2.0-api java-1.8.0-openjdk libserializer plexus-containers-component-annotations jboss-interceptors-1.2-api jboss-logging-tools libguestfs-java ant-lib libreoffice-ure maven-resolver-spi maven-wagon-file jansi maven-wagon-http-shared apache-commons-lang3 postgresql-jdbc mariadb-java-client plexus-sec-dispatcher sisu-plexus scala plexus-classworlds flute maven-wagon-http icedtea-web libformula plexus-interpolation aopalliance geronimo-annotation librepository apache-commons-logging CentOS8.2 python-psycopg2-doc exiv2 llvm-googletest adwaita-qt llvm-static rust-doc intel-gpu-tools netcf-libs flatpak-session-helper asciidoc perf tigervnc-icons paratype-pt-sans-caption-fonts java-1.8.0-openjdk-headless java-11-openjdk-devel java-11-openjdk-headless scala-apidoc libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant tigervnc-server-applet java-atk-wrapper java-11-openjdk jboss-annotations-1.2-api cdi-api ongres-scram maven-resolver-util apache-commons-codec istack-commons-tools icedtea-web plexus-classworlds plexus-utils maven-wagon-http-shared atinject javapackages-tools istack-commons-runtime jline geronimo-annotation jansi jdeparser byteman liblayout maven-resolver-transport-wagon jmc-core ant-lib libreoffice-core jansi-native jcl-over-slf4j slf4j ee4j-parent libfonts maven-wagon-http jboss-logging jboss-interceptors-1.2-api tagsoup httpcomponents-client plexus-containers-component-annotations apache-commons-lang3 jaf java-1.8.0-openjdk-src jsoup guava20 flute apache-commons-cli libbase ongres-scram-client jboss-logging-tools plexus-interpolation libloader librepository libreoffice-ure scala-swing jboss-jaxrs-2.0-api maven-resolver-spi maven-lib apache-commons-io hawtjni-runtime google-guice aopalliance libguestfs-java postgresql-jdbc jna glassfish-el-api maven-resolver-impl java-1.8.0-openjdk directory-maven-plugin mariadb-java-client httpcomponents-core maven-wagon-file maven-wagon-provider-api owasp-java-encoder libserializer maven-shared-utils plexus-cipher java-1.8.0-openjdk-devel plexus-sec-dispatcher pentaho-reporting-flow-engine maven-resolver-api sac scala libformula sisu-inject apache-commons-logging maven-resolver-connector-basic sisu-plexus CentOS8.3 netcf-libs rust-doc git-credential-libsecret texlive-context intel-gpu-tools flatpak-session-helper asciidoc perf tigervnc-icons paratype-pt-sans-caption-fonts java-1.8.0-openjdk-headless java-11-openjdk-devel java-11-openjdk-headless libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant tigervnc-server-applet java-atk-wrapper java-11-openjdk exiv2 llvm-googletest adwaita-qt llvm-static python-psycopg2-doc scala-apidoc libXau libappstream-glib jmc-core byteman libfonts jaf jcl-over-slf4j mariadb-java-client tagsoup libguestfs-java jsoup apache-commons-cli sisu-inject jansi-native jna apache-commons-lang3 flute librepository javapackages-tools cdi-api ongres-scram java-1.8.0-openjdk-devel sisu-plexus istack-commons-runtime jboss-logging guava20 java-1.8.0-openjdk-src maven-resolver-util geronimo-annotation hawtjni-runtime jboss-annotations-1.2-api ongres-scram-client maven-resolver-connector-basic slf4j sac apache-commons-codec atinject maven-wagon-http libreoffice-ure plexus-cipher jboss-interceptors-1.2-api jline pentaho-reporting-flow-engine httpcomponents-core liblayout istack-commons-tools jdeparser maven-wagon-provider-api ee4j-parent apache-commons-io maven-resolver-spi jboss-logging-tools plexus-sec-dispatcher plexus-containers-component-annotations jboss-jaxrs-2.0-api scala libbase libreoffice-core httpcomponents-client directory-maven-plugin java-1.8.0-openjdk libformula maven-wagon-file maven-shared-utils aopalliance glassfish-el-api owasp-java-encoder postgresql-jdbc libloader google-guice plexus-classworlds ant-lib maven-resolver-api plexus-interpolation java-1.8.0-openjdk-slowdebug maven-resolver-impl java-1.8.0-openjdk-headless-slowdebug prometheus-jmx-exporter maven-resolver-transport-wagon jolokia-jvm-agent maven-wagon-http-shared maven-lib jansi HdrHistogram apache-commons-logging plexus-utils icedtea-web libserializer scala-swing CentOS8.4 python-psycopg2-doc anaconda-install-env-deps hwloc-gui python3-lit exiv2 cups-filters cups-filters-libs gutenprint adwaita-qt cups cups-lpd hplip-common hwloc-libs gutenprint-doc gutenprint-libs gutenprint-libs-ui hwloc foomatic-db-ppds foomatic-db python39-pip python39-setuptools python39-numpy python39-chardet python39-psutil python39-urllib3 python39-requests python39-wheel libasan6 paratype-pt-sans-caption-fonts python39-six python39-idna python39-ply python39-pyyaml python39-pycparser python39-lxml python39-pysocks rust-doc netcf-libs git-credential-libsecret texlive-context flatpak-session-helper asciidoc intel-gpu-tools tigervnc-icons jmc-core byteman libfonts jaf jcl-over-slf4j mariadb-java-client tagsoup libguestfs-java jsoup apache-commons-cli sisu-inject jansi-native jna apache-commons-lang3 flute librepository javapackages-tools cdi-api ongres-scram java-1.8.0-openjdk-devel sisu-plexus istack-commons-runtime jboss-logging guava20 java-1.8.0-openjdk-src maven-resolver-util geronimo-annotation hawtjni-runtime jboss-annotations-1.2-api ongres-scram-client maven-resolver-connector-basic slf4j sac apache-commons-codec atinject maven-wagon-http libreoffice-ure plexus-cipher jboss-interceptors-1.2-api jline pentaho-reporting-flow-engine httpcomponents-core liblayout istack-commons-tools jdeparser maven-wagon-provider-api ee4j-parent apache-commons-io maven-resolver-spi jboss-logging-tools plexus-sec-dispatcher plexus-containers-component-annotations jboss-jaxrs-2.0-api scala libbase libreoffice-core httpcomponents-client directory-maven-plugin java-1.8.0-openjdk libformula maven-wagon-file maven-shared-utils aopalliance glassfish-el-api owasp-java-encoder postgresql-jdbc libloader google-guice plexus-classworlds ant-lib maven-resolver-api plexus-interpolation java-1.8.0-openjdk-slowdebug maven-resolver-impl java-1.8.0-openjdk-headless-slowdebug prometheus-jmx-exporter maven-resolver-transport-wagon jolokia-jvm-agent maven-wagon-http-shared maven-lib jansi HdrHistogram apache-commons-logging plexus-utils icedtea-web libserializer scala-swing java-1.8.0-openjdk-headless java-11-openjdk-devel java-11-openjdk-headless libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant java-atk-wrapper java-11-openjdk scala-apidoc libappstream-glib PackageKit-gtk3-module gnome-software flatpak-libs PackageKit-glib PackageKit-gstreamer-plugin libpq-devel poppler perf CentOS8.5 bluez python-psycopg2-doc perl-Devel-Peek OpenIPMI-libs anaconda-install-env-deps postfix-mysql perl-Devel-SelfStubber metacity bluez-libs libicu vte-profile qt5-qttools-examples exiv2 cups-filters cups-filters-libs gutenprint gnome-session cups cups-lpd hplip-common hwloc gnome-session-wayland-session gutenprint-doc gutenprint-libs gutenprint-libs-ui gnome-session-xsession foomatic-db-ppds foomatic-db gnome-classic-session gnome-shell-extension-apps-menu gnome-shell-extension-auto-move-windows gnome-shell-extension-drive-menu gnome-shell-extension-launch-new-instance gnome-shell-extension-native-window-placement gnome-shell-extension-places-menu gnome-shell-extension-screenshot-window-sizer gnome-shell-extension-user-theme gnome-shell-extension-window-list gnome-shell-extension-windowsNavigator gnome-shell-extension-workspace-indicator python39-six python39-idna python39-ply python39-pyyaml python39-pycparser python39-psutil python39-urllib3 python39-lxml python39-pysocks xorg-x11-server-Xwayland compat-hwloc1 bluez-obexd bluez-hid2hci netcf-libs git-credential-libsecret texlive-context flatpak-session-helper asciidoc intel-gpu-tools tigervnc-icons libasan6 paratype-pt-sans-caption-fonts pcp-pmda-podman jmc-core byteman libfonts jaf jcl-over-slf4j mariadb-java-client tagsoup libguestfs-java jsoup apache-commons-cli sisu-inject jansi-native jna apache-commons-lang3 flute librepository javapackages-tools cdi-api ongres-scram java-1.8.0-openjdk-devel sisu-plexus istack-commons-runtime jboss-logging guava20 java-1.8.0-openjdk-src maven-resolver-util geronimo-annotation hawtjni-runtime jboss-annotations-1.2-api ongres-scram-client maven-resolver-connector-basic slf4j sac apache-commons-codec atinject maven-wagon-http libreoffice-ure plexus-cipher jboss-interceptors-1.2-api jline pentaho-reporting-flow-engine httpcomponents-core liblayout istack-commons-tools jdeparser maven-wagon-provider-api ee4j-parent apache-commons-io maven-resolver-spi jboss-logging-tools plexus-sec-dispatcher plexus-containers-component-annotations jboss-jaxrs-2.0-api scala libbase libreoffice-core httpcomponents-client directory-maven-plugin java-1.8.0-openjdk libformula maven-wagon-file maven-shared-utils aopalliance glassfish-el-api owasp-java-encoder postgresql-jdbc libloader google-guice plexus-classworlds ant-lib maven-resolver-api plexus-interpolation java-1.8.0-openjdk-slowdebug maven-resolver-impl java-1.8.0-openjdk-headless-slowdebug prometheus-jmx-exporter maven-resolver-transport-wagon jolokia-jvm-agent maven-wagon-http-shared maven-lib jansi HdrHistogram apache-commons-logging plexus-utils icedtea-web libserializer scala-swing java-1.8.0-openjdk-headless java-11-openjdk-devel java-11-openjdk-headless libguestfs-java-devel libguestfs-javadoc icedtea-web-javadoc systemtap-runtime-java java-1.8.0-openjdk-accessibility java-1.8.0-openjdk-demo ant java-atk-wrapper java-11-openjdk scala-apidoc libappstream-glib PackageKit-gtk3-module gnome-software flatpak-libs PackageKit-glib PackageKit-gstreamer-plugin coreos-installer-bootinfra OpenIPMI rust cargo perf flatpak hplip-libs nautilus gutenprint-cups libgtop2 PackageKit libsane-hpaio PackageKit-command-not-found xorg-x11-drv-wacom-serial-support clutter clutter-gtk clutter-gst3 cheese-libs cheese gnome-initial-setup gnome-control-center clutter-gst2 表2 CentOS 7系列冲突包列表 CentOS版本 冲突包列表 CentOS7.0 texlive-kpathsea-lib libdhash libref_array libbasicobjects qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm tomcat-servlet-3.0-api gnuplot-common postgresql-devel tigervnc-icons squid perf dovecot dovecot-mysql dovecot-pgsql dovecot-pigeonhole lvm2-cluster CentOS7.1 texlive-kpathsea-lib libdhash libref_array qemu-kvm-tools texlive-dvipdfm-bin tomcat-servlet-3.0-api gnuplot-common squid tigervnc-icons postgresql-devel perf dovecot dovecot-mysql dovecot-pgsql dovecot-pigeonhole lvm2-cluster texlive-dvipdfm libcacard CentOS7.2 texlive-kpathsea-lib libdhash qemu-kvm-tools rdma-ndd texlive-dvipdfm texlive-dvipdfm-bin dstat tomcat-servlet-3.0-api gnuplot-common perf squid tigervnc-icons tigervnc-icons postgresql-devel dovecot dovecot-pgsql dovecot-pigeonhole lvm2-cluster ipa-server-trust-ad CentOS7.3 spice-glib texlive-kpathsea-lib libdhash qemu-kvm-tools rdma-ndd texlive-dvipdfm texlive-dvipdfm-bin dstat tomcat-servlet-3.0-api gnuplot-common perf squid tigervnc-icons postgresql-devel dovecot dovecot-mysql dovecot-pgsql dovecot-pigeonhole lvm2-cluster pcp-pmda-kvm pcp-pmda-rpm spice-gtk3 vinagre ipa-server ipa-server-trust-ad CentOS7.4 spice-glib texlive-kpathsea-lib libdhash qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api gnuplot-common perf squid tigervnc-icons postgresql-devel lvm2-cluster spice-gtk3 vinagre CentOS7.5 spice-glib texlive-kpathsea-lib qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api gnuplot-common perf squid tigervnc-icons postgresql-devel lvm2-cluster spice-gtk3 vinagre CentOS7.6 shim-x64 spice-glib adwaita-gtk2-theme texlive-kpathsea-lib qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api gnuplot-common cockpit-ws perf squid tigervnc-icons postgresql-devel java-11-openjdk-headless lvm2-cluster spice-gtk3 vinagre CentOS7.7 shim-x64 spice-glib openmpi adwaita-gtk2-theme exiv2 texlive-kpathsea-lib qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api cockpit-ws gnuplot-common perf squid tigervnc-icons postgresql-devel java-11-openjdk-headless lvm2-cluster spice-gtk3 openmpi-devel vinagre CentOS7.8 shim-x64 spice-glib openmpi adwaita-gtk2-theme exiv2 texlive-kpathsea-lib qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api cockpit-ws gnuplot-common perf squid tigervnc-icons postgresql-devel java-11-openjdk-headless lvm2-cluster spice-gtk3 openmpi-devel vinagre CentOS7.9 spice-glib openmpi adwaita-gtk2-theme exiv2 gnuplot-common texlive-kpathsea-lib perf qemu-kvm-tools texlive-dvipdfm-bin texlive-dvipdfm dstat tomcat-servlet-3.0-api cockpit-ws squid tigervnc-icons postgresql-devel java-11-openjdk-headless lvm2-cluster spice-gtk3 openmpi-devel 表3 HCE冲突包列表 HCE 冲突包列表 HCE 1.1 spice-glib openmpi exiv2 sg3_utils spice-gtk3 openmpi-devel kernel-hcek tomcat-servlet-3.0-api kernel-hcek-devel dstat gnuplot-common cockpit-ws perf squid postgresql-devel java-11-openjdk-headless lvm2-cluster fcoe-utils libblockdev udisks2 python-blivet device-mapper-multipath device-mapper-multipath-libs libblockdev-crypto libblockdev-fs libblockdev-loop libblockdev-mdraid libblockdev-nvdimm libblockdev-part libblockdev-swap libblockdev-utils NetworkManager-team NetworkManager-bluetooth NetworkManager-wifi libstorage-uio-static kiwi-dlimage 表4 EulerOS冲突包列表 EulerOS 冲突包列表 EulerOS 2.9 euleros-release;euleros-latest-release;kiwi-systemdeps;python3-kiwi NetworkManager-team NetworkManager-bluetooth NetworkManager-wifi libstorage-uio-static kiwi-dlimage systemd-udev-compat EulerOS 2.10 euleros-release;euleros-latest-release;kiwi-systemdeps;python3-kiwi NetworkManager-team NetworkManager-bluetooth NetworkManager-wifi libstorage-uio-static kiwi-dlimage systemd-udev-compat 父主题: 将操作系统迁移至HCE 2.0
  • 后续处理 如果切换操作系统前后都是Linux系统,且数据盘设置了开机自动挂载分区。切换操作系统后,数据盘分区挂载信息会丢失,请更新/etc/fstab配置。 在/etc/fstab写入切换后的分区信息。 建议您先备份/etc/fstab文件。 详细操作请参考初始化Linux数据盘(fdisk),设置开机自动挂载磁盘分区。 挂载分区。挂载分区后即可开始使用数据盘。 mount diskname mountpoint 执行以下命令,查看挂载结果。 df -TH 如果操作系统切换失败,公有云平台支持重试功能,用户可重新执行2-7,切换操作系统。 重试后,如果仍未成功,可联系客服进行人工恢复。
  • 工具概述 x2hce-ca是华为云对系统迁移提供的一款免费的应用兼容性评估工具。x2hce-ca通过对待迁移应用进行快速扫描分析,帮助您评估应用在源操作系统和目标操作系统的兼容性。 表1 支持兼容性评估的x86公共镜像 OS发行系列 源操作系统 目标操作系统 HCE 64bit:Huawei Cloud EulerOS:1.1 Huawei Cloud EulerOS 2.0 标准版 64位 EulerOS 64bit:EulerOS:2.10/2.9/2.8/2.5/2.3/2.2 Huawei Cloud EulerOS 2.0 标准版 64位 CentOS 64bit:CentOS 7:7.9/7.8/7.7/7.6/7.5/7.4/7.3/7.2/7.1/7.0 64bit:CentOS 8:8.3/8.2/8.1/8.0 Huawei Cloud EulerOS 2.0 标准版 64位 64bit:CentOS 7:7.9/7.6 Huawei Cloud EulerOS 1.1 CentOS兼容版 表2 支持兼容性评估的Arm公共镜像 OS发行系列 源操作系统 目标操作系统 EulerOS 64bit:EulerOS:2.10/2.9/2.8 Huawei Cloud EulerOS 2.0 标准版 64位 Arm版 父主题: x2hce-ca应用兼容性评估
  • 切换须知 切换操作系统后,将不再保留原操作系统,并删除原有系统盘及清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。详细内容,请参考备份弹性云服务器。 切换操作系统不影响数据盘数据。 切换操作系统后IP地址和MAC地址不发生改变。 切换操作系统成功后会自动开机。 切换操作系统后不支持更换系统盘的云硬盘类型。 切换操作系统后,您的业务运行环境需要在新的系统中重新部署。 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 重新配置云服务器DNS信息请参考:怎样配置弹性云服务器的DNS和NTP信息? 重新配置主机名请参考:怎样使修改的静态主机名永久生效?
  • 升级概述 HCE提供操作系统和RPM包的更新维护,包括部署在HCE上的RPM包、安全更新涉及的RPM包和漏洞修复。为了操作系统和RPM包的使用更加安全,请及时升级。 HCE支持使用dnf/yum命令和OSMT工具两种升级方式。 Linux自身支持dnf/yum命令,可对RPM包进行升级和回退,升级操作简单。 OSMT是华为云提供的对HCE系统及RPM包升级和回退的工具,可自定义升级范围和定时检查、延迟重启。 两种升级方式区别如下。 表1 升级方式区别 项目 使用dnf或yum命令升级 使用OSMT工具升级 RPM包升级 支持无差别升级所有待更新的RPM包,包括安全更新涉及的RPM包和漏洞修复。 支持仅升级安全更新涉及的RPM包。 支持无差别升级所有待更新的RPM包,包括安全更新涉及的RPM包和漏洞修复。 支持自定义升级范围: 升级不需要重启的RPM包。 升级需要重启的RPM包。 升级自定义黑白名或白名单列表中的RPM包。 升级安全更新涉及的RPM包。 漏洞修复。 升级新增功能的RPM包。 更新新增的RPM包。 支持自定义时间自动更新RPM包、延迟重启。 系统版本升级 不支持系统版本升级 支持HCE 2.0及以上版本的升级 支持升级的版本 支持HCE 1.1及以上版本的RPM包升级。 支持HCE 2.0及以上版本的RPM包升级。 回退 支持回退所有历史操作。 系统或RPM包仅支持最近一次升级的回退。 父主题: 更新HCE系统和RPM包
  • 前提条件 待切换操作系统的挂载有系统盘。 如果原服务器使用的是密码登录方式,切换操作系统后使用密钥登录方式,请提前创建密钥文件。 如果您使用私有镜像切换操作系统请参考《 镜像服务 用户指南》提前完成私有镜像的制作。 如果需要指定云服务器的镜像,请提前使用指定云服务器创建私有镜像。 如果需要使用本地的镜像文件,请提前将镜像文件导入并注册为云平台的私有镜像。 如果需要使用其他区域的私有镜像,请提前复制镜像。 如果需要使用其他账号的私有镜像,请提前完成镜像共享。
  • 使用镜像归档文件启动容器 确认repo源配置正常。 请检查默认的/etc/yum.repos.d/hce.repo配置文件中参数是否正确,正确的配置如下。 [base]name=HCE $releasever basebaseurl=https://repo.huaweicloud.com/hce/$releasever/os/$basearch/enabled=1gpgcheck=1gpgkey=https://repo.huaweicloud.com/hce/$releasever/os/RPM-GPG-KEY-HCE-2[updates]name=HCE $releasever updatesbaseurl=https://repo.huaweicloud.com/hce/$releasever/updates/$basearch/...... 安装docker软件包。 yum install docker -y 使用镜像归档文件创建容器镜像。 mv /tmp/docker_rootfs/hce-docker.x86_64.tar.xz .docker import hce-docker.x86_64.tar.xz 执行docker images命令可查看到容器镜像ID为6cfefae3a541。 创建镜像可使用如下命令指定镜像的REPOSITORY和TAG参数。 docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] 在容器中运行镜像bash文件。 运行如下命令后,如果shell视图改变,表示成功进入容器bash。 docker run -it 6cfefae3a541 bash
  • 版本升级 确认repo源配置正常。 请检查默认的/etc/yum.repos.d/hce.repo配置文件中参数是否正确,正确的配置如下。 [base]name=HCE $releasever basebaseurl=https://repo.huaweicloud.com/hce/$releasever/os/$basearch/enabled=1gpgcheck=1gpgkey=https://repo.huaweicloud.com/hce/$releasever/os/RPM-GPG-KEY-HCE-2[updates]name=HCE $releasever updatesbaseurl=https://repo.huaweicloud.com/hce/$releasever/updates/$basearch/...... 错误的配置内容可能会导致OSMT升级失败,或非预期的升级行为。 更新OSMT软件版本。 OSMT软件版本和HCE版本存在配套关系。HCE默认安装当前系统的OSMT工具,系统升级时,需要将OSMT更新至目标系统版本对应的OSMT版本。 执行dnf update osmt -y --releasever [系统目标版本号] 更新OSMT。例如,将HCE 2.0升级到HCE 2.1,则执行dnf update osmt -y --releasever 2.1命令更新OSMT到最新版本。 若误将OSMT删除,执行dnf install osmt -y --releasever [系统目标版本号] 进行安装。例如,将系统升级至HCE 2.1,则执行dnf install osmt -y --releasever 2.1命令安装OSMT最新版本。 升级HCE系统版本。 osmt update --releasever [系统目标版本号] --reboot_config [重启配置] 请根据是否需要立刻重启,选择合适的升级方式。更多的升级选项,详见osmt update -h。 将HCE 2.0升级到目标版本,如HCE 2.1。 osmt update --releasever 2.1 升级后,须执行reboot命令重启系统,目标系统版本才能生效。 将HCE 2.0升级到目标版本,如HCE 2.1,并立刻重启。 osmt update --releasever 2.1 --reboot_config always 将HCE 2.0升级到目标版本,如HCE 2.1,并指定重启时间,如“2022-12-30 23:00:00”。 osmt update --releasever 2.1 --reboot_config "2022-12-30 23:00:00" 重启完成后,检查是否升级成功。 执行cat /etc/hce-latest查看hceversion字段,若此字段中版本部分是--releasever指定的版本号,表示升级成功。 (可选)删除升级备份文件。 确认升级后功能正常后,执行osmt remove删除备份文件。 请确认升级无异常后再执行osmt remove。执行osmt remove将删除所有升级备份数据,执行后无法再执行回退。
  • 版本回退 请根据是否需要立刻重启,选择合适的回退方式。 回退至原系统,不立刻重启。 osmt rollback 回退至原系统并立刻重启。使用此方式,请忽略步骤2。 osmt rollback --reboot_config always 执行reboot命令重启系统。 必须重启系统才能回退到HCE的原系统版本。 检查是否回退成功。 可执行cat /etc/hce-latest查看hceversion字段,若此字段中版本部分是升级前的版本号,表示已回退成功。
  • 迁移系统至HCE 执行迁移命令centos2hce2.py --upgrade all 进行系统迁移。 出现migrare sucess提示信息,表明系统迁移成功。迁移后支持回退至原系统,详见操作步骤1。 迁移命令不能设置为Linux后台执行方式。 可附加--simple_name参数,使得迁移后的grub菜单中显示Huawei Cloud EulerOS的简称。 在升级过程中如果遇到因为网络中断、软件包冲突等情况导致的升级失败,可以通过重新执行迁移命令再次进行系统迁移。 在升级过程中如果遇到报错如图1所示,表明升级过程因冲突包中断,需要处理冲突包后再次执行升级。冲突包处理请参见冲突包列表。 图1 冲突包报错 系统迁移完毕后,执行reboot命令(若reboot无响应,执行reboot -f)使系统完成切换。 系统重启后,执行cat /etc/hce-release命令查看迁移后的操作系统信息,执行uname -a命令查看系统内核信息。 若显示Huawei Cloud EulerOS操作系统,则迁移成功;否则迁移失败,请联系技术工程师咨询。 操作系统迁移为Huawei Cloud EulerOS后,控制台仍然显示迁移前的操作系统名称。您可手动更新控制台操作系统名称,具体操作详见迁移系统后,如何更改控制台操作系统名称?。 清理旧版本组件的文件。 待迁移系统迁移到HCE后,新版本组件替换旧版本组件,但此时旧版本组件的文件仍然保存在系统中。执行命令centos2hce2.py --precommit upgrade可清理旧版本组件的文件。 返回信息中提示“upgrade precommit success”表示环境清理成功。 清理动作可执行多次。 (可选)修改Cloud-init相关配置。 若迁移之前的操作系统中存在Cloud-init,服务状态正常,且Cloud-init为rpm包形式,请跳过此步骤。 若迁移之前的操作系统存在Cloud-init服务,服务状态正常,且Cloud-init为某个文件(如CentOS 7系列),非rpm包形式,迁移后请对/etc/cloud/cloud.cfg文件进行如下配置。 设置开放root密码远程登录并开启root用户的ssh权限。 设置“disable_root”为“0”不禁用root用户;“ssh_pwauth”为“1”启用密码远程登录;“lock_passwd”为“False”不锁住用户密码。 users: - name: root lock_passwd: Falsedisable_root: 0ssh_pwauth: 1 执行/usr/bin/cloud-init init --local命令,无错误发生,说明Cloud-init配置成功。 正确安装的Cloud-init会显示Cloud-init的版本详细信息,并且无任何错误信息。 如果在升级完成后出现cloud-init不可用的情况,需要重新安装cloud-init软件,具体操作参照安装Cloud-Init工具。 (可选)因迁移时会自动关闭selinux服务,如迁移后需启用selinux,执行centos2hce2.py --precommit upg-selinux命令。此命令分为两个阶段,每次执行后都需重启系统(若迁移前未开启selinux请忽略此步骤)。 执行centos2hce2.py --precommit upg-selinux命令。 [root@localhost ~]# centos2hce2.py --precommit upg-selinux2022-08-21 23:46:23,891-INFO-centos2hce2.py-[line:1239]: precommit migration2022-08-21 23:46:23,891-INFO-centos2hce2.py-[line:1149]: begin to set selinux2022-08-21 23:46:23,892-INFO-centos2hce2.py-[line:1157]: grub path is /boot/grub2/grub.cfg2022-08-21 23:46:23,895-INFO-centos2hce2.py-[line:1162]: sed selinux succeed2022-08-21 23:46:23,897-INFO-centos2hce2.py-[line:1167]: create autorelabel file succeed2022-08-21 23:46:23,901-INFO-centos2hce2.py-[line:1172]: modify selinux config succeed2022-08-21 23:46:23,901-INFO-centos2hce2.py-[line:1174]: create phase 1 flag file succeed2022-08-21 23:46:23,901-INFO-centos2hce2.py-[line:1184]: selinux has been set, please reboot now2022-08-21 23:46:23,901-INFO-centos2hce2.py-[line:1206]: upgrade precommit selinux success[root@localhost ~]# reboot 系统重启后,再次执行centos2hce2.py --precommit upg-selinux命令。 [root@localhost ~]# centos2hce2.py --precommit upg-selinux2022-08-21 23:57:07,576-INFO-centos2hce2.py-[line:1239]: precommit migration2022-08-21 23:57:07,576-INFO-centos2hce2.py-[line:1176]: now begin to set selinux phase 22022-08-21 23:57:07,580-INFO-centos2hce2.py-[line:1181]: modify selinux config succeed2022-08-21 23:57:07,580-INFO-centos2hce2.py-[line:1183]: create phase 2 flag file succeed2022-08-21 23:57:07,580-INFO-centos2hce2.py-[line:1184]: selinux has been set, please reboot now2022-08-21 23:57:07,580-INFO-centos2hce2.py-[line:1206]: upgrade precommit selinux success[root@localhost ~]# reboot c.第二次重启后,执行getenforce查看selinux状态,Enforcing表明selinux为开启状态。 [root@localhost ~]# getenforceEnforcing (可选)确认迁移完毕后,清理原系统数据。 迁移操作完成后,原系统的系统数据仍然保留在新系统中,并占用较大内存。建议执行centos2hce2.py --commit all命令清理数据。 执行命令后,系统会自动清理原系统的系统数据,包括步骤3中备份路径下的系统数据。 执行命令后,操作系统无法回退。 [root@localhost ~]# centos2hce2.py --commit all2022-08-22 04:45:32,601-INFO-centos2hce2.py-[line:1242]: commit migration
  • 系统回退 系统回退。 迁移操作支持系统回退,您可根据需要决定是否回退至原操作系统。 执行centos2hce2.py --rollback all命令进行系统回退。回退后,执行reboot命令对系统重启。 执行centos2hce2.py --precommit rollback命令,恢复环境。 (可选)若迁移前已开启selinux,迁移时会自动关闭selinux服务。如有需要,回退后请手动恢复selinux状态。 执行centos2hce2.py --precommit rbk-selinux命令。 [root@localhost ~]# centos2hce2.py --precommit rbk-selinux2022-09-05 03:58:37,015-INFO-centos2hce2.py-[line:1401]: precommit migration2022-09-05 03:58:37,047-INFO-centos2hce2.py-[line:1319]: now begin to set selinux2022-09-05 03:58:37,051-INFO-centos2hce2.py-[line:1324]: modify selinux config succeed2022-09-05 03:58:37,051-INFO-centos2hce2.py-[line:1325]: selinux has been set, please reboot now2022-09-05 03:58:37,051-INFO-centos2hce2.py-[line:1340]: set rollback selinux succeed2022-09-05 03:58:37,051-INFO-centos2hce2.py-[line:1365]: upgrade precommit selinux success 执行reboot命令,进行系统重启。 [root@localhost ~]# reboot 系统重启后,可查看到selinux状态为开启状态。 [root@localhost ~]# getenforceEnforcing 清理系统数据。 执行centos2hce2.py --commit all命令清理数据。 执行命令后,系统会自动清理目标系统和原系统的系统数据,包括步骤3中备份路径下的系统数据。 [root@localhost ~]# centos2hce2.py --commit all2022-08-22 04:45:32,601-INFO-centos2hce2.py-[line:1242]: commit migration
  • 安装迁移工具并检查迁移条件 从华为云开源镜像站下载最新版本的迁移工具安装包centos2hce2-*.rpm。 *表示迁移工具版本,本节以centos2hce2-1.0.0-0.0.82.hce2.x86_64.rpm安装包示例。由于迁移工具不断更新,版本号也随之不断更新,操作过程中请适配为实际的安装包名称。 [root@localhost test]# wget https://repo.huaweicloud.com/hce/2.0/updates/x86_64/Packages/centos2hce2-1.0.0-0.0.82.hce2.x86_64.rpm //下载centos2hce2-*.rpm[root@localhost test]# ls //检查是否下载成功centos2hce2-1.0.0-0.0.82.hce2.x86_64.rpm 安装迁移工具。 [root@localhost test]# rpm -ivh centos2hce2-1.0.0-0.0.82.hce2.x86_64.rpm --nodepswarning: centos2hce2-1.0.0-0.0.82.hce2.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8def926: NOKEYVerifying... ################################# [100%]Preparing... ################################# [100%]Updating / installing...1:centos2hce2-1.0.0-0.0.6.hce2 ################################# [100%] 配置待迁移系统的系统软件数据的备份路径。 在系统切换前,迁移工具将自动备份系统软件的所有数据至备份路径。 执行vim /etc/centos2hce2.conf命令,在centos2hce2.conf配置文件中配置backup_dir字段,配置备份路径。backup_dir默认为/mnt/sdb/.osbak。 # backup dirbackup_dir = "/mnt/sdb/.osbak" #配置原系统软件数据的备份路径 为避免迁移过程中系统数据的丢失,建议配置备份目录。 在系统迁移时,迁移工具会自动检查备份目录的空间。建议配置单独的数据盘(如/dev/sdb/,并将该分区挂载到/mnt/sdb/),避免因为空间不足导致的检查失败。 请勿将tmpfs类型的文件系统(如/dev、/run等)作为备份目录,系统重启后tmpfs类型文件系统内的文件会丢失。 设置系统迁移参数。 设置web迁移方式。 web迁移方式通过下载RPM包集合对系统迁移,因此要求在下载RPM包的过程中不能断网。 在centos2hce2.conf配置文件中,参考参数说明进行设置: [repo_relation].....# default yum source, val: web or isodefault_yum_source = 'web'.....# if web as source, web link config as followweb_link_dir = "https://repo.huaweicloud.com/hce/2.0/os/x86_64/;https://repo.huaweicloud.com/hce/2.0/updates/x86_64/" 表1 参数说明 参数 说明 default_yum_source 迁移方式,设置为'web'。 web_link_dir HCE的base repo源和updates repo源地址,多个repo源之间需用英文分号隔开。 设置为https://repo.huaweicloud.com/hce/2.0/os/x86_64/;https://repo.huaweicloud.com/hce/2.0/updates/x86_64/ 在此配置的HCE repo源地址会在迁移过程中自动替换掉当前旧系统的repo源,迁移完成后,系统中将存在HCE的repo源文件与旧系统的repo源文件,建议将/etc/yum.repos.d/目录下不再使用的repo源文件进行清理,只保留HCE的repo源文件。 配置isclose_modules参数,仅CentOS 8系列需要配置。 CentOS 8系列支持将RPM包集成为module的方式批量安装RPM包。HCE不支持此种安装方式。因此系统迁移前,须关闭module功能。 “yes”表示系统迁移前会自动关闭系统上的modules,默认为“yes”。 “no”表示系统迁移前不会自动关闭系统上的modules,且若检测到有modules开启时,迁移操作中断。 [system]# whether close modules, if value is no, system may be not migrateisclose_modules = "yes" 执行命令dnf module list可查看待迁移系统中所有运行的module。 执行命令dnf module list | grep '\[e\]'可查看待迁移系统开启的module。 执行centos2hce2.py --check all命令,检查当前系统配置是否满足迁移条件。 提示“Enviroment check passed!”时,表示满足迁移条件,可直接执行迁移操作。 提示“call migration failed”时,表示不满足迁移条件,请根据步骤6自动处理相关异常信息。Error Number及其对应错误信息请参见表2。 表2 Error Number对应关系 Error Number 错误信息 10001 非root用户下执行迁移工具命令时,需要切换至root。 10002 URL存在问题,/etc/centos2hce2.conf配置文件中web_link_dir、web_link_tar参数填写有误导致无法下载对应repo文件、rpm文件,或者无法连通。 10003 基础命令缺失,例如rpm、yum、yumdownloader命令。 10004 空间检查失败,磁盘空间不足或者内存大小不足。 10005 原系统无本地yum源或者yum源不通,需要重新配置。 10006 目标系统yum源配置有误,检查/etc/centos2hce2.conf配置文件中web_link_dir参数填写是否有误。 10007 安装sut失败,检查/etc/centos2hce2.conf配置文件中web_link_dir参数填写是否有误。 10008 sut检查失败。 10009 依赖检查失败,需要先执行centos2hce2.py --install all安装依赖。 10010 chroot升级方式,清理原有chroot文件夹失败,文件夹路径见/etc/centos2hce2.conf配置文件中的chroot_path。 10011 chroot路径配置错误,/etc/centos2hce2.conf配置文件中chroot_path配置有误。 10012 chroot升级方式,并且配置了预构建环境tar包下载地址,解压tar包失败,检查/etc/centos2hce2.conf配置文件中的web_link_tar参数是否有误。 10013 /etc/ld.so.conf检查失败,需要清理/etc/ld.so.conf文件中除“include ld.so.conf.d/*.conf”之外的字段。 10014 文件系统存在损坏或异常,需要修复。 10015 /etc/fstab文件挂载目录不符合标准,需要将/etc/fstab文件中非LVM卷格式的文件系统分区以UUID进行挂载。 10016 开启文件属性检查后,系统内存在Immutable/Append_Only属性的文件,对于检查出的文件,需要加入到/etc/centos2hce2.conf配置文件中的exclude_dir字段。 10017 /etc/sysconfig/ntpd文件存在-u ntp:ntp配置,需要删除/etc/sysconfig/ntpd文件中-u ntp:ntp字段。 10018 /etc/ssh/sshd_config配置文件存在HCE2.0不支持的算法,需要按照提示删除这些算法。 10019 系统中含有重复的rpm包,请先卸载不再使用的低版本rpm包后再次检查。(如果不想卸载重复包例如多内核场景kernel、kernel-devel等,直接进行升级,可以通过配置/etc/centos2hce2.conf文件中的extra_check_switch = false选项,跳过额外检查。) 安装迁移工具依赖的软件。 执行centos2hce2.py --install all命令,迁移工具会先进行备份,接着系统自动安装迁移工具依赖的软件包,并进行迁移前相关预处理操作。 以下提示表明,已安装依赖的软件包及相关预处理操作,需再次执行步骤5进行环境检查。 2022-08-19 03:12:58,373-INFO-centos2hce2.py-[line:832]: Dependency packages already exist!2022-08-19 03:12:58,373-INFO-centos2hce2.py-[line:891]: migrate install depend options finished