Intereting Posts
Как я могу понять, почему Xorg является SIGALRM и использует 90% + CPU? цитируя проблему, когда трубопровод находит выход в xargs Почему пакет программного обеспечения работает нормально даже при его обновлении? Как я могу найти допустимые значения для TERM для использования в tmux? Разница между переменной окружения и переменной оболочки Как я могу заставить grep работать с «->» как шаблон? Audio Controller не работает на linux mint Как использовать awk для исправления и унификации поврежденного файла с несколькими столбцами и строками? как установить, какой маршрут будет добавлен при подключении интерфейса вверх psad: не блокировать доступ к HTTP Низкая скорость передачи по VPN на FreeBSD Команда для принудительного удаления стрелки (захват мыши) Как заменить начальный ноль пробелом в SED? Как удалить OpenLDAP в RedHat? Может ли ошибка в модуле ядра привести к сбою системы?

dmsetup: Где хранятся постоянные метаданные?

dmsetup моментального снимка dmsetup гласит:

 <persistent?> is P (Persistent) or N (Not persistent - will not survive after reboot). O (Overflow) can be added as a persistent store option to allow userspace to advertise its support for seeing "Overflow" in the snapshot status. So supported store types are "P", "PO" and "N". The difference between persistent and transient is with transient snapshots less metadata must be saved on disk - they can be kept in memory by the kernel. 

Где хранятся эти постоянные данные?

Существует различие между данными в первом блоке устройства мгновенного снимка с постоянным vs-переходным dmsetup :

Учитывая эти устройства:

 $ losetup NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO /dev/loop1 0 0 0 0 /home/var/ravi/tmp/issue/snap-dev 0 /dev/loop0 0 0 0 0 /home/var/ravi/tmp/issue/base-dev 0 

И первоначальный обнуленный файл резервной копии снимка:

 $ od -xc snap-dev 0000000 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 3751613000 

Вот что происходит при использовании непостоянного флага N :

 $ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 N 1' Name: snapdev State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 0 Event number: 0 Major, minor: 254, 5 Number of targets: 1 $ od -xc snap-dev 0000000 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 3751613000 

Обратите внимание, что файл резервной копии не изменился – все это все равно \0 байтов.

Теперь попробуйте снова с флагом P для сохранения:

 $ sudo dmsetup remove snapdev $ sudo dmsetup -v create snapdev --table '0 8 snapshot /dev/loop0 /dev/loop1 P 1' Name: snapdev State: ACTIVE Read Ahead: 256 Tables present: LIVE Open count: 0 Event number: 0 Major, minor: 254, 5 Number of targets: 1 $ od -xc snap-dev 0000000 6e53 7041 0001 0000 0001 0000 0001 0000 S n A p 001 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 0000020 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 3751613000 

В этом случае первые байты устройства – SnAp\001 .


Я предполагаю, что постоянные данные хранятся в первом блоке или блоках самого моментального снимка.