国产麒麟服务器操作系统V11是基于Linux内核的自主可控操作系统,在政府、金融等关键领域广泛应用。作为运维工程师,我最近在麒麟V11上部署了Ollama人工智能服务,这里分享完整的安装配置过程。
麒麟V11采用与CentOS/RHEL类似的软件包管理体系,但内核和部分库文件经过定制化修改。在开始安装前,建议先执行以下检查:
bash复制# 查看系统版本
cat /etc/kylin-release
uname -a
# 检查glibc版本
ldd --version
# 检查GPU驱动(如需GPU加速)
nvidia-smi # NVIDIA显卡
rocminfo # AMD显卡
注意:如果系统提示命令不存在,可能需要先安装基础工具包:
sudo yum install -y redhat-lsb-core lshw pciutils
Ollama运行需要以下基础依赖:
bash复制sudo yum install -y curl tar gzip libstdc++ openssl
对于GPU加速支持(可选):
bash复制# NVIDIA CUDA Toolkit
sudo yum install -y cuda-toolkit-12-3
# 或AMD ROCm
sudo yum install -y rocm-opencl-runtime
Ollama提供了自动化安装脚本,这是最便捷的安装方式:
bash复制curl -fsSL https://ollama.com/install.sh | sh
安装过程会自动完成以下操作:
ollama系统用户和用户组/usr/bin/ollama/usr/share/ollama/.ollama实测发现:麒麟系统的SELinux策略可能导致安装脚本报错。若遇到权限问题,可临时禁用SELinux:
sudo setenforce 0,安装完成后再恢复:sudo setenforce 1
如果官方脚本执行失败,可以尝试手动安装:
bash复制# 下载最新版本
wget https://ollama.com/download/ollama-linux-amd64 -O ollama
# 设置执行权限
chmod +x ollama
sudo mv ollama /usr/bin/
# 创建系统服务
sudo tee /etc/systemd/system/ollama.service <<EOF
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
[Install]
WantedBy=multi-user.target
EOF
启动服务并设置开机自启:
bash复制sudo systemctl enable --now ollama
sudo systemctl status ollama # 检查状态
正常运行的输出应包含"Active: active (running)"字样。如果服务启动失败,可以通过以下命令查看详细日志:
bash复制journalctl -u ollama -f --no-pager
默认情况下,Ollama只监听本地回环地址(127.0.0.1)。如需远程访问,需要修改监听地址:
bash复制sudo nano /etc/systemd/system/ollama.service
在[Service]部分添加环境变量(二选一):
ini复制# 监听所有网络接口(不推荐生产环境)
Environment="OLLAMA_HOST=0.0.0.0"
# 或监听特定IP(推荐)
Environment="OLLAMA_HOST=10.176.27.2"
应用配置变更:
bash复制sudo systemctl daemon-reload
sudo systemctl restart ollama
防火墙配置(firewalld):
bash复制# 开放指定端口
sudo firewall-cmd --permanent --add-port=11434/tcp
sudo firewall-cmd --reload
# 更安全的做法是限制源IP
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.176.27.0/24" port protocol="tcp" port="11434" accept'
sudo firewall-cmd --reload
iptables方案(如果使用传统防火墙):
bash复制sudo iptables -A INPUT -p tcp --dport 11434 -s 10.176.27.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 11434 -j DROP
sudo service iptables save
bash复制# 拉取模型(以llama3为例)
ollama pull llama3
# 运行模型
ollama run llama3 "请用中文回答,麒麟操作系统有什么特点?"
# 查看本地模型列表
ollama list
# 删除模型
ollama rm llama3
在/etc/systemd/system/ollama.service中添加以下参数可提升性能:
ini复制# GPU加速(NVIDIA)
Environment="OLLAMA_GPU_LAYER=1"
# 内存限制(根据服务器实际内存调整)
Environment="OLLAMA_MAX_MEMORY=32GB"
# 并发处理数
Environment="OLLAMA_MAX_LOADED_MODELS=3"
问题1:安装脚本执行时报"Failed to create user ollama"
解决方案:
bash复制# 手动创建用户
sudo groupadd ollama
sudo useradd -g ollama -s /bin/false -d /usr/share/ollama ollama
sudo mkdir -p /usr/share/ollama/.ollama
sudo chown -R ollama:ollama /usr/share/ollama
问题2:GPU加速不可用
检查步骤:
bash复制# 确认CUDA驱动
nvidia-smi
# 检查Ollama GPU支持
ollama serve --verbose 2>&1 | grep -i cuda
# 可能需要重新安装带GPU支持的版本
sudo yum install -y nvidia-container-toolkit
sudo systemctl restart ollama
问题:远程客户端无法连接
排查流程:
bash复制sudo netstat -tulnp | grep 11434
bash复制curl http://localhost:11434
bash复制sudo firewall-cmd --list-all
数据持久化:默认模型存储在/usr/share/ollama/.ollama,建议挂载独立数据盘:
bash复制sudo mkdir /data/ollama
sudo chown ollama:ollama /data/ollama
sudo ln -s /data/ollama /usr/share/ollama/.ollama
日志管理:配置日志轮转:
bash复制sudo tee /etc/logrotate.d/ollama <<EOF
/var/log/ollama.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
systemctl kill -s HUP ollama.service
endscript
}
EOF
监控集成:Prometheus监控配置示例:
yaml复制- job_name: 'ollama'
static_configs:
- targets: ['10.176.27.2:11434']
metrics_path: '/metrics'
在麒麟系统上部署AI服务需要特别注意国产化组件的兼容性问题。经过实际验证,Ollama在V11版本上运行稳定,但建议在正式上线前进行充分测试。如果遇到glibc兼容性问题,可以考虑使用容器化方案作为备选。