Unit openstack-keystone.service could not be found. centos7
时间: 2025-03-28 21:13:23 浏览: 110
### OpenStack Keystone服务在CentOS 7上的缺失解决方案
如果遇到 `openstack-keystone.service` 缺失的问题,可能是因为安装过程中某些依赖未被正确配置或者缺少必要的包。以下是详细的排查和解决方法:
#### 1. 验证Keystone服务是否已安装
确认 `openstack-keystone` 是否已经通过软件仓库成功安装到系统中。可以运行以下命令来验证:
```bash
rpm -q openstack-keystone
```
如果没有返回任何版本号,则说明该服务尚未安装。
#### 2. 安装OpenStack Keystone及相关依赖
确保启用了正确的OpenStack存储库,并执行以下操作以安装所需的组件:
```bash
sudo yum install centos-release-openstack-train -y
sudo yum update -y
sudo yum install openstack-keystone httpd mod_wsgi memcached python-memcached -y
```
上述命令会安装Keystone及其所需的服务(如HTTP服务器Apache)。注意替换 `-train` 或其他发行版名称为你所使用的具体版本[^3]。
#### 3. 初始化数据库并完成配置文件设置
创建MySQL/MariaDB数据库实例供Keystone使用,并修改 `/etc/keystone/keystone.conf` 文件中的连接字符串部分。例如:
```ini
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
```
其中 `KEYSTONE_DBPASS` 是自定义密码,需提前设定好。
接着同步数据库结构至实际环境当中:
```bash
su -s /bin/sh -c "keystone-manage db_sync" keystone
```
#### 4. 启动与启用相关服务
启动Memcached以及Web Server (httpd),并将它们设为开机自动加载状态:
```bash
systemctl enable memcached httpd
systemctl start memcached httpd
systemctl status memcached httpd
```
对于Keystone本身而言,在现代部署方式下通常由WSGI处理请求而非独立进程形式存在;因此无需单独管理其service单元文件。不过仍可通过如下指令检查当前状况:
```bash
ps aux | grep keystone
```
#### 5. 测试API功能正常与否
最后一步便是利用管理员身份令牌尝试访问Identity API端点地址,以此判断整个流程搭建完毕之后能否正常使用。
```bash
export OS_TOKEN=ADMIN_TOKEN
export OS_URL=http://controller:35357/v3
openstack service list
unset OS_TOKEN OS_URL
```
以上步骤完成后应该能够顺利找到并激活 `openstack-keystone.service` ,从而解决之前提到过的“missing”现象。
---
阅读全文
相关推荐



