Huawei Cloud EulerOS-迁移操作:安装迁移工具并检查迁移条件
安装迁移工具并检查迁移条件
- 从华为云开源镜像站下载最新版本的迁移工具安装包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。
- 设置web迁移方式。
- 执行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