原来我一般在linux下面是根据设备名称挂硬盘,比如/dev/hda, /dev/sda1,这样的,redhat原来还根据LABEL来挂,这样曾经很容易出问题,比如多加一块装过linux的硬盘,天知道Redhat系统从哪个LABEL=/ 上去启动系统。
从设备名上也有问题,如果是本机硬件设备还好说,但是也有可能接的顺序不一样了就导致整个错了。
如果是iscsi,就更可能出问题了,取消连接后再重新连接之后,很可能/dev/sda /dev/sdb这些的顺序和编号就都变了,已此为基础的其他事情都会乱掉。因此,根据一个设备的唯一标识来区分和挂载才是正途。
这个id应该就是uuid了。在Redhat下面有devlabel可以对存储设备的访问采用这个唯一标识,这个程序还支持裸设备/dev/raw,这比e2fsprogs里面的blkid等程序就要稍好一点,因为那些只支持e2fs格式化过的分区。
debian下面没有自带的devlabel,再加上看到devlabel的说明,2.6内核还是用udev。
所以现在解决这个问题应该通过使用udev。