我想使用 digitalocean 的块存储设备作为专用文件系统来管理 Docker 容器。计划是在启动时(在启动 Docker 服务之前)将此文件系统挂载到 /var/lib/docker。
到目前为止,我的尝试都没有成功。虽然我的剧本没有报告错误,但ls -la /var/lib/docker
在格式化和分区 DO 的块存储设备后运行时,表明我可能遇到了问题:
drwxr-xr-x 3 root root 4096
drwx--x--x 14 root root 4096
drwx------ 2 root root 16384 Jan 25 16:47 lost+found
看完之后这,这, 和这,我无法理解这是什么lost+found
意思,但我知道这不是一个好兆头。
我当然想了解原因并修复它。我的剧本如下(请注意,由于需要调试,下面的剧本使用静态/显式值):
---
- name: mount point of attached volume
stat:
path: /mnt/name_of_attached_volume
- name: get digital_ocean_volume_path_by_name
stat:
path: /dev/disk/by-id/scsi-0DO_Volume_name_of_attached_volume
- name: unmount images volume
command: umount /mnt/name_of_attached_volume
- name: Label the volume
command: parted -s /dev/disk/by-id/scsi-0DO_Volume_name_of_attached_volume mklabel gpt
- name: Create an ext4 partition
command: parted -s -a opt /dev/disk/by-id/scsi-0DO_Volume__name_of_attached_volume mkpart primary ext4 0% 100%
- name: Build the ext4 metadata
command: mkfs.ext4 /dev/disk/by-id/scsi-0DO_Volume__name_of_attached_volume-part1
####################################################################
# since the mount point -- `/var/lib/docker` -- already exists #
# by virtue of docker being installed on the host, no need to #
# create a mount point but I do need stop docker running #
####################################################################
- name: stop docker service
service:
name: docker
state: stopped
- name: mount volume read-write
mount:
path: /var/lib/docker
src: /dev/disk/by-id/scsi-0DO_Volume__name_of_attached_volume-part1
fstype: ext4
opts: defaults,discard
dump: 0
passno: 2
state: mounted
- name: remove mount point for images volume
command: rmdir /mnt/name_of_attached_volume
- name: Start docker service
service:
name: docker
state: started
enabled: "{{ docker_service_enabled }}"
我显然遗漏/误解了一个步骤。非常感谢您的提示。谢谢!
答案1
失物处是一个(美式)英语表达,指的是丢失物品被归还并且失主可能会再次找到它们的地方。
类似地,lost+found
目录是系统使用 检查文件系统是否损坏后fsck
,放置已恢复但无法确定原始路径名的文件的地方。
此目录通常为空,只要它保持为空,您就不会遇到任何问题。如果在检查文件系统后目录中出现文件,则必须手动确定文件的内容并将其还原到其原始位置或对其进行其他操作。如果在检查文件系统后文件丢失,您可能会在那里找到它,因此它的行为与现实生活中的失物招领非常相似。