统信 UOS 服务器自动重装系统思路分享(非PXE方式)

文章目录[隐藏]

1、概述

1.1、背景

由于种种原因,机房服务器无法通过PXE方式自动重装,同时又不愿意手动或自动登录带外进行重装操作,可以通过以下方法进行服务器系统的自动安装。

1.2、前提

  • 服务器已安装系统
  • 系统除了系统盘之外,还需要有一块数据盘
  • 依赖上次安装留下的kickstart文件,如果没有也能手动输出

1.3、方案

服务器启动后,会通过grub引导进入系统,修改grub配置可以引导使用OS镜像文件进行启动。

一般情况下OS镜像文件通过带外的虚拟光驱挂载到/dev/cdrom,替换方法是把镜像文件的内容拷贝到一个数据盘上。

2、实战

以下通过示例系统进行操作演示,系统盘在/dev/sdc,数据盘使用/dev/sda。

图片[1]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

2.1、清理数据盘

直接使用mkfs格式化成ext4格式后挂载。

# 格式化/dev/sdaecho y | mkfs -t ext4 /dev/sda

2.2、上传OS镜像文件

提前准备好需要安装的系统iso文件,并上传到服务器上。

为了方便文档的后续步骤说明,上传到镜像文件命名为target.iso。

2.3、挂载镜像和数据盘

# 挂载镜像文件mkdir /root/tempmount /root/target.iso /root/temp# 挂载/dev/sda数据盘mkdir /root/sdamount /dev/sda /root/sda# 拷贝镜像内容到数据盘cp -r /root/temp/* /root/sda/

2.4、拷贝kickstart文件

一般系统安装完会有当前系统的安装信息(包括时区、系统盘划分、预装软件、账号密码),文件是/root/anaconda-ks.cfg,在这个文件的基础上可以直接修改使用。

# 拷贝kickstart文件到数据盘cp /root/anaconda-ks.cfg /root/sda/ks.cfg

2.5、导出当前网络配置(可选)

把网卡的配置文件(/etc/sysconfig/network-scripts目录下的文件)导出成一个shell脚本,导出路径为/root/network-scripts.txt。

注意:Rocky Linux使用NetworkManager配置网卡,因此配置文件不再在/etc/sysconfig/network-scripts目录下,方法不适用。

prefix=\'/etc/sysconfig/network-scripts\'for file in $prefix/*; do  if [[ $file == $prefix/ifcfg-bond* ]] \\    || [[ $file == $prefix/ifcfg-en* ]] \\    || [[ $file == $prefix/route* ]]; then    echo \"cat > $file <> /root/network-scripts.txt  fidone

2.6、修改kickstart文件

修改kickstart文件,添加自定义内容。

图片[2]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

图片[3]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

图片[4]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

上图中,post追加的是我们在2.5章节导出的网卡配置脚本。

2.7、生成grub配置

一般grub的配置文件是/etc/grub2-efi.cfg或者/etc/grub2.cfg,修改/etc/grub.d/40_custom后重新用命令生成配置。

x86和ARM的主要区别是在grub中的命令,一个是linuxefi和initrdefi,一个是linux和initrd。

海光x86命令如下:

# 海光x86cat >> /etc/grub.d/40_custom << EOFmenuentry \'Automatic Installation\' --class fedora --class gnu-linux --class gnu --class os {        search --no-floppy --fs-uuid --set=root $(ls -lh /dev/disk/by-uuid/ | grep sda | awk \'{print$9}\')        linuxefi /images/pxeboot/vmlinuz inst.ks=hd:/dev/sda inst.stage2=hd:/dev/sda console=tty        initrdefi /images/pxeboot/initrd.img}EOF

鲲鹏ARM命令如下:

# 鲲鹏ARMcat >> /etc/grub.d/40_custom << EOFmenuentry \'Automatic Installation\' --class fedora --class gnu-linux --class gnu --class os {        search --no-floppy --fs-uuid --set=root $(ls -lh /dev/disk/by-uuid/ | grep sda | awk \'{print$9}\')        linux /images/pxeboot/vmlinuz inst.ks=hd:/dev/sda inst.stage2=hd:/dev/sda console=tty        initrd /images/pxeboot/initrd.img}EOF

2.8、生成配置

# 重新生成配置grub2-mkconfig -o /etc/grub2-efi.cfg# 此处指定下次重启使用第三个选项(正常默认是两个,我们新增了一个,可以参考后续的图片说明为什么是第三个)grub2-reboot 2

2.9、重启服务器

服务器系统中直接执行重启命令,或者带外进行重启。

2.10、等待重装完成

安装过程可以通过带外进行查看。

下图可以看到我们2.7章节追加的“Automatic Installation”选项,并且可以看到为什么2.8章节说的是第三个选项。

图片[5]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

自动根据KickStart文件内容填充安装过程需要配置的选项,安装完成后会自动重启。

图片[6]-统信 UOS 服务器自动重装系统思路分享(非PXE方式)-趣考网

如果在2.5章节配置了网络相关,安装完成后可以直接连接上去;如果没有,就需要登录带外进行网络配置。

3、总结

建议是在能登录带外的情况下进行使用,盲目配置很容易卡在系统启动引导的界面而无法进入系统。

如果在环境稳定且频繁需要重装的情况,该方法能在不改动环境网络的情况下,快速完成服务器系统的重装。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容