Мой инструмент работает с 100 дисками, некоторые из них могут присоединяться или отсоединяться от сервера во время работы инструмента. Я хочу использовать UUID диска в качестве идентификатора диска, и у меня возник вопрос: если какой-то диск disk_1
получил UUID, скажем 32c8da8b-e6d5-9a85-5cfc-1a8b59535263
. Когда место заполнено, я отсоединил диск и отформатировал его (mkfs.ext3
), затем повторно подключитесь к машине, изменится ли UUID?
UUID файловой системы генерируется mkfs, поэтому при переформатировании UUID изменится.
Один из вариантов - создать метку, когда вы создаете файловую систему и заглядываете в нее. /dev/disk/by-label
скорее, чем /dev/disk/by-uuid
. Преимущество использования метки состоит в том, что при необходимости вы можете изменить метку файловой системы после того, как это произошло. Недостатком является то, что теперь вы несете ответственность за поддержание меток и предотвращение столкновений.
Если нет конкретной причины для использования исключительно UUID, вы можете рассмотреть альтернативы, такие как использование /dev/disk/by-partuuid
. Он полагается на информацию, хранящуюся в GPT, а не на самом разделе, поэтому идентификатор должен оставаться неизменным, когда вы только переформатируете раздел.
/dev/disk/by-id
также может быть интересно, он использует серийный номер оборудования. Однако тип контроллера является частью строки идентификатора, поэтому это может стать проблемой, если вы каждый раз подключаете диски по-разному.
источник: https://wiki.archlinux.org/index.php/persistent_block_device_naming