
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。這里有幾個關鍵點需要注意架構匹配務必確認你的服務器或虛擬機的CPU架構。是常見的x86_64AMD64還是ARM架構如飛騰FT-2000/64、鯤鵬920下載對應架構的鏡像否則根本無法啟動安裝程序。從網絡熱詞看很多人卡在第一步可能就是鏡像沒選對。版本確認關注是SP1還是SP2是Release還是某個特定更新版本。不同版本的內核、軟件包版本和驅動支持可能有差異特別是對新型硬件的支持。完整性校驗下載完成后強烈建議使用sha256sum或md5sum工具校驗鏡像文件的哈希值并與官方提供的校驗和進行比對。這是確保鏡像在下載過程中未損壞、未被篡改的重要一步對于生產環境尤為重要。注意由于版權和分發限制本文不提供具體的鏡像下載鏈接。請通過正規商業授權或從銀河麒麟官網的指定渠道獲取。2.2 啟動介質制作有了ISO鏡像下一步是制作啟動介質。對于物理服務器通常使用U盤對于虛擬機則可以直接掛載ISO文件。U盤制作物理機安裝 在Windows下推薦使用Rufus或Ventoy這類工具。使用Rufus時選擇你的U盤設備在“引導類型選擇”處點擊“選擇”按鈕加載下載好的.iso文件“分區類型”通常選擇“GPT”針對UEFI啟動或“MBR”針對傳統BIOS啟動這需要與你服務器的啟動模式一致。點擊開始等待制作完成即可。 使用Ventoy則更靈活你只需將Ventoy安裝到U盤一次之后就可以直接把多個ISO文件拷貝到U盤里在啟動時選擇要安裝的系統鏡像非常適合需要攜帶多個系統鏡像的運維人員。虛擬機環境準備 如果你是在VMware Workstation、VirtualBox或KVM上進行測試安裝過程就簡單多了。新建一臺虛擬機分配好內存建議至少2GB4GB或以上更佳、硬盤空間建議40GB起步用于后續安裝服務和數據然后在虛擬機的光驅設置中直接指向你下載的ISO鏡像文件即可。2.3 服務器硬件與啟動模式檢查對于物理服務器在按下電源鍵之前最好能進入服務器的BIOS/UEFI設置界面確認兩件事啟動模式是UEFI還是Legacy BIOS這決定了你制作啟動U盤時的分區格式GPT對應UEFIMBR對應Legacy也影響系統安裝時的分區方案。目前新服務器普遍支持UEFI其安全性和啟動速度更優。安全啟動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分區類型選標準分區文件系統xfs或ext4。這個分區存放系統內核和引導文件。swap交換分區大小通常為物理內存的1-2倍如果內存很大如64GB以上可以酌情減少或按固定大小如8GB。類型選swap。/根分區占用剩余的大部分空間。文件系統選擇xfsKylin默認或ext4均可。XFS在處理大文件時性能更好是默認推薦。可選/home如果計劃有多個用戶存放大量數據可以單獨分區。可選/var如果服務器是Web或數據庫服務器日志和動態數據會很多單獨分區可以避免根分區被日志塞滿。創建好分區后在下方還有一個“文件系統”選項建議將根分區和boot分區的文件系統選為xfs。然后點擊“完成”系統會提示你確認更改點擊“接受更改”返回摘要頁。KDUMP這是一個內核崩潰轉儲機制用于系統崩潰時收集調試信息。對于生產服務器建議啟用它但會占用一部分內存默認是物理內存的160MB 每1TB磁盤2MB。如果你的內存非常緊張可以禁用。網絡和主機名點擊進入你應該能看到你的網絡設備如ens33或eth0。將其開關從“關閉”撥到“打開”系統會自動通過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的引導菜單如果有多個內核的話通常等待幾秒或直接回車進入默認項。之后系統會進行首次啟動的初始化設置。許可證信息需要閱讀并接受許可證協議。完成配置可能會讓你確認一下網絡、主機名、時區等信息這些我們在安裝時都配好了直接點“完成配置”即可。登錄界面出現圖形登錄界面如果你安裝了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默認使用的是其自帶的軟件倉庫。有時你可能需要添加EPELExtra 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 安全加固初步配置防火墻Kylin V10默認使用firewalld。sudo systemctl enable --now firewalld # 確保防火墻服務運行 sudo firewall-cmd --permanent --add-servicehttp # 永久允許HTTP服務 sudo firewall-cmd --permanent --add-servicehttps # 永久允許HTTPS服務 sudo firewall-cmd --permanent --add-port22/tcp # 永久允許SSH端口如果改了SSH端口這里要改 sudo firewall-cmd --reload # 重載配置使其生效 sudo firewall-cmd --list-all # 查看當前所有規則SSH安全編輯/etc/ssh/sshd_config。修改Port 22為其他非標準端口如Port 2345。設置PermitRootLogin no禁止root直接登錄。設置PasswordAuthentication no并配合使用SSH密鑰登錄安全性更高。修改后執行sudo systemctl restart sshd。SELinux了解其狀態。getenforce查看Enforcing/Permissive/Disabled。除非你非常清楚如何配置SELinux策略否則對于初學者或特定兼容性有問題的應用可以先設置為Permissive模式觀察日志sudo setenforce 0。但這只是臨時生效永久修改需編輯/etc/selinux/config文件。5. 高頻問題與故障排查實錄即使按照圖解步驟操作在實際部署中也可能遇到各種問題。下面是我總結的幾個最常見的問題及其排查思路。5.1 安裝程序無法啟動或卡住現象從U盤啟動后黑屏、卡在LOGO界面、或提示錯誤。排查校驗鏡像首先確認ISO鏡像的SHA256校驗和是否正確。檢查啟動介質重新制作U盤啟動盤嘗試換一個U盤或使用Ventoy。關閉安全啟動進入服務器BIOS將Secure Boot設置為Disabled。嘗試文本安裝模式在啟動菜單選擇“Install Kylin Linux Advanced Server V10”后按Tab或E鍵編輯啟動參數在行尾添加inst.text或nomodeset然后按回車。inst.text進入文本安裝模式nomodeset禁用顯卡驅動檢測常用于解決顯卡兼容性問題。檢查硬件兼容性特別是使用非常新的硬件時可能需要更新主板BIOS或尋找包含更新驅動的新版系統鏡像。5.2 安裝過程中找不到磁盤現象在“安裝目的地”步驟中看不到任何磁盤。排查磁盤控制器模式常見于虛擬機。對于VMware檢查虛擬機設置中SCSI控制器類型如LSI Logic SAS, VMware Paravirtual。對于VirtualBox嘗試將SATA控制器改為SATAAHCI或SCSI。對于物理服務器可能是RAID卡驅動未加載。驅動問題如果服務器使用了特殊的硬件RAID卡或NVMe硬盤可能需要額外的驅動。在安裝啟動時編輯內核參數嘗試添加modprobe.blacklistnouveau如果是因為開源NVIDIA驅動沖突或rd.driver.pre參數來預加載驅動。更復雜的情況需要準備驅動盤Driver Disk在安裝源界面加載。5.3 安裝后無法連接網絡現象系統安裝完成重啟后無法ping通網關或外網。排查ip addr或nmcli device status查看網卡是否被識別且處于connected狀態。如果沒有inet地址說明沒獲取到IP。NetworkManager服務確保服務已啟動sudo systemctl status NetworkManager。配置文件沖突如果手動編輯過舊的ifcfg-*文件可能與NetworkManager管理的配置沖突。建議統一使用nmcli命令管理。防火墻確認本機防火墻沒有阻斷。可臨時關閉防火墻測試sudo systemctl stop firewalld。網卡命名新版Kylin使用類似ens33的預測性網絡接口名而非傳統的eth0。在腳本或配置中引用時要注意。5.4 軟件包安裝失敗或依賴錯誤現象使用dnf install安裝軟件時提示“沒有可用軟件包”或依賴關系沖突。排查軟件源問題首先sudo dnf clean all然后sudo dnf makecache刷新緩存。倉庫是否啟用sudo dnf repolist all查看所有倉庫及其啟用狀態。確保你需要的倉庫是enabled的。架構與版本匹配再次確認你安裝的軟件包是否適用于你的系統架構x86_64 vs aarch64和系統版本V10 SP1?。優先級設置如果添加了多個倉庫如官方源和EPEL可能出現同一個軟件有多個版本。可以配置dnf的插件priorities來設置倉庫優先級確保優先從官方源安裝。手動下載rpm包對于特別難找的包可以嘗試從可信站點如麒麟軟件倉庫鏡像站、芯片廠商提供的光盤下載對應的.rpm文件然后用sudo dnf install ./package.rpm本地安裝dnf會自動處理依賴。5.5 圖形界面相關故障如果安裝了GUI現象登錄后黑屏、花屏、或者分辨率異常。排查顯卡驅動集成顯卡通常沒問題。如果是獨立顯卡特別是NVIDIA可能需要安裝閉源驅動。Kylin的軟件倉庫可能提供了akmod-nvidia或nvidia-driver包。安裝前先sudo dnf update kernel*確保內核是最新的因為驅動需要匹配內核版本。顯示管理器默認可能是GDM或LightDM。可以嘗試切換TTYCtrlAltF2登錄命令行然后重啟顯示服務sudo systemctl restart gdm。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.txt6.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.log6.4 配置Systemd服務管理uWSGI Emperor創建systemd服務文件讓系統管理uWSGI Emperor進程。sudo vim /etc/systemd/system/uwsgi-emperor.service服務文件內容[Unit] DescriptionuWSGI Emperor Aftersyslog.target network.target [Service] ExecStart/home/your_username/.virtualenvs/myproject/bin/uwsgi --emperor /etc/uwsgi/vassals Restartalways KillSignalSIGQUIT Typenotify NotifyAccessall Useryour_username Groupyour_username [Install] WantedBymulti-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-servicehttp sudo firewall-cmd --permanent --add-servicehttps # 如果配置了SSL sudo firewall-cmd --reload這套流程在Kylin V10上經過實測是暢通的。關鍵在于路徑和權限的配置特別是socket文件的所屬用戶和組必須與uWSGI進程的運行用戶一致否則Nginx會報502 Bad Gateway錯誤。通過systemd管理服務也保證了應用在服務器重啟后能自動運行。