Как сбросить изменения обратно на живой USB при загрузке в оперативную память с постоянством?

736
Chiel ten Brinke

У меня есть загрузочный USB-накопитель с живым дистрибутивом Linux. Мы настроили его для поддержки постоянства, поэтому обычно сделанные изменения сохраняются между перезагрузками. Загрузка в ram, похоже, делает Linux намного быстрее обычного, что делает его удобным способом использования live usb, тем более что live usb намного медленнее и иногда зависает по сравнению с обычной установкой на диск sata.

Мы можем загрузить live usb в ram, добавив параметры загрузки toramв меню grub. Однако очевидно, что это нарушает функцию сохранения, поскольку файловая система загружается в оперативную память, поэтому все изменения теряются при перезагрузке.

Как только мы внесли изменения и решили, что хотим их сохранить, как мы можем сбросить изменения файловой системы с оперативной памяти обратно на USB-диск?


Для записи, я следовал этим инструкциям, чтобы обеспечить постоянную поддержку USB: https://docs.kali.org/downloading/kali-linux-live-usb-persistence

2
Альтернативная процедура в [подробно здесь] (https://www.howtogeek.com/howto/14912/create-a-persistent-bootable-ubuntu-usb-flash-drive/), которая может дать лучшие результаты. harrymc 6 лет назад 0
Это сообщение в блоге не касается загрузки в оперативную память, тогда как мой вопрос касается именно этого. Если вопрос недостаточно ясен, пожалуйста, скажите мне, чтобы я мог улучшить формулировку! Chiel ten Brinke 6 лет назад 0
Это делается позже, добавляя `toram`, как вы сделали. Вот еще одна статья с еще одним методом: [Создать постоянный Ubuntu USB, который загружается в ОЗУ] (https://calvin.me/create-persistent-ubuntu-16-04-live-usb-even-boots-ram/) , harrymc 6 лет назад 0
@ChieltenBrinke Я думаю, вы неправильно поняли, что делает опция `toram`. Насколько я понимаю, только файловая система только для чтения рассматривается как ramdisk. При загрузке с включенным постоянством внесенные вами изменения записываются непосредственно на USB-диск, а не в оперативную память, как вы думаете. the blizz 6 лет назад 0
@theblizz: я ​​согласен. Кроме того, USB медленнее, чем внутренний диск, поэтому постер получит не большую производительность, а скорее меньшую, чем при классической установке на диск. Единственное преимущество постоянного загрузочного USB - то, что это портативная установка Linux, которая может быть запущена на любом компьютере, что я изначально думал, что постер пытался добиться (но, возможно, я ошибался). harrymc 6 лет назад 0
Хорошо, это имеет смысл. У меня сложилось впечатление, что при загрузке с опцией `toram` оверлейная файловая система для чтения и записи также будет скопирована в оперативную память. Есть ли способ сделать это на самом деле? Chiel ten Brinke 6 лет назад 0
Вам не нужно ничего делать - данные на диске автоматически считываются и сохраняются в кэш-памяти при доступе или записи. Запись задерживается и выполняется по усмотрению ОС и в оптимальном порядке. Эти оптимизации являются чрезвычайно важной частью любой ОС, во многих случаях оцениваемой эффективностью этих алгоритмов. Эффективность в основном повышается за счет увеличения объема ОЗУ, что позволяет выделить больший кэш памяти для диска. harrymc 6 лет назад 0
Это может зависеть от настроек кэширования диска. Может случиться так, что поведение кэширования по умолчанию для USB-накопителей отличается, например, от дисков SATA из-за их сменного характера, не уверен. the blizz 6 лет назад 0
@theblizz: Обычно данные, записываемые на съемные устройства, физически сбрасываются быстрее. ОС не рискует, что такое устройство будет удалено без предварительного демонтажа. harrymc 6 лет назад 0
Правильно, поэтому, чтобы улучшить скорость, я, наверное, должен кое-что подправить. Chiel ten Brinke 6 лет назад 0
@ChieltenBrinke: твики не нужны - ОС делает это очень хорошо. Здесь был пост от парня, который подправил свой съемный диск, а затем начал терять данные, которые остались неписанными, когда он выключил свой компьютер. Никто не знал, что он подправил, и он не помнил, поэтому он не получил помощь. Доверьтесь ОС, чтобы иметь хорошие алгоритмы, более сложные, чем все, что вы или я могли бы сделать. harrymc 6 лет назад 0
«Обычно данные, записываемые на съемные устройства, физически сбрасываются быстрее.» Если бы параметры кэширования были изменены, чтобы отразить поведение несъемного диска, это привело бы к потере данных? Chiel ten Brinke 6 лет назад 0
Любая настройка параметров, которую вы ПОЛНОСТЬЮ не понимаете, может привести к потере данных. Под «полным пониманием» я имею в виду уровень драйвера диска и управления кешем, который требует от вас перехода к исходному коду. Не настраивайте то, что хорошо работает. harrymc 6 лет назад 0

2 ответа на вопрос

1
harrymc

Загрузка в ОЗУ с USB кажется быстрее, потому что в память загружается только минимальная версия Linux.

USB медленнее, чем внутренний диск, поэтому производительность будет выше, а не меньше, чем при классической установке на диск. Единственное преимущество постоянного загрузочного USB - то, что это портативная установка Linux, которая может быть запущена на любом компьютере.

Кроме того, съемные устройства физически сбрасываются больше, так как ОС не использует никаких шансов, что такое устройство будет удалено без предварительного демонтажа. Это означает больше записей и чаще для USB, чем для внутреннего диска.

Для улучшения использования памяти не требуется никаких настроек. Linux автоматически сохраняет данные диска в кеш-памяти при чтении или записи. Запись задерживается и выполняется по усмотрению ОС и в оптимальном порядке. Эти оптимизации являются чрезвычайно важной частью любой ОС, во многих случаях оцениваемой эффективностью этих алгоритмов.

Эффективность в основном повышается за счет увеличения объема ОЗУ, что позволяет выделить больший кэш памяти для диска.

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

«Таким образом, производительность не будет выше, а скорее меньше, чем при классической установке на диск», - я никогда не говорил, что вы получите больше производительности при установке через USB, цитируя себя », так как live usb намного медленнее и иногда зависает по сравнению нормальной установке на диск sata Chiel ten Brinke 6 лет назад 0
«Для улучшения использования памяти не требуется никаких настроек». Вы как бы противоречили тому, что сказали ранее: «Съемные устройства физически более очищены». По моему опыту, особенно когда usb не (должным образом) реализует дуплексный ввод / вывод, как предписывает стандарт USB 3.0, такое сбрасывание записей действительно замедляет работу ОС, и каждые несколько секунд компьютер зависает с приложениями, которые делают частые записи, например браузеры. Предотвращение сброса записей ОС здесь * может * повлиять на производительность. Chiel ten Brinke 6 лет назад 0
Настройка дисковых политик - чрезвычайно рискованный путь. Вы можете найти примеры на этом форуме. Если вы пытаетесь значительно ускорить работу медленного компьютера, вам следует инвестировать в оборудование. Я знаю, что это не то, что вы хотели бы услышать, но, к сожалению, нет волшебных решений (или они уже были бы включены в Linux). harrymc 6 лет назад 1
Я согласен, что это рискованно Chiel ten Brinke 6 лет назад 0
1
the blizz

Вот мои 50 центов.

При запуске живого дистрибутива Linux с CD-ROM файловая система доступна только для чтения. Это имеет смысл, потому что вы не можете записать на CD-ROM. Чтобы позволить вам создавать файлы и вносить изменения, действующая ОС использует дополнительную оверлейную файловую систему на виртуальном диске для хранения ваших изменений. (Есть несколько способов реализовать это, просто изучите наложенную файловую систему linux, чтобы узнать больше). Однако эти изменения теряются при выключении, так как они хранятся не на компакт-диске, а на оперативной памяти.

Однако при загрузке живого дистрибутива с USB-накопителя у вас есть возможность поместить эту оверлейную файловую систему на USB-накопитель вместо виртуального диска. Это то, что обычно называют живым USB с постоянным хранилищем . Преимущество этого в том, что сделанные вами изменения сохраняются. Недостатком является то, что ОС часто пишет на ваш USB-накопитель, что может повлиять на вашу производительность на недуплексных USB-накопителях (например, привести к частым зависаниям). Кроме того, это ухудшает долговечность вашего USB-накопителя, поскольку USB-накопители не предназначены для частой записи.

Чтобы решить эти две последние проблемы, вы можете создать виртуальный диск и вручную создать наложенную файловую систему там. Чтобы сохранить изменения, сохраните эту файловую систему в файле на USB-накопителе при завершении работы и восстановите его при запуске.

Создать оверлейную файловую систему вручную не сложно. Прочитайте это как начало: https://wiki.archlinux.org/index.php/Overlay_filesystem

Не могли бы вы поделиться более подробной информацией о том, как сохранить и восстановить эту оверлейную файловую систему с USB-накопителя? Chiel ten Brinke 6 лет назад 0