<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Повторяю в рассылку. Просьба не
отвечать на личные адреса, а только в рассылку.<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">07.07.2022 20:40, Anton Saietskii
пишет:<br>
</div>
<blockquote type="cite"
cite="mid:CAA2O=b-rDbt9TzBVbpvyF_d5qrhYySmDkrTUsib55aGW-xMTuA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">
<div>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jul 7, 2022, 20:22
Владимир Друзенко via freebsd <<a
href="mailto:freebsd@uafug.org.ua"
moz-do-not-send="true" class="moz-txt-link-freetext">freebsd@uafug.org.ua</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">07.07.2022
18:23, Anton Saietskii пишет:<br>
> Приветствую,<br>
> Пока тут тестировал сабж, наткнулся на пару
неприятных моментов и<br>
> хотел бы поделиться -- вдруг кому полезно будет.<br>
><br>
><br>
> ** Проблема №1:<br>
> После установки emulators/virtualbox-ose-additions
при запуске<br>
> виртуалки системная дата устанавливается на 2299-й
год. Это не зависит<br>
> от настройки "hw clock in utc" (ещё бы, тут проблема
не просто в<br>
> часовом поясе...)<br>
> Синхронизация времени выполняется с помощью
vboxservice, который<br>
> находится достаточно далеко от начала rcorder, из-за
чего некоторые<br>
> важные файлы имеют дату в далёком будущем, т.к.
изменяются во время<br>
> загрузки перед запуском vboxservice.<br>
> Я не проверял, станет ли системная дата опять
нормальной, если снести<br>
> пакет, а из конфига виртуалки вычистить все свойства,
которые<br>
> устанавливаются guest additions. Вместо этого решил
закостылить так:<br>
><br>
> $ cat /etc/rc.d/save_time<br>
> #! /bin/sh<br>
><br>
> # KEYWORD: nojail shutdown<br>
><br>
> . /etc/rc.subr<br>
><br>
> name=save_time<br>
> rcvar=save_time_enable<br>
><br>
> start_cmd="${name}_start"<br>
> stop_cmd="${name}_stop"<br>
><br>
> load_rc_config $name<br>
> : ${save_time_enable:=NO}<br>
> : ${save_time_<a class="moz-txt-link-freetext" href="file:=">file:=</a>"/var/db/save_time"}<br>
><br>
> save_time_start() {<br>
> if [ -r $save_time_file -a -s
$save_time_file ]; then<br>
> saved_time=`cat $save_time_file`<br>
> echo "Restoring date/time from
$save_time_file as $saved_time"<br>
> date $saved_time<br>
> fi<br>
> }<br>
><br>
> save_time_stop() {<br>
> echo -n "Saving date/time to
$save_time_file... "<br>
> date +%Y%m%d%H%M > $save_time_file<br>
> if [ $? -ne 0 ]; then<br>
> warn "cannot save."<br>
> else<br>
> echo "done."<br>
> fi<br>
> }<br>
><br>
> run_rc_command "$1"<br>
><br>
> То, что системные часы "отстанут" на время, в течение
которого<br>
> виртуалка была выключена, в принципе, для меня вполне
терпимо.<br>
> Обнаружилась лишь небольшая неприятность после: cron
запускается в<br>
> прошлом, т.к. vboxservice по дефолту при своём
запуске корректирует<br>
> время постепенно, а не моментально. Это решилось
включением<br>
> соответствующей опции:<br>
> $ grep vboxservice_flags /etc/rc.conf<br>
> vboxservice_flags="--timesync-set-start"<br>
><br>
> Готов ловить летящие помидоры и яйца, если вдруг
таковые имеются.<br>
<br>
Что-то явно делаете не так или умалчиваете.<br>
У меня 10+ лет работает 4 сервера с headless VirtulBox
(3=>4=>5=>6) на <br>
FreeBSD (9=>10=>11=>12=>13) и ничего подобного
замечено не было.<br>
</blockquote>
</div>
</div>
<div dir="auto">1. Создао виртуалку.</div>
<div dir="auto">2. Поставил фрю.</div>
<div dir="auto">3. Поставил пакет virtualbox-ose-additions-nox11</div>
<div dir="auto">4. Запустил VBox{guest|service} (не включая
автозапуск)</div>
<div dir="auto">5. Перезагрузился.</div>
<div dir="auto">6. В виртуалке год 2299</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Конечно же при остановке сервера виртуалки savestate.<br>
</blockquote>
</div>
</div>
<div dir="auto">Не вижу смысла при переходе хоста в S3 каждый
раз писать весь объём памяти виртуалки на диск.</div>
</div>
</blockquote>
<p>Может из-за этого все проблемы. Так что лучше проверить.</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAA2O=b-rDbt9TzBVbpvyF_d5qrhYySmDkrTUsib55aGW-xMTuA@mail.gmail.com">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
> ** Проблема №2:<br>
> Имеется следующая конфигурация дисковой подсистемы:<br>
> Контроллер LSI Logic SAS, к нему подключен VDI с
опциями nonrotational<br>
> и discard (чтобы этот VDI сам ужимался).<br>
> Внутри виртуалки: GPT (1M align) -> GELI (4K
sectorsize, trim<br>
> пропускается) -> ZFS (autotrim=on).<br>
> Хост может уходить в S3/S4, никаких специальных
действий для виртуалки<br>
> при этом не предпринимается.<br>
<br>
savestate</blockquote>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> Через несколько дней внезапно побились контрольные
суммы, что<br>
> затронуло пяток файлов, в messages было такое:<br>
><br>
> Jun 24 17:21:36 freebsdvm ZFS[998]: checksum
mismatch, zpool=zroot<br>
> path=/dev/da0p3.eli offset=3501813760 size=12288<br>
> Jun 24 17:21:36 freebsdvm ZFS[1002]: pool I/O
failure, zpool=zroot error=97<br>
> Jun 24 17:21:36 freebsdvm ZFS[1006]: checksum
mismatch, zpool=zroot<br>
> path=/dev/da0p3.eli offset=3502202880 size=12288<br>
> Jun 24 17:21:36 freebsdvm ZFS[1010]: pool I/O
failure, zpool=zroot error=97<br>
> Jun 24 17:21:36 freebsdvm ZFS[1014]: checksum
mismatch, zpool=zroot<br>
> path=/dev/da0p3.eli offset=3502190592 size=12288<br>
> Jun 24 17:22:28 freebsdvm ZFS[1028]: pool I/O
failure, zpool=zroot error=97<br>
> Jun 24 17:22:28 freebsdvm ZFS[1032]: pool I/O
failure, zpool=zroot error=97<br>
><br>
> Недолго думая, я переустановил затронутые пакеты,
прогнал scrub да успокоился.<br>
> Ещё через несколько дней опять побились контрольные
суммы, но это уже<br>
> затронуло один файл. Виртуалка начала неистово читать
диск, а в<br>
> messages я успел прочесть следующее (таких сообщений,
как ранее уже не<br>
> было):<br>
><br>
> Jul 4 15:13:40 freebsdvm kernel: [93142] mpt0:
request<br>
> 0xfffffe0005dd7d80:54344 timed out for ccb
0xfffff80018953000<br>
> (req->ccb 0xfffff80018953000)<br>
> Jul 4 15:13:40 freebsdvm kernel: [93142] mpt0:
attempting to abort<br>
> req 0xfffffe0005dd7d80:54344 function 0<br>
> Jul 4 15:13:40 freebsdvm kernel: [93142] mpt0: abort
of req<br>
> 0xfffffe0005dd7d80:54344 completed<br>
> Jul 4 15:13:40 freebsdvm kernel: [93142] mpt0:
attempting to abort<br>
> req 0xfffffe0005dd7d80:54344 function 0<br>
> Jul 4 15:13:40 freebsdvm kernel: [93142] mpt0: abort
of req<br>
> 0xfffffe0005dd7d80:54344 completed<br>
><br>
> С памятью на хосте всё в порядке. Что это за чудеса
были и как вообще<br>
> такое дебажить -- я не знаю, но подозреваю, что тут
какой-то косяк в<br>
> реализации TRIM (а вот со стороны FreeBSD или
VirtualBox?) Запускал<br>
> руками zpool trim в виртуалке, vboxmanage
--modifymedium 'VM disk.vdi'<br>
> --compact на хосте -- всё нормально, ничего не
бьётся.<br>
> Пока сменил тип контроллера на LSI Login SCSI и
наблюдаю.<br>
<br>
А зачем это всё?</blockquote>
</div>
</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
zfs на хосте со сжатием. В гостях ufs. Запись нулей на
диск внутри <br>
виртуалки освобождает место на хосте.</blockquote>
</div>
</div>
<div dir="auto">В качестве эксперимента. Задача --
протестировать FDE GELI + ZFS (последний раз я подобное
поднимал ещё тогда, когда GELI хотел /boot на отдельном
незашифрованном разделе).</div>
<div dir="auto">Хост в ZFS не умеет, но это и несущественно в
связи с постановкой задачи.</div>
</div>
</blockquote>
<p>Хост не FreeBSD?! С этого и надо начинать. Может это проблемы
настройки хоста.</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAA2O=b-rDbt9TzBVbpvyF_d5qrhYySmDkrTUsib55aGW-xMTuA@mail.gmail.com">
<div dir="auto">
<div dir="auto">Файлы, кстати, не бьются после выхода хоста из
S3. Оно какое-то время работает себе спокойно, потом внезапно
ломается. Не думаю, что тут вообще есть какая-то связь с S3.</div>
</div>
</blockquote>
<br>
</body>
</html>