Главная сайта | Форум | Фотоальбом | Регистрация   | Вход | Cайт в избранное | Правила сайта и форума

Приветствую Вас Гость | RSS


Фильмы | Онлайн Видео | Софт | Новости и Статьи | Игры онлайн | Фотоальбом | Форум

ДЛЯ ПРОСМОТРА САЙТА РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ:  Uran - браузер от uCoz на базе проекта Chromium. | Google ChromeOpera | Firefox 


МЕНЮ САЙТА

ПОИСК ПО САЙТУ

Gamesblender 675: новый шутер от Valve, Stellar Blade на ПК и ускоренный ИИ на GeForce RTX

Gamesblender № 674: новые боссы PlayStation, опасная стратегия Microsoft и ассасины в Японии

Gamesblender № 673: внезапная Hades II, закрытие студий Bethesda и контроль видеоигр в России

Gamesblender № 661: будущее Xbox, новая игра авторов Ori, «неправильная» Subnautica 2 и прощание с Dead Cells

Gamesblender № 660: «портативки» от Sony и Microsoft, эксклюзивы Xbox на PlayStation, сделка Epic и Disney и показ Final Fantasy VII Rebirth

Tekken 8: 10 аниме из 10

Gamesblender № 659: Death Stranding 2 и другие показы State of Play, новый президент Blizzard, отмена Deus Ex и перенос «Смуты»

Gamesblender № 657: дата выхода S.T.A.L.K.E.R. 2, «Индиана Джонс» от авторов Wolfenstein, закрытие Piranha Bytes, Larian против подписок

Gamesblender № 656: ремастер Half-Life 2, сиквел Cyberpunk 2077 и новый конкурент Steam Deck

Gamesblender № 654: главные события 2023 года в игровой индустрии

Во что поиграть на этой неделе — 26 мая (Friday the 13th, Vanquish, Steel Division: Normandy 44)

Во что поиграть на этой неделе — 2 марта (Into the Breach, Guns, Gore and Cannoli 2, Mulaka)

Во что поиграть на этой неделе — 1 сентября (XCOM 2 War of the Chosen, LiS: Before the Storm)

В чём уникальность озвучки Battlefield 1?

Игромания! ИГРОВЫЕ НОВОСТИ, 15 июля (Nintendo Switch Lite, CoD:MW Gunfight, Gods and Monsters)

Во что поиграть на этой неделе — 25 августа (Uncharted: The Lost Legacy, F1 2017, Казаки 3)

Во что поиграть на этой неделе — 21 декабря + Лучшие предновогодние распродажи игр

Во что поиграть на этой неделе — 9 марта (Final Fantasy XV: Windows edition, Fear Effect Sedna)
СТАТИСТИКА
Всего материалов:
Фильмомания: 1513
Видео: 220
Каталог файлов: 95
Каталог статей: 6797
Фотоальбом: 1236
Форум: 1152/8421
Каталог сайтов: 386

Всего зарегистрировано:
Зарегистрировано: 1724
Сегодня: 0
Вчера: 0
За неделю: 1
За месяц: 6

Из них:
Пользователи: 1649
Проверенные: 23
Друзья: 5
Редакторы: 0
Журналисты: 8
В вечном бане: 33
Модераторы: 1
Администраторы: 3

Из них:
Парней 1295
Девушек 427


ON-Line всего: 5
Гостей: 4
Пользователей: 1

Сейчас на сайте:

lime-line-design
Кто был?
Фокусник, demonej7, Vasja,
День Рождения у: Wildsax(44), alitka984(40), Yodomara(29)
ВЫ МОЖЕТЕ ОКАЗАТЬ ПОДДЕРЖКУ ЗА ТРУДЫ, ПОЖЕРТВОВАВ ЛЮБУЮ СУММЫ.

WEBMONEY



Категории каталога

Главная » Статьи » Статьи » Статьи: Windows 7

Архитектура виртуальных жестких дисков


Введение

Сейчас приблизительно каждый восьмой пользователь персонального компьютера использует (или, по крайней мере, хотя бы один раз пользовался) виртуальными машинами. Цели использования виртуальных машин разные. Некоторые используют виртуальные машины для защиты информации и ограничения возможностей программного обеспечения, например, заходят в Интернет только из виртуальной машины. Некоторые пользователи используют виртуальные машины для тестирования или разработки программного обеспечения. Также виртуальные машины используют для упрощения управления кластерами, оптимизации использования ресурсов и мейнфреймов или эмуляции различных архитектур. Без сомнения, можно найти еще, по меньшей мере, с десяток целей использования виртуальных машин пользователями. Как вам известно, на любой виртуальной машине операционная система и пользовательские данные хранятся на специальных виртуальных жестких дисках. Формат виртуальных жестких дисков (virtual hard drive - *.VHD) представляет собой виртуальный жесткий диск, разработанный компанией Microsoft. Для того чтобы использовать *.vhd на операционных системах Windows Server 2008 или Windows Vista, вам нужно установить такое программное обеспечение как Hyper-V, Windows Virtual Server или Windows Virtual PC. После выхода операционных систем Windows 7 и Windows Server 2008 R2, вы можете использовать виртуальные жесткие диски vhd в качестве хостовой операционной системы на специально отведенном для этих целей оборудовании, без дополнительной хостовой операционной системы, низкоуровневой оболочки или любой виртуальной машины. В статье «Работа с виртуальными жесткими дисками (VHD) в Windows 7» я подробно описал способы создания виртуальных жестких дисков в операционной системе Windows 7, используя оснастку «Управление», а также средствами утилиты Diskpart. В этой статье вы узнаете о структуре таких дисков.

Типы виртуальных дисков

Прежде чем рассматривать возможности vhd дисков, я расскажу о существующих типах виртуальных жестких дисков. Существует три типа дисков: фиксированные, динамические и разностные. В следующих подразделах рассмотрим подробнее каждый из этих типов.

Фиксированные виртуальные жесткие диски

Фиксированный виртуальный жесткий диск имеет размер, указанный вами при его создании, который в процессе работы не изменяется. Если вы создадите виртуальный жесткий диск, скажем, объемом в 20ГБ, то будет создан vhd-файл приблизительно на 24ГБ, несмотря на данные, содержащиеся в вашем диске. Часть дискового пространства будет сразу отведена под внутреннюю структуру футера жесткого диска. Итого, размер файла будет равняться указанному вами размеру жесткого диска, плюс размер футера.

Динамические виртуальные жесткие диски

Динамический виртуальный жесткий диск представляет собой файл, размер которого увеличивается по мере записи данных, плюс размер хедера и футера. Данные распределяются в блоки. Соответственно, чем больше вы записываете на этот жесткий диск данных, тем больше увеличивается размер жесткого диска, за счет большего количества выделяемых блоков. Например, изначально после создания динамического жесткого диска, его объем варьируется в пределах 80-85МБ в базовой файловой системе, но при записи данных, со временем, его объем будет все время увеличиваться, вплоть до своего лимита, то есть до фактического ограничения основного протокола аппаратного диска.

Базовый формат динамического жесткого диска вы можете увидеть в следующей таблице:


Базовая структура динамического жесткого диска
Копия футера жесткого диска (512 байт)
Хедер динамического жесткого диска (1024 байт)
BAT (Block Allocation table)
Блок данных 1
Блок данных 2
Блок данных n
Футер динамического жесткого диска (512 байт)

Таблица 1. Базовая структура виртуального динамического жесткого диска

Стоит обратить внимание на то, что при каждом новом создании блока данных, футер диска перемещается в конец файла. Поскольку футер жесткого диска является важнейшей частью образа жесткого диска, существует зеркало футера, которое расположено в начале файла, в качестве резервной копии. Максимальный размер виртуального жесткого диска этого типа может быть 2040ГБ (2ТБ).

Разностные виртуальные жесткие диски

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

При работе с такими жесткими дисками есть несколько «подводных камней», с которыми вы можете столкнуться. Прежде всего, при использовании разностных виртуальных дисков ни в коем случае не изменяйте родительский диск, так как после изменения или замены родительского виртуального жесткого диска, структура блоков между родительским и дочерним виртуальными жесткими дисками будет нарушена и последний, соответственно, будет поврежден. Также, начиная с операционных систем Windows 7 и Windows Server 2008 R2, вы можете выполнять настройку диспетчера загрузки операционной системы на выполнение встроенной или физической загрузки образа Windows, расположенного на виртуальном жестком диске, что обеспечивает гибкость развертывания и управления образами. Виртуальные жесткие диски со встроенной загрузкой могут значительно упростить работу тестировщиков программного обеспечения, выполняя загрузку образа Windows 7 без создания отдельного раздела на физическом компьютере для установки операционной системы. Это означает, что виртуальный жесткий диск может использоваться в качестве работающей операционной системы на специально отведенном оборудовании без дополнительной родительской операционной системы, виртуальной машины или низкоуровневой оболочки. В том случае, если вы используете сценарии встроенной загрузки, необходимо, чтобы оба файла виртуальных жестких дисков (родительский и разностный) располагались в одном каталоге одного локального тома одного локального диска. Стоит помнить, что встроенная загрузка с виртуальных жестких дисков доступна во всех редакциях Windows Server 2008 R2, а также в клиентских операционных системах Windows 7 Корпоративная и Windows 7 Максимальная.

Структура футера жесткого диска

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


Поля футера жесткого дискаРазмер (в байтах)
Cookie8
Компоненты4
Версия формата файла4
Смещение данных8
Отпечаток времени4
Приложение создателя4
Версия создателя4
Хостовая ОС создателя4
Оригинальный размер8
Текущий размер8
Геометрия дисков4
Тип диска4
Контрольная сумма4
Уникальный Id16
Сохраненное состояние1
Зарезервированное пространство427

Таблица 2. Структура футера виртуального жесткого диска

Рассмотрим подробно каждую составляющую футера виртуального жесткого диска

Cookie

Cookie (значения которых чувствительны в регистру) используются для идентификации создателя образа виртуального жесткого диска. Для определения файла виртуальным жестким диском, созданным в Windows Virtual PC, Hyper-V или Windows Virtual Server, компания Microsoft использует строку «conectix». Cookie хранятся в ASCII строке, длиной в 8 символов.

Компоненты

Это поле предназначено для указания определенных компонентов поддержки, где могут быть следующие значения:

  • Поддержка компонентов отключена. Это значение указывает на то, что в данном виртуальном жестком диске отключены специальные компоненты;
  • Временные. Этот бит устанавливается в том случае, если данный диск является временным. Временное обозначение диска указывает на то, что после завершения работы этот диск будет удален;
  • Зарезервированные. Это значение указывает на то, что для поддержки компонентов зарезервирован один бит.

Версия формата файла

Это поле соответствует версии спецификации, используемой при создании файла виртуального жесткого диска, и делится на основную и вспомогательную версии. Наиболее значимыми являются два бита основной версии, а наименее значимыми – два бита вспомогательной версии. Значение должно соответствовать спецификации создаваемого файла. Основная версия увеличится в том случае, когда формат файла будет изменен таким образом, что он больше не будет совместим со старыми версиями формата.

Смещение данных

Это поле отвечает за абсолютное смещение от начала файла до следующей структуры. Используется оно только для динамических и разностных дисков. На фиксированных дисках значением этого поля выступает 0xFFFFFFFF.

Отпечаток времени

Это поле содержит время создания образа виртуального жесткого диска. Значение указывается как количество секунд, которое прошло после 12:00:00 первого января 2000 года в UTC/GMT.

Приложение создателя

В это поле заносится название приложения, при помощи которого был создан виртуальный жесткий диск. В этом поле используется однобайтовый набор символов, которые выравниваются по левому краю. Каждые приложения используют свои уникальные идентификаторы. Например, если виртуальный жесткий диск создавался при помощи Windows Virtual PC, то значением этого поля будет «vpc».

Версия создателя

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

Хостовая ОС создателя

Это поле содержит тип операционной системы, в которой был создан виртуальный жесткий диск. Например, если жесткий диск создавался из-под MacOS, значение данного поля будет равняется 0x4D616320.

Оригинальный размер

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

Текущий размер

В данном поле содержится текущий размер виртуального жесткого диска. Во время увеличения жесткого диска, значение данного поля может изменяться.

Геометрия дисков

В этом поле указано значение цилиндров, головок и секторов жестких дисков. Например, если вы настраиваете виртуальный жесткий диск как ATA, то CHS значения данного диска (Cylinder, Heads, Sectors – Цилиндров, Головок, Секторов на дорожку) используются ATA контроллером для определения размера диска. Когда пользователь создает на жестком диске том определенного размера, виртуальный жесткий диск должен быть меньше реального. Это условие является обязательным, так как CHS при расчете округляется в зависимости от размера тома жесткого диска.

Тип диска

При создании виртуальных жестких дисков существуют семь значений типов диска, которые указаны в следующей таблице:


Поле типа дискаЗначение
Нет0
Зарезервировано (не рекомендуется)1
Фиксированный виртуальный жесткий диск2
Динамический виртуальный жесткий диск3
Разностный виртуальный жесткий диск4
Зарезервировано (не рекомендуется)5
Зарезервировано (не рекомендуется)6

Таблица 3. Типы дисков

Контрольная сумма

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

Уникальный идентификатор

У каждого жесткого диска есть свой уникальный идентификатор, который хранится на самом жестком диске и используется, непосредственно, для идентификации жесткого диска. Уникальный ID – это 128-разрядные универсальные уникальные идентификаторы (UUID). Данное поле в основном предназначено для связи родительского и разностного жестких дисков.

Сохраненное состояние

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

Зарезервированное пространство

Данное поле содержит нули, длиной в 427 байт.

Структура хедера жесткого диска

В динамических и разностных жестких дисках значение поля «Смещение данных» (Data Offset) футера обеспечивает дополнительную информацию образа виртуального жесткого диска, указывающую на существование дополнительной структуры. Такие диски помимо футера еще содержат хедер структуры, длиной в 1024 байт. В следующей таблице вы можете увидеть структуру хедера динамических и разностных виртуальных жестких дисков:


Поля хедера жесткого дискаРазмер (в байтах)
Cookie8
Смещение данных8
Смещение таблицы8
Версия хедера4
Максимальные записи в таблице4
Размер блока4
Контрольная сумма4
Родительский уникальный ID16
Родительский штамп времени4
Зарезервированное пространство4
Имя родителя в юникоде512
Запись родительского локатора 124
Запись родительского локатора 224
Запись родительского локатора 324
Запись родительского локатора 424
Запись родительского локатора 524
Запись родительского локатора 624
Запись родительского локатора 724
Запись родительского локатора 824
Зарезервировано256

Таблица 4. Структура хедера виртуального жесткого диска

Рассмотрим подробно каждую составляющую хедера виртуального жесткого диска

Cookie

Это поле, которое является идентификатором объекта, содержит значение «cxsparse».

Смещение данных

Это поле содержит абсолютное смещение байтов до следующей структуры образа виртуального жесткого диска.

Смещение таблицы

Это поле содержит абсолютное смещение байтов блокировки таблицы распределения (Block Allocation Table - BAT).

Версия хедера

В этом поле находится версия хедера виртуального динамического жесткого диска. Также как и версия формата файла футера, значение делится на основную и вспомогательную версии. Наиболее значимые два байта представляют основную версию хедера, а наименее значимые – вспомогательную. Значение обязательно должно совпадать со спецификацией формата файла. Основная версия автоматически учитывается только в том случае, когда формат хедера модифицирован так, чтобы более он не был совместим с более ранними версиями.

Максимальные записи в таблице

В этом поле хранится максимальное количество существующих записей в BAT. Это значение должно равняться количеству блоков на диске.

Размер блока

Блоком называется расширяемая часть, которая содержит байты динамического или разностного виртуального диска. Данные разбиваются на блоки одинакового размера. Размер блока динамического диска равен 10МБ.

Контрольная сумма

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

Родительский уникальный ID

Это поле заполняется только для разностных дисков. Здесь хранится 128-битовый UUID родительского жесткого диска.

Родительский штамп времени

Это поле содержит изменения отпечатка времени родительского жесткого диска. Значение указывается как количество секунд, которое прошло после 12:00:00 первого января 2000 года в UTC/GMT.

Зарезервированное пространство

Данное поле содержит нули, длиной в 4 байта.

Имя родителя в юникоде

Это поле содержит юникод строку (UTF-16) родительского жесткого диска.

Запись родительского локатора

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

Применение фиксированных и динамических виртуальных жестких дисков

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

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

Также стоит отметить, что динамические виртуальные диски в Windows Virtual PC создаются по умолчанию только в случае установки Windows XP Mode, так как этот новый компонент операционной системы применяется в большинстве случаев только для корректной работы с программным обеспечением, которое не совместимо с операционной системой Windows 7.

Заключение

В этой статье вы узнали о внутренней структуре виртуальных жестких дисков. Были рассмотрены все типы виртуальных жестких дисков (фиксированного размера, динамические и разностные), а также структура их футеров и хедеров. Помимо этого в статье рассмотрены примеры применения динамических виртуальных жестких дисков и дисков фиксированного размера.


Если на странице вы заметили в посте отсутствие изображений, просьба сообщить , нажав на кнопку.



После прочтения материала " Архитектура виртуальных жестких дисков ", можно просмотреть форум и поискать темы по данной игре.



ДРУГИЕ МАТЕРИАЛЫ
Gears of War 2 не выйдет на ПК
Microsoft готовится доминировать на рынке консолей
Возрождение X-Wing, TIE Fighter
ВАНГА
Можно ли спастись от спама в электронной почте?
Свежий ролик Resident Evil 5 из Германии
Провайдеры запретят нелегальное скачивание из Сети?
Опасный троянец Trojan.KillFiles.904 удаляет все файлы на компьютере
Apple зла на взломщиков iPhone
Спамеры становятся полиглотами
Первый трейлер чешской ролевой игры Inquisitor
Билл Гейтс покидает Microsoft в конце июня
Туристическая область и IT-разработки - любовь с первого взгляда
Windows 7 - самая доступная ОС от Microsoft
Intel убирает с рынка Core i7 965
IDF SF 2008: видеоочки Myvu или телевизор на носу
В марсианском метеорите найдены новые доказательства жизни
Как правильно начать отношения
Microsoft устранит уязвимость DirectX
Совет недели по групповым политикам 6 – Настройка персонализации

Если вам понравился материал "Архитектура виртуальных жестких дисков", - поделитесь ним с другими.


html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию


Категория: Статьи: Windows 7 | Добавил: Фокусник (12.08.2010)
Просмотров: 1783

Ниже вы можете добавить комментарии к материалу " Архитектура виртуальных жестких дисков "

Внимание: Все ссылки и не относящиеся к теме комментарии будут удаляться. Для ссылок есть форум.


Всего комментариев : 0
avatar
ФОРМА ВХОДА
ПОЖЕРТВОВАНИЯ

WMZ: Z143317192317
WMB: X706980753649

Boosty - Donate

Payeer: P48650932
На кофе / ko-fi
ПАРТНЕРЫ

World of Warships — это free-to-play ММО-экшен, который позволяет окунуться в мир масштабных военно-морских баталий. Возьмите под управление легендарные боевые корабли первой половины ХХ века и завоюйте господство на бескрайних океанских просторах.

Курсы обмена WebMoney


Что такое ресурс Turbobit и как качать.


Получи 10 ГБ места бесплатно, на всю жизнь.


Boosty – сервис по сбору донатов.
Видеообзор игры Far Cry 4
Видеообзор игры Far Cry 4
Видеообзор игры CounterSpy
Видеообзор игры CounterSpy
Фильм
Фильм "Джим Пуговка и машинист Лукас" (2018) - Русский отрывок
Семён Слепаков- В моей стране все есть
Семён Слепаков- В моей стране все есть
Новый загон и подготовка к т-рексам! - Jurassic World Evolution #10
Новый загон и подготовка к т-рексам! - Jurassic World Evolution #10
Видеообзор игры Witcher 3: Wild Hunt
Видеообзор игры Witcher 3: Wild Hunt
Игрозор №223
Игрозор №223
Обзор игры Driveclub
Обзор игры Driveclub
Кодзима, что это было? Разбор ЧЕТВЁРТОГО трейлера Death Stranding
Кодзима, что это было? Разбор ЧЕТВЁРТОГО трейлера Death Stranding
Форсаж 9 [Обзор] / [Трейлер 2 на русском]
Форсаж 9 [Обзор] / [Трейлер 2 на русском]

Атмосферные фотографии заброшенного транспорта и кладбищ автомобилей (14 фото)
Атмосферные фотографии заброшенного транспорта и кладбищ автомобилей (14 фото)
Женщина потратила 3 года и $70 тысяч на переделку старого автобуса в комфортный дом на колёсах (23 фото)
Женщина потратила 3 года и $70 тысяч на переделку старого автобуса в комфортный дом на колёсах (23 фото)
Самые безумные рестораны в мире
Самые безумные рестораны в мире
Неудавшиеся тату (31 фото)
Неудавшиеся тату (31 фото)
Если бы животные были гигантских размеров (16 фото)
Если бы животные были гигантских размеров (16 фото)
Прикольные комментарии из соцсетей (15 шт)
Прикольные комментарии из соцсетей (15 шт)
Балансирующие скульптуры Ежи Кендзёры, бросающие вызов гравитации (25 фото)
Балансирующие скульптуры Ежи Кендзёры, бросающие вызов гравитации (25 фото)
Впечатляющее восстановление старых автомобилей (15 фото)
Впечатляющее восстановление старых автомобилей (15 фото)
СТАТИСТИКА
Яндекс.Метрика


Copyright © 2000-2024, Alex LTD and System PervertedХостинг от uCoz