Как я могу создать последовательные снимки tmpfs?

1798
netvope

Как я могу создать последовательные снимки tmpfs или любых дисков RAM?

4
Под какой операционной системой? По крайней мере, Solaris, Linux и NetBSD имеют файловую систему под названием `tmpfs`. Gilles 13 лет назад 0
@ Жиль, я думал о Linux. Спасибо за помощь в прояснении вопроса :) netvope 13 лет назад 0

4 ответа на вопрос

3
Randolf Richardson

On NetBSD we have something called "fss" which can be controlled with the "fssconfig" utility. I'm not sure if this is available on Linux, or perhaps it is but possibly under a different name? I'm sure someone in IRC would be able to answer that quickly (I've had really good success on irc.freenode.net).

The following man pages will likely be interesting to you:

man fssconfig man fss

What this tool will do is to create a snapshot of a file system at a mount point of your choosing, and then any changes will be isolated from the snapshot. I haven't tried it, but I'm assuming that it will work just fine with a RAM disk since this is a disk utility.

I hope this helps, or at least gets you headed in the right direction.

1
mkomitee

Что ж, я этого не делал, но возможно создать том lvm в файле, который находится на вашем tmpfs, и монтировать его в другом месте. Вы понесете некоторые потери производительности и должны будете воссоздавать его каждый раз при перезагрузке.

1
Holger Just

Если содержимое ваших tmpfs настолько важно, что оно требует создания моментальных снимков и даже резервного копирования, я бы предпочел вообще не использовать tmpfs, а записывать его на диск. Там вы можете использовать традиционные снимки (lvm, btrfs, ...).

Если вы не выполняете много синхронных операций записи (что в любом случае не имеет смысла для tmpfs) и имеете достаточно свободной оперативной памяти для кеширования (которая вам в любом случае понадобится для tmpfs), я не вижу большого преимущества в подключении к RAM-диску., Просто используйте традиционную дисковую файловую систему с теплыми кешами.

Насколько я знаю, нет никакого способа использовать моментальный снимок содержимого оперативной памяти на оборудовании x86. Есть некоторые процессоры SPARC (?), Которые поддерживают транзакционную память, но я думаю, что это не применимо здесь ...

Вы правы, но было бы полезно, если бы программа (если у вас нет доступа к источнику) делала синхронные записи или сбрасывала записи очень часто. Возможно, мы можем использовать LD_PRELOAD, чтобы перехватить вызовы библиотеки и заставить программу делать асинхронные записи? netvope 13 лет назад 0
Обычно, когда программа выполняет синхронную запись, у нее есть очень веская причина (например, в качестве базы данных). Вы должны быть очень осторожны при попытке отключить это (например, записывая в энергозависимую память или связываясь с системными вызовами). Вы должны действительно думать о безопасности данных. В большинстве случаев это стоит во много раз больше, чем последний бит производительности. И запись чего-то в ОЗУМУЕТ УБИТЬ ваши данные. Holger Just 13 лет назад 0
-1
oernii

создайте файл изображения на tmpfs, зафиксируйте ip, создайте его. создать лв, а затем вы можете создать снимок.

не испытано

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