我需要获取 centos 或其他类 unix 系统要创建的下一个设备名称,例如,如果当前设备名称是 vda 到 vdf (如下所示),我需要获取 vdg 作为结果
[root@VM-0-10-centos ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 154.5M 0 rom
vda 253:0 0 200G 0 disk
└─vda1 253:1 0 200G 0 part /
vdb 253:16 0 10G 0 disk
vdc 253:32 0 10G 0 disk
vdd 253:48 0 10G 0 disk
vde 253:64 0 10G 0 disk
vdf 253:80 0 10G 0 disk
这个案例非常简单,但是,如果我多次连接、分离卷,设备名称的最后一个字母可能会断开连接,或者设备名称中可能有超过 3 个字母,所以我的问题是,我应该如何准确获取下一个设备名称?
Linux 中是否有我可以使用的任何命令?我问这个问题的原因是我现在正在重构一个脚本来创建并将新的 SPDK 设备连接到 vm,该脚本自己创建一个新的设备名称,例如,如果最大设备是 vdf,那么它使用 vdg 作为下一个设备名称并发送到 vstation 进行连接,即使有未使用的不连续设备名称(例如,如果当前列表中有 vdb、vdc、vdf,脚本使用 vdg 但实际上我们可以使用 vdd),所以不是让脚本来决定我可以使用哪个设备名称,而是我想是否可以让操作系统决定我接下来可以使用哪一个。
BR拉里