Ansible 允许执行以下操作:
- name: create /dev/sdb
filesystem:
force: no
fstype: ext4
dev: /dev/sdb
这将创建一个分区。但是,此分区将放置在/dev/sdb
磁盘块设备应该所在的位置,因此磁盘块设备丢失。发生这种情况时,有什么方法可以访问磁盘块设备吗?
答案1
这将创建一个分区。
我不同意。
根据文档此模块创建一个文件系统。就像mkfs
(我猜它只是mkfs
在后台正常运行)。它会写入设备,但不会更改特殊文件(例如/dev/sdb
)本身。操作后,路径/dev/sdb
将引用与之前相同的块设备。
发生这种情况时有什么办法可以访问磁盘块设备?
是的,设备仍在/dev/sdb
。
请注意,您指定了整个设备/dev/sdb
。在分区上创建文件系统更为常见(例如/dev/sdb1
)。不过,在整个设备上创建文件系统也是可能的(比较这个问题)。在这种情况下,分区表(如果有)将被新创建的文件系统的结构至少部分覆盖。在 Ansible 中,我希望force: no
可以保护您免受此类事故的影响,但坦率地说,我从未测试过这种情况。