我有几个在 KVM 上运行的 Linux(RHEL 5.x / Centos 5.x)机箱,我曾经在它们上面动态地连接和分离磁盘。现在 EL5 版本的问题是,当我们添加磁盘时,最初它将被标记为 /dev/sdb。当我移除它并重新连接磁盘时,它再次指向 /dev/sdc 而不是 /dev/sdb,如果我重复该过程,磁盘将为 /dev/sdd.. /dev/sde.. 等等。
我希望磁盘始终连接到 /dev/sdb。如何实现?
我在 Google 上搜索了很多次,但毫无结果 :(。
任何帮助都将不胜感激!
答案1
您是否需要按设备引用磁盘?如果您只需要挂载它们,您可以通过标签甚至 UUID 引用它们的分区。如果这不是您想要的,您可能需要查看 udev 机制,它允许您编写自己的设备命名规则。
欢呼吧,阿尔夫
答案2
使用块设备的备用标识符代替/dev/sdb
。两种常用方法是标签和 UUID 编号。 中的两个条目的示例/etc/fstab
如下:
LABEL=restore /restore ext3 defaults,noauto 0 0
UUID=7bbbc4ba-029a-4f5c-95e9-1efc74e55b68 /restore ext3 defaults,noauto 0 0
该命令blkid
显示所有块设备的标签和/或 UUID。希望对您有所帮助。
答案3
如果您想以相同的名称引用设备,那么 udev 就是答案。它为设备添加名称。因此,即使设备标识发生变化,引用设备的标签也保持不变。例如,如果 /dev/sda 被分配了 udev 名称 BOOT,那么即使 sda 变为 sdb,名称 BOOT 也引用同一设备。我自己没有使用过 udev。所以不能给你确切的 udev 规则来遵循。但谷歌应该有足够的结果来自己解决这个问题,这应该很简单。