问题背景:
我经常使用cockpit进行管理服务器。https://cockpit-project.org/;这是历史遗留原因。这种方式是之前本科毕业去 RedHat Beijing 实习的时候从 RedHat 7 文档中学习到的。
最近实验室项目的运行过程中,我需要使用 cockpit 管理 ubuntu server服务器。关于cockpit 我就不多介绍了,用过的同学,基本上都懂。
我照常安装 cockpit,启用服务,并进行使用。但是发现,在ubuntu平台上,cockpit的支持,不如对fedora的好。尤其是缺少了lvm管理的功能。(下文会讲到,我误会了cockpit,原来只是少安装了一个模块)
因为这个原因,我前段时间写了一篇关于LVM管理方案的博客:The GUI tool of LVM; LVM 图形界面管理工具;LVM GUI;LVM Webconsole; Webmin探索;
上面详细介绍了LVM GUI界面管理的方案,并给出了我自己的评价。虽然webmin功能很丰富,但我还是比较习惯服务器环境下cockpit的管理方式。
所以,今天我简要手动适配一下 cockpit 对于 ubuntu平台。并将解决方案,做成一个 github repo,这样我每次使用的时候,可以直接git clone 下来,并使用脚本运行。
下面进行简要记录,本博客主要是本人个人备忘。可能有些细节,我没详细说,相信你对 linux 平台足够熟悉的话,还是能理解我的思路的。
过程记录:(平台 ubuntu 20.04.1)
通过上述步骤,可以完成独立安装cockpit的需求。但是我通过运行才发现最新的版本同样不能管理lvm;通过查找cockpit文档才发现,cockpit-storaged基于udisks2进行实现。
我们通过apt查看,发现本机并没有安装udisks2-lvm2模块。我们只要安装上该模块,并重新启动udisks和cockpit即可。具体情况见下图所示:
使用的命令:
#!/bin/bash
# 进行从 apt 安装,并且重启服务;
apt install cockpit
apt install udisks2-lvm2
systemctl restart udisks2.service
systemctl daemon-reload
systemctl restart cockpit.socket
systemctl restart cockpit.service
保持更新。