简介针对麒麟服务器操作系统银河麒麟高级服务器操作系统 V10 SP2的运维需求这份PDF文档系乙方为甲方整理的项目交付文档面向服务器运维工程师、系统管理员及需要自主搭建麒麟环境的用户覆盖系统安装配置、基础服务搭建与常见故障排查。资源包仅含1个PDF文件大小2.76MB便于下载、打印和手机翻阅目前已有634人学习下载。内容分为两大部分第一部分配置方案涵盖进单用户模式、本地yum源搭建、ftp、时间同步、nfs、kvm安装、bond创建、vnc搭建、软raid、密码复杂度设置、防火墙firewall使用、iscsi搭建等12项第二部分故障处理针对系统安装失败、激活失效、忘记密码、语言切换、grub/BIOS密码、最小化安装后加装桌面、重启网络服务报错、启动报错、密码锁定、ssh连接异常、图形界面登录闪退、IP正常但无网络等16个典型问题给出具体解决思路。整体注重实操步骤清晰适合作为麒麟服务器日常运维和应急排错的参考手册。1. 麒麟服务器系统常见问题总结先看清它是给谁用的接手一台没人维护的银河麒麟高级服务器操作系统 V10 SP2 时最着急的不是学命令而是回答“这台机器还能不能进系统、能不能装包、时间对不对、网络通不通”。这份手册恰好把这堆问题收敛成了两大部分常见解决方案和常见问题处理从进单用户、搭本地 yum 源、配 ftp/nfs到 ssh 连不上、图形界面登录闪退、新装机显示无网络基本覆盖了服务器运维里最常翻车的几个场景。它适合刚从 CentOS 切过来的运维也适合在国产化环境里做交付的一线工程师。它不是官方文档有些命令细节需要自己兜底但整体操作路径清晰照着做能少走一半弯路。下面我按自己的落地习惯把手册里的要点拆开讲一遍。2. 进单用户与激活密码救援、锁定解锁与桌面加装2.1 单用户模式改密码和修系统时的最后一道门麒麟 V10 SP2 的 grub 默认带了密码保护单用户模式不是直接按 e 就能进的。手册里写得很明白重启后在 grub 界面选中第一行按 e先输用户名和 grub 密码默认是 root / Kylin123123然后找到以 /vmlinuz 开头的那一行在行尾追加rw single init/bin/bash consoletty0追加完按 Ctrlx 保存退出。关键不在参数本身而在为什么要这样写rw 保证根文件系统以可写方式挂载否则你进去之后只能看不能改single 表示切入单用户init/bin/bash 是绕过 systemd直接落到一个 bash 环境里这样即使系统服务全崩了你还有一个可操作的 shell。手册里有个细节值得注意退出单用户时不要用常规的 reboot而是用/usr/sbin/reboot -f因为此时系统并没有完整拉起 init 进程普通 reboot 可能卡在“等待其他任务结束”上。-f 是强制重启我实际遇到过一次不加 -f 就停在关机界面的情况之后凡是单用户模式下重启一律走这条命令。2.2 激活与重装查看版本、激活状态与桌面加装接手一台机器第一步永远是确认系统版本。手册里给了明确的版本号对照Kylin-Server-10-SP2-Release-Build09-20210524。我一般用两条命令一起看cat /etc/kylin-release uname -acat 看的是发行版信息uname -a 看内核。为什么两条都要因为交付的机器可能内核被升级过光看发行版号会误判。激活这块手册重点提了两个问题系统如何激活、重装之后是否需要再次激活。实操里麒麟的激活状态和硬件信息绑定你重装系统后如果序列号没导入许可证文件会失效所以“重装后必须重新激活”这句话基本成立。查看激活情况我没有找到一条官方统一的命令更多是看激活工具界面里的状态显示。这里我不写死命令建议你登录后先打开字符界面的激活工具看状态别默认“装完就是激活的”。最小化安装后加装桌面环境是另一个高频问题。注意顺序先确认当前能用的组名再装。我一般这么处理yum grouplist yum groupinstall UKUI -y如果 grouplist 里没有你要的桌面组直接 groupinstall 会报“No such group”。装完还要确认默认启动级别麒麟 V10 用 systemd桌面环境对应 graphical.target必要时执行 systemctl set-default graphical.target。这一串下来才算是“加装完成”只装包不切 target重启后还是字符界面很多人在这里白等一次重启。2.3 密码输错次数过多被锁定解锁手段要趁早记手册里有一条“密码输错次数过多被锁定”这在实际环境里非常普遍尤其是装了密码策略的机器。麒麟沿用了 PAM 的锁定机制常见是 pam_tally2 或 faillock。先看是哪种生效grep -E tally2|faillock /etc/pam.d/system-auth如果是 pam_tally2解锁命令是pam_tally2 --user root --reset如果是 faillock则用faillock --user root --reset注意root 被锁时你还有一条退路就是从控制台直接用物理终端登录但普通用户被锁就得靠 root 来解。千万别等到人都锁在外面才想起查机制先把这条记在运维手册里。3. 内网源与文件分发file/http 两个 yum 姿势加 ftp/nfs3.1 file 本地源挂载 iso、备份源、写 repo 三步走内网环境第一件事永远是把 yum 源备好否则后面所有包都装不上。手册给的 file 本地源思路是最稳的把安装 iso 传上去挂载然后整个拷贝到本地目录。为什么要拷贝而不是直接挂载 iso 当源因为挂载在重启后会失效源配置写得再好也是白搭。步骤拆开就是这样mount Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso /mnt mkdir /rpm cp -r /mnt/* /rpm/mount 之前先确认 iso 文件路径对得上拷完之后写 /etc/yum.repo.d/my.repo。注意文件名必须以 .repo 结尾原目录下默认的官方源建议先备份挪走避免 baseurl 冲突cd /etc/yum.repo.d mkdir bak mv *.repo bak/ vim my.reporepo 文件内容如下[localrepo] namelocalrepo baseurlfile:///rpm gpgcheck0 enable1gpgcheck0 是内网源最省事的做法因为你手里没有官方 GPG key如果后续有安全合规要求再把 key 导进来改成 gpgcheck1。配置完成后执行yum clean all yum repolistrepolist 能看到 localrepo 并且包数量正常说明源生效。我用这个方式给内网装了不下十台机器重点坑只有一个cp -r /mnt/* /rpm/ 里的通配符在某些 shell 环境下不会包含隐藏文件但 iso 里一般没有隐藏依赖可以忽略。真遇到缺包优先怀疑 iso 版本和系统版本不匹配。3.2 http 源一台服务器共享给整个网段file 源只能本机用多台机器就要上 http 源。手册的顺序是先装 httpd再把 iso 拷到 /var/www/html/repo 下。这里有个先后问题容易踩坑如果你是完全内网环境httpd 本身也要从源装所以得先按 3.1 搭一个临时 file 源装好 httpd 后再切到 http 源。yum install httpd -y systemctl start httpd mkdir /var/www/html/repo cp -r /mnt/* /var/www/html/repo/ systemctl restart httpd防火墙要放行 80 端口二选一systemctl stop firewalld systemctl disable firewalld或者精确放行firewall-cmd --zonepublic --add-port80/tcp --permanent firewall-cmd --reload配置客户端时repo 文件写法变成[localrepo] namelocalrepo baseurlhttp://192.168.1.21/repo/ gpgcheck0 enable1baseurl 末尾的斜杠别漏漏了会拼出错误路径。还有一层是 SELinux麒麟默认 SELinux 可能是 enforcinghttpd 读取 /var/www/html 下的内容会被拦页面能开但 yum 就是拉不到包。常见做法是给目录打上正确标签chcon -R -t httpd_sys_content_t /var/www/html/repo这一步手册没写但我在交付时几乎必做否则十次里有两三次会在这里卡住。3.3 ftp 与 nfs文件分发场景里的补充ftp 的定位是“有人要主动拉文件”nfs 的定位是“多台机器共享一块目录当本地盘用”。ftp 搭建手册给的是 vsftpd 路径yum install vsftpd -y systemctl start vsftpd systemctl enable vsftpd配置上注意两点一是把默认目录指到数据盘二是不让 ftp 用户有 shell 权限。我在 vsftpd.conf 里习惯追加local_root/data/ftp anonymous_enableNO然后创建用户useradd -d /data/ftp -s /sbin/nologin user passwd user chown -R user:user /data/ftp chmod -R 755 /data/ftp注意 chmod 别给 777ftp 目录给 777 在公网和内网都是安全隐患手册写 777 是图省事生产环境我会收回到 755。客户端的默认端口是 21如果改了端口Filezilla 里要同步改。nfs 搭建的关键在 exports 权限和客户端挂载参数。服务端先装包yum install -y nfs-utils rpcbind编辑 /etc/exports/share *(rw,no_root_squash,no_all_squash,sync)这里我提醒一句no_root_squash 意味着客户端的 root 在共享目录里有服务端 root 权限测试环境无所谓生产环境如果不是专门做集群共享建议改成 root_squash。生效命令exportfs -r systemctl enable rpcbind systemctl start rpcbind systemctl enable nfs systemctl start nfs客户端挂载时需要把自动挂载写进 /etc/fstab192.168.1.21:/share /share nfs defaults,_netdev 0 0_netdev 这个参数很重要它告诉系统等网络就绪后再挂载 nfs否则开机时网络没起来fstab 会把系统卡在启动阶段。手册里写的是 defaults我在实际部署时被卡过一次启动流程改成 defaults,_netdev 之后再没出过问题。4. 时间同步分三路ntp、chrony 与定时脚本怎么选4.1 三种方式的原理与选型时间同步在 Linux 服务器上属于“不显眼但错不起”的基础服务。认证、日志、定时任务时间一偏全乱。手册给了三条路ntp、chrony、crondntpdate。先看选型逻辑方式适用场景特点ntp已有 ntp 体系的老环境配置成熟但同步收敛慢chrony新装系统默认推荐同步快对网络抖动容忍度高crondntpdate极简场景或临时修复整点校时有跳变风险SP2 默认带的是 chrony所以没有特殊要求直接走 chrony。老环境里如果监控平台还在用 ntp 协议对接才需要切回 ntp 方式。4.2 ntp 方式配置与验证服务端安装并改配置yum install -y ntp ntpdate vim /etc/ntp.conf systemctl restart ntpdntp.conf 里核心是 server 字段内网环境指向自己的时间源服务器不要指向外网。客户端同样装包然后把原有 server 字段注释掉加一行指向内网源。验证命令ntpq -p最前面有 * 号表示已经同步上。注意 ntp 同步是渐进的刚启动几分钟内可能没有 *要等。这个等待时间容易被新手误判为“没生效”实际上等三五分钟再看是正常操作。4.3 chrony 方式配置与验证chrony 的服务名是 chronyd配置文件是 /etc/chrony.conf。服务端和客户端都要安装yum install chrony -y vim /etc/chrony.conf systemctl restart chronyd配置重点同样是 server 字段内网就指向内网时间源注释掉默认的 pool 外网地址。验证命令chronyc sources -v状态列以 ^* 开头表示同步正常^? 表示还没找到可用源。chronyc 比 ntpq 直观它会把每个源的状态打出来排查时一眼就能看出是哪条链路的问题。4.4 定时同步与防火墙配合如果你不想长期跑 ntpd 或 chronyd用 crondntpdate 做整点校时也够用。手动先校一次ntpdate 192.168.1.150然后写进 crontab*/10 * * * * /usr/sbin/ntpdate 192.168.1.21 hwclock -w这里有两个细节。第一同步周期我一般选 10 分钟因为 ntpdate 是粗暴校时同步瞬间会有时间跳变周期太短反而放大跳变第二hwclock -w 把系统时间写进硬件时钟否则下次重启时间又回退。防火墙这里需要放行 UDP 123 端口firewall-cmd --permanent --add-port123/udp firewall-cmd --reload这条命令 ntp 和 chrony 都用得上。血的教训是有人放行了 TCP 123但 NTP 走的是 UDP折腾半天同步不上。先确认协议再放端口省得自己骗自己。5. 常见问题排查与避坑ssh 连不上、登录闪退、显示无网络5.1 ssh 连接不上现象、原因、解决现象是远程工具连不上ping 能通但 ssh 超时或直接拒连。原因分三层sshd 服务没起来、22 端口被防火墙挡了、sshd 配置限制了 root 登录。排查顺序不要乱先本地看服务再看端口最后看配置systemctl status sshd ss -tlnp | grep 22ss 输出里看不到 22 端口基本就是 sshd 没起来去 /var/log/messages 看报错。端口在但连不上查防火墙firewall-cmd --list-all | grep 22没有就放行。最后确认 /etc/ssh/sshd_config 里的 PermitRootLogin麒麟默认可能是 prohibited-password如果你习惯 root 直接登录改成 yes 后 systemctl restart sshd。注意改完要重启服务不是改完就生效。这层排查里最容易漏的是“sshd 起来了但主机密钥权限不对”sshd 会拒绝加载密钥日志里有明显提示把 /etc/ssh/ssh_host_* 权限改成 600 即可。5.2 图形登录闪退现象、原因、解决现象是最典型的输入正确用户名密码屏幕一闪又回到登录界面。这问题看起来像密码错实际上和密码无关。优先怀疑三个方向磁盘满了、/tmp 权限不对、用户家目录的 .Xauthority 属主错了。先切到字符界面按 CtrlAltF2登录后执行df -h ls -ld /tmp ls -l /home/用户名/.Xauthority根分区满了会导致桌面起不来因为登录过程要写临时文件。清理日志和 yum 缓存到 90% 以下再试。/tmp 权限应该是 1777有人因为安全整改把它改成了 755桌面起不来。修正命令chmod 1777 /tmp.Xauthority 的属主必须是登录用户自己如果显示是 rootchown 回去。解决完多数能直接登录。少数情况是输入法配置损坏把 ~/.config/fcitx 或 ~/.config/ibus 改名备份再登录基本都能过。5.3 IP 地址配置正常但显示无网络现象、原因、解决现象ip addr 看到网卡有 IP配置文件也没问题但浏览器打不开页面ping 外网不通。这是麒麟上很有迷惑性的一个问题因为“配置正常”和“网络可用”是两回事。优先查 NetworkManager 接管状态nmcli device status如果状态显示 disconnected说明网卡虽然配了 IP但 NM 没有把它激活。原因通常是配置文件里 ONBOOTno或者 NetworkManager 对这张网卡没有接管权限。解决nmcli device connect ens33 nmcli connection modify ens33 connection.autoconnect yes再确认默认路由和 DNSip route cat /etc/resolv.conf没有默认路由就把网关加上。这类问题和 5.4 的“重启 network 报错”经常一起出现因为手动改了 network 服务的配置却没有同步给 NetworkManager两边互相打架。麒麟默认走 NM 管理少碰 network 服务能少踩一半坑。5.4 grub 密码与 bios 密码现象、原因、解决现象是开机进 grub 提示要密码或者进 bios 要密码。grub 密码是麒麟默认就有的手册里写的是 root / Kylin123123。这个密码存在的意义是防止别人在 grub 界面改启动参数绕过系统认证所以它和系统 root 密码是两套东西。如果你不知道 grub 密码单用户模式也进不去。解决思路不是破解而是保留好这个默认密码交付时在运维交接单上单独登记。bios 密码则完全是硬件层的系统重装、重置 grub 都绕不开它只能找现场管理员要。这两个问题在手册里都列为“常见问题”但它们的本质不是故障是资产管理问题正式环境里建议把两套密码分别归档别混在一个表里。6. 把检查项固化成一族巡检命令验证手册是否真的可用手册内容看完最重要的一步是把这些命令沉淀成自己的巡检脚本而不是每次出问题再翻手册。我习惯把高频检查项写成一个脚本放在 /usr/local/bin 下每次交付时跑一遍十秒内能确认一台机器的健康状态#!/bin/bash echo 系统版本 cat /etc/kylin-release 2/dev/null echo yum 源状态 yum repolist 2/dev/null | tail -5 echo 时间同步 chronyc tracking 2/dev/null | grep -E Stratum|Leap echo bond 状态 cat /proc/net/bonding/bond0 2/dev/null | grep -E Bonding Mode|MII Status echo 监听端口 ss -tlnp | grep -E :22|:80|:443 echo 磁盘使用率 df -h | grep -E /$|/boot echo sshd 服务 systemctl is-active sshd这个脚本覆盖了手册里最核心的几个点版本、源、时间、bond、端口、磁盘、ssh。执行后如果哪一项出现空行或异常直接去对应章节找解决方案不用再从头翻手册。脚本里我加了 2/dev/null 的容错避免某些机器没装 chrony 或没建 bond 时报错刷屏影响你快速判断。另一个习惯是把手册里的关键默认值和默认密码单独存成一个文件比如 grub 默认密码、默认端口、默认源路径。因为这类信息最容易在项目交接时丢失等半年后机器出问题你根本不记得原始出厂设置是什么。从那以后我每次交付麒麟服务器都会把这份巡检脚本和默认密码清单一起放进交付目录并在交接文档里写明“先跑巡检再动配置”。这个习惯救过我很多次尤其是处理那些已经被前人改得面目全非的机器——至少能确认是出厂状态还是被改过。希望这套方法也能帮到你。本文还有配套的精品资源点击获取