1.挂载磁盘使用lvm格式的挂载,发现启动docker失败
2.查看日志 journalctl -xe
发现有个提示: failed to start daemon: Devices cgroup isn’t mounted
发现是cgroup没有挂载,于是参考一片文章挂载cgroup:https://blog.csdn.net/xinshuzhan/article/details/118293022
脚本如下:
cat mount_group.sh
set -e
# 这句是告诉bash如何有任何语句执行结果不为ture,就应该退出。
if grep -v '^#' /etc/fstab | grep -q cgroup; then
echo 'cgroups mounted from fstab, not mounting /sys/fs/cgroup'
exit 0
fi
# kernel provides cgroups?
if [ ! -e /proc/cgroups ]; then
exit 0
fi
# 确保目录存在
if [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
# mount /sys/fs/cgroup if not already done
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
cd /sys/fs/cgroup
# get/mount list of enabled cgroup controllers
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
exit 0
3.执行脚本如下:
sh mount_group.sh
mount: cgroup is already mounted or /sys/fs/cgroup/cpu,cpuacct busy
cgroup is already mounted on /sys/fs/cgroup/systemd
cgroup is already mounted on /sys/fs/cgroup/cpuset
rmdir: failed to remove ‘cpu’: Read-only file system
mount: cgroup is already mounted or /sys/fs/cgroup/cpu,cpuacct busy
cgroup is already mounted on /sys/fs/cgroup/systemd
cgroup is already mounted on /sys/fs/cgroup/cpuset
rmdir: failed to remove ‘cpuacct’: Read-only file system
mount: cgroup is already mounted or /sys/fs/cgroup/net_cls,net_prio busy
cgroup is already mounted on /sys/fs/cgroup/systemd
cgroup is already mounted on /sys/fs/cgroup/cpuset
cgroup is already mounted on /sys/fs/cgroup/memory
cgroup is already mounted on /sys/fs/cgroup/devices
cgroup is already mounted on /sys/fs/cgroup/freezer
rmdir: failed to remove ‘net_cls’: Read-only file system
mount: cgroup is already mounted or /sys/fs/cgroup/net_cls,net_prio busy
cgroup is already mounted on /sys/fs/cgroup/systemd
cgroup is already mounted on /sys/fs/cgroup/cpuset
cgroup is already mounted on /sys/fs/cgroup/memory
cgroup is already mounted on /sys/fs/cgroup/devices
cgroup is already mounted on /sys/fs/cgroup/freezer
cgroup is already mounted on /sys/fs/cgroup/blkio
cgroup is already mounted on /sys/fs/cgroup/perf_event
cgroup is already mounted on /sys/fs/cgroup/hugetlb
cgroup is already mounted on /sys/fs/cgroup/pids
rmdir: failed to remove ‘net_prio’: Read-only file system
4.尝试重启docker服务,成功