Назад | Перейти на главную страницу

как узнать, что такое uuid диска для md raid1 и hdparm?

ive получил массив md0 (raid 1) и хочет отключить кеш записи во время загрузки системы (сервер ubuntu 12.04).

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, чтобы отключить write_cache на диске по uuid.

Я не хочу писать скрипт, чтобы проверить, какой / dev / sdX я должен использовать с hdparm, поэтому я спрашиваю, что делать. Пожалуйста помоги.

что-то вроде этого один лайнер будет запускать 'hdparm -W 0' на всех устройствах, которые используются для рейда md.

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

если вы используете для рейда разделы, а не целые диски, вам необходимо удалить номера разделов из имен устройств (и отсортировать их по уникальному принципу, чтобы вы, например, не получали sda три раза для sda1, sda2, sda3):

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

как всегда, сначала проверьте, что будут делать однострочники, вставив эхо непосредственно перед hdparm. если результат выглядит нормальным, запустите его снова без эха.

Вы пробовали использовать hdparm в файле устройства by-uuid, соответствующем вашему массиву RAID (md0). Вместо этого попробуйте запустить его на дисках, соответствующих физическим дискам.