PavelM wrote:3. Что совсем смешно, отрицание возможности софтовых багов в менеджере виртуализации и вытекающих проблем.
Это где и кем?
KP580BE51 wrote:Boriskin wrote:А я вот чего не понимаю - зачем ставить продакшн сервер на VM, когда можно достаточно дешево купить нормальную тачку и иметь stand-alone сервак на ней... Минимизация server-racks и охлаждения оных чтоль?
Когда серверов много, когда загрузка низкая итд. Кроме того в идиале оно как я понял движется к полной виртуализации в виде когда к примерк 1000 серверов крутится на клястере из 300 компютеров, которые можно по необходимости включать/выключать, апгрейдеть итд.
dB13 wrote:Опять же, сколько времени займёт "купить нормальную тачку" и установить её? А создать/включить новую виртуальную машину -- значительно быстрее (минуты, десятки минут).
Dmitry67 wrote:Что касается обычных партиций, то он работает через fily system, но использует какие то особые команды. Я в этом плохо понимаю. Какой то бит writethru или чтото такое. Короче, все эти чтения идет помимо кэша файловой системы (но не помимо файловой системы).
The CreateFile function creates or opens a file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, or named pipe.
Parameters
dwFlagsAndAttributes
[in] The file attributes and flags.
FILE_FLAG_WRITE_THROUGH
The system writes through any intermediate cache and goes directly to disk.
If FILE_FLAG_NO_BUFFERING is also specified, so that system caching is not in effect, then the data is immediately flushed to disk without going through the system cache. The operating system also requests a write-through the hard disk cache to persistent media. However, not all hardware supports this write-through capability.
Flash-04 wrote:8O совсем недавно в руки попала статья об исследовании проблемы "синей и красной таблетки" с разными виртуализаторами, и как их можно эффективно валить их и выполнять произвольный код на реальном хосте из виртуализованного приложения. VMWare был в их числе.
Dmitry67 wrote:bvp, спасибо. именно эти два флага sql server и используется.
думаю, Oracle под Windows тоже
Теперь можно сформулировать конкретный вопрос:
пусть виртуальная машина пишет/читает с FILE_FLAG_WRITE_THROUGH, FILE_FLAG_NO_BUFFERING
Dmitry67 wrote:Я последнее время чистый SQL-евец...
Может кто другой быстро напишет
Но рассуждая теоретически, если 'особенный' I/O sql server в виртуальной машине преобразуется в обычный вовне, то опасность в том, что SQL server может отрапортовать (по сети) об окончании транзакции, когда данные еще не записаны на диск (в современном мире - хотя бы переданы RAID/Disak array с контроллером с резервным питанием). А вот это уже совсем плохо
Does Virtual Server honour FILE_FLAG_WRITE_THROUGH setting used by
Source: microsoft.public.virtualserver
Sent: 07/17/2005
From: DilbertDBA
Message:
When SQL Server writes a transaction log record to stable storage (real
spinning disk) it is essential that the record is committed before SQL Server
continues. When running on real hardware this is achieved with the
FILE_FLAG_WRITE_THROUGH setting of the Windows API CreateFile function
(indicates that a SCSI device may not complete a write request until the data
is committed to media). I am worried that when Virtual Server virtualises the
SCSI drive, it is caching the write, telling the guest OS that it has been
done, and then finishing the I/O later. This shows up as good I/O performance
(which I am seeing) but can lead to data loss if the guest virtual machine is
powered off or the host machine loses power before finishing the write to
stable storage. Does Virtual Server genuinely honour the
FILE_FLAG_WRITE_THROUGH setting?
dB13 wrote:В этой статье ("An Empirical Study into the Security Exposure to Hosts of Hostile Virtualized Environments" by Tavis Ormandy) не приводится ни одного доказательства (полного примера) как "выполнять произвольный код на реальном хосте из виртуализованного приложения" ни для одного виртуализатора. Я утверждаю, что та обнаруженная дырка в VMware Workstation and Server этого не позволяет.
Vulnerabilities affecting the security of the host
VMware virtual machine have been published before. In
Tim Shelton reported a heap overflow in the vmnatd service[
24], where a specially crafted EPRT or PORT FTP command
would result in an exploitable heap overflow, allowing
hostile virtualized code to compromise and thus execute
the host machine.
A communication channel exists between the guest
host, and while officially undocumented, has been successfully
reverse engineered and documented by several researchers
and is known as the “VMware Backdoor”[
Theoretically this channel could allow hostile guests to
clipboard data, leak sensitive information about the host,
other potentially dangerous operations. Care should be taken
avoid it when hosting potentially hostile machines.
dB13 wrote:PavelM wrote:3. Что совсем смешно, отрицание возможности софтовых багов в менеджере виртуализации и вытекающих проблем.
Это где и кем?
Flash-04 wrote:Но в приложении для других виртуализаторов (bochs 2.3) показано переполнение буфера в коде самого виртуализатора, что потенциально можно использовать для внедрения своего кода.
Dmitry67 wrote:Теперь можно сформулировать конкретный вопрос:
пусть виртуальная машина пишет/читает с FILE_FLAG_WRITE_THROUGH, FILE_FLAG_NO_BUFFERING
очевидно, VMware про эти биты ничего не знает
Так что для основной Windows эти чтения/записи будут совершенно обычными
The operating system also requests a write-through the hard disk cache to persistent media.
KP580BE51 wrote:К примеру qemu может вообще работать интерпретатором, и исполнять не свой код. (ну к примеру ARM или PPC на x86) в таком режиме приложение в принципе ничего сделать не может.
bvp wrote:То есть (в этом я уже не специалист, но по тексту так получается) в команде контроллеру жесткого диска есть бит "сделай write-through через свой аппаратный кэш". Хост-машина по идее, увидев этот бит в запросе гостевой машины, в свою очередь должна использовать FILE_FLAG_WRITE_THROUGH и FILE_FLAG_NO_BUFFERING в операции записи в файл.
f_evgeny wrote:Flash-04 wrote:учитывая что абсолютной 100% виртуализации все равно нет,
Почему нет? Как я понимаю, как раз 100 процентная делается легче всего. Или я неправ?