обновить все данные на жестком диске, чтобы улучшить их сохранность

Это совершенно неверно, $NF-1напечатает значение последнего столбца, вычитаемое на единицу. Вам нужно сгруппировать команду внутри (..), так как NFявляется переменной

gawk 'NF>=3{ print $(NF-2), $(NF-1), $NF}' file

Часть NF>=3предназначена для безопасной проверки того, что вы печатаете последние 3 поля в строках, которые гарантированно содержат как минимум 3 поля.

2
15.09.2021, 19:57
2 ответа

Самый простой и быстрый способ, вероятно,

dd if=/dev/sda of=/dev/sda bs=256M

ddсчитывается перед записью (, конечно, иначе ему нечего было бы записывать ), а положение устройства не зависит от источника и назначения.

Кроме того, это предполагает, что диск не отключается во время обновления.

Я бы провел тест скорости, используя тот же общий объем данных, но bsравный одной трети , половине , ровно и вдвое размер кэша жесткого диска. В зависимости от стратегии распределения кэш-памяти контроллера жесткого диска время перезаписи может значительно различаться.

Так, например, при наличии кэш-памяти 256 МБ,

время дд... bs=80M count=1638 время дд... бс=128М количество=1024 время дд... бс=256М количество=512 время дд... бс=512M количество=256

Тем не менее, bsне должен превышать объем данных одного полного физического цилиндра, в противном случае механика жесткого диска будет вынуждена пропустить одну дорожку для чтения данных за пределами первого цилиндра, а затем вернуться к записать те же данные. Вы легко распознаете ситуацию, потому что жесткий диск начнет стридулировать. Вы хотите, чтобы вместо этого он испускал определенное «тик. тик. тик.», Каждый цилиндр адресуется только один раз. Определение физического размера затруднено из-за отображения LBA,и это может быть даже невозможно на более новых жестких дисках из-за разных размеров цилиндров в разных зонах размещения (на разном расстоянии от шпинделя ). В таких случаях «обновление» диска создает значительную нагрузку на механику привода.

2
15.09.2021, 21:21

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

Он достаточно стабилен в Linux и отлично работает в версиях Solaris и BSD. Если вы еще не доверяете ему в Linux, внедрите его где-нибудь на файловом сервере и обслуживайте тома iSCSI, NFS или CIFS на серверах, которым нужны данные. ZFS на бэкенде будет держать все в порядке и в безопасности.

2
16.09.2021, 06:24

Теги

Похожие вопросы