Могу ли я использовать bcache без потери данных в первую очередь?
В моем Ubuntu 17.04 (64 бит) есть:
- 1 х SSD (используется для ОС)
- 2 х HDD (используется для данных, таких как
/home
и резервные копии и т. д.) - 8 ГБ ОЗУ
Если я уменьшу твердотельный накопитель и создам пустой раздел для кэширования своих жестких дисков, можно ли настроить bcache, не потеряв при этом никаких существующих данных?
Раздел часто задаваемых вопросов на веб-сайте bcache говорит, что это возможно, но не демонстрирует как.
Могу ли я использовать bcache с существующим устройством без переформатирования?
Существует шаг преобразования, который часто можно сделать на месте. Дополнительным шагом является необходимость в специальном суперблоке bcache на устройстве резервного копирования, чтобы bcache мог поддерживать синхронизацию устройств и чтобы вы не могли случайно смонтировать и использовать устройство резервного копирования без прохождения через драйвер bcache. Без любого такого суперблока вы могли бы случайно использовать ваше устройство в режиме, отличном от bcache, и сделать кэш недействительным / поврежденным, если bcache не знал об этом (если вы использовали bcache в режиме записи), или, что еще хуже, если вы использовали его в режиме обратной записи, файловую систему на устройстве поддержки, казалось бы, полностью поврежден.
Следующие учебники требуют переформатирования всех задействованных дисков в первую очередь:
1 ответ
Похоже, FAQ был обновлен и теперь включает следующее:
блоки — это инструмент для добавления суперблока в начале блочного устройства. Есть несколько способов сделать это; Блоки могут преобразовывать логические тома LVM, разделы, перед которыми есть свободное пространство или сжимаемая файловая система, а также зашифрованные тома LUKS. блоки также могут преобразовать устройство в LVM, а затем в bcache, что может быть полезно, когда прямое преобразование bcache невозможно.
Ты можешь использоватьblocks to-bcache
для преобразования раздела в устройство bcache, и полученное устройство bcache должно быть монтируемым как исходная файловая система.
К сожалению, код довольно старый и зависит от python3.3, поэтому требуется некоторая работа, чтобы собрать все зависимости вместе, чтобы заставить его работать. Кроме того, он должен работать с разделом, поэтому, например, если вы создали btrfs в /dev/sda вместо /dev/sda1, я не думаю, что инструмент будет работать.