ВМ файлового сервера на хосте btrfs

1078
xpto

Я хочу создать файловый сервер / NAS, используя btrfs для защиты данных (от bitrot), но я бы хотел использовать свой существующий сервер KVM / QEMU (debian с btrfs raid1) и создать для этого виртуальную машину.

Если я создам виртуальную машину и сохраню данные в файловой системе ext4, будет ли контрольная сумма btrfs на хост-сервере обнаруживать повреждение данных на виртуальной машине?

-------------------- | KVM server | | btrfs - raid1 | | ----------- | | | VM-ext4 | | | ----------- | |------------------| 

Если предыдущий ответ «нет», нужно ли мне создавать виртуальную машину с btrfs в качестве файловой системы?

В этом случае, чтобы сохранить функцию самовосстановления btrfs, мне нужно было бы создать как минимум 2 виртуальных диска, чтобы btrfs был в raid1.

--------------------- | KVM server | | btrfs - raid1 | | ------------ | | | VM-btrfs | | | | 2 x vda | | | ------------ | |-------------------| 

Но так я бы тратил много места ... raid1 на хост-сервере плюс raid1 на виртуальной машине.

Или, возможно, лучшее решение - внедрить файловый сервер непосредственно на хост-сервере (хотя я бы предпочел сохранить некоторое разделение между этими двумя ролями)?

обновление 1
Хотя я предпочитаю btrfs, мой главный вопрос касается полезности btrfs / zfs для обнаружения и исправления тихого повреждения на дисках виртуальных машин. Как эти файловые системы могут отличить тихое повреждение от обычной записи на виртуальный диск?

Обновление 2
После того, как я немного погуглил, я смог найти дополнительную информацию по этому вопросу только из serverfault .
Согласно некоторым комментариям, виртуальная гостевая система также будет подвержена риску, если не будет реализована более сложная файловая система (вероятно, гостевая файловая система raid1 внутри файловой системы хоста raid1).

Итак, моя идея сейчас заключается в следующем:

  • настроить файловый сервер на хост-сервере kvm
  • храните важные данные в безопасности на файловом сервере (который уже использует btrfs) и делитесь им с виртуальными машинами через NFS
  • отключить COW для папки образа диска виртуальной машины
  • создавать моментальные снимки kvm виртуальных машин и создавать резервные копии их файлов конфигурации на общих ресурсах NFS

Это разумное решение или я забыл некоторые важные детали?

1
Согласно [этой статье] (http://www.ilsistemista.net/index.php/virtualization/47-zfs-btrfs-xfs-ext4-and-lvm-with-kvm-a-storage-performance-comparison.html ? start = 10), Btrfs не рекомендуется для хранения виртуальных машин. ZFS может работать лучше и при этом защитить ваши данные от тихого повреждения. Deltik 8 лет назад 0

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

1
xpto

Я в основном опираюсь на этот пост сервера, но постараюсь ответить сам.

Если я создам виртуальную машину и сохраню данные в файловой системе ext4, будет ли контрольная сумма btrfs на хост-сервере обнаруживать повреждение данных на виртуальной машине?

Нет. Из того, что я понял, хост-система не может обнаружить повреждение данных в файловой системе виртуальной машины.

Если предыдущий ответ «нет», нужно ли мне создавать виртуальную машину с btrfs в качестве файловой системы?

Да.

Или, возможно, лучшее решение - внедрить файловый сервер непосредственно на хост-сервере (хотя я бы предпочел сохранить некоторое разделение между этими двумя ролями)?

В моем случае решение будет:

  • настроить файловый сервер на хост-сервере kvm
  • храните важные данные в безопасности на файловом сервере (который уже использует btrfs) и делитесь им с виртуальными машинами через NFS
  • отключить COW для папки образа диска виртуальной машины
  • создавать моментальные снимки kvm виртуальных машин и создавать резервные копии их файлов конфигурации на общих ресурсах NFS

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