如何知道什么是磁盘uuid为MD RID1和HDCP?

ive得到了md0(raid 1)arrays,并希望在系统启动(ubuntu 12.04服务器)期间写入caching。

md0:/ dev / sda / dev / sdc

BLKID:

/dev/sda: UUID="3e502de5-696d-f4b4-470e-XXX" TYPE="linux_raid_member" /dev/sdb1: UUID="4ba40aae-65e2-416b-8f17-XXX" TYPE="ext2" /dev/sdb5: UUID="LNt5uO-ZFik-eQ0g-BEhP-FDLi-XXX" TYPE="LVM2_member" /dev/md0: UUID="a7eb2443-c3be-45e6-a3eb-XXX" TYPE="ext4" /dev/mapper/mydev-root: UUID="b560f808-db97-4a56-bbf1-XXX" TYPE="ext4" /dev/sdc: UUID="3e502de5-696d-f4b4-470e-XXX" TYPE="linux_raid_member" /dev/mapper/mydev-swap_1: UUID="49b806fe-95a6-4ddf-9c47-XXX" TYPE="swap" 

hdparm -W 0 / dev / sda(或者/ dev / sdc)可以正常工作,但是这些字母可以在启动时更改。 我想通过disk-uuid来使用它。

** stat / dev / disk / by-uuid / *

  File: `/dev/disk/by-uuid/4ba40aae-65e2-416b-8f17-XXX' -> `../../sdb1' File: `/dev/disk/by-uuid/a7eb2443-c3be-45e6-a3eb-XXX' -> `../../md0' File: `/dev/disk/by-uuid/49b806fe-95a6-4ddf-9c47-XXX' -> `../../dm-1' File: `/dev/disk/by-uuid/b560f808-db97-4a56-bbf1-XXX' -> `../../dm-0' 

如果我使用hdparm -W 0 / dev / disk / by-uuid / a7eb2443-c3be-45e6-a3eb-XXX – 则失败。

 /sdb1 -- system hdd /dm-0 -- /boot on sdb1 /dm-1 -- /root on sdb1 

我正在尝试使用本机/etc/hdparm.conf来禁用disk-by-uuid上的write_cache。

我不想写一些脚本来检查什么/ dev / sdX我应该用hdparm,所以即时通讯要求做什么。 请帮忙。

您已经尝试在与您的RAIDarrays(md0)对应的旁路设备文件上使用hdparm 。 请尝试在与物理磁盘相对应的磁盘上运行它。

像这样的一个class轮将在所有用于MD RAID的设备上运行“hdparm -W 0”。

blkid | awk -F: '/linux_raid_member/ {print $1}' | xargs -r -n 1 hdparm -W 0

如果你使用分区而不是整个磁盘进行RAID,那么你需要从设备名称中删除分区号(并且对它们进行独特的sorting,所以你不需要为sda1,sda2,sda3获得sda三次):

blkid | awk -F: '/linux_raid_member/ {print $1}' | sed -e 's/[0-9]\+$//' | sort -u | xargs -r -n 1 hdparm -W 0

像往常一样,首先在hdparm之前插入一个回声来testing单线队员将要做的事情。 如果输出看起来很正常,那么再次运行它,而不需要回显。