LINUX.ORG.RU

Как предоставить диск/раздел (не имадж) в readonly режиме для гостя?

 ,


0

2

В междусети нет упоминаний о монтировании дисков целиком для гостя, включая официальную документацю (там раздел disk images), но на сайте Suse встретил:

HINT: Using Host Drives Instead of Images

 To access the host hard disk, use

qemu-kvm [...] -drive file=/dev/hdb,media=disk
ура, теперь можно монтировать диски целиком.

Но проблема в том, как предоставить диск в режиме readonly для гостя? Так:

    -drive file=/dev/sdb,media=disk,readonly \
не работает:
qemu-system-x86_64: Can't use a read-only drive
qemu-system-x86_64: Initialization of device ide-hd failed: Device initialization failed.
без readonly в команде — работает отлично.

Как дать диск гостю в readonly режиме?


Ответ на: комментарий от tailgunner

Почему же? Что плохого дать на «только чтение» целый диск?

slon
() автор топика
Ответ на: комментарий от slon

Я считаю идею одновременного монтирования диска в виртуалке и на хосте настолько плохой, что даже не буду ее обсуждать.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

А, здесь я не указал, что монтирование будет только для гостя в режиме readonly, хост вообще в это время не будет работать с диском.

slon
() автор топика
Ответ на: комментарий от tailgunner

кстати, а если использовать 9p, то он работает как samba (гость сначала скачивает данные в свой диск и только потом работает с ними) или работает напрямую без этого, неудобного для меня (распухает имадж гостя) процесса?

slon
() автор топика
qemu-img create -b /dev/sdd -f qcow2 /vm/disk.qcow2

и уже disk.qcow2 суешь вируталке, только думаю лучше удалять и создавать заново этото фаил при старте виртуалки.

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

эээ, а если на диске с виртуалкой нет столько места, сколько на /dev/sdd? Это получается перед каждый раз перед запуском виртуалки создавать такой большой файл? Пожалей мой SSD :)

slon
() автор топика
Ответ на: комментарий от slon

это просто ссылка на диск\фаил, она весит 100 кб, все изменения будут проиходить в ней(и тогда может пухнуть, но если не переещать сотни гб, то не распухнет сильно) а реальный диск останется не тронутым, считай то же ридонлди

Novell-ch ★★★★★
()
Последнее исправление: Novell-ch (всего исправлений: 2)
Ответ на: комментарий от slon

кстати, а если использовать 9p, то он работает как samba (гость сначала скачивает данные в свой диск и только потом работает с ними) или работает напрямую без этого, неудобного для меня (распухает имадж гостя) процесса?

Если ты говоришь о кэше ФС, то все ФС в Linux работают одинаково. Образ гостя должен распухать в любом случае.

tailgunner ★★★★★
()

Не скажу конкретно по qemu, но может задача решится с помощью blockdev --setro /dev/hdb на хосте или просто монтированием с ro в госте?

thesis ★★★★★
()
Ответ на: комментарий от thesis

blockdev --setro /dev/hdb

хороший получился бы вариант, но возникает ошибка:

qemu-system-x86_64: -drive file=/dev/sdb,media=disk: The device is not writable: Permission denied
ему почему-то нужна запись, а ключ readonly, как я выше указал — не работает.

монтированием с ro в госте?

там винда.

slon
() автор топика
Ответ на: комментарий от slon

А нафига тебе в винде ридонли диск? Чем плоха сетевая шара?
Я видел твою другую тему, там было про установку каких-то софтин с этого диска. Дык вот, MSI в обычном случае (если там у тебя MSI-пакет) всегда будет тащить весь инсталлер в %temp%, и лишь потом устанавливать его локально. Если у тебя именно эта ситуация, то сперва разверни administrative install (msiexec -a) в сети, тогда пакет будет устанавливаться без полного копирования.

thesis ★★★★★
()
Ответ на: комментарий от thesis

да мне уже чисто интересно, каким образом (если возможно вообще) можно отдать диск гостю в readonly режиме.

slon
() автор топика
Ответ на: комментарий от slon

Можно попробовать ключ -snapshot, но в этом случае гость не будет знать, что диск readonly. Может, попытаться диск как сидюк отдать?

alt-x ★★★★★
()
Ответ на: комментарий от alt-x

диск как сидюк отдать?

Не пробовал, но скорее всего file=/dev/sdb,media=cdrom это именно то, что нужно.

Я забил на readonly и решил свою проблему выделением отдельного железного диска с записью ( file=/dev/sdb,media=disk ).

slon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.