Эти наблюдения взяты из CentOS 6.3, 6.4 и 6.5. У меня есть многопутевое устройство с одним разделом:
# ls -l /dev/mapper/
total 0
crw-rw---- 1 admin root 10, 57 Dec 22 12:52 control
lrwxrwxrwx 1 admin root 7 Dec 24 12:22 mpatha -> ../dm-0
lrwxrwxrwx 1 admin root 7 Dec 24 12:22 mpathap1 -> ../dm-1
# kpartx -l /dev/mapper/mpatha
mpatha1 : 0 5368719293 /dev/mapper/mpatha 34
Затем для удаления раздела используется parted:
# parted /dev/mapper/mpatha
GNU Parted 1.7.1
Using /dev/dm-0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit GB
(parted) p
Disk /dev/dm-0: 2749GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 0.00GB 2749GB 2749GB ext3 primary
(parted) rm 1
(parted) q
Information: Don't forget to update /etc/fstab, if necessary.
Однако специальный файл устройства /dev/mapper/mpathap1
не удаляется автоматически. Бег ls -l /dev/mapper/
производит точно такой же результат, как показано выше, а kpartx -l /dev/mapper/mpatha
, нормально закрывается ($? = 0), ничего не печатая.
Мой вопрос связан с этот один. Однако проблема заключалась в том, что специальный файл устройства не создавался в /dev/
в то время как мой касается удаления, и это тоже на многопутевых устройствах. Я выполняю определенные операции в сценарии и уже проверял, действительно ли ожидаемые файлы устройств создаются или удаляются, а если нет, то я вызываю kpartx -a -p p <device>
(взял этот намек от /lib/udev/rules.d/40-multipath.rules
) или kpartx -d <device>
в зависимости от обстоятельств. Но я еще не получил удовлетворительного понимания.
Когда в целом создание разделов на дополнительном локальном диске или переносном жестком диске с помощью parted работает отлично, почему нужно делать что-то еще на дисках, поступающих из SAN? Любая информация будет оценена по достоинству. Спасибо!
Эту проблему можно было решить, обновив parted до 2.1-21. У нас есть система, основанная на CentOS, в которой определенные компоненты скомпилированы с исходным кодом, а parted оказывается одним. Я еще не пытался выяснить, была ли ошибка в предыдущем разделенном выпуске.