При использовании флэш-накопителя с постоянной операционной системой случается, что постоянный раздел casper- rw
повреждается, если вынуть флэш-накопитель слишком рано после завершения работы операционной системы.
К сожалению, с ubuntustudio-20.04.2 у меня были периоды до одной минуты после нажатия кнопки выключения, когда экран черный, но в разделе casper-rw
происходят тяжелые операции записи. Так что очень легко его сломать, слишком рано потянув за палку.
Чтобы оправиться от такой неудачи, я создаю резервный раздел для casper-rw
и использую команды (после того, как стал суперпользователем) после правильной установки переменных QUELLE и ZIEL:
time cp -a "$ {QUELLE} / upper" "$ {ZIEL}"
time cp -a "$ {QUELLE} / work" "$ {ZIEL}"
time cp -a "$ {QUELLE} / lost + found "" $ {ZIEL} "
Когда мой скрипт запускается, я вижу
htop
показывает мне, что cp -a
процесс очень долго находится в состоянии D. Если я понял (пожалуйста, поправьте меня), это означает, что компьютеру приходится очень часто ждать, потому что контроллер USB-накопителя не может обработать такое количество операций чтения и эффективно выполнять операции записи (хотя это устройство USB3 в разъеме USB3!).
Есть ли способ разрешить cp -a
использовать большие буферы для ускорения работы, в идеале записывая целые файлы последовательно?
Вы можете использовать --
, чтобы указать конец параметров, например:
$ zip -r my.zip -YDHEmmD9DDD=
zip error: Invalid command arguments (short option 'Y' not supported)
, но
$ zip -r my.zip -- -YDHEmmD9DDD=
updating: -YDHEmmD9DDD=/ (stored 0%)
adding: -YDHEmmD9DDD=/somefile (stored 0%)
adding: -YDHEmmD9DDD=/other file (stored 0%)
-121--914899- Какую версию ubuntu вы пытаетесь установить? Эта ошибка возникает при неправильном создании разделов для установленной ОС. Установите Ubuntu один раз с секционированием по умолчанию и проверьте, существует ли проблема по-прежнему! Если ОС установлена таким образом правильно, возможно, выполняется неправильное разбиение.
Для секционирования по умолчанию на странице «Installation type» выберите первый вариант:
-121--914896- Похоже, что можно значительно ускорить копирование, скопировав каталоги upper
, work
и lost + found
(если он существует) в разделе casper-rw
Этот шаг занимает чуть больше 2 минут. Для этой цели можно использовать cp -a
.
Если вы хотите, чтобы резервное копирование на том же стике в отдельном разделе, копирование его с SSD на USB-стик с cp -a
заняло примерно 31 минут (для 4,1 GiB данных в некоторых файлах 66500, USB3 stick в USB3 сокет). Предыдущее содержимое раздела было стерто rm -rf «$ {ZIEL }/upper»; rm -rf «$ {ZIEL }/работа»; rm -rf "$ {ZIEL }/lost + найдено
до копирования содержимого в раздел резервной копии).
Знает ли кто-нибудь, имеет ли значение, если раздел был стерт в этом пути перед повторным использованием, или он ускорится еще больше, если он будет отформатирован поверх него до размещения сетевого содержимого? В случае повреждения casper-rw
необходимо отформатировать его перед восстановлением содержимого из резервной копии.
Конечно, это можно улучшить, сделав резервную копию backup.tar.gz
. Это уменьшает объем записываемых данных, и, в особенности, второй этап может извлечь выгоду из этого.
sync
для принудительной немедленной записи в место назначенияКогда вы cp
файл и он появляется в файловой системе назначения, не гарантируется, что файл действительно находится на носителе.
Причина этого в том, что данные сначала перебираются между различными внутренними буферами, что быстрее и удобнее для пользователя, пока они действительно не окажутся на целевом устройстве хранения. Запись данных на устройство назначения происходит в фоновом режиме и не потребляет много циклов процессора, поэтому это может быть трудно заметить в мониторах активности.
Вы всегда можете попытаться принудительно выполнить немедленную запись из буферов на устройство хранения назначения, используя sync
после копирования, например, cp ${QUELLE} ${ZIEL} && sync
Кроме того, используйте rsync
, чтобы копировать в место назначения только измененные или новые файлы.