Автосмонтируйте логический том на внешнем дисководе разделенный LVM

Проблема

У меня есть внешний жесткий диск с одним логическим томом, совершенно рабочим, который может быть смонтирован с:
udisksctl mount -b /dev/mapper/wd0hdd-wd0
Это создаст новый каталог под /media/username/wd который является ожидаемым поведением с тех пор wd маркировка моего диска wd0 название моего логического тома и username мое имя пользователя.

Однако я хотел бы тот этот логический том, мог быть смонтирован автоматически (не вводя эту команду), когда я включаю внешний жесткий диск, точно так же, как udisks2 обычно делает со стандартным разделом Linux (non-lvm). [Problem1]

Кроме того, я заметил это /media/username/wd принадлежит root:root с 755 правами, который проблематичен, так как я не могу создать файлы/каталог в корне моего раздела как обычный пользователь. Для стандартного раздела Linux созданный каталог принадлежит username который ожидается [Problem2]

Наконец, Наутилус не отображает объем в левой панели, как обычно, для стандартного раздела Linux вместо этого, это находится в Other Locations. Однако расширение гнома Place Status Indicator перечислите новое wd правильно ниже моих других дисков. [Problem3]

Ожидаемое решение

Найдите способ сказать udisks2 полагать, что данный логический том автоматический смонтированный как съемные носители.

Воспроизвести

Установите внешний диск с единственным логическим разделом:

sudo lvmdiskscan # Suppose sdc is the candidate
sudo pvcreate /dev/sdc
sudo vgcreate wd0hdd /dev/sdc1
sudo lvcreate -l 100%FREE -n wd0 wd0hdd
sudo mkfs.ext4 /dev/wd0hdd/wd0

[Факультативный] Диск Gnome использования для изменения маркировки диска к wd

Ubuntu перезагрузки и видит то, что происходит в наутилусе и в /media/username когда

  • включенный диск - в во время начальной загрузки
  • включенный диск - в после запуска завершился

Диагностика

Скажите мне, что могло быть полезным здесь.

Я пытался найти что-то полезным в журнале, чтобы помочь отследить проблему, нет ничего соответствующего, отображенного journactl однако могли бы быть некоторые подсказки о том, что идет не так, как надо благодаря udisksctl monitor прямо после того, как я монтирую устройство с udisksctl mount -b /dev/mapper/wd0hdd/wd0

17:49:54.019: Added /org/freedesktop/UDisks2/jobs/2
 org.freedesktop.UDisks2.Job:
   Bytes:              0
   Cancelable:         true
   ExpectedEndTime:    0
   Objects:            ['/org/freedesktop/UDisks2/block_devices/dm_2d5']
   Operation:          filesystem-mount
   Progress:           0.0
   ProgressValid:      false
   Rate:               0
   StartTime:          1553186994019094
   StartedByUID:       0
17:49:54.095: /org/freedesktop/UDisks2/jobs/2: org.freedesktop.UDisks2.Job::Completed (true, '')
17:49:54.095: Removed /org/freedesktop/UDisks2/jobs/2
17:49:54.140: /org/freedesktop/UDisks2/block_devices/dm_2d5: org.freedesktop.UDisks2.Filesystem: Properties Changed
 MountPoints:          /media/mil/wd1
17:49:54.141: /org/freedesktop/UDisks2/block_devices/dm_2d5: org.freedesktop.UDisks2.Block: Properties Changed
 UserspaceMountOptions:        uhelper=udisks2
17:49:54.141: /org/freedesktop/UDisks2/block_devices/sdd: org.freedesktop.UDisks2.PartitionTable: Properties Changed
 Partitions:           ['/org/freedesktop/UDisks2/block_devices/sdd1']

Я не знаю если это UserspaceMountOptions: uhelper=udisks2 мог помочь мне, если мне удается измениться, они монтируют опции.


Неудачные попытки

HintAuto свойство и udisks2

HintAuto свойство, которое может быть переопределено благодаря UDISKS_AUTO в udisks2. Я определил это физический раздел udisksctl info -b /dev/sdc1 | grep HintAuto -> HintAuto: true. Однако HintAuto ложь для логического устройства udisksctl info -b /dev/mapper/wd0hdd-wd0 | grep HintAuto -> HintAuto: false

Мне удалось переопределить значение HintAuto для логического тома благодаря правилам udev, как обсуждено в Автомонтировании логический том LVM с правилом udev и udisks2 однако, это не решило мою проблему с тех пор udisks2 все еще не автомонтирует раздел.

Неудовлетворительное решение

Использовать /etc/fstab или путем редактирования непосредственно или использования дисковой утилиты гнома, это просто решает проблему, чтобы автосмонтироваться при запуске, но не, если я включаю последний диск. Кроме того, это не решает проблему 2, ни проблему 3 (я думал, что x-gvfs-show решит, но не), и насколько я знаю /etc/fstab для статического диска, и udisks2 для всего вида съемных дисков, таким образом, я предпочел бы udisks2 решение.

Используйте потрясающий сценарий оболочки, запущенный некоторым демоном, обнаруживающим, когда диск будет включен. Huum хорошо, возможно, если у меня нет никакого другого выбора, но я не нашел сценария, решив все эти три упомянутые выше проблемы. Также я все еще полагаю, что работа могла быть сделана udisks2.

Скажите udisks2 автоматическому монтированию весь логический том. Это было бы нежелательно, так как часть моего логического тома является другой системой Linux. Так или иначе я не нашел способа сделать это.


Мотивация

Люди могли спросить:
- Почему единственный раздел LVM на целом диске вместо единственного стандартного раздела? KISS!
- Да Вы правы! Однако, чего я пытаюсь достигнуть вот, просто более простой сценарий того, чего я хочу достигнуть в конце. У меня есть другой диск, на котором я установил небольшой раздел ESP для мультизагружений в режиме EFI и другом физическом томе LVM, содержащем два логических тома с двумя другими Linux и третий огромный логический том для хранения данных медиа. Большую часть времени этот диск просто включается в моем персональном компьютере, таким образом, я только использую раздел хранения данных медиа для резервного копирования и музыки однако иногда, я перехожу к другим местам без моего компьютера и только приношу свой диск, таким образом я могу загрузиться со своим собственным Linux, emacs и аудиоплеером, настроенным, как я люблю и начинаю работать в приятной среде. В этом контексте LVM действительно полезен для этой установки, чтобы легко изменить размер и справиться с шифрованием.

4
задан 1 April 2019 в 11:45

1 ответ

Наконец после того, как так многие стараются изо всех сил и только рабочее решение, которое я нашел, чтобы автосмонтировать, что логический том состоит в том, чтобы использовать SystemD. Создайте Ваш <path-to-mount-folder>.mount и <path-to-mount-folder>.automount файл под /etc/systemd/system/

Установка media-username-wd.mount

[Unit]
Description=Western Digital external drive mount in media

[Mount]
What=/dev/wdhdd0/wd0
Where=/media/username/wd
Type=ext4
Options=defaults

[Install]
WantedBy=multi-user.target

media-username-wd.automount

[Unit]
Description=Western Digital external drive automount in media

[Automount]
Where=/media/username/wd

[Install]
WantedBy=multi-user.target

эти новые сервисы

systemctl daemon-reload
systemctl disable media-mil-wd.mount
systemctl enable media-mil-wd.automount

, сервис .mount отключен, и только эти .automount включен нарочно. Первый используется в духе fstab для монтирования раздела при запуске и последнем, чтобы автосмонтировать раздел при обнаружении (внешний диск включается). Хотя существование .mount файл требуется для каждого .automount созданный файл, это не обязательно для включения сервиса.

состояние Check

systemctl start media-mil-wd.automount
systemctl status media-mil-wd.automount

я хотел бы к спасибо, которое TomГЎЕЎ TomeДЌek для его не допускающего оценки сообщения Автомонтирует с SystemD, который, возможно, сохранил меня часы udev руководства, читающего, если только я обнаружил его раньше.

Наконец это решение теперь достаточно хорошо для меня, оно решает мой основной вопрос [Problem1] и также [Problem2], который хорош. Однако это не решает [Problem3], но я могу жить с этим на данный момент.

я все еще открыт для любых предложений особенно, если они или более просты или позволяют решать [Problem3], который является идеальной интеграцией в Наутилусе.

1
ответ дан 1 December 2019 в 10:31

Другие вопросы по тегам:

Похожие вопросы: