Неверная переменная env $ HOME для вновь созданного пользователя

После дополнительного тестирования выяснилось, что существует проблема с LVM и его взаимосвязью с ядром Linux. Я предполагаю, что это связано с кешированием диска, но я не уверен на 100%. Вот что я обнаружил:

Сначала я записал мусорные данные на свой том LVM:

# dd if=/dev/urandom of=/dev/vg0/volume_b bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.600447 s, 1.7 MB/s

Затем я прочитал том LVM. Вот фрагмент мусора, который был написан:

# hexdump /dev/vg0/volume_b -n 0x20
0000000 2358 898b a13b 8d94 39a1 bff6 8b38 79ec
0000010 9155 1202 ce46 938f 49dc 7687 f804 bf13
0000020

Но, проверив само блочное устройство, ничего не обнаружилось.

# hexdump /dev/mmcblk0p2 -s 200M
c800000 0000 0000 0000 0000 0000 0000 0000 0000
*
c900000 2dee 8ea4 2116 1981 252f d113 afc1 3182
c900010 e6fc 7d1b d173 3cab 4399 8715 bcdf 2272

Был 1 МБ нулей, за которыми следовала какая-то фигня, не совпадающая с тем, что было только что записано в том LVM. Но на всякий случай попробовал перезагрузить систему и еще раз проверить.

# hexdump /dev/mmcblk0p2 -s 200M
c800000 0000 0000 0000 0000 0000 0000 0000 0000
*
c900000 2358 898b a13b 8d94 39a1 bff6 8b38 79ec
c900010 9155 1202 ce46 938f 49dc 7687 f804 bf13

Вот данные! По-прежнему существует раздел нулей размером 1 МБ (предположительно, заголовок?), Но данные, записанные в / dev / vg0 / volume_b , находятся на / dev / mmcblk0p2 .

Я не могу этого объяснить. Я предполагаю, что может быть проблема со связью между LVM и драйвером ядра или, точнее, с тем, как ядро ​​обрабатывает кеширование диска.Если я пишу на физический диск через LV в область, которая в настоящее время кэшируется, возможно ли, что кеш не будет обновлен или помечен как грязный?

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

Я оставлю это открытым на некоторое время, так как я все еще не уверен, в чем основная причина этого, но, по крайней мере, я знаю, что проблема на самом деле не проблема.

[edit] Похоже, что виноват кеш. Запуск echo 3> / proc / sys / vm / drop_caches после записи приводит к немедленному обновлению обратного чтения. Welp.

2
01.07.2016, 10:22
0 ответов

Теги

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