The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

06.08.2017 09:29  Для Linux предложена новая ФС NOVA, спроектированная для NVM-памяти

В списке рассылки ядра Linux представлена новая файловая система NOVA (NOn-Volatile memory Accelerated file system), созданная для обеспечения максимальной эффективности и надёжности работы на чипах энергонезависимой памяти (NVM, non-volatile memory, например NVDIMM и Intel 3DXpoint DIMM), сочетающих производительность ОЗУ с возможностью постоянного хранения содержимого, не теряющегося после прекращения подачи энергии. Отмечается, что представленная реализация NOVA уже достаточно стабильна при выполнении сложных приложений, но до доведения до готовности к широкомасштабному внедрению ещё необходимо проделать много работы.

Традиционные ФС недостаточно эффективны для NVM-памяти, так как не рассчитаны на байтовую адресацию, применяемую в энергонезависимой памяти, которая для обработчиков выглядит как обычное ОЗУ. В частности, чтение с обычных накопителей обеспечивает атомарность операции на уровне чтения/записи сектора, в то время как NVM-память обеспечивает доступ на уровне отдельных байтов.

Кроме того, традиционные ФС пытаются снизить интенсивность обращения к носителю, который рассматривается как заведомо более медленный, чем оперативная память, а также пытаются группировать операции для обеспечения последовательного чтения при применении НЖМД, обрабатывать очереди запросов, разделять приоритеты выполнения разных операций. Для NVM-хранилищ подобные усложнения излишни, так как скорость обращения к данным сопоставима с оперативной памятью и порядок доступа не имеет значения.

ФС NOVA использует интерфейс ядра DAX для прямого доступа к устройствам постоянной памяти в обход страничного кэша - содержимое накопителя отображается в адресное пространство ядра без применения традиционного уровня блочных устройств. В итоге при хранении в памяти с байтовой адресацией NOVA обеспечивает атомарное обновление метаданных (каждая операция с директорией атомарна) и данных (каждая запись в файл атомарна). Дополнительно предусмотрен режимы "unsafe data" и "unsafe metadata", позволяющих форсировать производительность ценой потери атомарности операций.

Поддерживается система снапшотов, позволяющих зафиксировать состояние ФС на текущий момент времени, которую можно использовать для создания целостных резервных копий. Для обеспечения непротиворечивости и целостности применяется похожая на RAID5 схема избыточного хранения метаданных, а также проверка по контрольным суммам (crc32c). Контроль целостности производится при каждом доступе к ФС и позволяет исправлять нарушения целостности метаданных, а также выявлять как случайные изменения содержимого NVDIMM в обход ФС, так и ошибки, вызванные повреждениями на аппаратном уровне.

Система основана на структурах данных, отражающих изменения в форме лога (log-structured FS), но вместо поддержания одного глобального лога для всей ФС в NOVA создаются отдельные логи для каждого файла (по логу на каждый inode). Лог разбивается на 4-килобайтовые страницы, которые могут произвольно размещаться в памяти (не обязательно по порядку). В логах хранятся только метаданные, а данные вынесены в отдельные страницы памяти. При выполнении операций записи в лог помещается указатель на блок изменяемых данных. Сами изменения в хранимые данные вносятся с применением механизма copy-on-write (COW) для обеспечения атомарности обновления.

Для файловых операций, в которые вовлечено несколько inode, в NOVA применяются небольшие логи отката изменений (redo logs), имеющие фиксированный размер, которые атомарно прикрепляются к элементам в логе каждого задействованного в операции inode. В случае невозможности завершить операцию из-за сбоя изменения откатываются в прошлое состояние по находящемуся в логе журналу изменений. Подтверждение успешного завершения операции осуществляется путём удаления redo-лога. Подобный подход позволяет добиться достаточно компактного размера логов и очень быстрого выполнения операций сборки мусора. Также появляется возможность параллельной обработки логов в процессе восстановления целостности ФС.

Все таблицы inode и связанные с ними журналы разбиваются на несколько частей, каждая из которых привязывается к своему ядру CPU, что позволяет распараллелить операции с таблицей. Сами inode хранятся в связанных списках (по одному на CPU) блоками по 2 Мб. Последние 8 байт в каждом блоке ссылаются на следующий блок. Выделение новых блоков для inode осуществляется динамически. Каждый блок обрабатывается только тем ядром CPU, за которым закреплён. Привязка к CPU осуществляется во время инициализации нового экземпляра ФС командой "mount -t NOVA -o init /dev/pmem0 /mnt/ramdisk"). Так как таблицы inode привязываются к CPU, работа уже созданной ФС возможна только на системах с аналогичным числом ядер CPU.

Из других ограничений, которые планируется устранить по мере развития ФС, отмечается отсутствие утилит mkfs и fsck, отсутствие утилиты для перепроверки целостности данных (проверяется только целостность данных, к которым производится доступ), отсутствие ведения таблиц сбойных блоков (bad blocks), возможность работы только на системах x86-64, отсутствие поддержки ACL и расширенных атрибутов файлов, невозможность записи в примонтированные снапшоты, отсутствие поддержки квот.

  1. Главная ссылка к новости (https://lkml.org/lkml/2017/8/3...)
  2. OpenNews: Значительное обновление файловой системы Bcachefs
  3. OpenNews: Инженеры из Google представили глобальную файловую систему Upspin
  4. OpenNews: В файловой системе Reiser4 появилась поддержка зеркалирования
  5. OpenNews: Файловая система Tux3 предложена для включения в состав ядра Linux
  6. OpenNews: Facebook приступает к тестовому внедрению файловой системы Btrfs
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: nova, nvm, nvdimm, fs, kernel, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Нннн (?), 12:00, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +9 +/
    Похоже скоро SSD диски тоже в прошлое уйдут
     
     
  • 2.2, deadfood (ok), 12:19, 06/08/2017 [^] [ответить]    [к модератору]
  • –3 +/
    нет
     
     
  • 3.3, A.Stahl (ok), 12:25, 06/08/2017 [^] [ответить]    [к модератору]
  • +37 +/
    Всё когда-то уйдёт в прошлое. Даже будущее.
     
     
  • 4.14, Xasd (ok), 13:56, 06/08/2017 [^] [ответить]    [к модератору]
  • +/
    скоро?
     
     
  • 5.22, A.Stahl (ok), 14:40, 06/08/2017 [^] [ответить]    [к модератору]
  • +8 +/
    В будущем:)

     
     
  • 6.28, Дегенератор (?), 14:58, 06/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Будущего не существует. Смиритесь.
     
     
  • 7.29, A.Stahl (ok), 15:04, 06/08/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    Да, будущего не существует сейчас. Нет его и в прошлом. Но в будущем будет будущее!
    Это как ∞ в математике.
     
     
  • 8.91, Аноним (-), 00:09, 07/08/2017 [^] [ответить]    [к модератору]  
  • –12 +/
    Почитайте The Langoliers, может тогда поймете про что речь, это лучше чем строить из себя философа.
     
     
  • 9.104, Аноним (104), 09:49, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    > строить из себя философа.

    Всё относительно.

     
  • 9.105, Moomintroll (ok), 10:24, 07/08/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > The Langoliers

    С каких это пор художественный вымысел стал истиной?

     
     
  • 10.107, Аноним (-), 10:57, 07/08/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Примерно со времен написания "архипелаг гулаг"
     
  • 9.111, Lain_13 (ok), 11:40, 07/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Тогда я могу ссылаясь на MLP Time Loops утверждать, что заранее предопределён ст... весь текст скрыт [показать]
     
     
  • 10.122, Аноним (-), 13:10, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    > Кстати, квантовая физика очень даже напоминает последствия неточной симуляции мира.

    А дискретность времени подозрительно напоминает отдельные "тики".


     
     
  • 11.214, Аноним (-), 00:37, 01/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Откуда дровишки? Публикации ффстудию.
     
  • 10.191, _ (??), 17:10, 08/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Хммм ... я попал на соревнования поставщиков ширева?
    Чемпиону - пожизненное, ибо нех*!
     
  • 10.209, pavlinux (ok), 00:14, 18/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Философов бесконечностей, хотя бы скажи какой завтра, после 11:00 будет курс фунта ст. по ЦБ.
     
  • 1.4, Аноним (-), 12:33, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Это получается я могу создать раздел типа tmpfs с этой файловой системой и класть файлики для быстрой работы приложения с ними? :)
     
     
  • 2.6, A.Stahl (ok), 12:35, 06/08/2017 [^] [ответить]    [к модератору]  
  • +/
    >для быстрой работы

    А скорость-то откуда возьмётся?

     
     
  • 3.112, Lain_13 (ok), 11:52, 07/08/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Строго говоря может даже и взяться так-как в описание чётко указывалось, что в N... весь текст скрыт [показать]
     
  • 2.9, Старый одмин (?), 12:55, 06/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    NVMDIMM

    NVM
    Non-volatile

    DIMM
    Dual In-line Memory Module

    Не забудь купить модуль энергонезависимой памяти в формате планки оперативной памяти.

     
  • 1.5, Аноним (-), 12:35, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Несколько смущает последний абзац. Что происходит, если количество ядер в системе меняется в большую или меньшую сторону?
     
     
  • 2.24, я (?), 14:46, 06/08/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Видать придется монтировать. Судя из последнего обзатца
     
  • 2.8, Аноним (-), 12:42, 06/08/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Вроде стало понятнее после оригинального описания. Всё "per-CPU" распределятся равномерно во время инициализации, а не фиксируется в момент создания ФС.
     
     
  • 3.25, Аноним (-), 14:47, 06/08/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Ничего подобного, в контексте NOVA инициализация это запуск в режиме -o init , ... весь текст скрыт [показать]
     
  • 3.30, Аноним (-), 15:05, 06/08/2017 [^] [ответить]    [к модератору]  
  • +4 +/
    В документации сказано обратное:

    following items are currently missing:
    ...
    Moving NOVA file systems between machines with different numbers of CPUs does not work.

     
  • 1.11, Аноним (-), 13:16, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –6 +/
    Доколе мы будем влачить существование в прокрустовом ложе файлов и файловых систем?!
     
     
  • 2.20, Какаянахренразница (ok), 14:23, 06/08/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    Каковы Ваши предложения, мой анонимный друг?
     
     
  • 3.57, Вася1970 (?), 18:47, 06/08/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    он хочет ОС Фантом.
     
     
  • 4.65, Аноним (-), 20:30, 06/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Фантом слишком фантом, а мне надо ИРЛ, так что и ibm i не очень подходит
     
  • 2.83, Аноним (-), 23:08, 06/08/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Действительно. Даже если не упоминать всякие модные нынче нейросети, то реализация концепции файла очень устарела по сравнению с тем же plan b.
     
     
  • 3.89, Crazy Alex (ok), 23:49, 06/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Чепуха Всё это не зря осталось академической игрушкой - на практике очень быстр... весь текст скрыт [показать]
     
     
  • 4.92, Аноним (-), 00:13, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Мало того коллега, доступ к ОЗУ тоже не однороден и приходиться плясать с бубном попадая во всякие кэши и тд.
     
     
  • 5.98, Crazy Alex (ok), 03:05, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Да, но одно дело отладить это на критичных участках, другое - вообще ничего не знать о надёжности и задержках хранилища в самых обычных приложениях.
     
  • 5.127, Аноним (-), 14:32, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Это о иерархии памяти вообще.
     
  • 2.106, Аноним (-), 10:40, 07/08/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >Доколе мы будем влачить существование в прокрустовом ложе файлов и файловых систем?!

    Хотите хранить объекты? Шишкин с начальником Рейзером изначально в Reiser4 планировали такую возможность.

     
     
  • 3.192, _ (??), 17:18, 08/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Да тьфу на вас AWS S3 и наслаждайтесь Только вот они тоже прокрустово ло... весь текст скрыт [показать]
     
  • 1.26, Kuromi (?), 14:54, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Круто. F2FS никак до полностью рабочего состояния довести не могут, GRUB2 тормозит с поддержкой, а они новую уже придумали. Напоминает Jabber, где разработчики штампуют XEP (расширения протокола), а реализовывать поддержку в клиентах никто не спешит.
     
     
  • 2.42, A.Stahl (ok), 16:14, 06/08/2017 [^] [ответить]    [к модератору]  
  • +5 +/
    >разработчики штампуют XEP

    Кладут. Судя по удобству того что они натворили, то не штампуют, а кладут.

     
  • 1.45, Аноним (-), 16:40, 06/08/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • –3 +/
    Инновационная btrfs тормозит в большинстве тестов Новая виндовая refs, убийца n... весь текст скрыт [показать]
     
     
  • 2.51, Аноним (-), 17:38, 06/08/2017 [^] [ответить]     [к модератору]  
  • –5 +/
    А, как ранее MS пиарщики и незалежнi-тестировщики обзорщиками пиарили что NTFS б... весь текст скрыт [показать]
     
  • 2.54, Michael Shigorin (ok), 18:34, 06/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > простой, быстрой фс со сжатием.

    Выберите два.

     
     
  • 3.59, Аноним (-), 19:17, 06/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Можно тогда пример хорошей фс быстрой со сжатием?
     
     
  • 4.60, Led (ok), 19:49, 06/08/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Можно тогда пример хорошей фс быстрой со сжатием?

    reiser4. Но там свои "тараканы". В частности, образы виртуалок на неё лучше не класть (и не ложить), или ложить специальным образом.

     
     
  • 5.96, Аноним (-), 01:22, 07/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Кстати, много где такое слышал Вроде вызвано тем, что при восстановлении файлов... весь текст скрыт [показать]
     
     
  • 6.97, Led (ok), 01:37, 07/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Нет, там всё намного прозаичнее и проявляется только когда включена компрессия ... весь текст скрыт [показать]
     
     
  • 7.202, me (??), 00:14, 12/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну напишите уже кто-нить ioctl, чтобы помечать файлы как несжимаемые Попросите ... весь текст скрыт [показать]
     
     
  • 8.203, Led (ok), 00:17, 12/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Костыдь - за пару часов А по-хорошему - xattrs с поддержкой c ... весь текст скрыт [показать]
     
     
  • 9.204, me (??), 00:51, 12/08/2017 [^] [ответить]    [к модератору]  
  • +/
    > Костыдь - за пару часов.
    > А по-хорошему - xattrs (с поддержкой 'c').

    А почему xattrs (с поддержкой 'c') тогда не костыль, а всё остальное - костыль?

     
     
  • 10.205, Led (ok), 00:58, 12/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Потому что xattrs уже есть в vfs и реализовано в ext234 btrfs xfs может ещё где... весь текст скрыт [показать]
     
  • 4.200, XoRe (ok), 19:06, 08/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > Можно тогда пример хорошей фс быстрой со сжатием?

    ZFS

     
     
  • 5.201, Led (ok), 23:43, 08/08/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    >> Можно тогда пример хорошей фс быстрой со сжатием?
    > ZFS

    Спрашивали же хорошую и быструю, а не просто объект поклонения pussy.exe'шников.

     
     
  • 6.212, XoRe (ok), 16:36, 27/08/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    >>> Можно тогда пример хорошей фс быстрой со сжатием?
    >> ZFS
    > Спрашивали же хорошую и быструю, а не просто объект поклонения pussy.exe'шников.

    А я и не про BSD

     
  • 3.61, Аноним (-), 19:59, 06/08/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    NTFS и ZFS?
     
     ....нить скрыта, показать (14)

  • 1.55, Вася1970 (?), 18:43, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    NVM это по идее отказ от концепции файла, отход от принципа unix и новая ОС, а не костыль в виде ФС
     
     
  • 2.58, Crazy Alex (ok), 18:48, 06/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Чего, блин И чем ты собрался заменить файл как именнованную сущность на постоян... весь текст скрыт [показать]
     
     
  • 3.69, анононк (?), 20:49, 06/08/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    вообще-то может и поменяет, все будет в сжатых бинарниках(приложения), а даныe в базах которая при исполнение тоже, мать его бинарник, вместо фалов будут сжатые человеконепонятные байткоды.
     
     
  • 4.71, Crazy Alex (ok), 21:12, 06/08/2017 [^] [ответить]     [к модератору]  
  • +/
    И что поменяется Какая-нибудь XFS или Ext4 охренеть какая человекопонятная, есл... весь текст скрыт [показать]
     
     
  • 5.75, анононк (?), 21:43, 06/08/2017 [^] [ответить]     [к модератору]  
  • –3 +/
    вместо данных в базах данных фс не будет файлов в виде байткодов, а будут адре... весь текст скрыт [показать]
     
     
  • 6.79, Аноним (-), 22:23, 06/08/2017 [^] [ответить]     [к модератору]  
  • +3 +/
    Такое - существует давно и называется просто своп-файл или же ROM-образ прошив... весь текст скрыт [показать]
     
  • 3.76, Отражение луны (ok), 21:50, 06/08/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Гораздо удобнее и удачнее хранить это дело таблицей с блобами, например, выделив... весь текст скрыт [показать]
     
  • 3.197, Ordu (ok), 18:12, 08/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Мне кажется, что это чересчур сильное утверждение Существуют примеры софта, кот... весь текст скрыт [показать]
     
     
  • 4.207, rex (??), 23:54, 15/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Идеи красивые К тому всё и идет, но Реальный софт личит, бакапится, и главное ... весь текст скрыт [показать]
     
  • 2.138, Kodir (ok), 18:29, 07/08/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Концепция файла вечна, не трогайте святое, дабы не позориться А если очередно... весь текст скрыт [показать]
     
     
  • 3.211, pavlinux (ok), 00:41, 18/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Файлов не существует, смирись Тебе, человеку-шаблону, надо всё разъяснять Ес... весь текст скрыт [показать]
     
  • 3.213, Аноним (-), 00:34, 01/10/2017 [^] [ответить]    [к модератору]  
  • +/
    Тронули давно
    https://lsub.org/ls/export/box.html
    https://lsub.org/ls/export/2kblocks/
     
     ....нить скрыта, показать (11)

  • 1.62, Baz (?), 20:12, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    интересно, а есть ли уже комп и OS для него где функция ПЗУ и ОЗУ объединена в NVM?
     
     
  • 2.78, Elly (?), 22:06, 06/08/2017 [^] [ответить]    [к модератору]  
  • +/
    The machine (HP)
     
     
  • 3.99, A.Stahl (ok), 05:19, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Разве проект ещё жив? Вроде сворачивали же...
     
  • 1.85, Аноним (-), 23:15, 06/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    А старые приложения смогут и дальше работать?
     
  • 1.102, 111 (??), 08:11, 07/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Похоже EMC DSSD её уже давно использует (хотя может что-то и своё, но подход схож)
     
  • 1.108, Аноним (-), 11:03, 07/08/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    жесткие диски гарантируют атомарность записи сектора либо полностью запишется л... весь текст скрыт [показать]
     
     
  • 2.117, Аноним (-), 12:25, 07/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Оно то может и может, раз энерго-независимое,
    а вот куча [ЦПУ] кэшей... Ну я писал уже о них - ранее выше, сейчас перепосчу ниже.
     
  • 2.139, Crazy Alex (ok), 20:22, 07/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Не знаю, как насчёт этого то, что пока продаётся - честно говоря, даже на опы... весь текст скрыт [показать]
     
  • 2.190, Аноним84701 (ok), 16:56, 08/08/2017 [^] [ответить]     [к модератору]  
  • +/
    Либо подтвердит запись, а на самом деле все оставит в кэше Или тупо поменяет оч... весь текст скрыт [показать]
     
  • 2.206, xv (??), 13:22, 14/08/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    HDD при отключении питания пишут за счёт энергии, генерируемой постепенно остана... весь текст скрыт [показать]
     
  • 2.208, ishida (ok), 16:29, 16/08/2017 [^] [ответить]    [к модератору]  
  • +/
    Очень интересно, тоже хотелось бы ответ знать
     
  • 1.210, pavlinux (ok), 00:21, 18/08/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Прекрасно, нам пиво поставляют ящиками, а мы их открываем и разливаем по рюмкам.
    А когда захочется пивка, то переливаем рюмки в бутыли и пакуем в ящик.
    Ну не работает официант,  если на подносе меньше 4096 рюмок.  
    Оптимизаторы, йотп.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor