File:SampleXen2NodeClusterMap.png

From Alteeve Wiki
Jump to navigation Jump to search

Original file(1,238 × 887 pixels, file size: 209 KB, MIME type: image/png)

 AN!Wiki :: SampleXen2NodeClusterMap.png

A pretty map of a 2-node cluster, based on the following ASCII diagram:


                                                                         [   Back    ]
                                                                         [  Channel  ]
 _[_Node01_]__________________________________________________________   [  Network  ]   __________________________________________________________[_Node02_]_
|  _______________                                                    |        |        |                                                    _______________  |
| | dom0    ______|                                 ________   _______|   _____|_____   |_______   ________                                 |______    dom0 | |
| |        | eth0 =-[vif0.0]-----------------------| xenbr0 |-| peth0 =--|   Back    |--= peth0 |-| xenbr0 |-----------------------[vif0.0]-= eth0 |        | |
| |        |_____-|              /-----------------|        | |______-|  |  Channel  |  |-______| |        |-----------------\              |-_____|        | |
| |               |              | /---------------|        |         |  |  switch   |  |         |        |---------------\ |              |               | |
| |         ______|              | | /-------------|        |         |  |___________|  |         |        |-------------\ | |              |______         | |
| |        | eth1 =-[vif0.1]---\ | | | /-----------|        |         |                 |         |        |-----------\ | | | /---[vif0.1]-= eth1 |        | |
| |        |_____-|            | | | | | /---------|        |         |                 |         |        |---------\ | | | | |            |-_____|        | |
| |               |            | | | | | | /-------|        |         |                 |         |        |-------\ | | | | | |            |               | |
| |         ______|            | | | | | | | /-----|        |         |                 |         |        |-----\ | | | | | | |            |______         | |
| |        | eth2 =-[vif0.2]-\ | | | | | | | |     |        |         |                 |         |        |     | | | | | | | | /-[vif0.2]-= eth2 |        | |
| |        |_____-|          | | | | | | | | |     |________|         |                 |         |________|     | | | | | | | | |          |-_____|        | |
| |_______________|          | | | | | | | | |                        |                 |                        | | | | | | | | |          |_______________| |
|  _______________           | | | | | | | | |      ________   _______|                 |_______   ________      | | | | | | | | |           _______________  |
| | fw01    ______|          | \-+-+-+-+-+-+-+-----| xenbr1 |-| peth1 =-----------------= peth1 |-| xenbr1 |-----+-+-+-+-+-+-+-/ |          |______    fw01 | |
| |        | eth0 =-[vif1.0]-+---/ | | | | | |     |        | |______-|  [ DRBD Link ]  |-______| |        |     | | | | | | \---+-[vif1.0]-= eth0 |        | |
| |        |_____-|          |     | | | | | |     |        |         |                 |         |        |     | | | | | |     |          |-_____|        | |
| |               |          |     | | | | | |     |        |         |                 |         |        |     | | | | | |     |          |               | |
| |         ______|          \-\   | | | | | |     |        |         |                 |         |        |     | | | | | |   /-/          |______         | |
| |        | eth1 =-[vif1.2]-\ |   | | | | | |     |        |         |                 |         |        |     | | | | | |   | /-[viv1.2]-= eth1 |        | |
| |        |_____-|          | |   | | | | | |     |        |         |                 |         |        |     | | | | | |   | |          |-_____|        | |
| |_______________|          | |   | | | | | |     |        |         |                 |         |        |     | | | | | |   | |          |_______________| |
|                            | |   | | | | | |     |        |         |                 |         |        |     | | | | | |   | |                            |
|  _______________           | |   | | | | | |     |________|         |                 |         |________|     | | | | | |   | |           _______________  |
| | auth01  ______|          | |   | | | | | |                        |                 |                        | | | | | |   | |          |______  auth01 | |
| |        | eth0 =-[vif2.0]-+-+---/ | | | | |      ________   _______|   ___________   |_______   ________      | | | | | \---+-+-[viv2.0]-= eth0 |        | |
| |        |_____-|          | \-----+-+-+-+-+-----| xenbr2 |-| peth2 =--| Internet  |--= peth2 |-| xenbr2 |-----+-+-+-+-+-----/ |          |-_____|        | |
| |               |          \-------+-+-+-+-+-----|        | |______-|  | Polluted  |  |-______| |        |-----+-+-+-+-+-------/          |               | |
| |               |                  | | | | |     |        |         |  |  Switch   |  |         |        |     | | | | |                  |               | |
| |               |                  | | | | |     |        |         |  |___________|  |         |        |     | | | | |                  |               | |
| |               |                  | | | | |     |        |         |        |        |         |        |     | | | | |                  |               | |
| |_______________|                  | | | | |     |        |         |        |        |         |        |     | | | | |                  |_______________| |
|  _______________                   | | | | |     |        |         |        |        |         |        |     | | | | |                   _______________  |
| | web01   ______|                  | | | | |     |        |         |  [  Internet  ] |         |        |     | | | | |                  |______   web01 | |
| |        | eth0 =-[vif3.0]---------/ | | | |     |        |         |  [ Connection ] |         |        |     | | | | \---------[viv3.0]-= eth0 |        | |
| |        |_____-|                    | | | |     |________|         |                 |         |________|     | | | |                    |-_____|        | |
| |               |                    | | | |                        |                 |                        | | | |                    |               | |
| |               |                    | | | |                        |                 |                        | | | |                    |               | |
| |               |                    | | | |                        |                 |                        | | | |                    |               | |
| |               |                    | | | |                        |                 |                        | | | |                    |               | |
| |_______________|                    | | | |                        |                 |                        | | | |                    |_______________| |
|  _______________                     | | | |                        |                 |                        | | | |                     _______________  |
| | web02   ______|                    | | | |                        |                 |                        | | | |                    |______   web02 | |
| |        | eth0 =-[vif4.0]-----------/ | | |                        |                 |                        | | | \-----------[viv4.0]-= eth0 |        | |
| |        |_____-|                      | | |                        |                 |                        | | |                      |-_____|        | |
| |               |                      | | |                        |                 |                        | | |                      |               | |
| |               |                      | | |                        |                 |                        | | |                      |               | |
| |               |                      | | |                        |                 |                        | | |                      |               | |
| |               |                      | | |                        |                 |                        | | |                      |               | |
| |               |                      | | |                        |                 |                        | | |                      |               | |
| |_______________|                      | | |                        |                 |                        | | |                      |_______________| |
|  _______________                       | | |                        |                 |                        | | |                       _______________  |
| | res01   ______|                      | | |                        |                 |                        | | |                      |______   res01 | |
| |        | eth0 =-[vif5.0]-------------/ | |                        |                 |                        | | \-------------[viv5.0]-= eth0 |        | |
| |        |_____-|                        | |                        |                 |                        | |                        |-_____|        | |
| |               |                        | |                        |                 |                        | |                        |               | |
| |               |                        | |                        |                 |                        | |                        |               | |
| |               |                        | |                        |                 |                        | |                        |               | |
| |               |                        | |                        |                 |                        | |                        |               | |
| |               |                        | |                        |                 |                        | |                        |               | |
| |_______________|                        | |                        |                 |                        | |                        |_______________| |
|  _______________                         | |                        |                 |                        | |                         _______________  |
| | dev01   ______|                        | |                        |                 |                        | |                        |______   dev01 | |
| |        | eth0 =-[vif6.0]---------------/ |                        |                 |                        | \---------------[viv6.0]-= eth0 |        | |
| |        |_____-|                          |                        |                 |                        |                          |-_____|        | |
| |               |                          |                        |                 |                        |                          |               | |
| |               |                          |                        |                 |                        |                          |               | |
| |               |                          |                        |                 |                        |                          |               | |
| |               |                          |                        |                 |                        |                          |               | |
| |               |                          |                        |                 |                        |                          |               | |
| |_______________|                          |                        |                 |                        |                          |_______________| |
|  _______________                           |                        |                 |                        |                           _______________  |
| | sql01   ______|                          |                        |                 |                        |                          |______   sql01 | |
| |        | eth0 =-[vif7.0]-----------------/                        |                 |                        \-----------------[viv7.0]-= eth0 |        | |
| |        |_____-|                                                   |                 |                                                   |-_____|        | |
| |               |                                                   |                 |                                                   |               | |
| |               |                                                   |                 |                                                   |               | |
| |               |                                                   |                 |                                                   |               | |
| |               |                                                   |                 |                                                   |               | |
| |               |                                                   |                 |                                                   |               | |
| |_______________|                                                   |                 |                                                   |_______________| |
|_____________________________________________________________________|                 |_____________________________________________________________________|

It was written in LaTeX + PGF/TiKz. The (rather messy with weird naming convention) source is:

\documentclass{a0poster}

\usepackage{multicol}
\usepackage{tikz}
\usepackage{graphicx}
\usetikzlibrary{positioning,shapes,snakes,matrix,backgrounds,fit,decorations.pathreplacing,calc}



\begin{document}

\tikzstyle{physical}= [draw=black, fill=black!10, thick, rectangle, rounded corners, inner ysep=5pt]
\tikzstyle{physicaltitle}= [draw=black, fill=black!10, thick, rectangle, rounded corners]
\tikzstyle{physicaloverlay}= [draw=black, fill=black!10, thick, rectangle, rounded corners, inner ysep=50pt, inner xsep=25pt]
\tikzstyle{abstract1}= [draw=blue, fill=blue!20, thick, rectangle, rounded corners, inner ysep=18pt]
\tikzstyle{abstract1title}= [draw=blue, fill=blue!20, thick, rectangle, rounded corners]
\tikzstyle{abstract2}= [draw=green, fill=green!20, thick, rectangle, rounded corners]

\begin{tikzpicture}

 \matrix[row sep=0.75cm, column sep=1cm] {
                                           &&&&&&&&&                                    &&                                      &&& \node [physical] (backnet) {Back Channel Network};\\ $~$\\ $~$\\
      \node [abstract2] (p1v0eth0) {eth0}; &&&&&&&&& [4cm] \node (p1xenbr0s0) {xenbr0}; && \node [abstract1] (p1peth0) {peth0}; &&& \node [physical] (backswc) {Back Channel Switch};      &&& \node [abstract1] (p2peth0) {peth0}; && \node (p2xenbr0s0) {xenbr0}; &&&&&&&&& \node [abstract2] (p2v0eth0) {eth0};\\
      \node [abstract2] (p1v0eth1) {eth1}; &&&&&&&&&       \node (p1xenbr0s1) { };      &&                                      &&&                                                        &&&                                      && \node (p2xenbr0s1) { };      &&&&&&&&& \node [abstract2] (p2v0eth1) {eth1};\\
      \node [abstract2] (p1v0eth2) {eth2}; &&&&&&&&&       \node (p1xenbr0s2) { };      &&                                      &&&                                                        &&&                                      && \node (p2xenbr0s2) { };      &&&&&&&&& \node [abstract2] (p2v0eth2) {eth2};\\
%                                                                                                                                                                                                                                                                                                              
\\ \\ \node [abstract2] (p1v1eth0) {eth0}; &&&&&&&&&       \node (p1xenbr1s0) {xenbr1}; && \node [abstract1] (p1peth1) {peth1}; &&&                                                        &&& \node [abstract1] (p2peth1) {peth1}; && \node (p2xenbr1s0) {xenbr1}; &&&&&&&&& \node [abstract2] (p2v1eth0) {eth0};\\
      \node [abstract2] (p1v1eth1) {eth1}; &&&&&&&&&       \node (p1xenbr1s1) { };      &&                                      &&&                                                        &&&                                      && \node (p2xenbr1s1) { };      &&&&&&&&& \node [abstract2] (p2v1eth1) {eth1};\\
%                                                                                                                                                                                                                                                                                                                                
\\ \\ \node [abstract2] (p1v2eth0) {eth0}; &&&&&&&&&       \node (p1xenbr2s0) {xenbr2}; && \node [abstract1] (p1peth2) {peth2}; &&& \node [physical] (iswitch) {Internet Connected Switch};&&& \node [abstract1] (p2peth2) {peth2}; && \node (p2xenbr2s0) {xenbr2}; &&&&&&&&& \node [abstract2] (p2v2eth0) {eth0};\\
\\ \\ \node [abstract2] (p1v3eth0) {eth0}; &&&&&&&&&                                    &&                                      &&&                                                        &&&                                      &&                              &&&&&&&&& \node [abstract2] (p2v3eth0) {eth0}; \\ 
\\ \\ \node [abstract2] (p1v4eth0) {eth0}; &&&&&&&&&                                    &&                                      &&&                                                        &&&                                      &&                              &&&&&&&&& \node [abstract2] (p2v4eth0) {eth0};   \\
\\ \\ \node [abstract2] (p1v5eth0) {eth0}; &&&&&&&&&                                    &&                                      &&&                                                        &&&                                      &&                              &&&&&&&&& \node [abstract2] (p2v5eth0) {eth0};   \\
\\ \\ \node [abstract2] (p1v6eth0) {eth0}; &&&&&&&&&                                    &&                                      &&&                                                        &&&                                      &&                              &&&&&&&&& \node [abstract2] (p2v6eth0) {eth0};   \\
\\ \\ \node [abstract2] (p1v7eth0) {eth0}; &&&&&&&&&                                    &&                                      &&&                                                        &&&                                      &&                              &&&&&&&&& \node [abstract2] (p2v7eth0) {eth0};   \\ $~$\\ $~$\\
                                           &&&&&&&&&                                    &&                                      &&& \node [physical] (internet) {Internet Connection}; \\
 };

\begin{pgfonlayer}{background} 
\node [physicaloverlay] (node0)[fit= (p1v0eth0) (p1v7eth0) (p1peth2)] { };
   \node [physicaltitle] at (node0.north) {node01};
\node [abstract1] (p1v0)[fit= (p1v0eth0) (p1v0eth2)] { };
   \node [abstract1title] at (p1v0.north) {dom0};
\node [abstract1] (p1v1)[fit= (p1v1eth0) (p1v1eth1)] { };
   \node [abstract1title] at (p1v1.north) {fw01};
\node [abstract1] (p1v2)[fit= (p1v2eth0)] { };
   \node [abstract1title] at (p1v2.north) {auth01};
\node [abstract1] (p1v3)[fit= (p1v3eth0)] { };
   \node [abstract1title] at (p1v3.north) {web01};
\node [abstract1] (p1v4)[fit= (p1v4eth0)] { };
   \node [abstract1title] at (p1v4.north) {web02};
\node [abstract1] (p1v5)[fit= (p1v5eth0)] { };
   \node [abstract1title] at (p1v5.north) {res01};
\node [abstract1] (p1v6)[fit= (p1v6eth0)] { };
   \node [abstract1title] at (p1v6.north) {dev01};
\node [abstract1] (p1v7)[fit= (p1v7eth0)] { };
   \node [abstract1title] at (p1v7.north) {sql01};

\node [physicaloverlay] (node1)[fit= (p2v0eth0) (p2v7eth0) (p2peth2)] { };
   \node [physicaltitle] at (node1.north) {node02};
\node [abstract1] (p2v0)[fit=(p2v0eth0) (p2v0eth2)] { };
   \node [abstract1title] at (p2v0.north) {dom0};
\node [abstract1] (p2v1)[fit=(p2v1eth0) (p2v1eth1)] { };
   \node [abstract1title] at (p2v1.north) {fw01};
\node [abstract1] (p2v2)[fit=(p2v2eth0)] { };
   \node [abstract1title] at (p2v2.north) {auth01};
\node [abstract1] (p2v3)[fit=(p2v3eth0)] { };
   \node [abstract1title] at (p2v3.north) {web01};
\node [abstract1] (p2v4)[fit=(p2v4eth0)] { };
   \node [abstract1title] at (p2v4.north) {web02};
\node [abstract1] (p2v5)[fit=(p2v5eth0)] { };
   \node [abstract1title] at (p2v5.north) {res01};
\node [abstract1] (p2v6)[fit=(p2v6eth0)] { };
   \node [abstract1title] at (p2v6.north) {dev01};
\node [abstract1] (p2v7)[fit=(p2v7eth0)] { };
   \node [abstract1title] at (p2v7.north) {sql01};

\node [abstract1] (p1xenbr0)[fit= (p1xenbr0s0) (p1xenbr0s2)] { };
\node [abstract1] (p1xenbr1)[fit= (p1xenbr1s0) ] { };
\node [abstract1] (p1xenbr2)[fit= (p1xenbr2s0)] { };

\node [abstract1] (p2xenbr0)[fit= (p2xenbr0s0) (p2xenbr0s2)] { };
\node [abstract1] (p2xenbr1)[fit= (p2xenbr1s0) ] { };
\node [abstract1] (p2xenbr2)[fit= (p2xenbr2s0)] { };

\end{pgfonlayer}

\draw [thick]  (p1v0eth0.east) -- +(3,0) node[midway,below] {vif0.0} -- ($(p1xenbr0.west)+(0,1.98)$);
\draw [thick]  (p1v1eth0.east) -- +(3,0) node[midway,below] {vif1.0} -- ($(p1xenbr0.west)+(0,1.5)$);
\draw [thick]  (p1v2eth0.east) -- +(3,0) node[midway,below] {vif2.0} -- ($(p1xenbr0.west)+(0,1)$);
\draw [thick]  (p1v3eth0.east) -- +(3,0) node[midway,below] {vif3.0} -- ($(p1xenbr0.west)+(0,0.5)$);
\draw [thick]  (p1v4eth0.east) -- +(3,0) node[midway,below] {vif4.0} --   (p1xenbr0.west);
\draw [thick]  (p1v5eth0.east) -- +(3,0) node[midway,below] {vif5.0} -- ($(p1xenbr0.west)+(0,-0.5)$);
\draw [thick]  (p1v6eth0.east) -- +(3,0) node[midway,below] {vif6.0} -- ($(p1xenbr0.west)+(0,-1)$);
\draw [thick]  (p1v7eth0.east) -- +(3,0) node[midway,below] {vif7.0} -- ($(p1xenbr0.west)+(0,-1.5)$);
\draw [thick]  ($(p1xenbr0.east)+(0,1.98)$)                            -- (p1peth0.west);
\draw [thick]  (p1peth0.east)                                         -- (backswc.west);

\draw [thick]  (p2v0eth0.west) -- +(-3,0) node[midway,below] {vif0.0} -- ($(p2xenbr0.east)+(0,1.98)$);
\draw [thick]  (p2v1eth0.west) -- +(-3,0) node[midway,below] {vif1.0} -- ($(p2xenbr0.east)+(0,1.5)$);
\draw [thick]  (p2v2eth0.west) -- +(-3,0) node[midway,below] {vif2.0} -- ($(p2xenbr0.east)+(0,1)$);
\draw [thick]  (p2v3eth0.west) -- +(-3,0) node[midway,below] {vif3.0} -- ($(p2xenbr0.east)+(0,0.5)$);
\draw [thick]  (p2v4eth0.west) -- +(-3,0) node[midway,below] {vif4.0} --   (p2xenbr0.east);
\draw [thick]  (p2v5eth0.west) -- +(-3,0) node[midway,below] {vif5.0} -- ($(p2xenbr0.east)+(0,-0.5)$);
\draw [thick]  (p2v6eth0.west) -- +(-3,0) node[midway,below] {vif6.0} -- ($(p2xenbr0.east)+(0,-1)$);
\draw [thick]  (p2v7eth0.west) -- +(-3,0) node[midway,below] {vif7.0} -- ($(p2xenbr0.east)+(0,-1.5)$);
\draw [thick]  ($(p2xenbr0.west)+(0,1.98)$) -- (p2peth0.east);
\draw [thick]  (p2peth0.west)  -- (backswc.east);

\draw [thick]  (backswc.north) -- (backnet.south);


\draw [thick]  (p1v0eth1.east) -- +(3,0) node[midway,below] {vif0.1} -- (p1xenbr1.west)+(0,0.5);
\draw [thick]  (p1v1eth1.east) -- +(3,0) node[midway,below] {vif1.2} -- ($(p1xenbr2.west)+(0,-0.5)$);
\draw [thick]  (p1xenbr1.east) -- (p1peth1.west);
\draw [thick]  (p1peth1.east)  -- (p2peth1.west) node [midway,below] {DRBD Link};
\draw [thick]  (p2xenbr1.west) -- (p2peth1.east);
\draw [thick]  (p2xenbr1.west) -- (p2peth1.east);
\draw [thick]  (p2v0eth1.west) -- +(-3,0) node[midway,below] {vif0.1} -- (p2xenbr1.east);
\draw [thick]  (p2v1eth1.west) -- +(-3,0) node[midway,below] {vif1.2} -- ($(p2xenbr2.east)+(0,-0.5)$);


\draw [thick]  (p1v0eth2.east) -- +(3,0) node[midway,below] {vif0.2} -- ($(p1xenbr2.west)+(0,0.5)$);
\draw [thick]  (p1xenbr2.east) -- (p1peth2.west);
\draw [thick]  (p1peth2.east) -- (iswitch.west);
\draw [thick]  (p2v0eth2.west) -- +(-3,0) node[midway,below] {vif0.2} -- ($(p2xenbr2.east)+(0,0.5)$);
\draw [thick]  (p2xenbr2.west) -- (p2peth2.east);
\draw [thick]  (p2peth2.west) -- (iswitch.east);
\draw [thick] (iswitch.south) -- (internet.north);

\end{tikzpicture}

\end{document}

 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current04:48, 25 May 2010Thumbnail for version as of 04:48, 25 May 20101,238 × 887 (209 KB)Colah (talk | contribs)scaled 1/4.
04:41, 25 May 2010
Error creating thumbnail: File with dimensions greater than 12.5 MP
5,049 × 3,619 (675 KB)Colah (talk | contribs)No transparency.
04:33, 25 May 2010
Error creating thumbnail: File with dimensions greater than 12.5 MP
5,049 × 3,619 (767 KB)Colah (talk | contribs)A pretty map of a 2-node cluster, based on the following ASCII diagram: ------ [ Back ] [ Channel ] _[_Node01_]__________________________________________________________ [ Network ] __________________________________________________________[_Node02_]_ | _______________ | | | _______________ | | | dom0 ______| ________ _______| _____|_____ |_______ ________ |______ dom0 | | | | | eth0 =-[vif0.0]-----------------------| xenbr0 |-| peth0 =--| Back |--= peth0 |-| xenbr0 |-----------------------[vif0.0]-= eth0 | | | | | |_____-| /-----------------| | |______-| | Channel | |-______| | |-----------------\ |-_____| | | | | | | /---------------| | | | switch | | | |---------------\ | | | | | | ______| | | /-------------| | | |___________| | | |-------------\ | | |______ | | | | | eth1 =-[vif0.1]---\ | | | /-----------| | | | | |-----------\ | | | /---[vif0.1]-= eth1 | | | | | |_____-| | | | | | /---------| | | | | |---------\ | | | | | |-_____| | | | | | | | | | | | /-------| | | | | |-------\ | | | | | | | | | | | ______| | | | | | | | /-----| | | | | |-----\ | | | | | | | |______ | | | | | eth2 =-[vif0.2]-\ | | | | | | | | | | | | | | | | | | | | | | /-[vif0.2]-= eth2 | | | | | |_____-| | | | | | | | | | |________| | | |________| | | | | | | | | | |-_____| | | | |_______________| | | | | | | | | | | | | | | | | | | | | |_______________| | | _______________ | | | | | | | | | ________ _______| |_______ ________ | | | | | | | | | _______________ | | | fw01 ______| | \-+-+-+-+-+-+-+-----| xenbr1 |-| peth1 =-----------------= peth1 |-| xenbr1 |-----+-+-+-+-+-+-+-/ | |______ fw01 | | | | | eth0 =-[vif1.0]-+---/ | | | | | | | | |______-| [ DRBD Link ] |-______| | | | | | | | | \---+-[vif1.0]-= eth0 | | | | | |_____-| | | | | | | | | | | | | | | | | | | | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ______| \-\ | | | | | | | | | | | | | | | | | | /-/ |______ | | | | | eth1 =-[vif1.2]-\ | | | | | | | | | | | | | | | | | | | | /-[viv1.2]-= eth1 | | | | | |_____-| | | | | | | | | | | | | | | | | | | | | | | |-_____| | | | |_______________| | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | | | | | | | | | | | | | | | | | | | | | | | _______________ | | | | | | | | |________| | | |________| | | | | | | | | _______________ | | | auth01 ______| | | | | | | | | | | | | | | | | | | |______ auth01 | | | | | eth0 =-[vif2.0]-+-+---/ | | | | | ________ _______| ___________ |_______ ________ | | | | | \---+-+-[viv2.0]-= eth0 | | | | | |_____-| | \-----+-+-+-+-+-----| xenbr2 |-| peth2 =--| Internet |--= peth2 |-| xenbr2 |-----+-+-+-+-+-----/ | |-_____| | | | | | \-------+-+-+-+-+-----| | |______-| | Polluted | |-______| | |-----+-+-+-+-+-------/ | | | | | | | | | | | | | | | Switch | | | | | | | | | | | | | | | | | | | | | | | |___________| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | | | | | | | | | | | | | | |_______________| | | _______________ | | | | | | | | | | | | | | | | | _______________ | | | web01 ______| | | | | | | | | [ Internet ] | | | | | | | | |______ web01 | | | | | eth0 =-[vif3.0]---------/ | | | | | | | [ Connection ] | | | | | | | \---------[viv3.0]-= eth0 | | | | | |_____-| | | | | |________| | | |________| | | | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | | | | | | | |_______________| | | _______________ | | | | | | | | | | _______________ | | | web02 ______| | | | | | | | | | | |______ web02 | | | | | eth0 =-[vif4.0]-----------/ | | | | | | | | \-----------[viv4.0]-= eth0 | | | | | |_____-| | | | | | | | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | | | | | |_______________| | | _______________ | | | | | | | | _______________ | | | res01 ______| | | | | | | | | |______ res01 | | | | | eth0 =-[vif5.0]-------------/ | | | | | | \-------------[viv5.0]-= eth0 | | | | | |_____-| | | | | | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | | | |_______________| | | _______________ | | | | | | _______________ | | | dev01 ______| | | | | | | |______ dev01 | | | | | eth0 =-[vif6.0]---------------/ | | | | \---------------[viv6.0]-= eth0 | | | | | |_____-| | | | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | | | |_______________| | | _______________ | | | | _______________ | | | sql01 ______| | | | | |______ sql01 | | | | | eth0 =-[vif7.0]-----------------/ | | \-----------------[viv7.0]-= eth0 | | | | | |_____-| | | |-_____| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |_______________| | | |_______________| | |_____________________________________________________________________| |_____________________________________________________________________| --------------- It was written in LaTeX + PGF/TiKz. The (rather messy with weird naming convention) source is: \documentclass{a0poster} \usepackage{multicol} \usepackage{tikz} \usepackage{graphicx} \usetikzlibrary{positioning,shapes,snakes,matrix,backgrounds,fit,decorations.pathreplacing,calc} \begin{document} \tikzstyle{physical}= [draw=black, fill=black!10, thick, rectangle, rounded corners, inner ysep=5pt] \tikzstyle{physicaltitle}= [draw=black, fill=black!10, thick, rectangle, rounded corners] \tikzstyle{physicaloverlay}= [draw=black, fill=black!10, thick, rectangle, rounded corners, inner ysep=50pt, inner xsep=25pt] \tikzstyle{abstract1}= [draw=blue, fill=blue!20, thick, rectangle, rounded corners, inner ysep=18pt] \tikzstyle{abstract1title}= [draw=blue, fill=blue!20, thick, rectangle, rounded corners] \tikzstyle{abstract2}= [draw=green, fill=green!20, thick, rectangle, rounded corners] \begin{tikzpicture} \matrix[row sep=0.75cm, column sep=1cm] { &&&&&&&&& && &&& \node [physical] (backnet) {Back Channel Network};\\ $~$\\ $~$\\ \node [abstract2] (p1v0eth0) {eth0}; &&&&&&&&& [4cm] \node (p1xenbr0s0) {xenbr0}; && \node [abstract1] (p1peth0) {peth0}; &&& \node [physical] (backswc) {Back Channel Switch}; &&& \node [abstract1] (p2peth0) {peth0}; && \node (p2xenbr0s0) {xenbr0}; &&&&&&&&& \node [abstract2] (p2v0eth0) {eth0};\\ \node [abstract2] (p1v0eth1) {eth1}; &&&&&&&&& \node (p1xenbr0s1) { }; && &&& &&& && \node (p2xenbr0s1) { }; &&&&&&&&& \node [abstract2] (p2v0eth1) {eth1};\\ \node [abstract2] (p1v0eth2) {eth2}; &&&&&&&&& \node (p1xenbr0s2) { }; && &&& &&& && \node (p2xenbr0s2) { }; &&&&&&&&& \node [abstract2] (p2v0eth2) {eth2};\\ % \\ \\ \node [abstract2] (p1v1eth0) {eth0}; &&&&&&&&& \node (p1xenbr1s0) {xenbr1}; && \node [abstract1] (p1peth1) {peth1}; &&& &&& \node [abstract1] (p2peth1) {peth1}; && \node (p2xenbr1s0) {xenbr1}; &&&&&&&&& \node [abstract2] (p2v1eth0) {eth0};\\ \node [abstract2] (p1v1eth1) {eth1}; &&&&&&&&& \node (p1xenbr1s1) { }; && &&& &&& && \node (p2xenbr1s1) { }; &&&&&&&&& \node [abstract2] (p2v1eth1) {eth1};\\ % \\ \\ \node [abstract2] (p1v2eth0) {eth0}; &&&&&&&&& \node (p1xenbr2s0) {xenbr2}; && \node [abstract1] (p1peth2) {peth2}; &&& \node [physical] (iswitch) {Internet Connected Switch};&&& \node [abstract1] (p2peth2) {peth2}; && \node (p2xenbr2s0) {xenbr2}; &&&&&&&&& \node [abstract2] (p2v2eth0) {eth0};\\ \\ \\ \node [abstract2] (p1v3eth0) {eth0}; &&&&&&&&& && &&& &&& && &&&&&&&&& \node [abstract2] (p2v3eth0) {eth0}; \\ \\ \\ \node [abstract2] (p1v4eth0) {eth0}; &&&&&&&&& && &&& &&& && &&&&&&&&& \node [abstract2] (p2v4eth0) {eth0}; \\ \\ \\ \node [abstract2] (p1v5eth0) {eth0}; &&&&&&&&& && &&& &&& && &&&&&&&&& \node [abstract2] (p2v5eth0) {eth0}; \\ \\ \\ \node [abstract2] (p1v6eth0) {eth0}; &&&&&&&&& && &&& &&& && &&&&&&&&& \node [abstract2] (p2v6eth0) {eth0}; \\ \\ \\ \node [abstract2] (p1v7eth0) {eth0}; &&&&&&&&& && &&& &&& && &&&&&&&&& \node [abstract2] (p2v7eth0) {eth0}; \\ $~$\\ $~$\\ &&&&&&&&& && &&& \node [physical] (internet) {Internet Connection}; \\ }; \begin{pgfonlayer}{background} \node [physicaloverlay] (node0)[fit= (p1v0eth0) (p1v7eth0) (p1peth2)] { }; \node [physicaltitle] at (node0.north) {node01}; \node [abstract1] (p1v0)[fit= (p1v0eth0) (p1v0eth2)] { }; \node [abstract1title] at (p1v0.north) {dom0}; \node [abstract1] (p1v1)[fit= (p1v1eth0) (p1v1eth1)] { }; \node [abstract1title] at (p1v1.north) {fw01}; \node [abstract1] (p1v2)[fit= (p1v2eth0)] { }; \node [abstract1title] at (p1v2.north) {auth01}; \node [abstract1] (p1v3)[fit= (p1v3eth0)] { }; \node [abstract1title] at (p1v3.north) {web01}; \node [abstract1] (p1v4)[fit= (p1v4eth0)] { }; \node [abstract1title] at (p1v4.north) {web02}; \node [abstract1] (p1v5)[fit= (p1v5eth0)] { }; \node [abstract1title] at (p1v5.north) {res01}; \node [abstract1] (p1v6)[fit= (p1v6eth0)] { }; \node [abstract1title] at (p1v6.north) {dev01}; \node [abstract1] (p1v7)[fit= (p1v7eth0)] { }; \node [abstract1title] at (p1v7.north) {sql01}; \node [physicaloverlay] (node1)[fit= (p2v0eth0) (p2v7eth0) (p2peth2)] { }; \node [physicaltitle] at (node1.north) {node02}; \node [abstract1] (p2v0)[fit=(p2v0eth0) (p2v0eth2)] { }; \node [abstract1title] at (p2v0.north) {dom0}; \node [abstract1] (p2v1)[fit=(p2v1eth0) (p2v1eth1)] { }; \node [abstract1title] at (p2v1.north) {fw01}; \node [abstract1] (p2v2)[fit=(p2v2eth0)] { }; \node [abstract1title] at (p2v2.north) {auth01}; \node [abstract1] (p2v3)[fit=(p2v3eth0)] { }; \node [abstract1title] at (p2v3.north) {web01}; \node [abstract1] (p2v4)[fit=(p2v4eth0)] { }; \node [abstract1title] at (p2v4.north) {web02}; \node [abstract1] (p2v5)[fit=(p2v5eth0)] { }; \node [abstract1title] at (p2v5.north) {res01}; \node [abstract1] (p2v6)[fit=(p2v6eth0)] { }; \node [abstract1title] at (p2v6.north) {dev01}; \node [abstract1] (p2v7)[fit=(p2v7eth0)] { }; \node [abstract1title] at (p2v7.north) {sql01}; \node [abstract1] (p1xenbr0)[fit= (p1xenbr0s0) (p1xenbr0s2)] { }; \node [abstract1] (p1xenbr1)[fit= (p1xenbr1s0) ] { }; \node [abstract1] (p1xenbr2)[fit= (p1xenbr2s0)] { }; \node [abstract1] (p2xenbr0)[fit= (p2xenbr0s0) (p2xenbr0s2)] { }; \node [abstract1] (p2xenbr1)[fit= (p2xenbr1s0) ] { }; \node [abstract1] (p2xenbr2)[fit= (p2xenbr2s0)] { }; \end{pgfonlayer} \draw [thick] (p1v0eth0.east) -- +(3,0) node[midway,below] {vif0.0} -- ($(p1xenbr0.west)+(0,1.98)$); \draw [thick] (p1v1eth0.east) -- +(3,0) node[midway,below] {vif1.0} -- ($(p1xenbr0.west)+(0,1.5)$); \draw [thick] (p1v2eth0.east) -- +(3,0) node[midway,below] {vif2.0} -- ($(p1xenbr0.west)+(0,1)$); \draw [thick] (p1v3eth0.east) -- +(3,0) node[midway,below] {vif3.0} -- ($(p1xenbr0.west)+(0,0.5)$); \draw [thick] (p1v4eth0.east) -- +(3,0) node[midway,below] {vif4.0} -- (p1xenbr0.west); \draw [thick] (p1v5eth0.east) -- +(3,0) node[midway,below] {vif5.0} -- ($(p1xenbr0.west)+(0,-0.5)$); \draw [thick] (p1v6eth0.east) -- +(3,0) node[midway,below] {vif6.0} -- ($(p1xenbr0.west)+(0,-1)$); \draw [thick] (p1v7eth0.east) -- +(3,0) node[midway,below] {vif7.0} -- ($(p1xenbr0.west)+(0,-1.5)$); \draw [thick] ($(p1xenbr0.east)+(0,1.98)$) -- (p1peth0.west); \draw [thick] (p1peth0.east) -- (backswc.west); \draw [thick] (p2v0eth0.west) -- +(-3,0) node[midway,below] {vif0.0} -- ($(p2xenbr0.east)+(0,1.98)$); \draw [thick] (p2v1eth0.west) -- +(-3,0) node[midway,below] {vif1.0} -- ($(p2xenbr0.east)+(0,1.5)$); \draw [thick] (p2v2eth0.west) -- +(-3,0) node[midway,below] {vif2.0} -- ($(p2xenbr0.east)+(0,1)$); \draw [thick] (p2v3eth0.west) -- +(-3,0) node[midway,below] {vif3.0} -- ($(p2xenbr0.east)+(0,0.5)$); \draw [thick] (p2v4eth0.west) -- +(-3,0) node[midway,below] {vif4.0} -- (p2xenbr0.east); \draw [thick] (p2v5eth0.west) -- +(-3,0) node[midway,below] {vif5.0} -- ($(p2xenbr0.east)+(0,-0.5)$); \draw [thick] (p2v6eth0.west) -- +(-3,0) node[midway,below] {vif6.0} -- ($(p2xenbr0.east)+(0,-1)$); \draw [thick] (p2v7eth0.west) -- +(-3,0) node[midway,below] {vif7.0} -- ($(p2xenbr0.east)+(0,-1.5)$); \draw [thick] ($(p2xenbr0.west)+(0,1.98)$) -- (p2peth0.east); \draw [thick] (p2peth0.west) -- (backswc.east); \draw [thick] (backswc.north) -- (backnet.south); \draw [thick] (p1v0eth1.east) -- +(3,0) node[midway,below] {vif0.1} -- (p1xenbr1.west)+(0,0.5); \draw [thick] (p1v1eth1.east) -- +(3,0) node[midway,below] {vif1.2} -- ($(p1xenbr2.west)+(0,-0.5)$); \draw [thick] (p1xenbr1.east) -- (p1peth1.west); \draw [thick] (p1peth1.east) -- (p2peth1.west) node [midway,below] {DRBD Link}; \draw [thick] (p2xenbr1.west) -- (p2peth1.east); \draw [thick] (p2xenbr1.west) -- (p2peth1.east); \draw [thick] (p2v0eth1.west) -- +(-3,0) node[midway,below] {vif0.1} -- (p2xenbr1.east); \draw [thick] (p2v1eth1.west) -- +(-3,0) node[midway,below] {vif1.2} -- ($(p2xenbr2.east)+(0,-0.5)$); \draw [thick] (p1v0eth2.east) -- +(3,0) node[midway,below] {vif0.2} -- ($(p1xenbr2.west)+(0,0.5)$); \draw [thick] (p1xenbr2.east) -- (p1peth2.west); \draw [thick] (p1peth2.east) -- (iswitch.west); \draw [thick] (p2v0eth2.west) -- +(-3,0) node[midway,below] {vif0.2} -- ($(p2xenbr2.east)+(0,0.5)$); \draw [thick] (p2xenbr2.west) -- (p2peth2.east); \draw [thick] (p2peth2.west) -- (iswitch.east); \draw [thick] (iswitch.south) -- (internet.north); \end{tikzpicture} \end{document}