Ликбез №1. Системы хранения данных.

Начинаем новую рубрику под названием «Ликбез». Здесь будут описываться вроде бы всем хорошо известные вещи, но, как часто оказывается, не всем, и не настолько хорошо. Надеемся, что рубрика будет полезной.

Итак, выпуск №1 – «Системы хранения данных».

Системы хранения данных.

По-английски они называются одним словом – storage, что очень удобно. Но на русский это слово переводится довольно коряво – «хранилище». Часто на слэнге «ИТ-шников» используют слово «сторадж» в русской транскрипции, или слово «хранилка», но это уже совсем моветон. Поэтому будем использовать термин «системы хранения данных», сокращенно СХД, или просто «системы хранения».

К устройствам хранения данных можно отнести любые устройства для записи данных: т.н. «флешки», компакт-диски (CD, DVD, ZIP), ленточные накопители (Tape), жесткие диски (Hard disk, их еще называют по старинке «винчестеры», поскольку первые их модели напоминали обойму с патронами одноименной винтовки 19 века) и пр. Жесткие диски используются не только внутри компьютеров, но и как внешние USB-устройства записи информации, и даже, например, одна из первых моделей iPod’а – это небольшой жесткий диск диаметром 1,8 дюйма, с выходом на наушники и встроенным экраном.

В последнее время все большую популярность набирают т.н. «твердотельные» системы хранения SSD (Solid State Disk, или Solid State Drive), которые по принципу действия схожи с «флешкой» для фотоаппарата или смартфона, только имеют контроллер и больший объем хранимых данных. В отличие от жесткого диска, SSD-диск не имеет механически движущихся частей. Пока цены на такие системы хранения достаточно высоки, но быстро снижаются.

Все это – потребительские устройства, а среди промышленных систем следует выделить, прежде всего, аппаратные системы хранения: массивы жестких дисков, т.н. RAID-контроллеры для них, ленточные системы хранения для долговременного хранения данных. Кроме того, отдельный класс: контроллеры для систем хранения, для управления резервированием данных, создания «мгновенных снимков» (Snapshot) в системе хранения для последующего их восстановления, репликации данных и т.д.). В системы хранения данных также входят сетевые устройства (HBА, коммутаторы Fiber Channel Switch, кабели FC/SAS и пр.). И, наконец, разработаны масштабные решения по хранению данных, архивации, восстановления данных и устойчивости к катастрофам (disater recovery).

Откуда берутся данные, которые необходимо хранить? От нас, любимых, пользователей, от прикладных программ, электронной почты, а также от различного оборудования – файловых серверов, и серверов баз данных. Кроме того, поставщик большого количества данных – т.н. устройства М2М (Machine-to-Machine communication) – разного рода датчики, сенсоры, камеры и пр.

По частоте использования хранимых данных, СХД можно подразделить на системы краткосрочного хранения (online storage), хранения средней продолжительности (near-line storage) и системы долговременного хранения (offline storage).

К первым можно отнести жесткий диск (или SSD) любого персонального компьютера. Ко вторым и третьим – внешние системы хранения DAS (Direct Attached Storage), которые могут представлять собой  массив внешних, по отношению к компьютеру, дисков (Disk Array). Их, в свою очередь также можно подразделить на «просто массив дисков» JBOD (Just a Bunch Of Disks) и массив с управляющим контроллером iDAS (intelligent disk array storage).

Внешние системы хранения бывают трех типов DAS (Direct Attached Storage), SAN (Storage Area Network) и NAS (Network attached Storage). К сожалению, даже многие опытные ИТ-шники не могут объяснить разницу между  SAN и NAS, говоря, что когда-то эта разница была, а теперь – ее, якобы, уже и нет. На самом деле, разница есть, и существенная (см. рис. 1).

1

Рисунок 1. Различие между SAN и NAS.

В SAN с системой хранения связаны фактически сами серверы через сеть области хранения данных SAN. В случае NAS – сетевые серверы связаны через локальную сеть LAN с общей файловой системой в RAID.

Основные протоколы подключения СХД

Протокол SCSI (Small Computer System Interface), произносится как «скáзи», протокол, разработанный в середине 80-х годов для подключения внешних устройств к мини мини-компьютерам. Его версия SCSI-3 является основой для всех протоколов связи систем хранения данных и использует общую систему команд SCSI. Его основные преимущества: независимость от используемого сервера, возможность параллельной работы нескольких устройств, высокая скорость передачи данных. Недостатки: ограниченность числа подключенных устройств, дальность соединения сильно ограничена.

Протокол FC (Fiber Channel), внутренний протокол между сервером и совместно используемой СХД, контроллером, дисками. Это широко используемый протокол последовательной связи, работающий на скоростях 4 или 8 Гигабит в секунду (Gbps). Он, как явствует из его названия, работает через оптоволокно (fiber), но и по меди тоже может работать. Fiber Channel – основной протокол для систем хранения FC SAN.

Протокол iSCSI (Internet Small Computer System Interface), стандартный протокол для передачи блоков данных поверх широко известного протокола TCP/IP т.е. «SCSI over IP». iSCSI может рассматриваться  как высокоскоростное недорогое решение для систем хранения, подключаемые удаленно, через Интернет. iSCSI инкапсулирует команды SCSI в пакеты TCP/IP для передачи их по IP-сети.

Протокол SAS (Serial Attached SCSI). SAS использует последовательную передачу данных и совместим с жесткими дисками SATA. В настоящий момент SAS может передавать данные со скоростью  3Gpbs или 6Gpbs, и поддерживает режим полного дуплекса, т.е. может передавать данные в обе стороны с одинаковой скоростью.

Типы систем хранения.

Можно различить три основных типа систем хранения:

  • DAS (Direct Attached Storage)
  • NAS (Network attached Storage)
  • SAN (Storage Area Network)

СХД c непосредственном подключением дисков DAS были разработаны еще в конце

2

Рисунок 2. DAS

70-х годов, вследствие взрывного увеличения пользовательских данных, которые уже просто физически не помещались во внутренней долговременной памяти компьютеров (для молодых сделаем примечание, что здесь речь идет не о персоналках, их тогда еще не было, а больших компьютерах, т.н. мейнфреймах). Скорость передачи данных в DAS была не очень невысокой, от 20 до 80 Мбит/с, но для тогдашних нужд ее вполне хватало.

СХД с сетевым подключением NAS появились в начале 90-х годов. Причиной стало быстрое развитие сетей и критические требования к совместному использованию больших массивов данных в пределах предприятия или сети оператора. В NAS использовалась специальная сетевая файловая система CIFS (Windows) или NFS (Linux), поэтому разные серверы разных пользователей могли считывать один и тот же файл из NAS одновременно. Скорость передачи данных была уже повыше:  1 — 10Gbps.

3

Рисунок 3. NAS

В середине 90-х появились сети для подключения устройств хранения FC SAN. Разработка их была вызвана необходимостью организации разбросанных по сети данных. Одно устройство хранения в SAN может быть разбито на несколько небольших узлов, называемых LUN (Logical Unit Number), каждый из которых принадлежит одному серверу. Скорость передачи данных возросла до 2-8 Gbps. Такие СХД могли обеспечивать технологии защиты данных от потерь (snapshot, backup).

4

Рисунок 4. FC SAN

Другая разновидность SAN – IP SAN(IP Storage Area Network), разработанная в начале 2000-х. Системы FC SAN были дороги, сложны в управлении, а сети протокола IP находились на пике развития, поэтому и появился этот стандарт. СХД подключались к серверам при помощи iSCSI-контроллера через IP-коммутаторы. Скорость передачи данных: 1 — 10 Гбит/с.

5

Рис.5. IP SAN.

В таблице показаны некоторые сравнительные характеристики всех рассмотренных систем хранения:

Тип NAS SAN  
 
Параметр FC SAN IP SAN DAS
Тип передачи SCSI, FC, SAS FC IP IP

 

Тип данных Блок данных Файл Блок данных Блок данных
Типичное приложение Любое Файл-сервер Базы данных Видео-наблюдение
Преимущество Превосходная совместимость Легкость установки, низкая стоимость Хорошая

масштабиру-емость

Хорошая масштабиру-емость
Недостатки Трудность управления.

Неэффективное использование ресурсов. Плохая  масштабиру-емость

Низкая производительность.

Ограничения в применимости

Высокая стоимость.

Сложность конфигурации масштабирования

Низкая  производи-тельность

 

Кратко, SAN предназначены для передачи массивных блоков данных в СХД, в то время как NAS обеспечивают доступ к данным на уровне файлов. Комбинацией SAN + NAS можно получить высокую степень интеграции данных, высокопроизводительный доступ и совместный доступ к файлам. Такие системы получили название unified storage – «унифицированные системы хранения».

Унифицированные системы хранения: архитектура сетевых СХД, которая поддерживает как файлово-ориентированную систему NAS, так и блоко-ориентированную систему SAN. Такие системы были разработаны в начале 2000-х годов с целью разрешить проблемы администрирования и высокой суммарной стоимости владения раздельными системами на одном предприятии. Такая СХД поддерживает практически все протоколы: FC, iSCSI, FCoE, NFS, CIFS.

Жесткие диски

Все жесткие диски можно подразделить на два основных типа: HDD (Нard Disk Drive, что, собственно, и переводится как «жесткий диск») и SSD (Solid State Drive, — т.н. «твердотельный диск»). Т.е., и тот и другой диск – жесткие. Что же тогда «мягкий диск», такие бывают? Да, в прошлом были, назывались «флоппи-диски» (так их прозвали из-за характерного «хлопающего» звука  в дисководе при работе). Приводы для них ещё можно увидеть в системных блоках старых компьютеров, которые сохранились в некоторых госучреждениях. Однако, при всем желании, такие магнитные диски их вряд ли можно отнести к СИСТЕМАМ хранения. Это были некие аналоги теперешних «флешек».

Различие HDD и SSD в том, что HDD имеет несколько соосных магнитных дисков внутри и сложную механику, перемещающую магнитные головки считывания-записи, а SSD не имеет механически движущихся частей, и представляет собой, по сути, просто микросхему, запрессованную в пластик. Поэтому называть «жесткими дисками» только HDD, строго говоря, некорректно.

Жесткие диски можно классифицировать по следующим параметрам:

  • Конструктивное исполнение: HDD, SSD;
  • Диаметру HDD в дюймах: 5.25, 3.5 , 2.5, 1.8 дюйма;
  • Интерфейсу: ATA/IDE, SATA/NL SAS, SCSI, SAS, FC
  • Классу использования: индивидуальные (desktop class), корпоративные (enterprsie class).
Параметр SATA SAS NL-SAS SSD
Скорость вращения  (RPM) 7200 15000/10000 7200 NA
Типичная ёмкость (TБ) 1T/2T/3T 0.3T/0.6T/0.9T 2T/3T/4T 0.1T/0.2T/0.4T
MTBF (час) 1 200 000 1 600 000 1 200 000 2 000 000
Примечания Развитие жестких дисков ATA с последовательной передачей данных.

SATA 2.0 поддерживает скорости передачи 300MБ/с, SATA3.0 поддерживает до 600MБ/с.

Среднегодовой % отказов AFR (Annualized Failure Rate) для  дисков SATA – около 2%.

Жесткие диски SATA с интерфейсом SAS подходят для иерархических (tiering). Среднегодовой % отказов AFR (Annualized Failure Rate) для  дисков NL-SAS около 2%. Твердотельные диски выполненные из электронных микросхем памяти,  включая устройство управления и чип (FLASH/DRAM). Спецификация интерфейса, функции и метод использования такие же, как у HDD, размер и форма – тоже.

Характеристики жестких дисков. 

  • Ёмкость

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

  • Скорость вращения (только для HDD)

Скорость вращения магнитных дисков внутри привода, измеряется в оборотах в минуту RPМ (Rotation Per Minute), обычно составляет 5400 RPM или 7200 RPM. HDD с интерфейсами SCSI/SAS имеют скорость вращения 10000-15000 RPM.

  • Среднее время доступа = Среднее время поиска (Mean seek time) + Среднее время ожидания (Mean wait time), т.е. время извлечения информации с диска.
  • Скорость передачи данных

Это скорости считывания и записи данных на жестком диске, измеряемая в мегабайтах в секунду (MB/S). Они обычно отличаются друг от друга по величине.

  • IOPS (Input/Output Per Second)

Число операций ввода-вывода (или чтения-записи) в секунду (Input/Output Operations Per Second), один из основных индикаторов измерения производительности диска. Для приложений с частые операции чтения и записи, таких как OLTP (Online Transaction Processing) – онлайн-обработка транзакций, IOPS – самый важный показатель, т.к. именно от него зависит быстродействие бизнес-приложения. Другой важный показатель – data throughput, что примерно можно перевести как «пропускная способность данных», т.е. какой объем данных можно передать за единицу времени.

RAID

Как бы ни были надежны жесткие диски, а все же данные в них иногда теряются, по разным причинам. Поэтому была предложена технология RAID (Redundant Array of Independent Disks) – массив независимых дисков с избыточностью хранения данных. Избыточность означает то, что все байты данных при записи на один диск дублируются на другом диске, и могут быть использованы в том случае, если первый диск откажет. Кроме того, эта технология помогает увеличить IOPS.

Основные понятия RAID – stripping (т.н. «располосование» или разделение) и mirroring (т.н. «зеркалирование», или дублирование) данных. Их сочетания определяют различные виды RAID-массивов жестких дисков.

Различают следующие уровни RAID-массивов:

RAID  0 Разделение данных без проверки на паритет.
RAID  1 Дублирование данных  без проверки на паритет.
RAID  3 Разделение данных с проверкой на паритет, с хранением данных паритета в выделенной области одного диска массива.
RAID  5 Разделение данных с проверкой на паритет, с хранением этих данных в разных областях всех дисков массива.
RAID  6 Разделение данных с проверкой на паритет, с хранением этих данных в разных областях всех дисков массива, а также с сохранением на отдельном диске для дополнительного резевирования.

Комбинации этих видов порождают еще несколько новых видов RAID:

RAID 0+1 Выполнение операций RAID 0 и RAID 1, т.е. сначала разделение, затем дупликация данных.
RAID 10 Аналогично RAID 0+1  в обратном порядке: сначала выполняется RAID 1 (дублирование) затем RAID 0 (разделение).
RAID 50 Выполнение операций RAID 5, затем RAID 0, с целью увеличения производительности RAID 5

Рисунок поясняет принцип выполнения RAID 0 (разделение):

6

Рис. 6. RAID 0.

А так выполняется RAID 1 (дублирование):

7

Рис. 7. RAID 1.

А вот так работает RAID 3. XOR – логическая функция исключающее ИЛИ (eXclusive OR). При помощи нее вычисляется значение паритета для блоков данных A, B, C, D… , который записывается на отдельный диск.

8

Рис. 8. RAID 3.

Вышеприведенные схемы хорошо иллюстрируют принцип действия RAID и в комментариях не нуждаются. Мы не будем приводить схемы работы остальных уровней RAID, желающие могут их найти в Интернете.

Основные характеристики видов RAID приведены в таблице.

Уровень RAID RAID0 RAID1 RAID5 RAID6 RAID10
Устойчивость к ошибкам Низкая Высокая Средняя Наивысшая Высокая
Избыточность Никакая Дубли-рование Паритет Паритет Дубли-рование
Доступная емкость 100% 50% (N-1)/N (N-2)/N 50%
Производительность Наивысшая Низкая Средняя Средняя Высокая

Программное обеспечение систем хранения

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

  1. Управление и администрирование (Management): управление и задание параметров инфраструктуры: вентиляции, охлаждения, режимы работы дисков и пр., управление по времени суток и пр.
  2. Защита данных: Snapshot («моментальный снимок» состояния диска), копирование содержимого LUN, множественное дублирование (split mirror), удаленное дублирование данных (Remote Replication), непрерывная защита данных CDP (Continuous Data Protection) и др.
  3. Повышение надежности: различное ПО для множественного копирования и резервирования маршрутов передачи данных внутри ЦОД и между ними.
  4. Повышение эффективности: Технология тонкого резервирования (Thin Provisioning), автоматическое разделение системы хранения на уровни (tiered storage), устранение повторений данных (deduplication), управление качеством сервиса, предварительное извлечение из кэш-памяти (cache prefetch), разделение данных (partitioning), автоматическая миграция данных, снижение скорости вращения диска (disk spin down)

Очень интересна технология «thin provisioning». Как это часто бывает в ИТ, термины часто трудно поддаются адекватному переводу на русский язык, например, трудно точно перевести слово «provisioning» («обеспечение», «поддержка», «предоставление» – ни один из этих терминов не передает смысл полностью). А уж когда оно – «тонкое» (thin)…

По принципу «thin provisioning», например, работает банковский кредит. Когда банк выдает десять тысяч кредитов лимитом в 500 тысяч, ему не нужно иметь на счету 5 миллиардов, так как пользователи карточек обычно не тратят весь кредит сразу. Тем не менее, каждый пользователь в отдельности может воспользоваться всей или почти всей суммой кредита, если общий объем средств банка не исчерпан.

Так же работают водопроводные и электрические компании. Предоставляя услуги водо- или электро-снабжения, они рассчитывают, что все жители не станут разом открывать все краны или включать все имеющие в домах электроприборы. За счет более гибкого потребления ресурсов удается сэкономить на их цене и мощности ресурса.

9

Рис. 9. Thin provisioning.

Таким образом, использование thin provisioning позволяет решить проблему неэффективного распределения пространства в SAN, сэкономить место, облегчить административные процедуры распределения пространства приложениям на хранилище, и использовать так называемый oversubscribing, то есть выделить приложениям места больше, чем мы располагаем физически, в расчете на то, что приложения не затребуют одновременно все пространство. По мере же возникновения в нем потребности позже возможно увеличить физическую емкость хранилища.

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

Скорость дисков FC/SAS также достаточно высока, а цена умерена. Поэтому такие диски хорошо походят для «near-line storage», где хранятся данные, обращения к которым происходят не так часто, но в то же время и не так редко.

Наконец, диски SATA/NL-SAS имеют относительно невысокую скорость доступа, но зато отличаются большой емкостью и относительно дешевы. Поэтому на них обычно делают offline storage, для данных редкого использования.

Как только система управления замечает, что обращения к данным в offline storage участились, она переводит их в near-line storage, а при дальнейшей активизации их использования – и в online storage» на дисках SSD.

Дедупликация (устранение повторений) данных (deduplication, DEDUP): как следует из названия, устраняет повторы данных на пространстве диска, обычно используемого в части резервирования данных. Хотя система неспособна определить, какая информация избыточна, она может определить наличие повторов данных. За счет этого становится возможным значительно сократить требования к емкости системы резевирования.

Снижение скорости вращения диска (Disk spin-down) – то, что обычно называют «гибернацией» (засыпанием) диска. Данные на каком-то диске могут не использоваться долгое время, в этом случае технология снижения скорости диска переводит их в режим гибернации, чтобы снизить потребление энергии на бесполезное вращение диска на обычной скорости. При этом также повышается срок службы диска, и увеличивается надежность системы в целом. При поступлении первого запроса к данным на этом диске, он «просыпается», скорость его вращения увеличивается. Платой за экономию энергии и повышение надежности является некоторая задержка при первом обращении к данным на диске, но эта плата вполне оправдана.

 «Моментальный снимок» состояния диска (Snapshot). Snapshot – это полностью пригодная к использованию копия определенного набора данных на диске на момент съема этой копии (поэтому она и называется «моментальным снимком»). Такая копия используется для частичного восстановления состояния системы на момент копирования. При этом непрерывность работы системы совершенно не затрагивается, и быстродействие не ухудшается.

Удаленная репликация данных (Remote Replication): работает с использованием технологии зеркалирования. Может поддерживать несколько копий данных на двух или более сайтах для предотвращения потери данных в случае стихийных бедствий. Существует два типа репликации: синхронная и асинхронная, различие между ними пояснено на рисунке.

10

Рис. 10. Удаленная репликация данных (Remote Replication).

Непрерывная защита данных CDP (Continuous data protection), также известная как continuous backup или real-time backup, представляет собой создание резервной копии автоматически при каждом изменении данных. При этом становится возможным восстановление данных при любых авариях в любой момент времени, причем при этом доступны актуальная копия данных, а не тех, что были несколько минут или часов назад.

Программы управления и администрирования (Management Software): сюда входит разнообразное программное обеспечение по управлению и администрированию различных устройств: простые программы конфигурации (cofiguration wizards), программы централизованного мониторинга: отображение топологии, мониторинг в реальном времени механизмы формирования отчетов о сбоях.  Также сюда входят программы «гарантии непрерывности бизнеса» (Business Guarantee): многоразмерная статистика производительности, отчеты и запросы производительности и пр.

Восстановление при стихийных бедствиях (DR, Disaster Recovery). Это довольно важная составляющая серьезных промышленных СХД, хотя и достаточно затратная. Но эти затраты необходимо нести, чтобы не потерять в одночасье «то, что нажито непосильным трудом» и куда и так уже вложены значительные средства. Рассмотренные выше системы защиты данных (Snapshot, Remote Replication, CDP) хороши до тех пор, пока в населенном пункте, где расположена система хранения не произошло какое-либо стихийное бедствие: цунами, наводнение, землетрясение или (тьфу-тьфу-тьфу) – ядерная война. Да и любая война тоже способна сильно подпортить жизнь людям, которые занимаются полезными делами, например, хранением данных, а не беганием с автоматом с целью оттяпать себе чужие территории или наказать каких-нибудь «неверных». Удаленная репликация подразумевает, что реплицирующая СХД находится в том же самом городе, или как минимум поблизости. Что, например, при цунами не спасает.

Технология Disaster Recovery предполагает, что центр резервирования, используемый для восстановления данных при стихийных бедствиях, располагается на значительном удалении от места основного ЦОД, и взаимодействует с ним по сети передачи данных, наложенной на транспортную сеть, чаще всего оптическую. Использовать при таком расположении основного и резервного ЦОД, например, технологию CDP будет просто невозможно технически.

В технологии  DR используются три основополагающих понятия:

  • BW (Backup Window) – «окно резевирования», время, необходимое для системы резевирования для того, чтобы скопировать принятый объем данных рабочей системы.
  • RPO (Recovery Point Objective) – «Допустимая точка восстановления», максимальный период времени и соответствующий объем данных, который допустимо потерять для пользователя СХД.
  • RTO (Recovery Time Objective) – «допустимое время недоступности», максимальное время, в течение которого СХД может быть недоступной, без критического воздействия на основной бизнес.

11

Рис. 11. Три основополагающих понятия технологии  DR.

* * *

Данное эссе не претендует на полноту изложения и лишь поясняет основные принципы работы СХД, хотя и далеко не в полном объеме. В различных источниках в Интернете содержится много документов, более подробно описывающих все изложенные (и не изложенные) здесь моменты.

Об авторе Алексей Шалагинов

Независимый эксперт
Галерея | Запись опубликована в рубрике Ликбез с метками , . Добавьте в закладки постоянную ссылку.

8 комментариев на «Ликбез №1. Системы хранения данных.»

  1. lidzhi:

    Ухх, Алексей.
    Хорошая статья!!!!
    На одном дыхании прочитывается, коротко о главном.

  2. Уведомление: Ликбез №2. Серверы. | Телеком и ИТ

  3. hawkwind:

    Столкнулся недавно со следующим:
    Huawei recently introduced the concept of «intelligence on demand, convergence for the future» in the storage industry. «Intelligent» refers to intelligent, elastic architecture; data distribution; and management and scheduling.
    Эластичная архитектура — это образное выражение или такая есть на самом деле в OceanStor?

    • Эластичность — выделение ресурсов по запросу. Общее свойство Cloud, не только OceanStor. В данном случае речь идет о выделении по запросу ресурсов хранения в OceanStor.

  4. outcast:

    Алексей, здравствуйте!
    Спасибо, прочиталось очень легко и быстро.

  5. Спасибо за отзыв, про что ещё хотелось бы почитать? Готовлю статью про системы хранения объектного типа.

  6. Аноним:

    У вас таблицы съехали. Выходит, что SSD имеет скорость вращения шпинделей = 7200. А так же посмотрите таблицу «сравнительные характеристики систем хранения данных».

    • Да, спасибо, поправил. С таблицами в движке WordPress — беда. Странно, что хотя статья — одна из самых читаемых в блоке, и больше трёх лет висит, никто не заметил до сих пор.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s