如果分区块设备位于其位置,如何恢复磁盘块设备

如果分区块设备位于其位置,如何恢复磁盘块设备

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可以保护您免受此类事故的影响,但坦率地说,我从未测试过这种情况。

相关内容