TSHOOT Exam Topology on dynamips

by besarion giorgadze 8. March 2011 23:35
  Cisco-მ CCNP TSHOOT გამოსცდის ტოპოლოგია ღიად დადო, ვინც TSHOOT-ის გამოდცისთვის ემზადება რათქმა უნდა ყველას აქვს სურვილი რომ გარკვეს ტოპოლოგაში რა ხდება, რომ გამოცდაზე დრო აღარ დაიკარგოს ტოპოლოგიის გარკვევაში. Dynamips-ში ავაყე ტოპოლოგია და მინდა გაგიზიაროთ მართალია Dynamip-ში ზუსტად არ ემთხევა ყველაფერი როგროც Cisco-ს ტოპოლოგიაში მაგრამ სულ არაფრობას ჯობია.    განსვავებები:
  • პორტების და Etherchannel-ის ნომრები
  • DSW1 და DSW2-ს შორის არის Layer 3 etherchannel-ი იქიდან გამომდინარე რომ Dynamip-ში არ კეთდება Layer 3 etherchannel ფიზიკურ პორთებზე არის მიერთებული.
  • DHCP-ი და ipV6 ტოპოლოგია არ ამიწყვია.
  • WEB სერვერი მაგივრად loopback ინტერფერისი გავაკეთე ISP Router-ზე.
ტოპოლოგიის გადმოსაწერი ლინკი, არჩივში არის აწყობილი Dynamip-სის ტოპოლოგია და ასევე დიაგრამები. დიდი იმედი მაქვს მოგეწონებათ და გამოგადგებათ. შეკითხვების შემთხვევაში თავისუფლად შეგიძლიათ მომწეროთ ბლოგზე.  ჩემი გაკეთებული დიაგრამები  

Tags:

Full mesh topology

by besarion giorgadze 7. March 2011 17:33

full mesh ტოპოლოგიის დროს ხანდახან შეუძლებელია ლინკების ზეპირად დათვალა. ამის დათვლა შესაძლებელია უმარტივესი ფორმულით. ნუ რათქმაუნდა თუ გახსოვს და არ დაგავიწყდა როგორც წესი მე მავიწყდება ამიტომ გადავწყვიტე ამ პოსტის დაწერა.

ესეიგი

N(N-1)/2 სადაც N -არის წერტილების რაოდენობა.

მაგალითად გვაქვს 10 როუტერი რომლებიც გვინდა შევაერთოდ  Full mesh-ად.

10(10-1)/2=45

და აი ესე მარტივად შეგვიძლია დავითვალოთ თუ რამდენი შეერთება გვექნება ჯამში.

Tags:

Tips & Tricks

On-Demand Routing (ODR)

by Besarion GIorgadze 5. March 2011 02:50

 

  ODR არის მარტივი მარშუტიზაციის  პროტოკოლი რომელსაც შეუძლია იმუშავს HUB-and-Spoke ქსელში. ODR-ი იყენებს CDP-ს მარშუტიზაციის ცხრილის გასანახლებლად. ODR-ის Administrative Distance-ი არის 160. განახლებაში აგზვანის მონაცემებს ქსელის მასკის შესახებ ანუ Classless მარშუტიცაზიის პროტოკოლია. HUB-ი Spoke-ებს მხოლოდ default Route-ს უგზავნის. იქედან გამომდინარე რომ CDP-ი ნელი პროტოკოლია ODR-იც ნელა მუშაობს.

 

ავაწყოთ შემდეგი პარატა LAB-ა.

 

 

 

Edge-ს და HUB-ს შორის ავაწყოთ OSPF-ი მხოლოდ HUB-ს და Spoke-ებს შორის ODR-ი. HUB-ზე გავაკეთოთ რედისტრიბუტია ODR-ის მარშუტების OSPF-ში.

 

1) HUB-ზე და Edge-ზე ავწიოთ OSPF და Edge-ის loopback1-იც დავაანონსოთ OSPF-ში.

 

Configure

 

HUB

router ospf 1

  log-adjacency-changes                                                         

  network 192.168.3.0 0.0.0.255 area 0

 

Edge   

router ospf 1

  log-adjacency-changes

  network 1.1.1.1 0.0.0.0 area 0

  network 192.168.3.0 0.0.0.255 area 0  

 

Verify

 

HUB

HUB#show ip ospf neighbor

 

 Neighbor ID     Pri   State           Dead Time   Address         Interface

 1.1.1.1           0   FULL/  -        00:00:34    192.168.3.2     Serial0/0

 

HUB#show ip route ospf

      1.0.0.0/32 is subnetted, 1 subnets

 O       1.1.1.1 [110/65] via 192.168.3.2, 00:02:38, Serial0/0     

 

 

Edge

edge#show ip ospf neighbor

 

 Neighbor ID     Pri   State           Dead Time   Address         Interface

 192.168.3.1       0   FULL/  -        00:00:30    192.168.3.1     Serial0/0    

 

იმის მერე რაც OSPF-ი აიწია და გადავიდეთ ODR-ის კონფიგურაციაზე.

 

2) ODR-ი გავუშვათ HUB-ზე და ODR-ის მარშუტების რეფიდტრიბუცია გავაკეთოთ OSPF-ში.

 

ODR-ის კონფიგურაცია საჭიაროა მხოლოდ HUB-ზე. Spoke-ზე კი მხოლოდ და მხოლოდ CDP-ი უნდა იყოს ჩართული იმ ინტერფეისებზე რომლებითაც არის დაკონეკთებული HUB-თან.

 

Configure

 

HUB

HUB(config)#router odr

 

Verify

 

HUB

HUB#show cdp neighbors

 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

                   S - Switch, H - Host, I - IGMP, r - Repeater

 

 Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

 spoke2           Ser 0/2            134        R S I      3640      Ser 0/2

 spoke1           Ser 0/1            136        R S I      3640      Ser 0/1     

 

HUB#show ip route odr

 o    192.168.12.0/24 [160/1] via 192.168.2.2, 00:00:00, Serial0/2

 o    192.168.11.0/24 [160/1] via 192.168.1.2, 00:00:58, Serial0/1

      10.0.0.0/30 is subnetted, 1 subnets                                 

 

მარშუციზაციის ცხრილში, OSPF-ის მარშუტები ჩანს დიდი O-თი მხოლოდ ODR-ის მარშუტები პატარა o-თი.

მაგ: O = OSPF   o= ODR

 

spoke1#show ip route odr

 o*   0.0.0.0/0 [160/1] via 192.168.1.1, 00:00:33, Serial0/1

 

spoke2#show ip route odr

 o*   0.0.0.0/0 [160/1] via 192.168.2.1, 00:00:13, Serial0/2

 

იმის შემდეგ რაც ODR-ი აიწია და გაიცვალა მარშუტები. ვაკეთებთ ODR-ის მარშუტების რედისტრიბუციას OSPF-ში

 

HUB(config-router)#redistribute odr subnets

 

ვამოწმებთ edge-ზე ხომ მოვიდა ODR-ის მარშუტები.        

 

edge#show ip route ospf                                    

O E2 192.168.12.0/24 [110/20] via 192.168.3.1, 00:24:42, Serial0/0

O E2 192.168.11.0/24 [110/20] via 192.168.3.1, 00:24:42, Serial0/0                   

 

ამის შემდეგ გადავამოწმოთ რომ edge-ის LoopBack-ი ping-ავდეს Spoke-ის Loopback-ებს.

 

edge#ping 192.168.12.1 source loopback 1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 52/108/216 ms

edge#ping 192.168.11.1 source loopback 1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.11.1, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 72/119/164 ms       

                                                                                       

Ping-მა წარმატებით გაიარა და ჩვენი პატარა ლაბაც ამუშავდა.

 

 

Config and .Net files

Tags:

Labs | Switch

Oracle 10g RAC Single Node Installation on Solaris 10

by Vazha Mantua 21. February 2011 16:28

Oracle 10g RAC Single Node Installation on Solaris 10

Pre-Installation Tasks

Create oracle user and appropriate groups

Login as a root user and create required OS groups and users.

Make the following directories (app and oracle) in /u0 :

cd /u0
mkdir –p app/oracle

Create oinstall and dba groups:

groupadd oinstall
groupadd dba

Create oracle user:

useradd –s /bin/ksh –d /u0/app/oracle –g oinstall –G dba oracle

Change the owner for app folder.

chown –R oracle:oinstall app

Change password.

passwd oracle

Configuring SSH

Create RSA and DSA keys on each node. Log in as the oracle user and go to the ORACLE_BASE directory.

Create directory .ssh

mkdir .ssh

Generate RSA and DSA keys

/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa

Add keys to an authorized key file, this file should exist in .ssh directory. If it doesn’t exist, create it. Change the direction to .ssh directory and run the following.

ssh charly1 cat /u0/app/oracle/.ssh/id_rsa.pub >> authorized_keys
ssh charly1 cat /u0/app/oracle/.ssh/id_dsa.pub >> authorized_keys

Enable ssh user equivalency

/usr/bin/ssh-agent $SHELL

/usr/bin/ssh-add

To prevent Oracle clusterware installation errors caused by stty commands, add the following text in oracle user’s profile.

if [ -t 0 ]; then

stty intr ^C

fi

Network Requirements

Create second IP interface. Open or create the file /etc/hostname.ce5 and enter the following text:

Host1-priv

Add the following entries into /etc/host file:

20.0.0.100 Host1 loghost

192.168.2.117 Host1-priv

20.0.0.105 Host1-vip

Where 192.168.2.117 is a private IP address and 20.0.0.105 is a virtual IP address of the server.

Connect as a root user and create /etc /hosts.equiv file. Then open this file for editing and enter the following text:

Host1 oracle

Configuring Kernel Parameters

To add the system parameters open /etc/system file and add the following entries:

set shmsys:shminfo_shmmax = 4294967295

set shmsys:shminfo_shmmin = 1

set shmsys:shminfo_shmmni = 100

set shmsys:shminfo_shmseg = 10

set semsys:seminfo_semmni = 100

set semsys:seminfo_semmns = 1024

set semsys:seminfo_semmsl = 256

set md:mirrored_root_flag=1

set noexec_user_stack=1

Identifying Required Software Directories

Creating an Oracle Base Directory

mkdir -p /u0/app/oracle
chown -R oracle:oinstall /u0/app/oracle
chmod -R 775 /u0/app/oracle

Creating the Oracle Clusterware Home Directory

mkdir -p /u0/app/oracle/product/10.2.0/crs

chown -R root:oinstall /u0/app/oracle/product/10.2.0/crs

chmod -R 775 /u0/app/oracle/product/10.2.0/crs

Installing Oracle Clusterware

First of all, you should download Oracle Clusterware from the oracle site.

Verifying Oracle Clusterware Requirements with CVU

Extract downloaded file and run runcluvfy.sh file, which should be located in clusterware/cluvfy folder.

./runcluvfy.sh comp nodecon -n Host1 –verbose

Installing Oracle Clusterware with OUI

Initialize the devices that you want to use for the Oracle Cluster Registry (OCR) and Voting Disk(VD)

1.Voting file- uses by the cluster synchronization service deamons for monitoring information across the cluster. It’s size around 20MB(use format utility and reserve 200MB on 5th slice)

2. Oracle cluster registry(OCR file) it maintain information about the high-availability components such as cluster node list, CRS application profiles(Virtual interconnect protocol address, services). It’s size around 200MB(use format utility and reserve on 7th slice)

For voting disk

dd if=/dev/zero of=/dev/rdsk/c5t200g35A100TK170Ta00ds5 bs=125829120 count=1

chown oracle:dba /dev/rdsk/c5t200g35A100TK170Ta00ds5

chmod 660 /dev/rdsk/c5t200g35A100TK170Ta00ds5

For OCR

dd if=/dev/zero of=/dev/rdsk/c5t200g35A100TK170Ta00ds7 bs=125829120 count=1

chown root:dba /dev/rdsk/c5t200g35A100TK170Ta00ds7

chmod 660 /dev/rdsk/c5t200g35A100TK170Ta00ds7

Connect as the oracle user and run runInstaller.sh, located in CRS installation.

./runInstaller

clip_image001

clip_image002

clip_image003

clip_image004

clip_image005

clip_image006

clip_image007

clip_image008

Run these scripts and then click OK.

clip_image009

Now we should run ./vipca and configure Host1-vip virtual ip address(20.0.0.105). Go to the installation window, click ok and retry install failed component.

Installing Oracle database files

clip_image010

clip_image011

clip_image012

clip_image013

clip_image014

Run this script and click OK, then click Exit button.

Configure oracle listener by netca.

Configuring ASM

clip_image015

clip_image016

clip_image017

clip_image018

Click Yes.

clip_image019

clip_image020

Run the following command, for to make oracle user owner for the following disk slice

chown oracle:oinstall /dev/rdsk/c5156D778A145a11d0s6

clip_image021

clip_image022

Click Finish.

clip_image023

Creating database using DBCA

clip_image024

clip_image016[1]

clip_image025

clip_image026

Click Next>> and check/uncheck Configure the Database with Enterprise Manager.

clip_image027

clip_image028

clip_image022[1]

clip_image029

clip_image030

clip_image031

clip_image032

clip_image033

Tags: , ,

DBMS_SHARED_POOL Package

by Vazha Mantua 11. January 2011 12:51

Hello All,

Mary Christmas and happy New Year.

 

I want tell you about package dbms_shared_pool.

DBMS_SHARED_POOL can be used to manage the affect of the LRU mechanism on the shared pool. It can be used to pin PL/SQL objects, SQL cursors, triggers, and sequences. it enables you to display the sizes of objects in the shared pool, and mark them for keeping or unkeeping in order to reduce memory fragmentation.

 

Install the DBMS_SHARED_POOL package.

run script: $ORACLE_HOME/rdbms/admin/dbmspool.sql;

 

Check for objects in the Shared Pool larger than X KBytes

run procedure
begin
dbms_output.enable(null);  
dbms_shared_pool.sizes(200);
end;

Pin something into the Shared Pool

begin

dbms_shared_pool.keep('SYS.STANDARD');
end;

Unpin something from the Shared Pool

begin

dbms_shared_pool.unkeep('SYS.STANDARD');

end;

 

Check what objects are pinned

SELECT * FROM v$db_object_cache WHERE kept = 'YES';

Tags: ,

STP Hardening

by Besarion GIorgadze 29. December 2010 00:04

 მოგესალმებით წინა პორტში დავწერე Cisco STP ToolKit-ის კონფიგურაცია და მოკლე აღწერა. ეხლა  მინდა დავწერო რომელი ესე თუ ის TOOL-ი  სად ჯობია რომ გამოვიყენოთ რომ STP დომაინში პრობლემები ნაკლბად წარმოგვეშვას.

 

  Porfast-ი უნდა იყოს ყველა ის პორტი რომლებზეც სვიჩები არ არის შეერთებული ანუ access პორტები. ანუ სადაც BPDU-ები არ არის. აუცილებელი არის თუ ვიყენებთ IEEE 802.1D სტანდარტს, მხოლოდ 802.1W Rapid STP-ს შემთხვევაში არ არის აუცილებელია იმიტომ რომ RSTP-ს აქვს გაგება edge და non-edge port-ების.  edge პორტია სადაც BPDU-ები არ დადიან , მხოლოდ non-edge პორტებია სადაც BPU-ები დადიან. მაგალითად სვიჩებს შორის გადაერთება არის non-edge პორტები  და პორტი რომელზეც სერვერია , ტელეფონები და ასე შემდეგ არის მიერთებული ეს არის edge პორტი. თუ 802.1D-ს შემთხვევაში არ დავაკონფიგურირებთ portfast-ს შეიძლება პრობლემები შეგვექმნას. მაგალითად თუ პორტზე მიერთებულია კომპი და IP DHCP-ითი უნდა აიღო. სტნადარტული STP პორტი სანამ forwarding მდომარეობაში გადავა 50 წამი ჭირდება. ამასობაში შეიძლება კომპი DHCP  Timeout გავიდეს და კომპა აიღოს ვინდოუსის შემთხვევაში 169.254.X.X IP-ი და რათქმა უნდა კომრს შიდა ქსელში არ ექნება წვდომა.

 

  BPDUGuard-ი არის ყველაზე მკაცრი security-ი როცა პორტზე portfast-ი არის დაკონფიგურირებული. ჩემი აზრით აუცილებლად უნდა იყოს დაკონფიგურირებული BPDUGuard-ი მოვა თუ არა პორტზე BPDU პორტი მომენტალურად გადავა err-disable მგომარეობაში და ესეთ შემთხვევში loop-ისგან თავის ვიცავთ. სიმარტივისთვის  ისე უნდა იყოს დაკონფიგურირებული რომ portfast-ი პორტზე default-ად უნდა ირთვებოდეს BPDUGuard-ი. Access port-ზე მეტი არაფერი არ არის STP-ეს დაცვის მექანიზმებიდან.

 

   BPDUFilter-ი ძირითადად გამოიყენება იმისთვის რომ პორტზე გავთიშოთ STP-ე. ისეთ პორტებზე სადაც არის სვიჩები ერთმანნეთან მიერთებული მაგრამ loop-ის მოხვედის საშიშროება არ არსებობს. მაგალითად პროვაიდერთთან მიერთებისას. პროვაიდერი გაძლევს კონკრეთულ Vlan-ებს მხოლოდ ერთ ლინკზე და ამ შემთხვევაში loop-ის თეორიული საშიშოება არ არსეობს და ამიტომ შეიძლება გამოვიყენოთ.

 

  RootGuard-ი სასურველია designated პორტებზე. რომლებიც სხვა სვიჩებზე არის მიბმული. ისეთ პორტებზე საიდანაც არ ველოდებით root bridge-ს და ვიყენებთ სვიჩების გადაეთებისთვის ესეთ პორტებზე უნდა იყოს დაკონფიგურირებული rootguard-ი. მხოლოდ ისეთ პორტებზე სადაც არის დაკონფიგურირებული BPDUGuard-ი არ არის საჭირომ იმიტომ რომ პორტზე მოვა თუ არა BPDU მომენტალურად გადავა err-disable მგომარეობაში.

 

  LoopGuard-ი კონფიგურირდება Root, Blocked (alternative root) პორტებზე.

 

  UDLD-ი სასურველია ყველა ოპტიკურ პორტებზე.

 

ესეც პატარა სქემა რომ თვალნათლივ ჩანდეს სად რა დაკონფიგურირდეს

 

 


 

 

 

Tags: ,

Switch

Cisco STP ToolKit

by Besarion GIorgadze 27. December 2010 10:34

  ცოტაოდენი მინდა ვისაუბრო CISCO STP TOOL-ებთან დაკავშირებით როგორიც არის portfast, BPDUGuard, BPDUFilter rootguard, loopguard და UDLD. UDLD მართალია არაფერ შუაში არ არის STP-ესთან მაგრამ cisco როგორც წესი STP tool-ებთან ერთად მოიხსენიებს.

  Portfast-ის შემთხვევაში პორტი disable მდგომარეობიდან პირდაპირ  გადადის forwarding მგომარეობაში. Portfast- კონფიგურირდება ისეთ პორტებზე სადაც STP-ეს მუშაობა საჭირო აღარ არის მაგალითად ისეთი პორტები სადაც კომპები, სერვერები, ტელეფონები და ასე შემდეგ არის შეერთებული. არც რეკომენდირებული და  არც დასაშვებიც არ არის სვიჩებს შორის.

 

Configuration/Verification

გლობალური კონფიგურაციის რეჟიმიდან (global config) როცა ვაკონფიგურირებთ ყველა access პორტზე ირთვება porfast-

switch(config)#spanning-tree portfast default

შემოწმება შესაძლებელია შემდეგი ბრძანებით

switch#show spanning-tree summary totals

 Switch is in rapid-pvst mode

 Root bridge for: none

 Extended system ID           is enabled

 Portfast Default             is disabled

 PortFast BPDU Guard Default  is enabled

 Portfast BPDU Filter Default is disabled

 Loopguard Default            is disabled

 EtherChannel misconfig guard is enabled

 UplinkFast                   is disabled

 BackboneFast                 is disabled

 Configured Pathcost method used is short

 

 Name                   Blocking Listening Learning Forwarding STP Active

 ---------------------- -------- --------- -------- ---------- ----------

 10 vlans                     9         0        0         34         43         

 

კონკრეტულ პორტზე კონფიგურაცია

switch(config-if)#spanning-tree portfast

trunk პორტზეც შესაძლებელია portfast-ის კონფიგურაცის ეს გამოიყენება თუ სერვერის პორტი ტრანკია ან ისეთ ადგილ���ს სადაც საერთოდ არ დადის BPDU-ები.

switch(config-if)#spanning-tree portfast trunk

switch#show running-config interface fastEthernet 0/1

 Building configuration...

 Current configuration : 441 bytes

 !

 interface FastEthernet0/1

  spanning-tree portfast        

 

Portfast-ის ჩართვის შემეგ რათქმა უნდა ჩნდება იმის შესაძლებლობა რომ ვიღაცის უცოდინრობით ან უყურადღებობით მოხდეს loop-ი (მაგ: ორი portfast პორტი ერთმანეთთან შეაერთოს). ეგეთი სიტუაციებისთან დასაცავად გამოიყენება BPDUguard  და BPDUfilter.

 

  BPDUguard - ის დროს როცა პორტზე მოვა BPDU პორტი მომენტალურად გადავა err-disable მგომარეობაში რათქმა უნდა log მესიჯსაც დააგენერირებს. Err-disable recovery თუ არ არის დაკონფიგურირებული ხელით ჩარევაა საჭირო პორტზე Shutdown/no shutdown ბრძანებებით.

 

Configuration/Verification

გლობალური კონფიგურაციის შემთხვევაში ყველა პორტზე რომელზეც ჩართული არის porfast-ი ჩაირთვება BPDUguard-იც

switch(config)#spanning-tree portfast bpduguard default

 

switch#show spanning-tree summary totals

 Switch is in rapid-pvst mode

 Root bridge for: none

 Extended system ID           is enabled

 Portfast Default             is disabled

 PortFast BPDU Guard Default  is enabled

 Portfast BPDU Filter Default is disabled

 Loopguard Default            is disabled

 EtherChannel misconfig guard is enabled

 UplinkFast                   is disabled

 BackboneFast                 is disabled

 Configured Pathcost method used is short

 

 Name                   Blocking Listening Learning Forwarding STP Active

 ---------------------- -------- --------- -------- ---------- ----------

 10 vlans                     9         0        0         34         43         

 

რათქმაუნდა კონკრეტულ პორტზეც შეიძლება კონფიგურაცია

switch(config-if)#spanning-tree bpduguard enable

switch#show running-config interface fastEthernet 0/1

 Building configuration...

 Current configuration : 460 bytes

 !

 interface FastEthernet0/1

  spanning-tree portfast

  spanning-tree bpduguard enable

 

  BPDUFilter-ის მუშაობის პრინციპი დამოკიდებულია საიდან დავაკონფიგურირებთ. თუ გლობალური კონფიგურაციის რეჟიმიდან დავაკონფიგურირებთ მაშინ portfast პორტზე თუ მოვა BPDU პორტი გახდება ჩვეულებრივი STP პორტი ანუ portfast- გათიშავს. მხოლოდ თუ ინტერფეისი კონფიგურაციის რეჟიმიდან დავაკონფიგურირებთ პორტი არც გააგზავნის და არც მიიღებს BPDU-ებს ანუ კონკრეტულ პორტზე გათიშავს STP-ეს. loop-ებისგან დასაცავად  დიდად არ არის რეკომენდირებული BPDUfilter-ის გამოუყენება. უფრო ხშირად გამოიყენება პორტზე STP-ეს გასათიშად.

 

Configuration/Verification

გლობალური კონფიგურაციის შემთხვევაში ყველა პორტზე რომელზეც ჩართული არის porfast-ი ჩაირთვება BPDUfilter-იც. როგორც ზემოთ ვთქვი ამ შემთხევაში თუ პორზე მოვა BPDU პორტი გახდება ჩვეულებრივი STP-ე პორტი ანუ portfast-ს გათიშავს 

switch(config)#spanning-tree portfast bpdufilter default

switch#show spanning-tree summary totals

 Switch is in rapid-pvst mode

 Root bridge for: none

 Extended system ID           is enabled

 Portfast Default             is disabled

 PortFast BPDU Guard Default  is enabled

 Portfast BPDU Filter Default is disabled

 Loopguard Default            is disabled

 EtherChannel misconfig guard is enabled

 UplinkFast                   is disabled

 BackboneFast                 is disabled

 Configured Pathcost method used is short

 

 Name                   Blocking Listening Learning Forwarding STP Active

 ---------------------- -------- --------- -------- ---------- ----------

 10 vlans                     9         0        0         34         43         

 

მხოლოდ კონკრეტულ პორტზე კონფიგურაციის დროს პორტი არც გააგზავნის და არც მიიღებს BPDU-ებს ანუ პორტზე გათიშავს STP-ეს.

switch(config-if)#spanning-tree bpdufilter enable

switch#show running-config interface fastEthernet 0/1

 Building configuration...

 Current configuration : 460 bytes

 !

 interface FastEthernet0/1

  spanning-tree portfast

  spanning-tree bpdufilter enable

 

  Rootguard- იცავს root bridge-ს ანუ სხვა root bridge-ის არჩევა რომ არ მოხდეს ქსელში. კონფიგურირდება Designated პორტებზე ანუ ისეთ პორტზე სადაც root bridge-ი არ უნდა იყოს. თუ root guard enable  პორტზე მოვა superior BPDU  პორტი გადავა root-inconsistent მდომარეობაში. root-inconsistent მგომარეობა უტოლდება STP listen მგომარეობას ამ მგომარეობაში  პორტზე არანაირი ტრაფიკი არ გაივლის. მხოლოდ როცა შეწყდება superior BPDU  მოსვლა პორტზე, პორტი დაუბრუნდება ჩვეულებრივს მგომარეობას.

 

Configuration/Verification

კონფიგურაცია ხდება ინტერფეისი კონფიფურაციის რეჟიმიდან

switch(config-if)#spanning-tree guard root

switch#show running-config interface fastEthernet 0/1

 Building configuration...

 Current configuration : 428 bytes

 !

 interface FastEthernet0/1

  spanning-tree portfast

  spanning-tree guard root

end

 

 

  LOOPGuard-  იცავს STP-ეს  Unidirection-ისგან ანუ BPDU-ები იგზავნება და უკან არ მოდის. მაგალითად ისეთ შემთვევაში როცა redundacny ტოპოლოგია გვაქვს და ერთ-ერთი პორტი STP-ეთი არის  დაბლოკილი და დაბლოკილი პორტზე აღარ მოდის BPDU-ები იმიტომ რომ მეზობელი სვიჩი რაღაც მიზეზების გამო ვერ აგზავნის BPDU-ებს პორტი გადავა Forwarding მგომარეობაში და მოხდება LOOP-.როგორც წესი კონფიგურირდება non-designated პორტებზე.

 

Configuration/Verification

კონფიგურაცია შესაძლებელია როგორც გლობალური კონფიგურაციის რეჟიმიდან ასევე ინტერფეისი კონფიგურაციის რეჟიმიდანაც.

გლობალური კონფიგურაციის რეჟიმიდან კონფიგურაციისას ყველა პორტზე კონფიგურირდება

switch(config)#spanning-tree loopguard default

switch#show spanning-tree summary totals

 Switch is in rapid-pvst mode

 Root bridge for: none

 Extended system ID           is enabled

 Portfast Default             is disabled

 PortFast BPDU Guard Default  is enabled

 Portfast BPDU Filter Default is disabled

 Loopguard Default            is disabled

 EtherChannel misconfig guard is enabled

 UplinkFast                   is disabled

 BackboneFast                 is disabled

 Configured Pathcost method used is short

 

 Name                   Blocking Listening Learning Forwarding STP Active

 ---------------------- -------- --------- -------- ---------- ----------

 10 vlans                     9         0        0         34         43          

 

 

ესეც ინტერფეისი კონფიგურაციის რეჟიმიდან

switch(config-if)#spanning-tree guard loop

 

switch(config-if)#do show run int fa0/11

 Building configuration...

 Current configuration : 428 bytes

 !

 interface FastEthernet0/11

  spanning-tree guard loop

 end

 

  UDLD- არის მეორე დონის პროტოკოლი რომელიც იყენებს პირველი დონის მექანიზმებს.  UDLD უნდა იყოს ორივე მხარეს დაკონფიგურირებული. მეზობელი სვიჩები უგზავნიან ერთმანეთს UDLD frame-ებს რომელშიც წერს port's own device/port და მეზობელის სვიჩის device/port IDs მოწყბილობამ უნდა დაინახოს თავის თავის მოსულ UDLD frame-ში თუ ვერ დაინხა გარკვეული პერიოდის განმავლობაში ლინკი გამოცხადდებ unidirectional. ამის მერე UDLD-ს აქვს ორი მუშაობის რეჟიმი aggressive და normal.

aggressive რეჟიმში მუშაობისას  თუ ლინკი გამოცხადდა Unidirectional მაში პორტი გადავა err-disable მდომარეობაში და Log-იც დაგენერირდება.

normal -ის შემთხვევაში მხოლოდ log-ი დაგენერირდება.

 

Configuration/Verification

გლობალური კონფიგურაციიდან დაკონფიგურირდებისას UDLD ირთვება ყველა ოპტიკური პორტზე

switch(config)#udld enable - ყველა ოპტიკურ პორტზე ჩაირთვება normal რეჟიმი

switch(config)#udld aggressive - ყველა ოპტიკური ინტერფეისზე ჩაირთვება Aggressive რეჟიმი.

 

switch(config-if)#udld enable –  კონკრეტულ ინტერფეისზე normal რეჟიმის ჩართვა

switch(config-if)#udld aggressive - კონკრეტულ ინტერფეისზე aggressive რეჟიმის ჩართვა.

 

switch#show udld neighbors - შევამოწმოთ udld მეზობლები.

switch#show udld port type slot/number - შევამოწმოთ UDLD მდგომარეობა კონკრეტულ პორტზე.

                                                                                                                                                                             

 

Tags: ,

Switch

Once more scenario for library latch contention

by Vazha Mantua 17. December 2010 10:53

In last posts we describe reason of library latch contention and the main reason was literal sql’s

 

Let’s see another scenario

it’ is version of SQL statements:

if two statements are textually identical but cannot be shared then these are called 'versions' of the same statement. If Oracle matches to a statement with many versions it has to check each version in turn to see if it is truely identical to the statement currently being parsed. Hence high version counts are best avoided by:

  • Standardizing the maximum bind lengths specified by the client
  • Avoid using identical SQL from lots of different schemas which use private objects. Eg: SELECT xx FROM MYTABLE; where each user has their own MYTABLE
  • Setting _SQLEXEC_PROGRESSION_COST to '0' in Oracle 8.1

 

In our case we have non standarting maximum m binds lengths

The most common causes are:
Bind Type mismatch

VARIABLE v1 VARCHAR2(60);
VARIABLE v1 VARCHAR2(30);

Language

ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN';
ALTER SESSION SET NLS_LANGUAGE = �GERMAN';

SQL Trace

EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE;
ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';

Environmental variables that affect the optimizer

ALTER SESSION SET optimizer_mode = CHOOSE;
ALTER SESSION SET optimizer_mode = FIRST ROWS;

Note: how find SQL’s with many versions:

 

`

SELECT address, hash_value,
version_count ,
users_opening ,
users_executing,
substr(sql_text,1,40) "SQL"
FROM v$sqlarea
WHERE version_count > 10
order by version_count desc

Tags: , ,

EIGRP Metric Calculator

by besarion giorgadze 25. November 2010 14:25

ყველამ ძალიან კარგად ვიცით რომ EIGRP-ის მეტრიკის კალკულაცია არავის სიამოვნებას არ გვანიჭებს. ამიტომ ნიკა ჩხიკვიშვილის დახმარებით გავაკეთე პატარა და სკრიპტი რომელიც ითვლის EIGRP-ის მეტრიკას. უნდა ჩავუწეროთ ცვლადები: Minimum bandwidth on the path და Sum of delay , კალკლულატორი ითვლის მხოლოდ K=1-ს და K3=1-ის EIGRP მეტრიკის კომპონენტებს. ესეც ლინკი eigrp calculator.

როგორ ითვლის eigrp მეტრიკას.

cisco რეკომენდაციას იძლევა რომ, მხოლოდ default მნიშვნელობი გამოვიყენოთ მეტრიკის კალკლულაციის დორს .

default K- მნიშვნელობები და მეტრიკის კომპონენტები: K1=1 (bandwidth) , K2=0 (load) , K3=1 (delay) , K4=0 (Reliability) , K5=0 (Reliability)

ეს არის EIGRP-ის მეტრიკის კალკლულაციის სრული ფორმულა.

Metric=(K1*bandwidth )+((K2*bandwidth)/(256-load))+(K3+delay)

იქედან გამომდინარე რომ მხოლოდ K1 (Bandwidth) და K3( delay) გამოიყენება ფორმულა რჩება შემდეგი

Metric= Bandwidth+delay

სადაც Bandiwth=(1clip_image001[4]/Minimum bandwidth along the path in kilobits per second)*256

Delay=(sum of delays in the path in tens of microseconds )*256 და სანამ delay-ს გამოვიყენებთ მეტრიკის კალკულაციაში უნდა გავყოთ 10-ზე თუ show interface ბრზანებით ვნახავთ.

იქიდან გამომდინარე რომ ამდენი არ მეწვალა ყველა მეტრიკის კალკლულაციაზე ზემოთ მოცემულ აღწერილი კალკლულატორის იდეა დაიბადა.

სრული როუტის მინიმლაური bandwidth და delay-ის ჯამი ჩავწეროთ მივიღებთ მეტრიკას.

Show interface typle slot/port – verify bandwith and Delay

იმედი მაქვს მოგეწონებათ და გამოგადგებათ

Tags: ,

Routing

community.ge

by Arman Obosyan 17. November 2010 10:51

Многие из вас могут подумать почему mcp.community.ge поддерживает блоги и развитие других направлений к примеру как недавний ocp.community.ge или conft.community.ge. На самом деле проект community.ge задумывался как отдельный не коммерческий проект для развития разного рода сообществ и блогов на Грузинском интернет пространстве, так сложилось что пока наиболее активным направлением оказалось MCP.community.ge и временно на его базе мы проводим развитие в целом, как только направление приобретёт интерес и подержу оно перейдет в более активную стадию как и самого начала предполагалось будет самостоятельным проектом.

Мы открыты для ваших предложений и всегда рады выслушать ваше мнение!

 

ბევრ თქვენთაგანს შეიძლება უჩნდება კითხვა, თუ რატომ უჭერს მხარს mcp.community.ge ბლოგების და სხვა სფეროების განვითარებას, მაგალითად როგორიც არის ბოლო ბლოგი ocp.community.ge ან conft.community.ge. პროექტი community.ge თავიდანვე ჩაფიქრებული იყო როგორც ცალკე არაკომერციული პროექტი, რომელიც ხელს შეუწყობდა და განავითარებდა სხვადასხვა მიმართულების საზოგადოებებს და ბლოგებს ქართულ ინტერნეტ სივრცეში. თუმცა დღეისათვის მეტად აქტიური მიმართულება გამოიკვეთა MCP.community.ge და დროებით მის ბაზაზე ვახდენთ განვითარებას, ხოლო როგორც კი მიმართულება შეიძენს ინტერესს და მხარდაჭერას იგი დაფუძვნდება და გადავა უფრო აქტიურ სტადიაში, ისევე როგორც თავიდან იყო დაგეგმილი, იქნება დამოუკიდებელი პროექტი.

ჩვენ მზად ვართ თქვენი წინადადებების მისაღებად და ყოველთვის მოხარულნი ვართ თქვენი აზრის მოსასმენად!

Tags: