Xen server своими руками. Часть вторая.

    Продолжаем ставить Xen на Ubuntu.
    Часть первая



    Готовим систему к установке DomU


    Начнем по пунктам.

    1. Дальше следует определить места хранения конфиг. файлов

    Конфиги складываем в директорию

    /etc/xen/config
    Если папки config там нет — создаем.
    И не забываем там держать конфиги всех систем и парочку чистых темплейтов.

    2. На каких носителях у нас будут DomU — LVM или физические образы дисков созданные dd или qemu.

    Изначально я только за LVM — и потому что он быстрее чем просто образы прилепленные в
    /dev/loop и потому что бекап их существенно проще и приятней чем все что может быть ;)
    Остановлюсь на этом примере. Кому инетесно могу потом дополнить примером работы с физическим
    образом.

    Для того чтобы создать раздел LVM нам нужен отдельный раздел на винтчестере. Желательно его
    наличие продумать изначально и с запасом места, потому как там будут храниться образы lvm и он
    будет не доступен для хранения там чего-либо еще.
    Допустим у нас есть такой раздел /dev/sdb6 и размер его 270 Гб.

    Переходим в рутовую консоль (sudo su - ) и ставим сам lvm

    aptitude install lvm2

    Далее, нужно подгрузить модули LVM:

    modprobe dm_mod modprobe dm_mirror modprobe dm_snapshot

    Инициализируем поддержку LVM этим разделом

    pvcreate /dev/sdb

    Создаем группу томов которую назовем vg (virtual group)

    vgcreate vg /dev/sdb

    Все, создаем образ который будет виден в системе как физический и можно ставить туда Win XP например.

    lvcreate -L10240M -n hdd vg

    lvs
        LV           VG   Attr   LSize  Origin Snap%  Move Log Copy%
        hdd          vg   -wi-a-  10.00G


    В списке устройств появилось устройство /dev/vg/hdd
    Все, можно начинать ставить. Винчестер у нас уже есть ;)

    3. Бэкап. Как делать и куда складывать.


    Прелесть LVM в том, что бекап с него делается быстро и безболезненно в любой момент без остановки операционки на LVM.

    Предположим бекап остается у нас на винте, варианты куда положить оч индивидуальны.
    Складывать мы будем в /mnt/backup
    Первое что мы делаем — снепшот — снимок образа в «замороженном» состоянии.

    lvcreate -L10G -s -n back-image /dev/vg/hdd

    А дальше знакомая всем команда dd

    dd if=/dev/vg/hdd bs=1024000 | gzip -cf > /mnt/backup/hdd.gz

    Если после этого вам необходимо будет восстановить из бекапа то:

    gunzip -c hdd.gz | dd of=/dev/vg/hdd bs=1024000

    Далее по желанию делаем скрипты для бекапа всех DomU и заносим в cron, тут уже каждый сам выбирает.


    Установка DomU.



    Итак.
    У нас есть «харддрайв» под будующую WinXP виртуальную — /dev/vg/hdd — 10Gb
    Теперь нам нужен образ Win для установки или CD-диск. Лучше образ — практичнее.
    Допустим у вас лицензия WinXP и есть диск с ней.
    Пишем конфиг будующей машины:

    import os, re
    arch = os.uname()[4]
    if re.search('64', arch):
        arch_libdir = 'lib64'
    else:
        arch_libdir = 'lib'
    kernel = "/usr/lib/xen/boot/hvmloader"
    builder='hvm'
    # сколькол памяти выделять будующей машине
    memory = 386
    # имя в xm list
    name = "xp-test-1"
    # кол-во процессоров с кот он будет работать
    vcpus=2
    #acpi=1
    #apic=1
    # мак адресс и через что он будет видеть сеть
    vif = [ 'type=ioemu, mac=aa:3c:40:b0:01:11, bridge=xenbr0' ]
    # физический диск (наш образ кот мы делали в lvm) и сдром (тут физический девайс cdrom основного сервака)
    disk = [ 'phy:/dev/vg/hdd,ioemu:hda,w', 'phy:/dev/cdrom,ioemu:hdc:cdrom,r' ]
    device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
    # способ загрузки - dc - грузимся по умолчанию с сдрома, если там не загрузочный - с винта
    boot="dc"
    # всегда вывешивать vnc порт для доступа с основого сервера 
    sdl=0
    vnc=1
    vncviewer=1
    vncpasswd=''
    ne2000=0
    


    подробнее про конфиг можно узнать, набрав

    xm create --help_config

    Если вы хотите указать не cdrom физический, а например образ загрузочного диска с дистрибутивом системы то строку:

    disk = [ 'phy:/dev/vg/hdd,ioemu:hda,w', 'phy:/dev/cdrom,ioemu:hdc:cdrom,r' ]

    мы меняем на

    disk = [ 'phy:/dev/vg/hdd,ioemu:hda,w', 'phy:/dev/loop1,ioemu:hdc:cdrom,r' ]

    предварительно смонтировав наш iso образ на вирутальное устройство /dev/loop1 (от 1 до N — смотря сколько свободных есть)

    Назовем образ winxp.hvm
    Старайтесь не использовать лишних знаков в именах конфигов и именах машин в конфиге name = «xp-test-1»
    Напимер бывают глюки с "_" в этих местах.

    Смотрим свободные loop девайсы:
    losetup -a
        /dev/loop4: [0801]:5955594 (/home/backup/daily/xp_second.dd)
        /dev/loop6: [0801]:5955586 (/home/backup/daily/arch_back.dd)
        /dev/loop7: [0801]:5955588 (/home/backup/daily/arch_17_00.dd)


    Монтируем образ:

    losetup /dev/loop1 /home/felvis/distr.iso

    В мануале Xen написано что в конфиге можно было бы указать напрямую образ 'file:/full/path/to/vm1disk,hdc,r'
    Но на bugzilla ubuntu можно найти кучу репортов на баг, который делает это невозможным.
    И кстати на данный момент (28.10.2008) его не пофиксили. Так что монтируем в /dev/loop как диски cdrom так и образы винтов.

    Теперь можно запускать установку WinXP:

    cd /etc/xen/config
    xm create winxp.hvm

        Using config file "./winxp.hvm".
        VNC= 1
        Started domain "xp-test-1"


    xm list
        Name                                        ID   Mem VCPUs      State   Time(s)
        Domain-0                                     0   577     8     r----- 186810.6
        xp-test-1                                    1   386     2     -b----     15.1


    Если у вас дистрибутив состоит из нескольких дисков — не беда, на лету можно перемаунтить источник cdrom на другой диск:

    xm block-configure 1 phy:/dev/null hdс:cdrom r
    losetup -d /dev/loop1
    losetup /dev/loop1 /home/felvis/distr2.iso
    xm block-configure 1 phy:/dev/loop1 hdс:cdrom r


    Для того чтоб попасть на гостевую систему, нужно поставить клиент VNC:

    aptitude install xtightvncviewer

    После этого виртуальная машина будет доступна на 0 порту vnc (соотв. следующая поднятая машина на 1,2,3 и т.д.)
    Выполняем:

    vncviewer :0

    и если вы под Х, то у появится вид от первого лица на винду.
    Если вы не под Х, а, например через ssh сидите — выход тоже есть — Xming.
    Ставим эту программу туда где вы сидите под win. Она поможет вам отображать GUI окна запущенные в ssh.
    Ставим Xming, запускаем ее.
    На Ubuntu выставляем переменную окружения:

    export DISPLAY=ваш ip:0.0

    и теперь при запуске команды vncviewer через какую-нибудь putty вы получаете графическое окно из линукса.

    Заканчиваем установку и радуемся вирутальной машине.

    Статья написана ЖЖ-юзером felvis и мной во время собственно установки и настройки всего этого хозяйства для продакшен-использования.
    Использованы материалы из книги «Professional Xen® Virtualization» от William von Hagen и мануал с сайта Xen.ru — Читать мануал.
    Поделиться публикацией

    Комментарии 75

      +1
      Офигеть. А производительность намного больше той же VmWare? Эх, надо было брать процессор с Intel VT… А то у меня под Линуксом виртуалка с Windows XP только для чата локальной сети работает и довольно сильно просаживает производительность процессора Intel Celeron, распаянного на материнской плате.
        +2
        Производительность сильно выше, но мутить Xen только для чата в локальной сети — ИМХО оверхед :)

        У того же VirtualBox производительность выше.

        Кстати а почему не пользуешь wine?
          +1
          Под Wine сервер чата не работает, падает с ошибкой. Если что, чат — CommFort, может быть кто-то подскажет рецепт его работы под Wine, буду благодарен.
            0
            >>У того же VirtualBox производительность выше.

            Доказательствами не поделишься? Производительность чего? Память, процессор, устройства ввода/вывода?
          0
          А можно впечатления в студию — как работает, что разместили на машину? Потому что у меня в убунтовской сборке Xen на протяжении как минимум 2-ух релизов безбожно глючил, вследствие чего пришлось отказаться от него на тот момент.
            +1
            У меня куча VPS, крутятся на базе CentOS 5.2, никаких глюков на протяжении почти уже полгода работы не обнаружено. В качестве DomU стоят как сами центоосы, дебиан и ещё netbsd. Потери производительности в режиме виртуализации практически нет.

            Кстати, может нужно кому vpsик =)?
              0
              Заинтересовался.
              На моих VPS отсутствует куча модулей ядра, так что виртуальную машину не запустить.
              У кого берете серверы?
                0
                Давайте это приватно обсудим. Написал Вам в хабропочту.
            +1
            test
              +4
              Test passed: OK
              0
              а как там сейчас с драйверами для карт nvidia? раньше когда пробовал драйвера не ставились карту.
                0
                Возможно теоретически если пробрасывать pci-e на виртуальную машину и иметь процессор с VT-d. Пока это тёмная история, так как это мало кому надо.
                0
                Во-первых, спасибо за то что откликнулись на комментарии и всё-таки написали статью;

                Во-вторых, спасибо за статью :)

                И в-третьих — мой вопрос:

                У нас два «сервера». Вернее один сервер (Intel Xeon 3.0x2, 2GB RAM, 2x1GBIT LAN, 4x200GB), а другой «сервер» (простой Intel 2.5, 1GB RAM, 2x100MBIT LAN, 80GB HDD). На первом стоит Ubuntu Linux, используется он для Samba, Squid (почти не используется), связки AMP, недонастроенного LDAP, DHCP, DNS. На втором — Windows Server 2003, используется в основном для Traffic Inspector (нам нужен именно такой прокси+биллинг) ну и так, по мелочам вроде Donwload Master по ночам.

                Теперь собственно вопрос: стоит ли «переносить» второй сервер в первый? (ну чтоб не было двух машин, да и так, для порядку + экспиренс). Если да, будет ли всё работать? Будет ли работать всё без тормозов, как на раздельных машинах?

                Заранее спасибо за ваши ответы. Они мне, начинающему «сисадмину» ой как нужны :)
                  +1
                  Однозначно стоит, но не думаю, что Xen здесь был бы лучшим вариантом. Проще было бы поставить VirtualBox или VMware Server.
                  Правильным бы решением было создать как минимум 2 виртуальные машины, и на одну смигрировать Windows, а на вторую — Linux. На самой же хостовой операционке оставить задачи чувствительные к дисковой нагрузке — например Samba шару.
                    0
                    понятно :) в принципе так и думаю сделать, sabma и иже шаренные папки, касперский, dchp/dns в «корень», одну операционку — для LAMP, одну — Windows и ещё одну — для эспериментов.

                    а что насчёт производительности? и сколько места нужно будет на всё это добро?

                    да, и ссылки на толковые мануальчики не помешали бы, если не сложно конечно :)
                      0
                      Вполне внятная документация поставляется с каждым из названных здесь продуктов, прочитав её можно без проблем создать рабочую виртуальную машину.
                      На производительность виртуальных машин можно глядеть с разных сторон. Производительность процессора и памяти практически не падает. Основная проблема — это устройства ввода/вывода. Основные представители — сетевые адаптеры и дисковые накопители. Если образ жёсткого диска создаётся как объект файловой системы хостовой виртуальной машины, то потери будут весьма значительными. Ситуация улучшается при использовании паравиртуальных драйверов для виртуальных машин, в продуктах VMware это VMware Tools, в Xen для Windows существуют драйвера для диска и сетевой карты которые разрабатываются под GPL. Практически нулевые потери при использовании паравиртуализации, но это возможно только на модифицированных ОС. На хостовой операционке нет нужды оставлять dns и dhcp — прекрасно будут работать и на виртуальной машине. Чем меньше будет задач на ней, тем надёжнее будет вся система.
                        0
                        понятно… нужно ещё разобраться с дисками, что, как и куда ставить, куда забекапить и можно уже экспериментировать :)
                    0
                    Я бы сделал так: по возможности добил в зеоновый сервер еще пару гигов памяти (так сказать задел на будущее), поднял на нем VMware ESXi 3.5 (он ныне бесплатный) и уже в нем поднял все нужные мне сервисы в требуемых операционках. Итого вы сэкономите на месте, электроэнергии и охлаждении.
                    +2
                    Что вообще за чушь про xming?
                    К VNC можно подключится удалённо и без ssh туннелей. Ставим TightVNC и не занимаемся бредом.
                    Пример с XP в целом — не удачен, запуск не модифицированных доменов это совсем не первостепенная задача Xen. Основное направление его использования — паравиртуализация. Для не модифицированных как раз удобнее использовать продукты, описанные в первой части статьи, так как в отличие от Xen могут выполнять с такими виртуальными машинами как минимум следующие операции:
                    1. Создание снапшотов
                    2. Приостановка виртуальной машины
                    3. Миграции виртуальной машины с одного хоста на другой
                    Ну и в целом, из статьи невозможно понять что мы ставим и зачем.
                      0
                      br0ziliy, а какие Вы использовали системы виртуализации, сколько виртуальных систем и сколько серверов подняли? Вообще насколько Вы опытны в этой области?
                        0
                        Поддерживал 10 хост-систем на Virtuozzo (по 5-7 гостей на каждом), плюс Ксен (2 хоста, по 3-4 гостя на каждом, многоцелевые). Опыт — около четырёх лет.
                          0
                          и что в итоге посоветуете для виртуализации с последующим юзаньем в виде веб-серверов? Virtuozzo или Xen
                          я в принципе буду и то, и то пробовать, но опыта у меня будет только 1 неделя
                            0
                            Virtuozzo и Xen юзают принципиально разный подход, плюс Виртуозо — платная… Я бы советовал таки Xen.
                              0
                              а сам с какой целью использовал виртуализацию? и что самое интересное на каком оборудовании?
                                0
                                С целью веб-хостинга. Использовалась Виртуоза, но там это была сорее вынужденная необходимость — сервер овнер требовал именно виртуозу.
                                Оборудование — да вобщем ничего военного, обычные серваки Supermicro с 4-10 Гб оперативки и Xeon'ами
                                  0
                                  и при пиковой нагрузке в 40-60 пользователей система вцелом не ложала и не ложилась?

                                  PS я посмотрел на виртуозу, а она падлюка дорогая, у меня вцелом сервак столько стоить будет (
                                    0
                                    Смотря что эти пользователи делать будут… Если простенький сайт с несложной БД дёргать — то всё нормально будет жить.
                        0
                        а чтонибудь попроще в настройке из аналогов есть?
                          0
                          OpenVZ, но linux only
                            0
                            Это с какой стороны оно проще?
                              0
                              С любой. Настраивается за 10 минут после установки нужного ядра.
                                0
                                Это если про OpenVZ ничего не знать, или если ставить его уже в десятый раз?
                                  0
                                  Если ничего не знать. По манулалу с сайта, на федору было натянуто ядро, и, за 10 минут было поднята 1 машина с генту. Потом было перелопачивание конфигов, и тонкая настройка.
                                  Profit!
                                    0
                                    В таком случае, однозначно проще.
                                      +1
                                      Только OpenVZ настолько не аналог Xen, насколько это вообще возможно :)
                                      OpenVZ — это навороченный chroot.
                                  +1
                                  xen тоже настраивается за минуты. Огромные страницы кофигурации автор просто скопипастил из примеров.
                            0
                            Статья хорошая, но есть пару непоняток, в статье не описанных, например, что у нас с сетью? Можно было написать подробнее. Используемые ресурсы, количество памяти, использование процессора? И, простите, если поднимать вируализацию на сервере, то зачем там иксы?
                              0
                              Xen виртуализует полноценные виртуальные системы. И не только Linux, а и Windows — где без графической консоли нечего делать.
                                0
                                Упоминание в статье VNC прошло мимо?
                              +2
                              установить убунту, поставить Xen, установить XP, поднять VMWare, установить убунту :)
                                +1
                                почти текстура
                                  0
                                  пора спать :)
                                0
                                У меня на машине два раздела — с Windows и Linux. Можно ли в Linux запустить xen и пускать в нём Windows, который живёт на другом разделе?
                                  0
                                  а автор тока убу занимается?
                                  есть ли опыт установки и поддержания на freeBSD (openBSD) Xen или WMvare?
                                    0
                                    А откуда возмется опыт, если коммерческая фирма VmWare решила не распылять силы на всякие аутсайдерские платформы?
                                    Xen вроде запускают.
                                      0
                                      Для BSD есть какие-то патчи на ядро, но официально это не поддерживается. В принципе, какая разница какая ОС является хостовой — единственная её задача предоставлять виртуальным машинам доступ к устройствам ввода/вывода.
                                      VMware Server и Workstation устанавливается только на Linux или Windows.
                                        0
                                        принцип тот, что я не знаю как хостовая система себя поведет под 10-15 виртуальными, вот я в сторону *BSD систем и смотрю
                                          0
                                          Напрасно вы думаете, что поддержка виртуальных машин и поверье о том, что *BSD лучше всего справляются в большим числов процессов, как-то связаны.

                                          Де-факто линукс более популярен. Линукс использует vmware даже в своих фирменных продуктах в качестве хоста. Ее специалисты поправили в линуксе куда больше багов для работы своих же приложений.
                                            0
                                            Причём тут BSD. Xen построен на концепции гипервизора — для него любая ОС виртуальная. Dom0 просто имеет возможность обращаться к устройствам ввода/вывода. Через запросы к гипервизору(hypercalls), кстати.
                                            Есть достаточно старое исследование(2003 год) The Art of Virtualization там Xen в одном из тестов успешно справлялся с 128-ю доменами.
                                        0
                                        А возможно ли сделать полную симуляцию двух машин? для домашнего компьютера.
                                        Что хочется иметь:
                                        1) Переключение между осями как между раб. столами
                                        2) Полноценная работа с NVidia PCI-E видеокартами(любим вечерами с друзьями загамить в статежку какую-нибудь))
                                        3) Возможность полноценной работы с совсем специфичными осями, таких как вин7 и хакинтош.
                                        Спасибо)
                                          0
                                          даа, хотелось бы так…
                                            0
                                            1. Разворачивай VNC на весь рабочий стол.
                                            2. Выше писал — теоретически возможно, но виртуальной машине надо отдавать в пользование видяху. Значит, она не будет доступна ни хостовой операционке, ни другим виртуальным машинам. Плюс нужно иметь процессор с VT-d(IOMMU у AMD, но появится только в конце 2009), и чипсет материнской платы, поддерживающей данную технологию.
                                            3. Если нет специфических требований к железу — любая подойдёт.

                                            Вывод — если тяга к играм непреодолима — купи консоль.
                                              0
                                              лично я не из-за игр хочу, мне нужен фотошоп (да, да, для гимпа руки кривые) и то как работает коммфорт чат под вайном уже достало. только вот виртуал бокс кушает много ресурсов ((
                                                0
                                                Продвижения в сторону поддержки виртуальной машиной DirectX, кажется(кажется) есть только у VMware в Fusion(OS X) и Workstation 6.5. Для Xen есть ещё хитрый патч для виртуалки с Linux для поддержки OpenGL, но он для Linux.
                                                0
                                                Проц Core2Quad @2.3Ghz (есть VT-d скорее всего ;) + 4GB ram
                                                Сейчас используется всего 3 гига ибо стоит вин7 и не хорчет последний гиг юзать, проц не грузится больше чем на 40%. Вот и сразу видно, что можно паралельно без проблем запустить вторую ось.
                                                Ах да)
                                                Я не против отдать железку в монопольное использование.

                                                Так где прочитать про отдачу железки в монопольное использование?
                                                Спасибо)
                                                  0
                                                  Наличие аппаратной виртуализации ещё не значит наличие VT-d. Плюс поддержка чипсета должна быть, есть у Q35 и ещё каких-то. Читать про pci passthrough. И повторяю, возможность чисто теоретическая, о успехах на практике я не слышал.
                                                  С другой стороны, зачем использовать Xen, можно просто на Windows поставить либо VMware Workstation/Server или VirtualBox и запускать на нём что угодно, но уже без аппаратного ускорения видео. На Windows оно останется, и не надо никаких дополнительных видеокарт.
                                                0
                                                Попробуй VmWare ESX
                                                  0
                                                  Не несите чушь.
                                                0
                                                кстати, для игр под вайном есть замечательная штуковина, которая автоматически ставит все библиотеки и что-то там настраивает. правда она равносильна директу 8,1, но, как не странно, ГТА 4 идет с легким подтормаживанием, а мак пейн, вайс сити и тд. идут отлично.
                                                  0
                                                  >> Изначально я только за LVM — и потому что он быстрее чем просто образы прилепленные в /dev/loop
                                                  почему? и есть ли тесты?

                                                    0
                                                    кстати, раз уж тут win xp в HVM домене полезно упомянуть про паравиртуальные драйверы, без которых все очень плохо.
                                                      0
                                                      Это логично, так как когда машина работает с истинным блочным устройством, но она не задействует ресурсы Dom0, а когда машина пишет в файл ФС dom0, то, естественно, ресурсов будет тратится гораздо больше, потому что надо, во-первых, нужно писать одни и теже данные в две ФС одновременно, да ещё и эмулировать блочное устройство из файла.
                                                        0
                                                        Было бы логично если было бы это было так, но там это работает немного по другому, и, например, нет эффекта использования двух файловых систем.
                                                          0
                                                          И как оно работает? Когда я ставил операционку с iso образа использование проца в dom0 взлетало до небес. Если файл на диске, то в него надо писать, а если надо писать, то надо задействовать ФС. Я не прав?
                                                            0
                                                            Вряд-ли использование проца взлетало до небес, скорее всего это был %iowait а не проц.

                                                            По теме вот ссылка wiki.xensource.com/xenwiki/blktap
                                                              0
                                                              Можете сами проверить «косвенно» например используя echo 1 > /proc/sys/vm/block_dump
                                                      0
                                                      1. На lxlabs.com есть очень удобная тулза гиперВМ, есть смысл её юзать после первоначального знакомства с ксеном или опезвз, и есть существенный смысл её юзать для продакш-серваков )

                                                      2. Если кому интересно могу описать процесс виртуализации в центосе + если всё будет гладко то и в НетБСД и самое кошерное — фрибсд как гостевой ОС

                                                      3. Привет землякам Брозилий =)
                                                        0
                                                        >1. На lxlabs.com есть очень удобная тулза гиперВМ, есть смысл её юзать после
                                                        >первоначального знакомства с ксеном или опезвз, и есть существенный смысл
                                                        >её юзать для продакш-серваков )

                                                        А есть ли опыт HyperVM использовать в приватной сети? Вроде они требуют реальный IP.
                                                          0
                                                          гиперВМ вообще непонятно как ведёт учёт использования своих продуктов, но факт того что панельк ставится без проблем и работает, более того — позволяет создать до 15 виртуальных машин — мной проверен и доказан)
                                                            0
                                                            интересно поставить её на десяток серверов, чтобы было единое управление и миграция. Это получалось?
                                                              0
                                                              > чтобы было единое управление и миграция
                                                              В смысле? Управление чем и миграция с чего на что?
                                                                0
                                                                Управление несколькими серверами, и миграция контейнеров OpenVZ и сервера на сервер. Ну или виртуальных машин Xen. Да там много чего делается централизованно, чем HyperVM и интересен.
                                                                  0
                                                                  и первое и второе проверялось на опенВЗ, есть много керриеров и рутовых и слейвов под которыми бегает порядка 30 ВПСов, так что схема рабочая, в случае опенВЗ

                                                                  в случае ксена есть керриер на 15 впсов и оверселлинга там сильно не выйдет, т.к. ресурсы лимитированы
                                                        0
                                                        А мне статья не понравилась, уж извините. Это всё написано в мануале или находится элементарным гуглением. Да и в мейлисте xen-user можно найти кладезь информации.

                                                        Так же Вы совершенно не освятили вопросы безопасности.

                                                        Просто я на xen уже собаку съел, так что может быть просто гунжу.
                                                          0
                                                          ^) мнение — всегда важно
                                                          это ман не для профи. а скорее как начать не перерывая тонныч манов (хотя это все равно придется потом сделать)

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

                                                        Самое читаемое