ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

银河麒麟V10服务器文本模式安装:引导参数、分区与Kickstart实战

银河麒麟V10服务器文本模式安装:引导参数、分区与Kickstart实战 1. 服务器装系统为什么还要走文本模式先说结论装银河麒麟 V10 SP1、SP2、SP3 服务器操作系统图形安装界面确实好看但在真实机房环境里文本安装命令行安装界面才是绝大多数老运维的首选。原因不复杂——服务器不是笔记本它大概率没有独立显卡输出到 KVM只有一根串口线也大概率是 arm64 架构的机架式机器接的是一块几年前的 BMC 管理卡虚拟光驱加载 4GB 镜像要等十分钟图形界面一弹出来就卡成 PPT。这种时候强制文本安装就是你唯一的出路。文本安装本质上不是低配版它是 Anaconda 安装器把界面从 GTK 图形栈切换到 newt 字符界面功能几乎不打折分区、LVM、网络、软件包选择、root 密码、Kickstart 自动化一个都不少只是交互从鼠标点击变成了 Tab 键加回车。银河麒麟 V10 服务器版系列的安装器沿用的是 Anaconda 体系SP1 偏 RHEL 7 风格SP2、SP3 逐步往 RHEL 8 风格靠所以inst.text这类引导参数基本通用这也是我们后面所有操作的根基。这篇文章面向三类人第一次接手麒麟服务器、被图形界面卡住的运维新手需要在批量机器上做无人值守部署的工程师以及手头只有串口和 IPMI、连个显示器都找不到的现场实施人员。我会把引导参数怎么改、文本安装器每一屏怎么点、分区和网络怎么配、装完怎么让它默认停在命令行以及我自己踩过的一堆坑全部摊开讲。2. 搞懂 SP1、SP2、SP3 在安装器上的差异2.1 版本演进带来的引导菜单变化银河麒麟 V10 服务器版三个 SP 版本内核和安装器版本是有区别的。V10 SP1 的安装器更接近传统的 CentOS 7 风格BIOS 引导走isolinuxUEFI 引导走grub2引导菜单里你按 Tab 就能看到一个boot:提示符直接往后面追加参数就行到了 SP2、SP3安装器向 RHEL 8 风格靠拢UEFI 下按e进入编辑模式需要在linux或linuxefi那一行的末尾追加参数改完按CtrlX启动。这个差异是新手最容易翻车的地方——在网上抄了inst.text却按错了键参数根本没进内核命令行自然还是进图形界面。另外 arm64aarch64版本和 x86_64 版本在引导上也有区别。arm64 服务器很多走的是 UEFI 固件 GRUB也有部分国产平台的固件会直接读取grub.cfg编辑方式一致但串口重定向参数要用consolettyAMA0,115200或consolettyS0,115200n8具体看主板手册。我见过有人把 x86 的ttyS0直接抄到鲲鹏机器上结果串口一片空白还以为是镜像坏了。2.2 安装器能力对照把差异整理成一张表现场排查时可以直接对号入座。需要注意的是不同 OEM 定制版镜像可能微调过菜单文案以下以官方通用镜像为基准。对比项V10 SP1V10 SP2V10 SP3安装器风格RHEL 7 系 Anaconda过渡版本RHEL 8 系 AnacondaBIOS 引导菜单isolinuxTab 编辑isolinuxTab 编辑isolinux 或 grubUEFI 引导菜单grub2按 e 编辑grub2按 e 编辑grub2按 e 编辑强制文本参数inst.textinst.textinst.text文本分区界面支持 LVM/标准分区支持支持按钮改用 DoneKickstart 支持完整完整完整部分语法更新arm64 支持有有有适配更完整2.3 什么情况下必须用文本模式我把触发条件归成四类你对照自己的现场判断无图形输出通道服务器只接了串口或者 BMC 的虚拟 KVM 分辨率上不去图形界面直接黑屏。内存不足Anaconda 图形界面大约要 1.5GB 以上可用内存低于这个阈值安装器会自动降级到文本模式不如主动指定省得等它自己判断。批量部署几十台机器靠鼠标点是不现实的必须用 Kickstart 加文本模式跑无人值守。远程带宽受限BMC 虚拟光驱 图形界面传输量比文本界面大得多跨机房操作时文本模式能省一半以上时间。3. 进入文本安装界面的三条路3.1 引导菜单追加内核参数最常用这是最直接的办法也是九成场景的答案。操作逻辑就是让安装器的内核在启动时读到inst.text这个参数Anaconda 就会跳过图形栈直接进字符界面。x86_64 的 BIOS 引导流程大致是这样插好启动盘开机按 F11/F12 调出启动菜单选中 U 盘或虚拟光驱看到安装引导画面后光标停在安装项上按Tab键屏幕底部会出现一行可编辑的启动命令形如vmlinuz initrdinitrd.img ...在行尾空一格追加inst.text回车。UEFI 引导则是选中安装项后按e找到以linux或linuxefi开头的那一行同样在行尾追加inst.text然后按CtrlX启动。注意参数一定要追加在内核命令行那一行而不是initrd行也不是菜单标题行。很多人改错行导致参数被忽略却反复怀疑镜像有问题。arm64 平台除了inst.text通常还要一起带上串口参数例如inst.text consolettyAMA0,115200n8这样输出才会走到串口终端。如果你的服务器有本地显示但显卡驱动缺失可以再加nomodeset试试图形界面不过既然目标就是文本安装其实可以不加。3.2 内存不够时的自动降级与手工触发Anaconda 有个内置判断可用内存低于阈值时自动切文本模式界面上会提示类似图形安装不可用将使用文本模式。这个机制在 SP1 上阈值偏低SP3 上更严格一些。如果你不确定机器内存够不够最稳的做法还是主动加inst.text把主动权握在自己手里。还有一种情况值得提有些机器的 BMC 虚拟光驱会拦截引导导致你看不到引导菜单。这时候可以尝试直接在 BMC 的启动项里设置一次性启动设备或者用inst.text inst.vnc组合把安装界面推到 VNC绕开本地显示问题下一节细说。3.3 VNC 与 Kickstart 的取舍inst.vnc是我个人很推荐的一招。它让 Anaconda 启动一个 VNC 服务端你在另一台机器上用 VNC Viewer 连过去就能看到图形界面并操作。参数写法是inst.vnc inst.vncpassword临时密码启动后安装器会提示Please manually connect your VNC client to IP:1之类的信息。适合本地显示坏掉但网络通畅的场景比文本界面点起来舒服缺点是安装期间不能断网。Kickstart 则是批量部署的正解。你写好ks.cfg放到 U 盘或 HTTP 服务器上引导参数里加inst.kshd:LABEL:DATA:/ks.cfg或者inst.kshttp://192.168.1.100/ks.cfg机器开机后全自动跑完分区、装包、配网、设密码。文本安装和 Kickstart 是天然搭配因为自动化场景本来就不需要图形。我个人的习惯是单台机器用inst.text手工装五台以上一律先做一份 ks.cfg 骨架边装边补最后固化成模板。4. 装机前的准备工作与参数清单4.1 镜像校验和启动盘制作镜像下载完第一件事是校验别嫌麻烦。官方下载页一般给的是 SHA256你可以用sha256sum Kylin-Server-V10-SP3-xxx.iso对比一下。我遇到过下载中断导致 ISO 尾部损坏的情况装到一半报安装源校验失败现场又没网重新下非常被动。启动盘制作分两种路线。x86_64 环境我建议直接用dd写盘最干净dd ifKylin-Server-V10-SP3-x86_64.iso of/dev/sdb bs4M statusprogress oflagsyncarm64 环境如果是在 Linux 主机上写盘同样用dd如果是在 Windows 上用 Rufus 时要选DD 模式而不是ISO 模式否则 UEFI 引导文件路径可能被改写主板认不出。Ventoy 这类多合一工具在部分麒麟镜像上会出现引导项缺失我个人不推荐用在正式交付环境出问题时很难定位。服务器侧建议优先用 BMC 的虚拟光驱直接挂载 ISO省去 U 盘兼容性问题尤其是国产平台对 USB 控制器兼容性参差不齐的时候。4.2 BIOS/UEFI 侧必须确认的几件事上电前花三分钟检查这几项能省掉后面半小时的折腾引导模式确认是 UEFI 还是 Legacy。两种模式装出来的分区表不一样GPT 对 MBR装完再切会起不来。我的建议是能 UEFI 就 UEFI尤其是大于 2TB 的数据盘。Secure Boot麒麟官方镜像一般带签名开着也能装。但如果你后期要装第三方驱动比如某些 RAID 卡、网卡驱动建议装之前先关掉或者装完再开。RAID 卡模式硬 RAID 卡要确认是 RAID 模式还是 HBA 直通模式。文本安装器对某些老 RAID 卡的识别依赖驱动如果inst.dd没加载安装器里看不到硬盘。CPU 虚拟化与超线程不影响安装但影响后续跑虚拟机顺手确认。电源策略有些服务器 BIOS 默认节能模式安装过程大量 IO 时反而更慢可以临时调到性能模式。4.3 装机前必须定下来的三张表现场最容易出问题的不是技术是没提前规划。我习惯在装之前把这三张表写清楚规划项示例说明分区方案/boot 1Gswap 16G/ 100G/data 剩余UEFI 需额外 300M EFI 分区网络参数IP、掩码、网关、DNS文本安装器里手输建议先记纸上账号密码root 密码弱口令会被安装器拒绝分区这块多说一句。服务器场景下我推荐/boot单独分区1GB 足够SP3 内核文件偏大512MB 有时紧张、swap按内存的 1 到 1.5 倍内存大于 64GB 时给 16GB 到 32GB 即可、/给 100GB 左右、剩下的全部挂到数据盘目录。不建议把/home和/挤在一起后期数据写满根分区是运维事故的经典开头。5. 文本安装器实操全过程5.1 引导参数的正确写法把前面说的流程再具体化一遍。以 UEFI x86_64 SP3 为例开机进启动菜单选 UEFI 下的光驱或 U 盘。看到 GRUB 菜单光标停在Install Kylin Linux Advanced Server V10这一项。按e进入编辑找到linuxefi /images/pxeboot/vmlinuz ...那一行。在行尾追加inst.text如果还要串口输出就再加consolettyS0,115200n8。按CtrlX启动。Startup 后屏幕会刷一堆内核日志最后停在文本安装器的第一屏。BIOS 引导的写法稍有不同按Tab后出现boot:提示符输入vmlinuz initrdinitrd.img inst.text回车注意这里不需要手动写inst.stage2安装器会自动找光盘上的 stage2。如果加了参数还是进了图形界面先别怀疑人生按CtrlAltF2切到第二个虚拟终端用cat /proc/cmdline看一眼实际的内核命令行里有没有inst.text。这一招能立刻区分是参数没生效还是参数生效了但安装器版本不认。5.2 文本安装器逐屏拆解文本安装器的交互逻辑是上下键移动光标Tab 在选项和按钮之间跳空格切换勾选回车进入子菜单。第一屏通常是欢迎和语言选择建议选英文中文在部分串口终端的编码下会显示成方块排查问题时很难受。接下来是安装概览页左边一列是待配置项右边是说明。需要你逐项处理的有安装源Installation Source默认从本地光盘读取如果你是通过inst.repo指定的 HTTP 源这里会显示地址。校验不过时先检查 ISO 完整性。软件选择Software Selection文本模式下可以在最小安装、带 GUI、服务器、虚拟化主机等环境组之间选也能勾选附加组件。服务器场景我一般选最小安装加必要工具组减少后期补丁面。安装位置Installation Destination这一项最关键下面单独讲。网络与主机名Network Hostname可以配静态 IP也可以先跳过装完再配。批量场景建议在这里就配好省得进系统后手忙脚乱。Kdump默认开启会占用一部分内存做崩溃转储内存紧张或对性能敏感的机器可以关掉。root 密码输入两次弱口令会被拒绝比如123456、password这种直接不给过会提示密码过于简单。创建用户SP3 更明显部分版本强制要求创建一个普通用户注意和 root 密码区分开。5.3 分区在文本模式下怎么操作进入分区界面后先选中目标磁盘如果是新盘直接选自动分区里的使用全部空间也能跑但生产环境我强烈建议自定义。文本模式的自定义分区操作路径是选Create Custom Layout然后用New创建挂载点输入挂载点名称、选择文件系统类型ext4 或 xfs、输入大小OK确认。几个实操细节值得记EFI 分区UEFI 模式必须有一个挂载到/boot/efi、类型为 EFI System Partition 的分区建议 300MB 到 500MB。文本模式下这个类型要在文件系统选择列表里挑对选错了装完起不来。swap 没有挂载点在文本界面里swap 分区的Mount Point留空在文件系统类型里选 swap 即可不要手贱填/swap。LVM 的取舍文本模式下可以选 LVM好处是后期扩容方便坏处是排障时多一层。我一般推荐服务器用 LVM尤其是数据盘后期加盘扩容比重新分区省事太多。分区不生效如果你点完OK回到概览页发现分区项还是灰色检查是不是磁盘上残留了旧分区表可以切到Reclaim菜单把已有分区删掉再重建。分区完成后回到概览页Begin Installation按钮才会变亮。点下去后就是复制文件、安装软件包、生成 initramfs、装引导程序这个过程在文本界面下只有几行进度输出看起来有点简陋但速度其实和图形模式差不多。5.4 安装完成后的首次开机装完提示重启记得拔掉安装介质否则又会从光驱引导。首次开机如果卡在某个服务上不动可以按Esc看详细日志或者等一会儿第一次启动通常要做 SELinux 重打标签尤其是你安装时 SELinux 保持在 enforcing 的情况下几分钟是正常的。登录后先做几件事确认网络通不通ip a、ping网关、确认磁盘挂载对不对lsblk、df -h、确认 SSH 能不能连systemctl status sshd。这三项过了基本可以交付了。6. 装完让系统默认停在命令行6.1 systemd 目标切换的基本操作麒麟服务器版默认如果是带 GUI 的安装会启用图形目标开机进桌面。对服务器来说这层图形栈纯属浪费内存我的做法是切成多用户文本目标systemctl get-default systemctl set-default multi-user.target第一条看当前默认目标第二条改成文本模式重启后生效。如果只想临时试试不想改默认值用systemctl isolate multi-user.target切过去重启后还会回到原来的图形目标。反过来要恢复桌面就systemctl set-default graphical.target。顺带说一句桌面组件比如ukui-panel这类进程在服务器上关掉图形目标后基本不会启动但如果你发现内存还是被吃掉一块可以查一下lightdm或gdm服务是不是还开着自启用systemctl disable lightdm关掉更彻底。6.2 串口与远程维护通道配置文本安装的机器装完之后最好把串口控制台也配起来方便以后出问题时不用抱着显示器去机房。修改 GRUB 配置在GRUB_CMDLINE_LINUX里加上consolettyS0,115200n8 consoletty0然后重新生成配置文件。x86_64 一般是grub2-mkconfig -o /boot/grub2/grub.cfgUEFI 环境下路径可能是/boot/efi/EFI/kylin/grub.cfg以efibootmgr -v或实际目录为准。改完还要在/etc/default/grub里确认GRUB_TERMINAL是否放开了串口输出配置完用 BMC 的串口重定向测试一下能看到登录提示符才算成功。6.3 网络配置与本地源管理银河麒麟 V10 SP2/SP3 默认用 NetworkManager 管理网络配置静态 IP 我一般用nmcli比手改配置文件不容易写错nmcli con mod ens33 ipv4.addresses 192.168.1.10/24 nmcli con mod ens33 ipv4.gateway 192.168.1.1 nmcli con mod ens33 ipv4.dns 192.168.1.1 nmcli con mod ens33 ipv4.method manual nmcli con up ens33如果 SP1 上还是传统的ifcfg-ens33风格直接编辑/etc/sysconfig/network-scripts/ifcfg-ens33把BOOTPROTO改成static补上IPADDR、NETMASK、GATEWAY、DNS1然后systemctl restart network。内网离线环境一定要配本地源否则装个nginx都费劲。把 ISO 挂上来做仓库mkdir -p /mnt/iso mount -o loop /root/Kylin-Server-V10-SP3-x86_64.iso /mnt/iso然后写一个/etc/yum.repos.d/kylin-local.repobaseurl指向file:///mnt/isoenabled1gpgcheck视镜像签名情况设为 0 或 1yum clean all yum makecache之后就能离线装包了。顺手把 ISO 挂载写进/etc/fstab省得每次重启手动挂。7. 常见问题速查与排查实录7.1 引导参数不生效类问题这是提问率最高的一类。核心排查手段就是切到CtrlAltF2看/proc/cmdline。如果参数在里面却没生效说明安装器版本对参数名有差异可以试text或直接按Esc键看能不能手动切模式如果参数压根不在那就是改错了行或者没保存。现象可能原因处理办法加了 inst.text 仍进图形参数写错行 / 未按 CtrlX检查内核行重启重改BIOS 下 Tab 无反应该镜像用 grub 引导改用按 e 编辑arm64 串口无输出控制台参数错误换 ttyAMA0 或 ttyS0卡在 dracut 提示符stage2 定位失败加 inst.stage2 指定路径菜单都看不到引导模式不匹配UEFI/Legacy 对调重试7.2 分区与磁盘识别问题文本安装器看不到硬盘八成是 RAID 卡驱动没加载。SP3 对主流 RAID 卡支持较全SP1 上老卡可能需要手动inst.dd加载驱动盘。另外要注意如果 BIOS 里把硬盘设成了 RAID 模式但没建虚拟盘安装器同样看不到得先去 RAID 卡配置界面建好逻辑盘。分区报无法分配所请求的分区通常是三个原因磁盘已有旧分区表没清理、分区大小超过可用空间、EFI 分区类型选错。我的处理顺序是先Reclaim清空旧分区再看可用空间最后核对分区类型。写盘前最好把重要数据确认一遍别问我为什么强调这个。7.3 网络与显示类问题文本安装阶段配了静态 IP 但装完发现没生效很可能是安装器只把配置写进了安装环境没落到目标系统——这个坑在部分 SP1 版本上出现过。稳妥做法是装完后进系统重新用nmcli配一遍别完全依赖安装器那一步。网卡名从eth0变成ens33、enp3s0这类是 systemd 的可预测命名规则不是故障。如果你有脚本硬编码了eth0要么改脚本要么在内核参数里加net.ifnames0 biosdevname0改回传统命名但这个参数要在安装时就加上装完再改要动 udev 规则麻烦。7.4 安装后异常类问题进不去系统、卡在 grub 界面多半是 UEFI 与 Legacy 混用或者 EFI 分区类型不对。用救援模式进去看/boot/efi下是否有对应目录没有就重新装引导。root 密码忘了可以在 grub 里给内核加rd.break进紧急 shell 后重新挂载根分区为可写用passwd改密码然后touch /.autorelabel让 SELinux 重打标签再继续启动。操作前确认机器是你有权管理的改完记得把引导参数改回去。SSH 连不上先确认sshd服务状态再看防火墙有没有放行。firewall-cmd --add-servicessh --permanent firewall-cmd --reload。如果是在最小安装下openssh-server可能压根没装用本地源装一下就行。磁盘空间莫名被占满查/var/log、/var/cache还有 kdump 转储目录。麒麟服务器版默认开启 kdump崩溃过一次就会留下一个几百 MB 到几 GB 的转储文件删掉或者关掉 kdump 服务都能解决。7.5 我踩过的几个真实坑第一个坑是用 UltraISO 写盘。早期我图省事用 UltraISO 把 ISO 写到 U 盘BIOS 模式能引导UEFI 模式死活进不去后来换成dd一次成功。原因就是 UltraISO 会改写引导结构UEFI 固件认不出。从那以后我写盘只用dd不折腾。第二个坑是串口终端编码。中文安装界面在串口下显示乱码我一开始以为是字体问题折腾了半天最后发现是终端编码设成了 GBK改 UTF-8 就好了。后来干脆装系统时统一选英文界面省心。第三个坑是先配网后分区的顺序。文本安装器里如果先配了网络但 DNS 没填后面安装器去校验网络源时会卡很久才超时。正确顺序是把安装源确认成本地光盘网络最后配或者配网时先把 DNS 填上。第四个坑是弱口令被拒。装 SP3 时设了一个八位纯数字密码安装器直接不给过界面提示很简短我一度以为是键盘输入问题。后来换了大小写加数字的组合才通过。密码策略在服务器版上比桌面版严格别用生日和连续数字。8. 一套可以复用的文本装机流程把上面所有内容收拢成一条可执行的流水线以后每次装机器照着走校验 ISO 的 SHA256dd写盘或用 BMC 挂载虚拟光驱。BIOS 里确认 UEFI/Legacy 模式能 UEFI 就 UEFI按需关闭 Secure Boot。引导菜单编辑内核行追加inst.textarm64 加上串口控制台参数。安装器选英文界面确认安装源选最小安装加工具组。自定义分区EFI 500M、/boot 1G、swap 按内存定、/ 100G、剩余给数据盘。配静态 IP 和主机名设 root 密码按需创建普通用户。装完拔出介质重启登录后检查网络、磁盘、SSH。systemctl set-default multi-user.target切文本目标。配串口控制台配本地 ISO 源按需放行防火墙。打快照或记录配置归档这份装机记录。最后分享一个我自己用得很顺的小技巧把每次装机的内核参数、分区方案、nmcli命令、本地源配置全部攒在一个文本文件里放在 U 盘根目录名字就叫install-notes.txt。现场没有网络、没有文档、脑子一片空白的时候这个文件能救命。装到第十台机器的时候你会发现真正值钱的不是你会不会敲命令而是你有没有把上一次的经验留下来。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表