Как настроить iscsi диск чтобы инициатор мог редактировать диск, но при переподключении диск сбрасывался с исходному состоянию? На сервере установлен Ubuntu 24.04.02, настроен dhcp, tftp - чтобы при сетевой загрузке выдавать ipxe образ с встроенным скриптом, и iscsi сервер - чтобы ipxe скрипт на стороне клиента загружал систему с iscsi target диска. Нужно чтобы клиенты могли редактировать данные, и после перезагрузки компьютера система возвращалась к исходному состоянию. Пробовал в конфиге scsi таргета выставить параметр readonly=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:
Инициализация при загрузке: Возможно, потребуется настроить скрипт инициализации, чтобы автоматизировать процесс монтирования, если он не выполняется автоматически.
Альтернативные подходы
Если overlay не подходит или вы ищете другие решения, вы можете:
Использовать систему, основанную на SquashFS: Система будет загружаться с образа SquashFS, а пользовательские изменения можно будет записывать в tmpfs или другую временную файловую систему при выполнении.Программное обеспечение для виртуализации: Например, использовать KVM/Libvirt с временными дисками, которые будут утилизированы после завершения работы виртуальных машин.Заключение
Использование overlay filesystem - это наиболее часто рекомендуемый подход для вашей задачи. Он позволяет хранить базовую систему без изменений и применять изменения в временной файловой системе. После перезагрузки все изменения будут потеряны, что соответствует вашим требованиям.
Чтобы настроить iSCSI-диск так, чтобы клиент мог редактировать данные, но после перезагрузки все изменения сбрасывались и возвращались к исходному состоянию, вы можете использовать несколько различных подходов. Один из наиболее распространенных и эффективных способов достижения этой цели - использование механизма, называемого "overlay filesystem" или "автовосстановление".
Простой способ с использованием overlay filesystemСоздайте iSCSI Target: Убедитесь, что ваш iSCSI сервер настроен и работает. У вас уже есть таргеты на сервере iSCSI установлены.
Настройка Overlay Filesystem: Вы можете создать файловую систему, используя overlayfs, чтобы иметь возможность работать с "слоем" кэша, который будет удаляться при перезагрузке.
Настройте инициализацию:
Создайте базовый образ системы, который будет использоваться как нижний слой.Создайте верхний слой, который будет использоваться для записи. Этот слой может быть создан в памяти или в tmpfs.Запустите систему с использованием overlay:
Пример настройкиПри загрузке системы с iPXE, настройте корневую файловую систему как overlayfs. Это можно сделать с помощью параметров командной строки загрузки ядра.
Вот как будет выглядеть ваш процесс:
Создайте базовый образ:
Предположим, вы уже создали базовый образ, доступный на iSCSI целевом сервере.
Создайте файловую систему tmpfs:
mount -t tmpfs -o size=1G tmpfs /mnt/overlayЗадайте размер tmpfs при инициализации. Например:
Используйте overlayfs при загрузке:
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Пример записи команды для загрузки в iPXE:
initrd kernel−urlroot=/dev/rd0rwoverlay=lowerdir=/mnt/base,upperdir=/mnt/overlay,workdir=/mnt/workinitrd{initrd-url}
boot
Инициализация при загрузке:
Альтернативные подходыВозможно, потребуется настроить скрипт инициализации, чтобы автоматизировать процесс монтирования, если он не выполняется автоматически.
Если overlay не подходит или вы ищете другие решения, вы можете:
Использовать систему, основанную на SquashFS: Система будет загружаться с образа SquashFS, а пользовательские изменения можно будет записывать в tmpfs или другую временную файловую систему при выполнении.Программное обеспечение для виртуализации: Например, использовать KVM/Libvirt с временными дисками, которые будут утилизированы после завершения работы виртуальных машин.ЗаключениеИспользование overlay filesystem - это наиболее часто рекомендуемый подход для вашей задачи. Он позволяет хранить базовую систему без изменений и применять изменения в временной файловой системе. После перезагрузки все изменения будут потеряны, что соответствует вашим требованиям.