Четверг
21.09.2017, 20:42
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Разное

Мануал по настройке программного массива RAID-1 на работающей системе CentOS

Настройка программного массива RAID1 на работающей системе CentOS 5.3 (включая настройку GRUB)

Данное руководство показывает, как создать программный массив RAID1 на уже установленной и работающей системе CentOS 5.3. Загрузчик GRUB будет настроен таким образом, чтобы при выходе из строя одного из дисков (любого) система все равно запускалась.

 

1 Введение

В этом руководстве я использую систему CentOS 5.3 с двумя одинаковыми по размеру жесткими дисками, /dev/sda и /dev/sdb. /dev/sdb пока не используется, а /dev/sda имеет следующие разделы:

  • /dev/sda1: раздел /boot (ext3);
  • /dev/sda2: раздел swap;
  • /dev/sda3: раздел / (ext3)

В итоге я хочу получить следующую ситуацию:

  • /dev/md0 (полученный из /dev/sda1 и /dev/sdb1): раздел /boot (ext3);
  • /dev/md1 (полученный из /dev/sda2 и /dev/sdb2): раздел swap;
  • /dev/md2 (полученный из /dev/sda3 и /dev/sdb3): раздел / (ext3)

А вот что имеем сейчас:

df -h

fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26          90      522112+  82  Linux swap / Solaris
/dev/sda3              91        1305     9759487+  83  Linux

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table
[root@server1 ~]#

 

2 Установка mdadm

Для создания RAID будем использовать утилиту mdadm. Давайте установим ее:

yum install mkinitrd mdadm

Далее подгрузим несколько модулей ядра (чтобы избежать перезагрузки):

modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10

Теперь запускаем cat /proc/mdstat, на выходе должны получить следующее:

 

3 Подготовка /dev/sdb

Для создания массива RAID1 на нашей уже запущенной системе, необходимо подготовить диск /dev/sdb к данной процедуре, затем скопировать на него содержимое /dev/sda и только после этого наконец добавить /dev/sda к массиву.

Сначала мы копируем таблицу разделов диска /dev/sda на диск /dev/sdb, чтобы оба диска имели абсолютно идентичную разметку:

sfdisk -d /dev/sda | sfdisk /dev/sdb

На выходе должны получить следующее:

Disk /dev/sdb: 1305 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    401624     401562  83  Linux
/dev/sdb2        401625   1445849    1044225  82  Linux swap / Solaris
/dev/sdb3       1445850  20964824   19518975  83  Linux
/dev/sdb4             0         -          0   0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
[root@server1 ~]#

Команда fdisk -l должна теперь показать идентичную разметку обоих дисков:

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26          90      522112+  82  Linux swap / Solaris
/dev/sda3              91        1305     9759487+  83  Linux

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          25      200781   83  Linux
/dev/sdb2              26          90      522112+  82  Linux swap / Solaris
/dev/sdb3              91        1305     9759487+  83  Linux
[root@server1 ~]#

Далее необходимо изменить тип всех трех разделов /dev/sdb на Linux raid autodetect:

fdisk /dev/sdb

[root@server1 ~]# fdisk /dev/sdb

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): <-- m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel

   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types

   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table

   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel

   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table

   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): <-- t

Partition number (1-4): <-- 1
Hex code (type L to list codes): <-- L

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris
 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-

 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-

 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx
 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data

 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility

 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access

 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor

 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT

 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b

11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor

14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS

17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto

1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT

Hex code (type L to list codes): <-- fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- t
Partition number (1-4): <-- 2
Hex code (type L to list codes): <-- fd

Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): <-- t

Partition number (1-4): <-- 3
Hex code (type L to list codes): <-- fd
Changed system type of partition 3 to fd (Linux raid autodetect)

Command (m for help): <-- w
The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.
[root@server1 ~]#

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

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

Если следов от предыдущих установок RAID нету, то каждая из этих команд выдаст ошибку (это нормально, не волнуйтесь) вроде такой:

[root@server1 ~]# mdadm --zero-superblock /dev/sdb1
mdadm: Unrecognised md component device - /dev/sdb1
[root@server1 ~]#

Иначе же команды вообще ничего не отобразят.

<!--PAGE2-->

4 Создание RAID массивов

Теперь давайте перейдем к созданию наших RAID массивов /dev/md0, /dev/md1 и /dev/md2. /dev/sdb1 будет добавлен к /dev/md0, /dev/sdb2 к /dev/md1, а /dev/sdb3 - к /dev/md2. /dev/sda1, /dev/sda2 и /dev/sda3 нельзя добавить к массиву сразу - на них сейчас запущена система - поэтому мы используем заполнитель missing в следующих трех командах:

mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3

Команда cat /proc/mdstat должна сейчас показать, что мы имеем три деградированных RAID массива ([_U] или [U_] означает, что массив деградированный, тогда как [UU] означает, что с массивом все в порядке):

md1 : active raid1 sdb2[1]
      522048 blocks [2/1] [_U]

md0 : active raid1 sdb1[1]
      200704 blocks [2/1] [_U]

unused devices: <none>
[root@server1 ~]#

Следующий шаг - создание файловых систем на наших массивах (ext3 на /dev/md0 и /dev/md2, swap на /dev/md1):

mkfs.ext3 /dev/md0
mkswap /dev/md1
mkfs.ext3 /dev/md2

Теперь создаем /etc/mdadm.conf следующим образом:

mdadm --examine --scan > /etc/mdadm.conf

Отображаем содержимое файла:

cat /etc/mdadm.conf

В файле должна находиться подробная информация о нашей троице массивов (деградированных на данный момент):

 

5 Настройка системы под RAID1

Приступаем к монтированию /dev/md0 и /dev/md2 (естественно, swap массив /dev/md1 монтировать не нужно):

mkdir /mnt/md0
mkdir /mnt/md2


mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2

Оба массива должны быть видны при выводе команды mount:

Отредактируем /etc/fstab. Заменим LABEL=/boot на /dev/md0, LABEL=SWAP-sda2 на /dev/md1, LABEL=/ на /dev/md2, чтобы файл при выводе (vi /etc/fstab) выглядел вот так:

Идем дальше. Заменяем /dev/sda1 на /dev/md0, а /dev/sda3 на /dev/md2 в файле /etc/mtab:

vi /etc/mtab

Настало время GRUB. Открываем /boot/grub/menu.lst и добавляем fallback=1 сразу после default=0:

vi /boot/grub/menu.lst

Этим мы указываем, чтобы в случае ошибки загрузки первого ядра (отсчет идет с 0, так что первое ядро имеет номер 0) загружалось второе.

В конце того же файла находятся блоки с описанием параметров ядер для загрузки. Копируем первый блок и вставляем его самым первым по списку, при этом заменив в нем root=LABEL=/ на root=/dev/md2 и root (hd0,0) на root (hd1,0):

title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/
initrd /initrd-2.6.18-128.el5.img

После всех этих махинаций файл должен выглядеть примерно так:

title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/
initrd /initrd-2.6.18-128.el5.img

root (hd1,0) ссылается на /dev/sdb, который уже является частью нашего RAID массива. Скоро мы перезагрузим систему: она попытается загрузиться с нашего (все еще деградированного) массива; если не получится, она загрузится с раздела /dev/sda (-> fallback 1).

Далее подстроим наш RAM-диск под новую ситуацию:

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

После чего скопируем содержимое /dev/sda1 и /dev/sda3 на /dev/md0 и /dev/md2 соответственно (последние сейчас смонтированы на /mnt/md0 и /mnt/md2):

cp -dpRx / /mnt/md2

cd /boot
cp -dpRx . /mnt/md0

 

6 Подготовка GRUB (часть 1)

Теперь необходимо установить GRUB на второй жесткий диск, /dev/sdb. Запускаем оболочку (grub) и вводим следующие команды:

root (hd0,0)

grub>

setup (hd0)

grub>

root (hd1,0)

grub>

setup (hd1)

grub>

quit

Теперь, уже в "нормальной" оболочке, перезагрузим систему и будем надеяться, что она нормально загрузится с нашего RAID массива:

reboot

<!--PAGE3-->

7 Подготовка /dev/sda

Если все прошло удачно, мы должны увидеть /dev/md0 и /dev/md2 в выводе команды df -h

Вывод команды cat /proc/mdstat должен выглядеть так:

md1 : active raid1 sdb2[1]
      522048 blocks [2/1] [_U]

md2 : active raid1 sdb3[1]
      9759360 blocks [2/1] [_U]

unused devices: <none>
[root@server1 ~]#

Теперь нужно изменить типы всех трех разделов /dev/sda на уже знакомый нам Linux raid autodetect:

fdisk /dev/sda

[root@server1 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): <-- t
Partition number (1-4): <-- 1
Hex code (type L to list codes): <-- fd

Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- t

Partition number (1-4): <-- 2
Hex code (type L to list codes): <-- fd
Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): <-- t
Partition number (1-4): <-- 3
Hex code (type L to list codes): <-- fd

Changed system type of partition 3 to fd (Linux raid autodetect)

Command (m for help): <-- w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table.
The new table will be used at the next reboot.

Syncing disks.
[root@server1 ~]#

Осталось добавить /dev/sda1, /dev/sda2 и /dev/sda3 к соответствующим RAID массивам:

mdadm --add /dev/md0 /dev/sda1

mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3

Выполните команду cat /proc/mdstat и вы должны увидеть, что идет процесс синхронизации массивов:

md1 : active raid1 sda2[0] sdb2[1]
      522048 blocks [2/2] [UU]

md2 : active raid1 sda3[2] sdb3[1]
      9759360 blocks [2/1] [_U]
      [====>................]  recovery = 22.8% (2232576/9759360) finish=2.4min speed=50816K/sec

unused devices: <none>
[root@server1 ~]#

(Можно выполнить watch cat /proc/mdstat для наблюдения за ходом процесса. Остановить watch можно, нажав CTRL+C)

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

md1 : active raid1 sda2[0] sdb2[1]
      522048 blocks [2/2] [UU]

md2 : active raid1 sda3[0] sdb3[1]
      9759360 blocks [2/2] [UU]

unused devices: <none>
[root@server1 ~]#

Теперь отредактируем /etc/mdadm.conf, чтобы он соответствовал новой ситуации:

mdadm --examine --scan > /etc/mdadm.conf

В результате содержимое файла должно выглядеть так:

cat /etc/mdadm.conf

 

8 Подготовка GRUB (часть 2)

Уже почти все готово. Сейчас нам просто нужно снова отредактировать /boot/grub/menu.lst. Ведь на данный момент он сконфигурирован так, чтобы загружаться с /dev/sdb (hd1,0). А нам, естественно, нужно, чтобы система могла загружаться даже в том случае, если /dev/sdb откажет. Поэтому копируем первый блок параметров ядра (содержащий hd1), вставляем скопированное следующим по списку блоком и заменяем hd1 на hd0. Потом закомментируем все другие блоки и получим следующее:

vi /boot/grub/menu.lst

title CentOS (2.6.18-128.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/md2
initrd /initrd-2.6.18-128.el5.img

#title CentOS (2.6.18-128.el5)
# root (hd0,0)
# kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/
# initrd /initrd-2.6.18-128.el5.img

Теперь обновим RAM-диск:

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

... и перезагрузимся:

reboot

Загрузка должна пройти без проблем.

Вот и всё - мы успешно создали и настроили программный массив RAID1 на работающей CentOS 5.3!

<!--PAGE4-->

9 Тестирование

Что ж, давайте симулируем отказ жесткого диска. Неважно, какого именно - /dev/sda или /dev/sdb. Представим, что отказал /dev/sdb.

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

mdadm --manage /dev/md0 --fail /dev/sdb1

mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3


mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

Выключаем систему:

shutdown -h now

Вставляем новый диск /dev/sdb (если вы симулируете отказ /dev/sda, то сейчас вы должны установить /dev/sdb на место /dev/sda, а новый HDD подключить как /dev/sdb!) и включаем машину. Всё должно загрузиться без проблем.

Теперь выполним cat /proc/mdstat и видим, что у нас снова имеется деградированный массив:

md1 : active raid1 sda2[0]
      522048 blocks [2/1] [U_]

md2 : active raid1 sda3[0]
      9759360 blocks [2/1] [U_]

unused devices: <none>
[root@server1 ~]#

Вывод fdisk -l должен выглядеть так:

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   fd  Linux raid autodetect
/dev/sda2              26          90      522112+  fd  Linux raid autodetect
/dev/sda3              91        1305     9759487+  fd  Linux raid autodetect

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/md2: 9993 MB, 9993584640 bytes
2 heads, 4 sectors/track, 2439840 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 534 MB, 534577152 bytes
2 heads, 4 sectors/track, 130512 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 205 MB, 205520896 bytes
2 heads, 4 sectors/track, 50176 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table
[root@server1 ~]#

Копируем таблицу разделов c /dev/sda на /dev/sdb:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Если появляется ошибка, попробуйте запустить с параметром --force:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Disk /dev/sdb: 1305 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    401624     401562  fd  Linux raid autodetect
/dev/sdb2        401625   1445849    1044225  fd  Linux raid autodetect
/dev/sdb3       1445850  20964824   19518975  fd  Linux raid autodetect
/dev/sdb4             0         -          0   0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
[root@server1 ~]#

Удаляем возможные следы предыдущих RAID массивов...

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

... и добавляем /dev/sdb в массив:

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

Посмотрим, что нам покажет cat /proc/mdstat:

md1 : active raid1 sdb2[1] sda2[0]
      522048 blocks [2/2] [UU]

md2 : active raid1 sdb3[2] sda3[0]
      9759360 blocks [2/1] [U_]
      [=======>.............]  recovery = 39.4% (3846400/9759360) finish=1.7min speed=55890K/sec

unused devices: <none>
[root@server1 ~]#

Ждем, пока закончится процесс синхронизации:

md1 : active raid1 sdb2[1] sda2[0]
      522048 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda3[0]
      9759360 blocks [2/2] [UU]

unused devices: <none>
[root@server1 ~]#

Запускаем grub и устанавливаем загрузчик на оба HDD:

root (hd0,0)
setup (hd0)
root (hd1,0)

setup (hd1)
quit

Готово. Мы только что заменили отказавший жесткий диск в массиве RAID1.



Источник: http://ss.lg.ua/node/859

Спонсоры данной статьи


Категория: Разное | Добавил: -=shurf=- (02.05.2011)
Просмотров: 7009 | Теги: Raid, GRUB, массив, данные, Centos | Рейтинг: 0.0/0

Настройка Mikrotik
Разделение скорости
RouterOS на офисном шлюзе, час...
NAT
RouterOS на офисном шлюзе, час...
Mikrotik - два провайдера, бал...
Mikrotik и VLAN
Mikrotik. FireWall задача посл...
Настройка PPP интерфейсов и се...
Защита mikrotik от внешних вто...
MikroTik RouterOS – настройка ...

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

Реклама

Наш опрос
Нужен ли этому сайту форум?
Всего ответов: 55

Нашел ошибку?
Система Orphus

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0



Бесплатный хостинг uCoz