Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Программынй Raid-1 массив  (Прочитано 4417 раз)

0 Пользователей и 1 Гость просматривают эту тему.

wildDAlex

  • Автор темы
  • Гость
Программынй Raid-1 массив
« : 23 Август 2011, 22:28:26 »
Прошу разъяснить принцип работы сабжа в Ubuntu.
При установке Убунты создал RAID-1 массив из двух дисков, положил на него /home.
Через несколько дней решил проверить, работает ли он вообще.
Отключил один из дисков, после чего при загрузке система сообщила, что не может примонтировать /home и дальше грузиться отказалась. Вернул диск, отключил второй, тоже самое. Т.е. система грузится только при наличии обоих дисков в массиве.
Но это же зеркало... Или я чего-то не понимаю? И как в случае сбоя восстанавливать массив?

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #1 : 24 Август 2011, 11:08:14 »
почитайте о mdadm/fake raid в сети, об этом много написано

wildDAlex

  • Автор темы
  • Гость
Re: Программынй Raid-1 массив
« Ответ #2 : 24 Август 2011, 12:02:10 »
Не поверите. Читал. Если б нашел, не создавал бы тем.
Есть только редкие упоминания о том, как рейд выходит из строя. И там пишут, что это происходит тихо, фактически можно не заметить, что один из дисков вылетел из рейда.
У меня же система не грузится.
P.S. Да, Grub стоит вообще на отдельном от рейда SSD, т.е. дело не в нем. 

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #3 : 24 Август 2011, 12:35:26 »
почитайте о mdadm/fake raid в сети, об этом много написано
Как mdadm связан с fake raid?

Пользователь решил продолжить мысль 24 Август 2011, 12:44:56:
Отключил один из дисков, после чего при загрузке система сообщила, что не может примонтировать /home и дальше грузиться отказалась. Вернул диск, отключил второй, тоже самое. Т.е. система грузится только при наличии обоих дисков в массиве.
По идее, вы всё правильно делаете. Описанный вами способ предлагается здесь как один из вариантов проверки работы рейда.

Значит, нужно разбираться, почему рейд не собирается или почему /home не монтируется. Начать следует с просмотра логов загрузки.
« Последнее редактирование: 24 Август 2011, 12:44:56 от Lion-Simba »
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #4 : 24 Август 2011, 12:58:44 »
Цитировать
Как mdadm связан с fake raid?
не было ничего сказано о реализации массива
Цитировать
Не поверите. Читал. Если б нашел, не создавал бы тем.
покажите вывод mdadm (mdadm -D /dev/md*   /  cat /proc/mdstat)

Оффлайн AAXEE

  • Активист
  • *
  • Сообщений: 291
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #5 : 24 Август 2011, 15:51:44 »
Может оба диска вышли из строя?

wildDAlex

  • Автор темы
  • Гость
Re: Программынй Raid-1 массив
« Ответ #6 : 24 Август 2011, 19:05:03 »
Оба не могли выйти из строя, так как, когда оба включены, все работает.
Рейд не сбоит, я как написал в первом сообщении, просто решил проверить работоспособность рейда, отключая один из дисков.
В итоге, какой бы из двух не отключал, система не грузится, ругаясь на невозможность примонтировать /home, который как раз на рейде.
Конфигурировал рейд при установке Убунты из альтернейт-сиди.
Вывод mdadm
wilddalex@wilddalex-pc:~$ sudo mdadm -D /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Wed Aug 17 00:05:13 2011
     Raid Level : raid1
     Array Size : 698391416 (666.04 GiB 715.15 GB)
  Used Dev Size : 698391416 (666.04 GiB 715.15 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Aug 24 18:57:54 2011
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : wilddalex-pc:1  (local to host wilddalex-pc)
           UUID : 5ed8c424:41785b5b:0a344b5f:7c6fef65
         Events : 38

    Number   Major   Minor   RaidDevice State
       0       8       38        0      active sync   /dev/sdc6
       1       8       54        1      active sync   /dev/sdd6
wilddalex@wilddalex-pc:~$ sudo mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Aug 17 00:05:00 2011
     Raid Level : raid1
     Array Size : 34177976 (32.59 GiB 35.00 GB)
  Used Dev Size : 34177976 (32.59 GiB 35.00 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Aug 24 18:58:25 2011
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : wilddalex-pc:0  (local to host wilddalex-pc)
           UUID : 82844e90:3a4dc82e:933c78cf:785e9777
         Events : 19

    Number   Major   Minor   RaidDevice State
       0       8       37        0      active sync   /dev/sdc5
       1       8       53        1      active sync   /dev/sdd5
Очевидно все в порядке.
wilddalex@wilddalex-pc:~$ sudo cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdd6[1] sdc6[0]
      698391416 blocks super 1.2 [2/2] [UU]
     
md0 : active raid1 sdd5[1] sdc5[0]
      34177976 blocks super 1.2 [2/2] [UU]
     
unused devices: <none>
А вот fdisk в конце для рейдов выдает что-то странное.
wilddalex@wilddalex-pc:~$ sudo fdisk -l

Диск /dev/sda: 64.0 ГБ, 64023257088 байт
255 heads, 63 sectors/track, 7783 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e58a2

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *           1          63      500000   83  Linux
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2              63         324     2097152+  82  Linux своп / Solaris
Раздел 2 не заканчивается на границе цилиндра.
/dev/sda3             324        6590    50331648+  83  Linux

Диск /dev/sdb: 2000.4 ГБ, 2000398934016 байт
255 heads, 63 sectors/track, 243201 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x44f5b0eb

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1               1      243202  1953512448    7  HPFS/NTFS

Диск /dev/sdd: 750.2 ГБ, 750156374016 байт
255 heads, 63 sectors/track, 91201 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000d122

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1               1       91202   732572673    5  Расширенный
/dev/sdd5               1        4256    34179072   fd  Автоопределение Linux raid
/dev/sdd6            4256       91202   698392576   fd  Автоопределение Linux raid

Диск /dev/sdc: 750.2 ГБ, 750156374016 байт
255 heads, 63 sectors/track, 91201 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e65b3

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1               1       91202   732572673    5  Расширенный
/dev/sdc5               1        4256    34179072   fd  Автоопределение Linux raid
/dev/sdc6            4256       91202   698392576   fd  Автоопределение Linux raid

Диск /dev/md0: 35.0 ГБ, 34998247424 байт
2 heads, 4 sectors/track, 8544494 cylinders
Units = цилиндры of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

На диске /dev/md0 отсутствует верная таблица разделов

Диск /dev/md1: 715.2 ГБ, 715152809984 байт
2 heads, 4 sectors/track, 174597854 cylinders
Units = цилиндры of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

На диске /dev/md1 отсутствует верная таблица разделов
wilddalex@wilddalex-pc:~$
md0 и md1, так как рейдов по сути два.
Каждый из двух дисков разбит на два раздела и парные разделы сделаны рейдами.

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #7 : 24 Август 2011, 20:10:37 »
Начать следует с просмотра логов загрузки.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #8 : 24 Август 2011, 21:40:48 »
на md* устройства в fdisk не обращайте внимания.
1. гляньте dmesg
2. grub.cfg еще покажите

wildDAlex

  • Автор темы
  • Гость
Re: Программынй Raid-1 массив
« Ответ #9 : 24 Август 2011, 23:36:55 »
Какие логи смотреть необходимо?
Да и проблемно это. Если оба диска подключены и все ок, то и в логах не вижу никаких проблем.
Если один из дисков отключен, то в консоли до логов добраться не могу. /var вынесен как раз на рейд вместе с /home.
dmesg не показывает ничего занимательного, кроме
ext4-fs (md1) unable to read superblockПримонтировать раздел вручную тоже не получается.
mount -t ext4 /dev/md1 /media/dirТакже ругается на суперблок. Примонтировать по имени раздела /dev/sdc6 не получается.
Пишет что-то вроде /dev/sdc6 already mounted or /media/dir busy. Хотя ничего не примонтировано.
Также пробовал прописывать монтирование разделов с рейда не по uid, а по имени устройства. Тоже самое.
fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb /               btrfs   defaults,ssd,noatime,compress,nobarrier,nodatacow,subvol=@ 0       1
# /boot was on /dev/sda1 during installation
UUID=19ead893-ba72-4b87-a4c9-35b5265e2784 /boot           ext2    defaults        0       2
# /home was on /dev/md1 during installation
UUID=e760866b-36b9-427c-aa45-c126b91c5152 /home           ext4    defaults,user_xattr        0       2
# /var was on /dev/md0 during installation
UUID=ecaff7a3-76e1-4e3a-9a75-054045239f1b /var            ext4    defaults        0       2
# swap was on /dev/sda2 during installation
UUID=9fce5317-3ab1-43b6-80bc-d6eb709e2134 none            swap    sw              0       0
#WD20EARS
UUID=7A547004546FC18D /media/wd20ears/ ntfs-3g users,defaults,umask=0 0 0
grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod btrfs
set root='(/dev/sda,msdos3)'
search --no-floppy --fs-uuid --set=root caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb
if loadfont /@/usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
set locale_dir=($root)/grub/locale
set lang=ru_RU
insmod gettext
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, с Linux 2.6.38-11-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
linux /vmlinuz-2.6.38-11-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro rootflags=subvol=@   quiet splash vt.handoff=7
initrd /initrd.img-2.6.38-11-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-11-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
echo 'Loading Linux 2.6.38-11-generic ...'
linux /vmlinuz-2.6.38-11-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro single rootflags=subvol=@
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.38-11-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, с Linux 2.6.38-10-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
linux /vmlinuz-2.6.38-10-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro rootflags=subvol=@   quiet splash vt.handoff=7
initrd /initrd.img-2.6.38-10-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-10-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
echo 'Loading Linux 2.6.38-10-generic ...'
linux /vmlinuz-2.6.38-10-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro single rootflags=subvol=@
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.38-10-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
linux /vmlinuz-2.6.38-8-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro rootflags=subvol=@   quiet splash vt.handoff=7
initrd /initrd.img-2.6.38-8-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-8-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
echo 'Loading Linux 2.6.38-8-generic ...'
linux /vmlinuz-2.6.38-8-generic root=UUID=caaa03ae-f7fa-4964-9b6d-8a75cf28a8fb ro single rootflags=subvol=@
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.38-8-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 19ead893-ba72-4b87-a4c9-35b5265e2784
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #10 : 25 Август 2011, 09:03:19 »
с одним диском при загрузке дайте вывод 'mdadm -D /dev/md* ';  если напишет что устройства нет, то 'mdadm --detail --scan'; покажите содержимое /etc/mdadm/mdadm.conf.

wildDAlex

  • Автор темы
  • Гость
Re: Программынй Raid-1 массив
« Ответ #11 : 25 Август 2011, 19:33:25 »
mdadm -D /dev/md1
mdadm: md device /dev/md1 does not appear to be active.mdadm --detail --scan
mdadm: cannot open /dev/md/0: No such file or directory
mdadm: cannot open /dev/md/1: No such file or directory
/etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=82844e90:3a4dc82e:933c78cf:785e9777 name=wilddalex-pc:0
ARRAY /dev/md/1 metadata=1.2 UUID=5ed8c424:41785b5b:0a344b5f:7c6fef65 name=wilddalex-pc:1

# This file was auto-generated on Wed, 17 Aug 2011 00:34:24 +0400
# by mkconf $Id$

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #12 : 26 Август 2011, 07:42:32 »
так попробуйте собрать: mdadm --assemble --scan

и еще... в файле mdadm.conf закомментируйте обе строчки ARRAY, которые в нем в конце и выполните:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Программынй Raid-1 массив
« Ответ #13 : 26 Август 2011, 08:13:48 »
Ещё можно глянуть на
cat /proc/mdstat
Правда я пока не знаю, как это может помочь.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

wildDAlex

  • Автор темы
  • Гость
Re: Программынй Raid-1 массив
« Ответ #14 : 26 Август 2011, 18:39:36 »
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Сообщает, что отказано в доступе, даже не спрашивая пароля.
mdadm --assemble --scan
С одним подключенным диском сообщает no arrays found.
mdadm --detail --scan
mdadm: cannot open /dev/md/0: No such file or directory
mdadm: cannot open /dev/md/1: No such file or directory
С одним подключенным диском из массива гружусь в лайвсиди.
Автоматом диск не виден. Захожу в Disk Utility.
Там захожу в Array. В статусе указано, что Not running, not enough components to start.
Вот скрины.

В общем, всем спасибо за помощь. Задолбало.
Ща поставлю Ubuntu с нуля на один диск. После установки уже сделаю зеркало.
« Последнее редактирование: 26 Август 2011, 18:43:13 от wildDAlex »

 

Страница сгенерирована за 0.093 секунд. Запросов: 26.