Как настроить iscsi диск чтобы инициатор мог редактировать диск, но при переподключении диск сбрасывался с исходному состоянию? На сервере установлен Ubuntu 24.04.02, настроен dhcp, tftp - чтобы при сетевой загрузке выдавать ipxe образ с встроенным скриптом, и iscsi сервер - чтобы ipxe скрипт на стороне клиента загружал систему с iscsi target диска. Нужно чтобы клиенты могли редактировать данные, и после перезагрузки компьютера система возвращалась к исходному состоянию. Пробовал в конфиге scsi таргета выставить параметр readonly=1, желаемого результата с помощью этого параметра не достиг - потому что система отказывается загружаться. Как реализовать что-то на подобие временного кэша с которым будет взаимодействовать сторона клиента, и после перезапуска ПК - сбрасываться?

11 Июн в 19:52
249 +1
0
Ответы
1

Чтобы настроить iSCSI-диск так, чтобы клиент мог редактировать данные, но после перезагрузки все изменения сбрасывались и возвращались к исходному состоянию, вы можете использовать несколько различных подходов. Один из наиболее распространенных и эффективных способов достижения этой цели - использование механизма, называемого "overlay filesystem" или "автовосстановление".

Простой способ с использованием overlay filesystem

Создайте iSCSI Target: Убедитесь, что ваш iSCSI сервер настроен и работает. У вас уже есть таргеты на сервере iSCSI установлены.

Настройка Overlay Filesystem: Вы можете создать файловую систему, используя overlayfs, чтобы иметь возможность работать с "слоем" кэша, который будет удаляться при перезагрузке.

Настройте инициализацию:

Создайте базовый образ системы, который будет использоваться как нижний слой.Создайте верхний слой, который будет использоваться для записи. Этот слой может быть создан в памяти или в tmpfs.

Запустите систему с использованием overlay:
При загрузке системы с iPXE, настройте корневую файловую систему как overlayfs. Это можно сделать с помощью параметров командной строки загрузки ядра.

Пример настройки

Вот как будет выглядеть ваш процесс:

Создайте базовый образ:
Предположим, вы уже создали базовый образ, доступный на iSCSI целевом сервере.

Создайте файловую систему tmpfs:
Задайте размер tmpfs при инициализации. Например:

mount -t tmpfs -o size=1G tmpfs /mnt/overlay

Используйте overlayfs при загрузке:
Пример записи команды для загрузки в iPXE:

kernel kernel−urlroot=/dev/rd0rwoverlay=lowerdir=/mnt/base,upperdir=/mnt/overlay,workdir=/mnt/workinitrd{kernel-url} root=/dev/rd0 rw overlay=lowerdir=/mnt/base,upperdir=/mnt/overlay,workdir=/mnt/work
initrd
kernelurlroot=/dev/rd0rwoverlay=lowerdir=/mnt/base,upperdir=/mnt/overlay,workdir=/mnt/workinitrd
{initrd-url}
boot

Инициализация при загрузке:
Возможно, потребуется настроить скрипт инициализации, чтобы автоматизировать процесс монтирования, если он не выполняется автоматически.

Альтернативные подходы

Если overlay не подходит или вы ищете другие решения, вы можете:

Использовать систему, основанную на SquashFS: Система будет загружаться с образа SquashFS, а пользовательские изменения можно будет записывать в tmpfs или другую временную файловую систему при выполнении.Программное обеспечение для виртуализации: Например, использовать KVM/Libvirt с временными дисками, которые будут утилизированы после завершения работы виртуальных машин.Заключение

Использование overlay filesystem - это наиболее часто рекомендуемый подход для вашей задачи. Он позволяет хранить базовую систему без изменений и применять изменения в временной файловой системе. После перезагрузки все изменения будут потеряны, что соответствует вашим требованиям.

11 Июн в 19:53
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир