Я настроил виртуальный диск для оптимизации доступа к нескольким файлам журнала. Есть ли способ сохранить постоянную копию виртуального диска на физический диск?

Я хотел бы избежать потери всего после потери питания и перестроить систему с нуля.

2 ответа2

1

Использование "правильной" дисковой файловой системы сделает это за вас - она оптимизирует доступ к файлам на ней, буферизуя данные в оперативной памяти. Если вы измените данные, они сначала изменят данные в ОЗУ, затем немного подождут и, наконец, запишут их на диск.

В других работах именно то, что вы хотите сделать вручную.

Вы можете настроить параметры ядра планировщика ввода-вывода для каждого блочного устройства, чтобы обеспечить более агрессивную буферизацию, если это то, что вам нужно, но сначала измерьте, действительно ли вам это нужно.

0

Есть - но будьте осторожны, что вы хотите!

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

Вот шаги:

  • Подготовьте раздел диска, который вы хотите использовать в качестве резервного файла.
  • Подготовьте ram-диск как блочное устройство, т. Е. Если вы просто используете tmpfs создайте файл резервной копии и losetup -f к нему
  • создайте RAID1 из этих 2: mdadm --level 1 --raid-disks 2 /dev/mdX /dev/ram/backing/device -W /dev/disk/backing/device
  • Смонтируйте полученное устройство MD и используйте его

Таким образом, ваши записи будут идти на оба диска, но ваши чтения будут в основном удовлетворены RAM-диском (потому что реальный диск помечен как -W или «главным образом для записи»)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .