Kylin Server V10 从零安装到实战部署:信创环境下的完整指南
2026/8/7 16:40:27 网站建设 项目流程

1. 项目概述:为什么选择Kylin Server V10?

最近在帮一个做信创项目的朋友部署测试环境,他那边指定要用Kylin Server V10。说实话,虽然国产操作系统喊了很多年,但真正上手去装、去配,尤其是作为服务器版本来用,很多人心里还是有点打鼓的。网上搜了一圈,关于Kylin V10的安装教程要么太老,要么就是语焉不详,特别是遇到一些依赖问题或者驱动兼容性的时候,资料更是零散。所以,我决定把这次从零开始安装、配置Kylin Server V10的完整过程,连同踩过的坑和解决办法,详细记录下来。这篇内容不仅是一份按图索骥的安装指南,更会深入到安装后的基础优化、常见服务部署以及那些官方文档里可能不会明说的“实战经验”。无论你是初次接触国产服务器系统,还是需要在信创环境下进行迁移和适配的运维工程师,这份基于真实项目经验的总结,应该都能给你提供直接的参考。

Kylin Server V10,也就是银河麒麟高级服务器操作系统V10,是基于Linux内核,针对我国关键行业和领域进行深度优化和定制的操作系统。它最大的特点就是高安全、高可靠,以及对国产CPU(如飞腾、鲲鹏、龙芯、申威等)和软硬件生态的良好支持。选择它,往往不是技术选型上的“最优解”,而是特定场景下的“必选项”。因此,我们的安装思路就不能完全照搬CentOS或者Ubuntu,需要多一份对国产化软硬件兼容性的考量。

2. 安装前的核心准备工作

安装任何操作系统,准备工作做得好,能省去后面至少一半的麻烦。对于Kylin Server V10,准备工作需要格外细致。

2.1 镜像获取与校验

首先,你需要从官方或可信渠道获取Kylin Server V10的安装镜像。通常镜像文件是一个.iso格式的文件,名称可能类似于Kylin-Server-10-SP1-Release-Build09-20210524-x86_64.iso。这里有几个关键点需要注意:

  1. 架构匹配:务必确认你的服务器或虚拟机的CPU架构。是常见的x86_64(AMD64),还是ARM架构(如飞腾FT-2000+/64、鲲鹏920)?下载对应架构的镜像,否则根本无法启动安装程序。从网络热词看,很多人卡在第一步可能就是镜像没选对。
  2. 版本确认:关注是SP1还是SP2,是Release还是某个特定更新版本。不同版本的内核、软件包版本和驱动支持可能有差异,特别是对新型硬件的支持。
  3. 完整性校验:下载完成后,强烈建议使用sha256summd5sum工具校验镜像文件的哈希值,并与官方提供的校验和进行比对。这是确保镜像在下载过程中未损坏、未被篡改的重要一步,对于生产环境尤为重要。

注意:由于版权和分发限制,本文不提供具体的镜像下载链接。请通过正规商业授权或从银河麒麟官网的指定渠道获取。

2.2 启动介质制作

有了ISO镜像,下一步是制作启动介质。对于物理服务器,通常使用U盘;对于虚拟机,则可以直接挂载ISO文件。

  • U盘制作(物理机安装): 在Windows下,推荐使用RufusVentoy这类工具。使用Rufus时,选择你的U盘设备,在“引导类型选择”处点击“选择”按钮加载下载好的.iso文件,“分区类型”通常选择“GPT”(针对UEFI启动)或“MBR”(针对传统BIOS启动),这需要与你服务器的启动模式一致。点击开始,等待制作完成即可。 使用Ventoy则更灵活,你只需将Ventoy安装到U盘一次,之后就可以直接把多个ISO文件拷贝到U盘里,在启动时选择要安装的系统镜像,非常适合需要携带多个系统镜像的运维人员。

  • 虚拟机环境准备: 如果你是在VMware Workstation、VirtualBox或KVM上进行测试安装,过程就简单多了。新建一台虚拟机,分配好内存(建议至少2GB,4GB或以上更佳)、硬盘空间(建议40GB起步,用于后续安装服务和数据),然后在虚拟机的光驱设置中,直接指向你下载的ISO镜像文件即可。

2.3 服务器硬件与启动模式检查

对于物理服务器,在按下电源键之前,最好能进入服务器的BIOS/UEFI设置界面,确认两件事:

  1. 启动模式:是UEFI还是Legacy BIOS?这决定了你制作启动U盘时的分区格式(GPT对应UEFI,MBR对应Legacy),也影响系统安装时的分区方案。目前新服务器普遍支持UEFI,其安全性和启动速度更优。
  2. 安全启动(Secure Boot):部分国产操作系统或硬件驱动可能尚未完全兼容UEFI安全启动。如果在安装过程中遇到无法识别启动介质或加载失败的问题,可以尝试在BIOS中暂时关闭Secure Boot功能,待安装完成后再根据实际情况决定是否开启。

3. 图解安装步骤全流程实录

假设我们已经做好了启动U盘,并将其插入服务器,或者已经在虚拟机中挂载了ISO镜像。下面我们进入正式的安装环节。整个安装过程是图形化的,与RHEL/CentOS 8的Anaconda安装程序非常相似,这对熟悉红帽系系统的朋友来说会很友好。

3.1 启动与安装程序引导

开机,选择从U盘或虚拟光驱启动,你会看到麒麟的启动菜单。通常直接选择第一项“Install Kylin Linux Advanced Server V10”即可。

系统会加载内核和安装环境,这个过程可能需要一两分钟。之后,你会进入图形化的安装程序欢迎界面,语言选择“中文(简体)”,点击“继续”。

3.2 安装信息摘要与关键配置

这是安装的核心配置页面,所有设置都在这里完成。你需要逐一检查并配置以下项目:

1. 本地化

  • 日期和时间:点击进入,在地图上选择你所在的时区,例如“亚洲/上海”。确保“网络时间”开关是打开的,这样系统安装后会自动通过NTP同步时间。对于服务器,准确的时间至关重要,关乎日志分析、证书验证等。
  • 键盘:保持“汉语”布局即可。
  • 语言支持:主语言已经是“中文(简体)”,可以额外添加“英语(美国)”等支持,方便在某些纯英文环境下操作。

2. 软件

  • 安装源:因为我们是使用完整的ISO镜像安装,这里会自动识别为“本地介质”,无需更改。如果是网络安装,则需要在这里配置网络仓库地址。
  • 软件选择这是非常关键的一步!默认是“最小安装”,只包含最基本的系统环境。对于服务器,我强烈建议你根据用途选择:
    • 带GUI的服务器:如果你需要图形界面进行管理或运行某些图形化工具(尽管对于服务器不推荐,但某些特定管理软件可能需要),可以选这个。
    • 服务器:这是最常用的选择,它会安装一系列服务器常用的工具和服务,如网络服务器工具、系统管理工具、兼容性程序库等,但不会安装图形桌面。
    • 虚拟化主机:如果你打算在这台服务器上再运行KVM虚拟机,就选这个。
    • 最小安装:仅用于构建极度精简、安全的定制化基础镜像,或者你对系统有完全的控制欲,愿意手动安装所有需要的包。 我通常选择“服务器”,然后在右侧的“附加选项”中,勾选上我明确知道需要的环境,例如“开发工具”(包含GCC、Make等编译环境)、“系统管理工具”、“网络服务器工具”等。记住一个原则:服务器上,不需要的服务一个都不装,需要的服务一个都不能少。

3. 系统

  • 安装目的地:即磁盘分区,这是另一个核心步骤。点击进入。
    • 如果你只有一块磁盘,它会自动被选中。在“存储配置”下,我推荐选择“自定义”,然后点击“完成”进入手动分区界面。这能给你最大的灵活性。
    • 手动分区方案(推荐):对于大多数服务器,一个经典的分区方案如下:
      • /boot/boot/efi:如果是UEFI启动,需要创建一个约300MB-1GB的EFI系统分区(类型选EFI系统分区),挂载点为/boot/efi。如果是Legacy启动,则创建约500MB-1GB的/boot分区(类型选标准分区,文件系统xfsext4)。这个分区存放系统内核和引导文件。
      • swap:交换分区,大小通常为物理内存的1-2倍(如果内存很大,如64GB以上,可以酌情减少或按固定大小,如8GB)。类型选swap
      • /:根分区,占用剩余的大部分空间。文件系统选择xfs(Kylin默认)或ext4均可。XFS在处理大文件时性能更好,是默认推荐。
      • (可选)/home:如果计划有多个用户存放大量数据,可以单独分区。
      • (可选)/var:如果服务器是Web或数据库服务器,日志和动态数据会很多,单独分区可以避免根分区被日志塞满。
    • 创建好分区后,在下方还有一个“文件系统”选项,建议将根分区和boot分区的文件系统选为xfs。然后点击“完成”,系统会提示你确认更改,点击“接受更改”返回摘要页。
  • KDUMP:这是一个内核崩溃转储机制,用于系统崩溃时收集调试信息。对于生产服务器,建议启用它,但会占用一部分内存(默认是物理内存的160MB + 每1TB磁盘2MB)。如果你的内存非常紧张,可以禁用。
  • 网络和主机名:点击进入,你应该能看到你的网络设备(如ens33eth0)。将其开关从“关闭”拨到“打开”,系统会自动通过DHCP获取IP地址。在主机名输入框里,为你的服务器设置一个有意义的主机名,例如kylin-srv-01。点击“应用”。更详细的静态IP配置,我们可以等系统安装完成后再进行,那样更稳妥。
  • 安全策略:Kylin V10内置了安全增强功能,你可以在这里选择预定义的安全策略,如“标准系统安全配置文件”。对于一般应用,可以先不选择,安装后再根据实际需要,使用security相关命令(如setenforcesemanage)来配置SELinux(默认是强制模式Enforcing),或者使用firewall-cmd配置防火墙。初期为了排除问题方便,有些管理员会选择先设置为“允许”,但生产环境务必根据业务需求严格配置。

4. 用户设置

  • 根密码(Root Password):为root超级用户设置一个强密码。务必牢记!
  • 创建用户(User Creation):强烈建议创建一个日常使用的普通用户,并勾选“将此用户设为管理员”,这样该用户就可以通过sudo命令来执行需要特权的操作,避免了直接使用root带来的风险。输入用户名、全名和密码即可。

3.3 开始安装与初始设置

当所有带黄色警告叹号的配置项都消失(表示已配置完成),右下角的“开始安装”按钮就会变成蓝色可用。点击它,安装程序就会正式开始将系统写入硬盘。

安装过程大概需要10-30分钟,取决于你的磁盘速度和选择的软件包数量。屏幕上会显示进度条和提示信息。

安装完成后,点击右下角的“重启”按钮。系统会提示你拔出安装介质(U盘或弹出虚拟光驱),然后按回车重启。

首次重启后,你会看到Kylin的引导菜单(如果有多个内核的话),通常等待几秒或直接回车进入默认项。之后,系统会进行首次启动的初始化设置。

  1. 许可证信息:需要阅读并接受许可证协议。
  2. 完成配置:可能会让你确认一下网络、主机名、时区等信息,这些我们在安装时都配好了,直接点“完成配置”即可。
  3. 登录界面:出现图形登录界面(如果你安装了GUI)或字符登录提示符(如果是最小化或服务器安装)。使用你创建的普通用户和密码登录。

恭喜你,Kylin Server V10操作系统已经成功安装到了你的服务器上!

4. 安装后的首要优化与必备配置

系统装好只是第一步,要让其成为一个稳定、好用的服务器,还需要进行一系列“开箱后”的优化配置。这些步骤很多是通用Linux最佳实践,但在Kylin环境下有一些细节需要注意。

4.1 网络静态IP配置(如果适用)

安装时我们用了DHCP,但服务器通常需要固定的IP地址。通过命令行配置:

# 1. 查看当前网络连接名称 nmcli connection show # 输出类似:NAME UUID TYPE DEVICE # ens33 xxxxxxxx ethernet ens33 # 2. 编辑对应连接的配置文件(假设连接名是ens33) sudo nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 # 解释:将ens33的连接方式改为手动,设置IP/掩码、网关和DNS。 # 3. 重启网络连接使配置生效 sudo nmcli connection up ens33 # 4. 验证配置 ip addr show ens33 ping -c 4 8.8.8.8

实操心得:在Kylin V10中,网络管理工具默认是NetworkManager,使用nmcli命令非常高效。比起直接去编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件(这种方式在新版本中已逐渐被弃用),nmcli能更好地与系统集成,避免配置冲突。

4.2 更新系统与配置软件源

刚安装的系统,软件包可能不是最新的。首先更新系统:

sudo dnf makecache # 刷新元数据缓存 sudo dnf update -y # 升级所有可更新的软件包

Kylin V10默认使用的是其自带的软件仓库。有时你可能需要添加EPEL(Extra Packages for Enterprise Linux)仓库来获取更多第三方软件。但要注意兼容性,不是所有EPEL包都能在Kylin上完美运行。

# 示例:添加EPEL仓库(请根据你的系统架构选择正确的包) # 首先安装epel-release包,可以从官网下载对应版本的rpm包,或者如果网络可达,使用如下命令: sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm # 安装后,可以再次运行 sudo dnf makecache 和 sudo dnf update

注意事项:在信创环境中,尤其是使用国产CPU(如飞腾、鲲鹏)时,务必优先使用麒麟官方或芯片厂商提供的软件源。x86架构的兼容性相对较好,但ARM架构下,很多x86的二进制包无法运行,必须使用针对该ARM架构编译的版本。盲目添加外部源可能导致依赖地狱甚至系统损坏。

4.3 基础工具与服务安装

根据你的服务器角色,安装一些必备工具:

# 开发编译环境(如果安装时没选) sudo dnf groupinstall -y "Development Tools" # 常用工具 sudo dnf install -y vim wget curl net-tools tree htop ncdu lsof bash-completion # 如果要做Web服务器,可以安装Nginx或Apache sudo dnf install -y nginx sudo systemctl enable --now nginx # 启动并设置开机自启 # 如果要做数据库服务器,可以安装MySQL或PostgreSQL(注意版本) sudo dnf install -y mariadb-server mariadb sudo systemctl enable --now mariadb sudo mysql_secure_installation # 运行安全初始化脚本

4.4 安全加固初步

  1. 配置防火墙:Kylin V10默认使用firewalld

    sudo systemctl enable --now firewalld # 确保防火墙服务运行 sudo firewall-cmd --permanent --add-service=http # 永久允许HTTP服务 sudo firewall-cmd --permanent --add-service=https # 永久允许HTTPS服务 sudo firewall-cmd --permanent --add-port=22/tcp # 永久允许SSH端口(如果改了SSH端口,这里要改) sudo firewall-cmd --reload # 重载配置使其生效 sudo firewall-cmd --list-all # 查看当前所有规则
  2. SSH安全:编辑/etc/ssh/sshd_config

    • 修改Port 22为其他非标准端口(如Port 2345)。
    • 设置PermitRootLogin no禁止root直接登录。
    • 设置PasswordAuthentication no并配合使用SSH密钥登录(安全性更高)。
    • 修改后,执行sudo systemctl restart sshd
  3. SELinux:了解其状态。getenforce查看(Enforcing/Permissive/Disabled)。除非你非常清楚如何配置SELinux策略,否则对于初学者或特定兼容性有问题的应用,可以先设置为Permissive模式观察日志:sudo setenforce 0。但这只是临时生效,永久修改需编辑/etc/selinux/config文件。

5. 高频问题与故障排查实录

即使按照图解步骤操作,在实际部署中也可能遇到各种问题。下面是我总结的几个最常见的问题及其排查思路。

5.1 安装程序无法启动或卡住

  • 现象:从U盘启动后,黑屏、卡在LOGO界面、或提示错误。
  • 排查
    1. 校验镜像:首先确认ISO镜像的SHA256校验和是否正确。
    2. 检查启动介质:重新制作U盘启动盘,尝试换一个U盘或使用Ventoy
    3. 关闭安全启动:进入服务器BIOS,将Secure Boot设置为Disabled
    4. 尝试文本安装模式:在启动菜单,选择“Install Kylin Linux Advanced Server V10”后,按TabE键编辑启动参数,在行尾添加inst.textnomodeset,然后按回车。inst.text进入文本安装模式,nomodeset禁用显卡驱动检测,常用于解决显卡兼容性问题。
    5. 检查硬件兼容性:特别是使用非常新的硬件时,可能需要更新主板BIOS,或寻找包含更新驱动的新版系统镜像。

5.2 安装过程中找不到磁盘

  • 现象:在“安装目的地”步骤中,看不到任何磁盘。
  • 排查
    1. 磁盘控制器模式:常见于虚拟机。对于VMware,检查虚拟机设置中SCSI控制器类型(如LSI Logic SAS, VMware Paravirtual)。对于VirtualBox,尝试将SATA控制器改为SATA(AHCI)或SCSI。对于物理服务器,可能是RAID卡驱动未加载。
    2. 驱动问题:如果服务器使用了特殊的硬件RAID卡或NVMe硬盘,可能需要额外的驱动。在安装启动时,编辑内核参数,尝试添加modprobe.blacklist=nouveau(如果是因为开源NVIDIA驱动冲突)或rd.driver.pre参数来预加载驱动。更复杂的情况需要准备驱动盘(Driver Disk),在安装源界面加载。

5.3 安装后无法连接网络

  • 现象:系统安装完成,重启后无法ping通网关或外网。
  • 排查
    1. ip addrnmcli device status:查看网卡是否被识别且处于connected状态。如果没有inet地址,说明没获取到IP。
    2. NetworkManager服务:确保服务已启动sudo systemctl status NetworkManager
    3. 配置文件冲突:如果手动编辑过旧的ifcfg-*文件,可能与NetworkManager管理的配置冲突。建议统一使用nmcli命令管理。
    4. 防火墙:确认本机防火墙没有阻断。可临时关闭防火墙测试:sudo systemctl stop firewalld
    5. 网卡命名:新版Kylin使用类似ens33的预测性网络接口名,而非传统的eth0。在脚本或配置中引用时要注意。

5.4 软件包安装失败或依赖错误

  • 现象:使用dnf install安装软件时,提示“没有可用软件包”或依赖关系冲突。
  • 排查
    1. 软件源问题:首先sudo dnf clean all然后sudo dnf makecache刷新缓存。
    2. 仓库是否启用sudo dnf repolist all查看所有仓库及其启用状态。确保你需要的仓库是enabled的。
    3. 架构与版本匹配:再次确认你安装的软件包是否适用于你的系统架构(x86_64 vs aarch64)和系统版本(V10 SP1?)。
    4. 优先级设置:如果添加了多个仓库(如官方源和EPEL),可能出现同一个软件有多个版本。可以配置dnf的插件priorities来设置仓库优先级,确保优先从官方源安装。
    5. 手动下载rpm包:对于特别难找的包,可以尝试从可信站点(如麒麟软件仓库镜像站、芯片厂商提供的光盘)下载对应的.rpm文件,然后用sudo dnf install ./package.rpm本地安装,dnf会自动处理依赖。

5.5 图形界面相关故障(如果安装了GUI)

  • 现象:登录后黑屏、花屏、或者分辨率异常。
  • 排查
    1. 显卡驱动:集成显卡通常没问题。如果是独立显卡(特别是NVIDIA),可能需要安装闭源驱动。Kylin的软件仓库可能提供了akmod-nvidianvidia-driver包。安装前,先sudo dnf update kernel*确保内核是最新的,因为驱动需要匹配内核版本。
    2. 显示管理器:默认可能是GDM或LightDM。可以尝试切换TTY(Ctrl+Alt+F2)登录命令行,然后重启显示服务:sudo systemctl restart gdm
    3. Wayland与Xorg:尝试在登录界面,点击用户名下方的齿轮或设置图标,将会话从“Wayland”切换到“Xorg”,反之亦然。Wayland是新协议,兼容性可能不如传统的Xorg。

6. 进阶:在Kylin V10上部署关键服务实战

系统稳定后,就可以部署实际应用了。这里以部署一个Python Web应用(使用Nginx + uWSGI)为例,展示在Kylin V10上的标准流程。

6.1 部署Python环境与虚拟环境

系统可能自带了Python3,但版本可能较旧。我们可以通过dnf安装较新版本,或使用pyenv管理多版本。这里使用dnf安装并配置虚拟环境。

# 1. 安装Python3及常用工具 sudo dnf install -y python3 python3-pip python3-devel # 2. 安装虚拟环境工具 sudo pip3 install virtualenv virtualenvwrapper # 3. 为当前用户配置virtualenvwrapper echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc source ~/.bashrc # 4. 为你的项目创建虚拟环境 mkvirtualenv myproject -p python3 workon myproject # 激活环境

6.2 安装uWSGI与应用依赖

在虚拟环境中,安装uWSGI和你的项目依赖(假设有一个requirements.txt)。

# 确保在虚拟环境 ‘myproject’ 中 pip install uwsgi # 安装项目依赖 pip install -r /path/to/your/project/requirements.txt

6.3 配置uWSGI Emperor模式(推荐)

使用Emperor模式可以方便地管理多个uWSGI应用。

# 1. 创建配置目录和socket目录 sudo mkdir -p /etc/uwsgi/vassals sudo mkdir -p /var/run/uwsgi sudo chown -R your_username:your_username /var/run/uwsgi # 将所有权给你的用户,方便管理 # 2. 创建你的应用配置文件 /etc/uwsgi/vassals/myproject.ini sudo vim /etc/uwsgi/vassals/myproject.ini

配置文件内容示例:

[uwsgi] # 应用基础路径 chdir = /path/to/your/project # Python虚拟环境路径 home = /home/your_username/.virtualenvs/myproject # WSGI模块入口 module = your_app_module:app # 例如,对于Flask: myapp:app # 使用socket与Nginx通信 socket = /var/run/uwsgi/myproject.sock # 设置socket权限 chmod-socket = 660 # 清理退出时的socket文件 vacuum = true # 进程管理 master = true processes = 4 threads = 2 # 日志记录 daemonize = /var/log/uwsgi/myproject.log

6.4 配置Systemd服务管理uWSGI Emperor

创建systemd服务文件,让系统管理uWSGI Emperor进程。

sudo vim /etc/systemd/system/uwsgi-emperor.service

服务文件内容:

[Unit] Description=uWSGI Emperor After=syslog.target network.target [Service] ExecStart=/home/your_username/.virtualenvs/myproject/bin/uwsgi --emperor /etc/uwsgi/vassals Restart=always KillSignal=SIGQUIT Type=notify NotifyAccess=all User=your_username Group=your_username [Install] WantedBy=multi-user.target

启动并启用服务:

sudo systemctl daemon-reload sudo systemctl enable --now uwsgi-emperor sudo systemctl status uwsgi-emperor # 检查状态

6.5 配置Nginx作为反向代理

编辑Nginx的站点配置文件。

sudo vim /etc/nginx/conf.d/myproject.conf

配置文件内容:

server { listen 80; server_name your_domain_or_ip; location / { include uwsgi_params; uwsgi_pass unix:/var/run/uwsgi/myproject.sock; uwsgi_param Host $host; uwsgi_param X-Real-IP $remote_addr; uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for; uwsgi_param X-Forwarded-Proto $scheme; } # 静态文件处理(如果有的话) location /static { alias /path/to/your/project/static; expires 30d; } }

测试Nginx配置并重启:

sudo nginx -t # 测试配置语法 sudo systemctl reload nginx # 平滑重载配置

现在,访问你的服务器IP或域名,应该就能看到部署的Python应用了。

6.6 配置防火墙开放端口

最后,别忘了在防火墙开放80端口(如果用了HTTPS,还有443端口)。

sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 如果配置了SSL sudo firewall-cmd --reload

这套流程在Kylin V10上经过实测是畅通的。关键在于路径和权限的配置,特别是socket文件的所属用户和组,必须与uWSGI进程的运行用户一致,否则Nginx会报502 Bad Gateway错误。通过systemd管理服务,也保证了应用在服务器重启后能自动运行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询