Итак, я экспериментирую с парой виртуальных машин. Оба являются свежими установками Ubuntu 16.04, без обновлений, без инструментов VMware.

Оба могут читать и писать в этот SharedTest.vmdk , в то время как оба работают. Я обнаружил, что если я touch файла первым, пока shell'd в него, файл не будет отображаться на втором виртуальном компьютере, пока я не перезагружу его.

Как я могу убедиться, что обе виртуальные машины синхронизируют это изменение файла?

(Я гуглил это и придумал конфигурацию ниже, которая по крайней мере позволяет хранилищу подключаться к обоим одновременно)

ПРИМЕЧАНИЕ. SharedTest.vmdk - это отформатированное в ext4 устройство на обеих виртуальных машинах, но оно хранится на диске NTFS.

ПРИМЕЧАНИЕ 2: Я использую VMWare Workstation 10

Мой Config для обеих виртуальных машин содержит:

# Attached Shared Disk
scsi0:1.present = "TRUE"
scsi0:1.fileName = "D:\TempVMs\SharedDisk.vmdk"
scsi0:1.mode = "independent-persistent"
scsi0:1.shared = "TRUE"
scsi0:1.sharing = "multi-writer"
scsi0:1.redo = ""

# Disk Properties.
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "0"
diskLib.dataMaxUnsyncedWrites = "0"

1 ответ1

1

Это не то, как работает общее хранилище.

Используемая вами файловая система (ext4) не является кластерной файловой системой. Как таковой, он может быть смонтирован только для чтения / записи одной системой за раз. Тот факт, что том можно сделать доступным для нескольких систем одновременно, не меняет этот основной принцип файловой системы.

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

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