<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6808133433993933245</id><updated>2024-11-05T19:00:34.922-08:00</updated><category term="Almacenamiento"/><category term="Networks"/><category term="Monitorización"/><category term="Sistemas"/><category term="Comandos Linux"/><category term="Desarrollo"/><category term="Seguridad"/><category term="perl"/><category term="programación"/><category term="virtualización"/><category term="HP"/><category term="Hacking"/><category term="Navegadores"/><category term="Oficina"/><category term="SAN"/><category term="SVC"/><category term="Shell script"/><category term="Storage"/><category term="TSM"/><category term="backup"/><category term="eMail"/><category term="tivoli"/><title type='text'>Linux Reporting</title><subtitle type='html'>Notas de un SysAdmin</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-7895979330882369327</id><published>2010-07-01T04:58:00.000-07:00</published><updated>2010-07-02T06:48:40.822-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>IBRIX - The Intelligent Network Fabric</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://legacyweb.triumf.ca/hepix2003/ibrix.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 183px; height: 51px;&quot; src=&quot;http://legacyweb.triumf.ca/hepix2003/ibrix.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;HP Adquiere IBRIX para Potenciar las Capacidades de Almacenamiento en Entornos Scale-Out. HP e IBRIX anuncian un acuerdo definitivo por el que HP adquiere IBRIX, proveedor de primera fila de software file serving de empresa que incluye protección de datos, funciones de alta disponibilidad y servicios de gestión de datos para instalaciones informáticas de altas prestaciones, cloud y scale-out extremos.&lt;/blockquote&gt;&lt;blockquote&gt;Con una escalabilidad de decenas de petabytes, las empresas pueden controlar el crecimiento masivo de los datos y acometer los desafíos que plantea el funcionamiento de las aplicaciones en los entornos más exigentes. La capacidad de gestión de datos de la suite de software Fusion de IBRIX también permite a las empresas ir añadiendo capacidad sin problemas a medida que vayan creciendo sus prestaciones o sus datos.&lt;/blockquote&gt; Mas adelante hablare extensamente sobre este software de &quot;file Serving&quot; implementado en la serie X9000 de HP.</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/7895979330882369327/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/7895979330882369327' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7895979330882369327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7895979330882369327'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2010/07/ibrix-intelligent-network-fabric.html' title='IBRIX - The Intelligent Network Fabric'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-6181434985366760163</id><published>2010-06-04T04:10:00.000-07:00</published><updated>2010-07-19T04:31:59.578-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="HP"/><title type='text'>HP Data Protector A.06.00</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.pcrush.com/images/hi-res/126454.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;http://www.pcrush.com/images/hi-res/126454.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;HP Openview DataProtector es un software de gestión de backups que soporta copias de seguridad tanto a disco como a cinta. Está diseñado para simplificar las tareas de backup y recuperación de datos reduciendo los tiempos de realización a la menor ventana posible. DataProtector soporta distintos tipos de backups;&lt;br /&gt;&lt;br /&gt;• Backup de sistemas completos&lt;br /&gt;• Backup on-line de bases de datos (Oracle, SQL)&lt;br /&gt;• Backup de ficheros abiertos&lt;br /&gt;• Backups de desastre (zero-downtime backups).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Introducción:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es un producto desarrollado para integrar las copias de datos en entornos muy complejos de grandes empresas lo que permite realizar una recuperación de datos en pocos minutos. DataProtector simplifica los procedimientos de backup y recuperación de datos. Los principales componentes de VitalNet:&lt;br /&gt;&lt;br /&gt;• Rápida instalación de los agentes de backup e integración&lt;br /&gt;• Tareas de rutina automatizadas&lt;br /&gt;• Facilidad de operación&lt;br /&gt;• Extensible y fácilmente escalable desde un entorno simple a un entorno distribuido complejo.&lt;br /&gt;• Proporciona mecanismos de mantenimiento off-line de las librerías.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Componentes principales de DataProtector:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;• Cell Server: se divide la red en células (Cell) que representan la estructura de la organización. Cada célula se instala y configura de forma separada. Una célula consiste en un conjunto de nodos, donde uno de ellos es el “cell Server” y los demás son clientes. Un nodo solo puede pertenecer a una célula. En el se ejecutan los procesos “core” de Data Protector. En el reside la base de datos IDB de Data Protector.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGkbAYQeoKs9Yymjn_ayJgAmXambW8UE5dzKS9T1rsQ_wxHNhEj9j5jZ2i-p3ZNKQiPSs5usAyqg0LrICnI43dbcsDKPkllVNXBGiOFQgpWtSPS9r6GlJdkl66PQuxENyonvMp973IlReR/s1600/sanbackupcd8.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 420px; height: 312px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGkbAYQeoKs9Yymjn_ayJgAmXambW8UE5dzKS9T1rsQ_wxHNhEj9j5jZ2i-p3ZNKQiPSs5usAyqg0LrICnI43dbcsDKPkllVNXBGiOFQgpWtSPS9r6GlJdkl66PQuxENyonvMp973IlReR/s320/sanbackupcd8.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5478923993129890722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• Disk Agent: un cliente puede ser cualquier sistema que soporte los agentes de Data Protector. Agente que se instala en un sistema del que se quieren hacer backups&lt;br /&gt;&lt;br /&gt;• Media Agent: Agente que se instala en aquellos dispositivos donde se van a almacenar los datos del backup, aquellos equipos que tienen conexión directa con los dispositivos de backup (medios).&lt;br /&gt;&lt;br /&gt;• Integration Modules: Agentes de integración de aplicativos de los cuales se quiere hacer backup como son los módulos de backup on-line de BD Oracle o interacción de backup on-line de ficheros abiertos.&lt;br /&gt;&lt;br /&gt;• Installation Servers: Modulo utilizado por DataProtector para realizar la instalación remota de agentes y módulos de integración a los clientes de la célula.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Principales características funcionales de la plataforma son:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;• Procedimientos de backup antes mencionados.&lt;br /&gt;• Proporciona medios de protector de discos, cintas y combinación de ambos.&lt;br /&gt;• Soporta: SAN, librerías directas, NAS, network backup, soporte de entornos cluster, backup a través de firewalls y librerías compartidas por múltiples sistemas.&lt;br /&gt;• Permite la utilización de librerías compartidas permitiendo en el uso concurrente de drives, load-balacing distribuyendo la copia en distintos drives&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Instalación de Data Protector:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El diagrama de Arquitectura de instalación es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin2MknxoKKyEKhknIyE6IetpJp2eBQzlHL5yziji03hzNDaiKBIPHYsErQsOem73fm_Q2ZYIyPLfV2KINVtkNh-su7iV61vjz3Kge1EFWGjGxi_2nasTRG9iOde6CKuwhWgm1MdFqoUds1/s1600/cell_manager.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 299px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin2MknxoKKyEKhknIyE6IetpJp2eBQzlHL5yziji03hzNDaiKBIPHYsErQsOem73fm_Q2ZYIyPLfV2KINVtkNh-su7iV61vjz3Kge1EFWGjGxi_2nasTRG9iOde6CKuwhWgm1MdFqoUds1/s320/cell_manager.PNG&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5478925913077762674&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CLI Data Protector&lt;br /&gt;&lt;div class=&quot;csscode&quot;&gt;&lt;pre&gt;&lt;code&gt;omnicc                           -&gt; numero de licencias&lt;br /&gt;omnicc -check_licenses -detail   -&gt; todas las licencias de forma detallada&lt;br /&gt;omnicellinfo -group              -&gt; grupos backups&lt;br /&gt;omnicellinfo -db                 -&gt; Información Base datos interna (IDB)&lt;br /&gt;omnicellinfo -mm [-detail]       -&gt; media y media pools &lt;br /&gt;omnicellinfo -cell               -&gt; Configuración clientes cell&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/6181434985366760163/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/6181434985366760163' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6181434985366760163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6181434985366760163'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2010/06/hp-data-protector-a0600.html' title='HP Data Protector A.06.00'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGkbAYQeoKs9Yymjn_ayJgAmXambW8UE5dzKS9T1rsQ_wxHNhEj9j5jZ2i-p3ZNKQiPSs5usAyqg0LrICnI43dbcsDKPkllVNXBGiOFQgpWtSPS9r6GlJdkl66PQuxENyonvMp973IlReR/s72-c/sanbackupcd8.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-6606032486031695126</id><published>2010-04-28T08:29:00.000-07:00</published><updated>2010-04-28T10:10:52.266-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><category scheme="http://www.blogger.com/atom/ns#" term="SAN"/><category scheme="http://www.blogger.com/atom/ns#" term="SVC"/><title type='text'>Trabajando con SVC (SAN Volume Controller)</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://farm3.static.flickr.com/2421/4012584096_7cbe074211.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 130px;&quot; src=&quot;http://farm3.static.flickr.com/2421/4012584096_7cbe074211.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;SAN Volume Controller es un dispositivo que permite que los usuarios virtualicen su almacenamiento y ayuda a aumentar la utilización de capacidad existente, así como centralizar la administración de múltiples controladores en un ambiente SAN de sistema abierto. SAN Volume Controller también está diseñado para permitir que los administradores reasignen, escalen la capacidad de almacenamiento y realicen cambios en sistemas de almacenamiento subyacentes sin interrumpir las aplicaciones. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt;&lt;br /&gt;&lt;br /&gt;Las principales características de un Cluster SVC son:&lt;br /&gt;&lt;br /&gt;- Cluster 8 Nodos dividido en 4 bloques de entrada salida (I/O Groups) &lt;br /&gt;- Alta disponibilidad ya que normalmente cuenta con 2 &lt;a href=&quot;http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_de_almacenamiento&quot;&gt;Fabrics&lt;/a&gt;. &lt;br /&gt;- 4 puertos/nodo = 32 puertos (16 en cada Fabric) &lt;br /&gt;- Cada nodo Cluster tiene 2 puertos conectados a cada uno de los Fabrics. &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9bgfsX3EVr_Kox7ElNhQxd6HeaitylOM0s9igv1xZwffmEIKIvyVV6u0BL1rdpc86gr-3XUQnsZZHCVk6JngKOR9JApyjhW7qhiYsIX-LhHajBSjuXLedzaOp6ezFRQoJon3rIGb5oPez/s1600/svc.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 302px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9bgfsX3EVr_Kox7ElNhQxd6HeaitylOM0s9igv1xZwffmEIKIvyVV6u0BL1rdpc86gr-3XUQnsZZHCVk6JngKOR9JApyjhW7qhiYsIX-LhHajBSjuXLedzaOp6ezFRQoJon3rIGb5oPez/s320/svc.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5465212855746340690&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La información suele estar estructurada de la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga9L6HWt5nCvWbzCMLE51WSrH0eEsuOv2ybXxOiDmqZYOv9JBfJFAMY-QQFPDsv2mPWkBlqAy0RrIRBoVLepd9t8qHapYUiyO93Tcfs1A_wfPyrJz3lSCotMnzQjE6tNAZ8oxXnmrQ3PDM/s1600/managed_disk_group.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 114px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga9L6HWt5nCvWbzCMLE51WSrH0eEsuOv2ybXxOiDmqZYOv9JBfJFAMY-QQFPDsv2mPWkBlqAy0RrIRBoVLepd9t8qHapYUiyO93Tcfs1A_wfPyrJz3lSCotMnzQjE6tNAZ8oxXnmrQ3PDM/s320/managed_disk_group.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5465213797066081570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Ejemplo de Estructura de la información: &lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;Unidad    Definición&lt;br /&gt;·······································································&lt;br /&gt;MDISK      Volúmenes de discos presentados a las cabinas. Máximo 2TB &lt;br /&gt;MDGroup    Agrupación de MDISK bajo un criterio. &lt;br /&gt;Extents    Información Dividida en unidad mínima para presentar al SVC &lt;br /&gt;VDISK      Volúmenes que se presentan a los host. &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Ejemplo Configruación I/O Groups por plataforma:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;I/O Group Nodo SVC Plataforma&lt;br /&gt;·······································································&lt;br /&gt;IO-GROUP 0 SVC1:SVC7 Plataforma1&lt;br /&gt;IO-GROUP 1 SVC2:SVC8 Plataforma2&lt;br /&gt;IO-GROUP 2 SVC4:SVC10 Plataforma3 &lt;br /&gt;IO-GROUP 3 SVC5:SVC11 Plataforma4&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;MDGS (Managed Disk Groups):&lt;/span&gt; &lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;Mdisk Group Plataformas&lt;br /&gt;·······································································&lt;br /&gt;MDG1_Linux      Plataforma1 &lt;br /&gt;MDG2_Win        Plataforma2 &lt;br /&gt;MDG3_Vmware     Plataforma3&lt;br /&gt;MDG4_Unix       Plataforma4&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Proceso por pasos para identificar el I/O Group y MDisk correspondiente a un Host:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Accedemos al GUI del SVC a traves de ip: &quot;IPSERVERSVC&quot;:9080.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;· With Host [Work with host &gt; Host]&lt;br /&gt;     1 Seleccionas el Host para el que se desea obtener la información. &lt;br /&gt;        - En el menu desplegable “Show de VDisks Mapped to this host”&lt;br /&gt;          - Pulsamos Go &lt;br /&gt;&lt;br /&gt;*En la tabla que resulta de pinchar en “Go”, podemos observar la columna I/O Group donde podemos ver el I/O Group al que pertenece el Host y la columna MDisk Group, donde nos dice el MDisk.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Proceso Asignación de Nuevos Vdisks (LUN&#39;s):&lt;/span&gt; &lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;1.- Crear Vdisk (parámetros generales)&lt;br /&gt;        - Mdisk Group desde el cual debe crearse &lt;br /&gt;        - Tamaño &lt;br /&gt;        - Nombre identificativo &lt;br /&gt;        - I/O Group (I/O por donde se enruta el trafico) &lt;br /&gt;* En la selección &quot;set attributes&quot; de la creación de un  vdisk no utilizamos UNIT DEVICE IDENTIFIER (UDI). &lt;br /&gt;* Cuando no añades ninguno te los selecciona todos para cuando sean unidades de tamaño considerable &gt;10G. El efecto lateral es que te hace un stripping de todos los extents dentro de cada Mdisk, perteneciente a un MDG (Managed Disk Group). &lt;br /&gt;&lt;br /&gt;2.- Declarar el/los Host/s &lt;br /&gt;        - Cuando se trata de un host Nuevo &lt;br /&gt;        - Asignar uno o mas WWPN (World Wide Port Name) &lt;br /&gt;&lt;br /&gt;3.- Mapeado de volumen con host/s &lt;br /&gt;        - Vinculo entre los vdisk y los host. &lt;br /&gt;        - Numero Identificativo del vinculo = LUN ID o SCSI ID&lt;br /&gt;          * Preferible hacerlo por SSH .&lt;br /&gt;&lt;br /&gt;4.- Mapeado de volumen con host/s vía SSH&lt;br /&gt; # svctask (Comando tareas SVC) &lt;br /&gt; # svcinfo (Información tareas SVC)&lt;br /&gt; &lt;br /&gt;        Ejemplo Mapeado de Host:&lt;br /&gt;        # svctask mkvdiskhostmap -force -host “hostname” (-scsi) (id_scsi) &lt;id_vdisk&gt; &lt;br /&gt;        *Una vez hecho, en el interfaz SVC fijarse en las UIDS de los VDISK creadas, &lt;br /&gt;         esto sera lo que enviaremos vía e-mail a los usuarios que solicitan las LUNS. &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Continuara ...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/6606032486031695126/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/6606032486031695126' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6606032486031695126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6606032486031695126'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2010/04/trabajando-con-svc-san-volume.html' title='Trabajando con SVC (SAN Volume Controller)'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2421/4012584096_7cbe074211_t.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-4619293212488286662</id><published>2010-04-28T06:07:00.000-07:00</published><updated>2010-04-28T08:27:54.250-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><category scheme="http://www.blogger.com/atom/ns#" term="Storage"/><category scheme="http://www.blogger.com/atom/ns#" term="tivoli"/><category scheme="http://www.blogger.com/atom/ns#" term="TSM"/><title type='text'>Introducción a TSM (Tivoli Storage Manager)</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.targetfour.com/images/st/tivoli_logo.gif&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 194px; height: 82px;&quot; src=&quot;http://www.targetfour.com/images/st/tivoli_logo.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; TSM es una solución orientada a la empresa que integra automáticamente backup de red, almacenamiento y recuperación administración del almacenamiento y recuperación de desastre. El grupo de productos Tivoli Storage Manager es ideal para los ambientes heterogéneos, y datos intensivos; soportando a 35 plataformas y a 250 dispositivos de almacenamiento a través de LANs, de WANs y de SANs, suministrando además protección para las bases de datos y aplicaciones de e-mail. &lt;br /&gt;&lt;br /&gt;Un ejemplo de arquitectura:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.datadomain.com/images/solutions/Enterprise-IBM.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 505px; height: 380px;&quot; src=&quot;http://www.datadomain.com/images/solutions/Enterprise-IBM.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Las mejoras de características para el servidor y el cliente explotan la tecnología Storage Area Network (SAN) y responden a la necesidad de acelerar las operaciones de backup y restauración. Tivoli Storage Manager utiliza bibliotecas compartidas SAN, dando a servidores múltiples la capacidad de compartir una biblioteca automatizada en una configuración Storage Area Network (SAN) de alto rendimiento.&lt;br /&gt;&lt;br /&gt;La característica de transferencia de datos del cliente LAN-free reduce el tráfico de la red y mejora el ancho de banda haciendo copias de seguridad y restaurando datos desde discos attachados SAN o cintas de almacenamiento.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt; Antes de nada recordemos un poco los modelos de backup de almacenamiento:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Modelos de almacenamiento:&lt;/b&gt;&lt;div&gt;&lt;br /&gt;- Backup Full (Copia íntegra del host)&lt;br /&gt;- Backup Incremental (varios tipos, mirando atributos)&lt;br /&gt;- Backup Diferencial (cambios con respecto al primer día) *se utiliza sobre todo en bases de datos&lt;br /&gt;- Backup Sintética (Syntetic) Sin la intervención del cliente  problema.&lt;br /&gt;&lt;br /&gt;* TSM utiliza siempre la Incremental (versión activa).&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz3MdilzHiCqkdZBJbCdqAc86m_hmk_CRiD6pXOX4Y6pCYw8-S_1QfditkZVMVaRyeOgvKhLpWWQhscGAi6vK4LkJCrH50dOwKhtVnuHPrtZUpMYQDqXAOKx4uMFt2GiLT6Dy7Wtnt2f5e/s1600/arquitecturas_LAN.JPG&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 320px; height: 72px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz3MdilzHiCqkdZBJbCdqAc86m_hmk_CRiD6pXOX4Y6pCYw8-S_1QfditkZVMVaRyeOgvKhLpWWQhscGAi6vK4LkJCrH50dOwKhtVnuHPrtZUpMYQDqXAOKx4uMFt2GiLT6Dy7Wtnt2f5e/s320/arquitecturas_LAN.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5465183272620713266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dentro del un fichero “name_profile”.opt  ENABLELANFREE=YES para LAN free Backup. Corre un servicio que se llama&lt;br /&gt;TSM StorageAgent (/Tivoli/TSM/StorageAgent). El fichero dsmsta.opt de este directorio tiene que tener el siguiente parámetro: SERVERNAME= “NombreServidor”&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# define server STA_Nombre (en el servidor TSM)&lt;br /&gt;# dsmsta set storageserver serverpass=”password”…&lt;br /&gt;-&gt; Genera un fichero devconfig.out (incluye el servername en el dsmsta.out y un devconfig.txt)&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Características TSM (Tivoli Storage Manager):&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;TSM se basa en un esquema cliente/servidor:&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Verdana, sans-serif;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:11px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:Georgia, serif;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  &lt;div align=&quot;center&quot;&gt;  &lt;table class=&quot;MsoNormalTable&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;border-collapse:collapse;mso-table-layout-alt:fixed;mso-padding-alt:  2.75pt 2.75pt 2.75pt 2.75pt&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;mso-yfti-irow:0;mso-yfti-firstrow:yes&quot;&gt;   &lt;td width=&quot;194&quot; valign=&quot;top&quot; style=&quot;width:145.5pt;border:solid white 1.0pt;   border-right:none;mso-border-top-alt:solid white .25pt;mso-border-left-alt:   solid white .25pt;mso-border-bottom-alt:solid white .25pt;background:black;   padding:2.75pt 2.75pt 2.75pt 2.75pt&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:white;&quot;&gt;SERVIDOR   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width=&quot;224&quot; valign=&quot;top&quot; style=&quot;width:168.0pt;border:solid white 1.0pt;   mso-border-alt:solid white .25pt;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:white;&quot;&gt;CLIENTE   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;mso-yfti-irow:1;mso-yfti-lastrow:yes&quot;&gt;   &lt;td width=&quot;194&quot; valign=&quot;top&quot; style=&quot;width:145.5pt;border-top:none;border-left:   solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;   mso-border-left-alt:solid black .25pt;mso-border-bottom-alt:solid black .25pt;   padding:2.75pt 2.75pt 2.75pt 2.75pt&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;BBDD&lt;span style=&quot;mso-spacerun:yes&quot;&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;Recovery   Logs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;Planificador&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;ISC   (interfaz administración)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;CLI   (linea de comandos)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td width=&quot;224&quot; valign=&quot;top&quot; style=&quot;width:168.0pt;border:solid black 1.0pt;   border-top:none;mso-border-left-alt:solid black .25pt;mso-border-bottom-alt:   solid black .25pt;mso-border-right-alt:solid black .25pt;padding:2.75pt 2.75pt 2.75pt 2.75pt&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;GUI   (Interfaz Gráfica) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;CLI (línea   de comandos) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;EN-US&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;   mso-ansi-language:EN-USfont-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;Planificador (Scheduler) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;EN-US&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;   mso-ansi-language:EN-USfont-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;Agente Lan Free&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span lang=&quot;EN-US&quot;    style=&quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;   mso-ansi-language:EN-USfont-family:&amp;quot;;font-size:8.0pt;color:black;&quot;&gt;TDP (SQL, ORACLE, Storage Agent &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;* Management Console (Para ver todas las caracteristicas del Servidor TSM en GUI).&lt;/p&gt;* La BBDD del TSM y el Recovery Logs son Críticos!!!, si por lo que sea se pierde, hemos perdido toda la información de backup y en principio no se podría recuperar. Se hace backup diario de la BBDD del TSM, que implica una limpia del Recovery Log.&lt;br /&gt;&lt;br /&gt;El recovery_log tiene un límite máximo de 13 GB, si se pasa de ese tamaño se produce un error, de ahí que cada vez que se hace backup de la BBDD se limpie el log.&lt;br /&gt;&lt;br /&gt;Si tuviéramos una carga de trabajo que generara más de 13GB en el recovery log, habría dos posibles soluciones: (A) Trabajar con dos TSM y separar la carga de trabajo. (B) Hacer más de un Backup de la BBDD al día (si estamos en esa situación, también tendríamos seguramente sobrecarga de trabajo en el servidor TSM).&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-size:small;&quot;&gt;Dispositivos de almacenamiento en TSM&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Tipos de dispositivos: Disco y Cinta.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# he “comando”         Ayuda Comando&lt;br /&gt;# lsdev –cc tape       Listar discos TSM entornos Unix&lt;br /&gt;# tsmdlst              Listar discos TSM entornos Win&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Primero tenemos que definirlos:&lt;br /&gt;&lt;br /&gt;TSM ve drive y librerías. SA (Storage Agent) solo ve drives (Cintas).&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# define library       Definimos la librería&lt;br /&gt;# define path library  Camino hacia la librería&lt;br /&gt;# define drive         Definimos un Drive&lt;br /&gt;# define path drive    Camino hacia el drive&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Comandos query &amp;amp; select:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# q path d=f           Mostrar los PATH&lt;br /&gt;# q devclass           Muestra clases de dispositivos&lt;br /&gt;- mount retention Al terminar de escribir cuanto tiempo espero para desmontar (def 60s)&lt;br /&gt;- mount wait  Espera un tiempo… (Mirar en help)&lt;br /&gt;# q drive f=d          Muestra cintas con formato detallado&lt;br /&gt;# q libvol             Muestra Todas las cintas dentro de la librería&lt;br /&gt;# q vol                Muestra todas las cintas que tienen datos, estén donde estén.&lt;br /&gt;# q stg                Query StoragePool (Todos los Storage Pool que existen)&lt;br /&gt;# q opt                Opciones generales de tsm&lt;br /&gt;# q act se=”search”    Mostrar lo que ha estado haciendo TSM (activity Log)&lt;br /&gt;# q script             Muestra script que hemos creado en el sistema para TSM&lt;br /&gt;# q sess               Sesiones activas en el server TSM&lt;br /&gt;# q even **            Muestra todas las planificaciones de clientes&lt;br /&gt;# q even * type=admin  Muestra planificaciones administrativas&lt;br /&gt;# q node               Clientes que tenemos&lt;br /&gt;&lt;br /&gt;# select * from libvolumes where status=’scratch’ (Muestra cintas con formato Scratch)&lt;br /&gt;# select * from syscat.tables (Todas las tablas relacionadas con formato cintas)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Cambios Físicos en la Librería:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# checkout             Sacar una cinta&lt;br /&gt;# checkin              Meter una cinta&lt;br /&gt;# update Library       Actualizar estado físico de la librería (nº cintas)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Definir volúmenes o discos para TSM (Storage Pool Disco):&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# define stg  Dispol&lt;br /&gt;# define vol f:\TSMgroup\disk1.dsm f=100GB&lt;br /&gt;# define vol f:\TSMgroup\disk2.dsm f=200GB&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Ejemplo Definir storage pool Discos:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# define stgpool “poolname” “poolclass”&lt;br /&gt;# q stg&lt;br /&gt;# define vol “poolname” “volname” formatsize=”format_size”&lt;br /&gt;# q pr (ver procesos)&lt;br /&gt;# q stg&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Como se pasan datos de un pool a otro:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#move data “Source_vol_name” “target_stgpool”&lt;br /&gt;&lt;br /&gt;Reclamación  (Umbral 60%, Datos sueltos en cintas se pasan a 1)&lt;br /&gt;Colocación  (Asignar cintas por Nodo o por Grupo)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- Monitorización TSM:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;Lanzamos dsmadmc –console (modo consola, solo monitorización)&lt;br /&gt;&lt;br /&gt;# actlog (activity Log)&lt;br /&gt;# q act begin=”fecha”  search=”parámetro”&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Políticas de Backups&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Políticas de Backup en TSM:&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:monospace;font-size:100%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; white-space: pre;font-size:13px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;font-family:verdana;font-size:130%;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot; white-space: normal;font-size:16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;pre&gt;&lt;code&gt;PD – Policy Domain  Nombre Dominio de Politicas (PD_Name)&lt;br /&gt; PS – Policy Set   Nombre de Configuración de Politica (PS_Name)&lt;br /&gt;  MC – Management Class Clase de Mantenimiento (1 default, resto asignar) (MC_Name)&lt;br /&gt;   BG – Backup Group  Grupo de Backup (Políticas de Copias con versiones activas de archivos)&lt;br /&gt;        -&gt; NOLIMIT  No utilizamos Versiones.&lt;br /&gt;        -&gt; DESTINATION  Nombre StoragePool de destino&lt;br /&gt;        -&gt; VEREXISTS  Cuantas versiones de ficheros mantengo (versiones activas)&lt;br /&gt;        -&gt; VERDELETE  Cuantas versiones de ficheros borrados mantengo (versiones inactivas)&lt;br /&gt;        -&gt; RETEXTRA  Número de días que permanece activo el archivo.&lt;br /&gt;        -&gt; RETONLY  Por cuantos días mantengo los archivos borrados.&lt;br /&gt;        -&gt; SERIALIZATION SHRSTATIC&lt;br /&gt;                     SHRDYNAMIC&lt;br /&gt;                     STATIC&lt;br /&gt;                     DYNAMIC&lt;br /&gt;&lt;br /&gt;AG – Archive Group         Grupo de archivado (Políticas de Copias Archivado con limite de días)&lt;br /&gt;        -&gt; DESTINATION  Donde Se archiva&lt;br /&gt;        -&gt; RETVER  Cuantos días pasan antes de borrar el archivado&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Backup Base de datos TSM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El tamaño máximo del log es de 13GB. Debemos poner el log en un disco distinto a la base de datos. Existen dos modos de backup:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;NORMAL   Backup Full (el log necesita menos espacio y el TSM no se cae)&lt;br /&gt;ROLLFORWARD   Backup incremental último minuto  (el log necesita más espacio y TSM se cae si se llena)&lt;br /&gt;&lt;br /&gt;# define dbvol   Definimos volumen de la base de datos&lt;br /&gt;# q db    Muestra bases de datos&lt;br /&gt;# q dbvol   Muestra volúmenes de bases datos&lt;br /&gt;# q dbvol f=d   Muestra Detalladamente volúmenes bases de datos   &lt;br /&gt;# define logvol   Definimos le volumen del log&lt;br /&gt;# q log    Muestra Información log base datos&lt;br /&gt;# q logvol   Muestra volúmenes de log de base datos&lt;br /&gt;# q logvol f=d   Muestra detalladamente volúmenes de bases de datos.&lt;br /&gt;&lt;br /&gt;# extend db   Se extiende la base de datos el tamaño que queremos &lt;br /&gt;# reduce db   Se reduce el tamaño de la base de datos en lo que le mostremos&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Opciones Volumen de Base Datos:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;Capacidad disponible  Total de la capacidad de los volúmenes&lt;br /&gt;Capacidad asignada  Capacidad que asignamos para la base de datos&lt;br /&gt;Porcentaje de utilización Porcentaje de utilización actual&lt;br /&gt;Máximo porcentaje utilización Definimos el máximo porcentaje que se puede usar&lt;br /&gt;Máxima extensión  Límite cuanto podemos extender&lt;br /&gt;Máxima reducción   Límite cuanto podemos reducir&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Registro de Usuarios Clientes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Registrar usuarios clientes de TSM:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;#reg “name_client” PD_Unix  &lt;br /&gt;        /usr/ AIX&lt;br /&gt;        /opt/ other Unix/Linux Systems&lt;br /&gt;            dsm.opt&lt;br /&gt;      -Servername “Server1”&lt;br /&gt;            dsm.sys&lt;br /&gt;             -Nodename “nombre_cliente”&lt;br /&gt;             -TpcServeraddres “IP_server”&lt;br /&gt;&lt;br /&gt;#reg “name_client” PD_Windows&lt;br /&gt;#dsm opt&lt;br /&gt;        Nodename (Name_client) &lt;br /&gt; Tpcserveraddres (Dirección Servidor)&lt;br /&gt;# dsm nombre opt &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Configurando Backups en Clientes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Client Command Line( CCL) se encuentra:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;Windows          Program Files/Tivoli/TSM/baclient&lt;br /&gt;AIX   /usr/Tivoli/client/ba/bin&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;GUI (Web Client Interface) &gt; http://x.x.x.x:1581&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# dsm   Backup - Archive GUI Windows&lt;br /&gt;# dsmj   Backup – Archive GUI UNIX&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Restaurar Base Datos desde consola:&lt;br /&gt;&lt;br /&gt;Cuando se va a realizar un cambio en los ficheros opt, debemos parar todos los servicios que se encuentran con: Ps –fe | grep dsm (dsm scheduler) y volver a lanzarlos. DsmCAD (Client Acceptor Daemon) Demonio que maneja el scheduler.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# dsmc restore db vol Restaurar la base de datos de TSM desde consola.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Ficheros importantes TSM:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;dsmserv.opt  Configuraciones del servidor. (Mirar Guía de rendimiento para optimizar)&lt;br /&gt;dsmserv.dsk  Almacena Dirección archivo configuración Servidor&lt;br /&gt;volhist.out  TSM guarda todo su histórico de volúmenes.&lt;br /&gt;devconfig.out  Histórico dispositivos TSM&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Pasar datos de disco a cinta:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# Migrate STGpool “Volumen_Disco” “pool_Cinta”&lt;br /&gt;# &lt;br /&gt;# &lt;br /&gt;# bk db&lt;br /&gt;# bk volhist. out&lt;br /&gt;# bk devconfig.out&lt;br /&gt;# delete …&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/4619293212488286662/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/4619293212488286662' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4619293212488286662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4619293212488286662'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2010/04/introduccion-tsm-tivoli-storage-manager.html' title='Introducción a TSM (Tivoli Storage Manager)'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz3MdilzHiCqkdZBJbCdqAc86m_hmk_CRiD6pXOX4Y6pCYw8-S_1QfditkZVMVaRyeOgvKhLpWWQhscGAi6vK4LkJCrH50dOwKhtVnuHPrtZUpMYQDqXAOKx4uMFt2GiLT6Dy7Wtnt2f5e/s72-c/arquitecturas_LAN.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-7978068844901210901</id><published>2010-04-16T05:19:00.000-07:00</published><updated>2010-04-19T06:18:26.889-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><category scheme="http://www.blogger.com/atom/ns#" term="programación"/><title type='text'>Catalyst</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://images.amazon.com/images/P/1430223650.01._SCLZZZZZZZ_.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 282px;&quot; src=&quot;http://images.amazon.com/images/P/1430223650.01._SCLZZZZZZZ_.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Recomiendo este libro a todo aquel que se quiera iniciar en Catalyst web Framework. Catalyst utiliza MVC. ¿Que es esto?:&lt;br /&gt;&lt;br /&gt;Es una metodología o estilo para construir aplicacines que divide la implementación en modelo, vista y controlador. el modelo es la representación de la información con el cual opera el sistema. La vista representa el modelo en un formato de salida para interactuar con el usuario (GUI). El controlador es la parte del sistema que responde a eventos del usuario e interactua con el modelo con la info de entrada.&lt;br /&gt;&lt;br /&gt;En las siguientes anotaciones podrás encontrar varios métodos de instalación para ubuntu (apt-get / CPAN), creación de un proyecto, anotaciones sobre el Helper TTSite, Action Types, FormBuilder, Template toolkit y un ejemplo practico. Espero que os sirva de iniciación :)&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt;&lt;br /&gt;Instalación Catalyst Apt-get:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;    &lt;br /&gt; - libcatalyst-perl&lt;br /&gt; - libcatalyst-engine-apache-perl&lt;br /&gt; - libcatalyst-model-cdbi-perl&lt;br /&gt; - libcatalyst-modules-extra-perl&lt;br /&gt; - libcatalyst-modules-perl&lt;br /&gt; - libcatalyst-view-tt-perl&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Instalación Catalyst CPAN:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt; - Catalyst::Runtime&lt;br /&gt; - Catalyst::Devel&lt;br /&gt; - Task::Catalyst&lt;br /&gt; - Catalyst::Model::DBIC::Schema&lt;br /&gt; - Catalyst::View::TT&lt;br /&gt; - DBD::SQLite&lt;br /&gt; - DBIx::Class&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;# catalyst.pl evento -&gt; crea una la carpeta evento con el contenido:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt; .&lt;br /&gt; |-- Changes&lt;br /&gt; |-- Makefile.PL&lt;br /&gt; |-- README&lt;br /&gt; |-- evento.conf&lt;br /&gt; |-- lib&lt;br /&gt; |   |-- evento&lt;br /&gt; |   |   |-- Controller&lt;br /&gt; |   |   |   `-- Root.pm&lt;br /&gt; |   |   |-- Model&lt;br /&gt; |   |   `-- View&lt;br /&gt; |   `-- evento.pm&lt;br /&gt; |-- root&lt;br /&gt; |   |-- favicon.ico&lt;br /&gt; |   `-- static&lt;br /&gt; |       `-- images&lt;br /&gt; |           |-- btn_120x50_built.png&lt;br /&gt; |           |-- btn_120x50_built_shadow.png&lt;br /&gt; |           |-- btn_120x50_powered.png&lt;br /&gt; |           |-- btn_120x50_powered_shadow.png&lt;br /&gt; |           |-- btn_88x31_built.png&lt;br /&gt; |           |-- btn_88x31_built_shadow.png&lt;br /&gt; |           |-- btn_88x31_powered.png&lt;br /&gt; |            |-- btn_88x31_powered_shadow.png&lt;br /&gt; |           `-- catalyst_logo.png&lt;br /&gt; |-- script&lt;br /&gt; |   |-- evento_cgi.pl&lt;br /&gt; |   |-- evento_create.pl&lt;br /&gt; |   |-- evento_fastcgi.pl&lt;br /&gt; |   |-- evento_server.pl&lt;br /&gt; |   `-- evento_test.pl&lt;br /&gt; `-- t&lt;br /&gt;     |-- 01app.t&lt;br /&gt;     |-- 02pod.t&lt;br /&gt;     `-- 03podcoverage.t&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Ahora lanzamos el Server Catalyst:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt; $ script/evento_server.pl -r                -&gt; Ejecutamos el servidor de Catalyst.&lt;br /&gt; Navegador -&gt; http://localhost:3000          -&gt; Ver pagina bienvenida&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Nuestra controladora creada está ubicada en lib/evento/Controller y desde allí vamos a crear todos los método necesarios para nuestra aplicación.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt; $ scritp/evento_create.pl Controller registro       -&gt; Creamos un controlador&lt;br /&gt; $ script/evento_create.pl View participante TTSite  -&gt; Creación de vistas participante&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Creamos la carpeta root/src/&quot;participante&quot; y el archivo de vita participante.tt2&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt; $ vim participante.tt2&lt;br /&gt; _________________________________________&lt;br /&gt; | root/src/participante/participante.tt2 \&lt;br /&gt; --------------------------------------------------------------------------&lt;br /&gt; 1 *p* Hola: [% nombre %] */p*&lt;br /&gt; --------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#FF0000;&quot;&gt;uso (*) en lugar de (&lt;) y (&gt;) para presentar el código sin que lo interprete.&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Modificamos:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    | lib/evento/Controller/registro.pm \&lt;br /&gt;    --------------------------------------------------------------------------&lt;br /&gt;    30 sub saludo : Local {&lt;br /&gt;    31     my ( $self, $c) = @_;&lt;br /&gt;    32&lt;br /&gt;    33     $c-&gt;stash-&gt;{template} = “participante/participante.tt2“;&lt;br /&gt;    34     $c-&gt;stash-&gt;{nombre}   = “Joel Gómez“;&lt;br /&gt;    35 }&lt;br /&gt;    --------------------------------------------------------------------------&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;En nuestra subrutina saludo lo que estamos haciendo es diciéndole a Catalyst cual es la vista que va a usar para ese método y paso una variable llamada nombre para la vista.&lt;br /&gt;&lt;br /&gt;Helper TTSite: encapsula los trozos de lógica correspondientes a la presentación y al acceso a datos y componentes que necesite una vista, haciendo que la vista permanezca de esta forma mucho más simple reutilizable y mantenible. La lógica de presentación se encarga de formatear datos a través de Template Toolkit para que sean visualizados en una página, mientras que el acceso a datos o componentes implica la obtención de datos. TTSite tiene como debilidad que no podemos incluir Javascript’s o Css’s de manera razonable a una vista en particular (digo razonable porque si tratan de incluirlo entonces éste quedará fuera de la etiqueta de nuestro html generado). Por tal motivo tendremos que hacer unas pequeñas y sencillas modificaciones al Helper.&lt;br /&gt;&lt;br /&gt;Actions Types: Los Actions Types es la forma mediante el cual Catalyst puede leer a la URL en la Controladora para luego hacer Match con los métodos dentro de ella. Los diferentes Actions son los siguientes:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;- Path&lt;br /&gt;&lt;br /&gt;sub metodo : Path(’save’) { }&lt;br /&gt;Hace Match con el método save de la controladora http://localhost:3000/controlador/save esta también se puede usar de forma relativa al controlador en uso sub metodo : Path(‘/save’) { }&lt;br /&gt;Hace Match con http://localhost:3000/save&lt;br /&gt;&lt;br /&gt;- Local&lt;br /&gt;&lt;br /&gt;sub metodo : Local { }&lt;br /&gt;Hace Match con http://localhost:3000/controlador/metodo no hace falta colocarle los argumentos&lt;br /&gt;&lt;br /&gt;- Global&lt;br /&gt;&lt;br /&gt;sub metodo : Global { }&lt;br /&gt;Es similar a la anterior solo que nuestra URL es http://localhost:3000/metodo se ignora el nombre de la controladora&lt;br /&gt;&lt;br /&gt;- Regex&lt;br /&gt;&lt;br /&gt;sub metodo : Regexp(^save) { }&lt;br /&gt;Este hace uso de expresiones regulares para hacer match con la URL de manera Global, el resultado puede ser el siguiente:&lt;br /&gt;&lt;br /&gt;        http://localhost:3000/save&lt;br /&gt;        http://localhost:3000/save_usuario&lt;br /&gt;        http://localhost:3000/save_evento&lt;br /&gt;&lt;br /&gt;- LocalRegexp&lt;br /&gt;&lt;br /&gt;sub metodo : LocalRegexp(^save) { }&lt;br /&gt;Igual que el anterior pero ahora de manera local, la URL puede ser&lt;br /&gt;&lt;br /&gt;        http://localhost:3000/controlador/save&lt;br /&gt;        http://localhost:3000/controlador/save_usuario&lt;br /&gt;        http://localhost:3000/controlador/save_evento&lt;br /&gt;&lt;br /&gt;- Private&lt;br /&gt;&lt;br /&gt;sub metodo : Private { }&lt;br /&gt;Este nunca hará Match por la URL, es decir, no se puede acceder a este método mediante la URL, es privado de la controladora.&lt;br /&gt;&lt;br /&gt;- Building-in Actions Special&lt;br /&gt;&lt;br /&gt;Estas son acciones predefinida por Catalyst, las cuales son: index, auto, begin, end y default&lt;br /&gt;&lt;br /&gt;- index     -&gt; Usuario coloca solo nombre de controladora: Ej, http://localhost:3000/controlador&lt;br /&gt;- auto      -&gt; Se ejecuta despues de begin justo antes de procesar el metodo que hace Match con URL.&lt;br /&gt;- begin     -&gt; Nombre de controlador identificado y antes de hacer Match con otro se ejecuta begin.&lt;br /&gt;- end       -&gt; Se le llama despues de hacer Match con el metodo pasado por URL y ejecutar contenido.&lt;br /&gt;- default   -&gt; Si no consigue hacer Match con un metodo se ejecuta default.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;FORMBUILDER&lt;br /&gt;&lt;br /&gt;Conceptos básicos&lt;br /&gt;&lt;br /&gt;FormBuilder está diseñado para manejar todas las partes de una solicitud de un formulario CGI - generación, la presentación y la validación. Como tal, aplicaciones de FormBuilder generalmente se bucle vuelta sobre sí mismos. Es decir, usted tendrá una sola secuencia de comandos que, cuando se invoca, se hará cargo de toda la aplicación sólo basándose en los parámetros CGI.&lt;br /&gt;&lt;br /&gt;FormBuilder utiliza un Object-Oriented llamada-estilo, pero no permita que le espantar. Uso es sumamente fácil, ya que hay sólo dos funciones que necesita saber acerca de. A lo largo de la documentación, nuestro objeto de FormBuilder siempre se identificarán como $form, y encontrará esto funciona igualmente bien en sus propios scripts.&lt;br /&gt;&lt;br /&gt;Estos son los pasos básicos:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;1.Crear un objeto de $form con CGI::FormBuilder-&gt;new()&lt;br /&gt;2.Definir los campos de formulario con el $form-&gt;field() método.&lt;br /&gt;3.Comprobación de si el formulario se presentó con $form-&gt;submitted y si es así, validar con $form-&gt;validate.&lt;br /&gt;4.Obtener valores individuales mediante la $form-&gt;field() método, y hacer todo lo que usted necesita con los datos&lt;br /&gt;  (actualizar una base de datos, etc.).&lt;br /&gt;5.Si el formulario no fue presentado (o se produce un error de validación), imprimirlo utilizando los principales&lt;br /&gt;  $form-&gt;render función.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Esto es lo que hay que! FormBuilder se hará cargo de la generación de HTML y JavaScript, diseño de tabla, validación adherencia, mensajes de error y así sucesivamente. Echemos un vistazo a una secuencia de comandos de FormBuilder básico.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    #!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;    use CGI::FormBuilder;&lt;br /&gt;&lt;br /&gt;    @fields = qw(first_name last_name email phone);&lt;br /&gt;&lt;br /&gt;    $form = CGI::FormBuilder-&gt;new(&lt;br /&gt;             fields =&gt; \@fields,&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;    if ($form-&gt;submitted &amp;&amp; $form-&gt;validate) {&lt;br /&gt;        # you would write code here to act on the form data&lt;br /&gt;        $fname = $form-&gt;field(&#39;first_name&#39;);&lt;br /&gt;        $lname = $form-&gt;field(&#39;last_name&#39;);&lt;br /&gt;&lt;br /&gt;        print $form-&gt;confirm(header =&gt; 1);&lt;br /&gt;    } else {&lt;br /&gt;        print $form-&gt;render(header =&gt; 1);&lt;br /&gt;    }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;En primer lugar, definimos nuestros campos y crear un nuevo objeto de $form especificar esos campos (tenemos que barra diagonal inversa nuestra matriz de \@fields para que se pasa de una sola pieza). A continuación FormBuilder les lleva, crea etiquetas legibles para cada campo y todo lo pone espera en una tabla HTML automáticamente por el $form-&gt;render método. De hecho, FormBuilder títulos incluso el nombre de la forma que se basa en el nombre de la secuencia de comandos. (personal_info.pl se convierte en &quot;Información personal&quot;).&lt;br /&gt;&lt;br /&gt;Cuando el usuario golpea el botón de &quot;Enviar&quot;, $form-&gt;submitted devolverá true, que en nuestro ejemplo anterior también causaría $form-&gt;validate para ejecutar (debido a la &amp;&amp; en la instrucción if). Si ambos devuelven true, significa que se presentaron datos de forma válida, y, a continuación, puede hacer cualquier cosa que necesite hacer con esos datos.&lt;br /&gt;&lt;br /&gt;Llegar a los datos del formulario es tan fácil como con el método de field() en una forma similar a la función de param() de CGI.pm. La función de field() tiene numerosos otros usos, como veremos más adelante.&lt;br /&gt;&lt;br /&gt;Detener para un segundo y ver esto en acción. A continuación, compruebe que el HTML generado por esta aplicación antes de pasar al siguiente paso.&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/7978068844901210901/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/7978068844901210901' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7978068844901210901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7978068844901210901'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2010/04/catalyst.html' title='Catalyst'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-5058916748367984233</id><published>2009-10-28T12:07:00.000-07:00</published><updated>2010-06-04T11:03:29.056-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><category scheme="http://www.blogger.com/atom/ns#" term="programación"/><title type='text'>Guía básica de PERL</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://nxadm.files.wordpress.com/2008/05/perl.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 212px;&quot; src=&quot;http://nxadm.files.wordpress.com/2008/05/perl.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Como buenos Administradores  de sistems es hora de que os metáis en el fabuloso mundo de &lt;a href=&quot;http://es.wikipedia.org/wiki/Perl&quot;&gt;PERL&lt;/a&gt;, una herramienta imprescindible para todo buen administrador. He aquí una pequeña iniciación a este mundo, lo que podríamos denominar &quot;guía básica de PERL&quot;, sacada de varios manuales y apuntes propios.&lt;br /&gt;&lt;br /&gt;Iré añadiendo los ejemplos y actualizándola en la mayor medida que pueda. Podéis encontrarla siempre que la necesitéis en cursos online o al final del blog en &quot;articulos destacados&quot;. Seguramente tenga muchas fallas, no dudeis en corregirlas en los comentarios. Espero que esta guía te muestre lo que buscas.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;fb-widget&quot; id=&quot;fbtb-fee8831223664c7f959cc7cd1eea4e47&quot; style=&quot;border:0; outline:0; padding:0; margin:0; position:relative;&quot; itemscope=&quot;&quot; itemid=&quot;http://www.freebase.com/id/en/perl&quot; itemtype=&quot;http://www.freebase.com/id/computer/programming_language&quot;&gt; &lt;form class=&quot;fb-widget-placeholder&quot; style=&quot;border:0; outline:0; padding:0; margin:0;&quot;&gt; &lt;input name=&quot;src&quot; value=&quot;http://www.freebase.com/widget/topic?track=topicblocks_homepage&amp;amp;mode=content&amp;amp;id=%2Fen%2Fperl&quot; type=&quot;hidden&quot; /&gt; &lt;input name=&quot;width&quot; value=&quot;413&quot; type=&quot;hidden&quot; /&gt; &lt;input name=&quot;height&quot; value=&quot;285&quot; type=&quot;hidden&quot; /&gt; &lt;span style=&quot;line-height:1; border:0; outline:0; padding:0; margin:0; display:inline-block; padding:5px; background:#eee; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;&quot;&gt; &lt;div style=&quot;text-align:left; vertical-align:baseline; line-height:1; border:0; outline:0; margin:0 0 5px 5px;&quot;&gt; &lt;a style=&quot;text-align:left; vertical-align:baseline; font-family:&#39;Helvetica Neue&#39;, Arial, sans-serif; font-size:13px; font-weight:bold; line-height:1.6; text-decoration:none; color:#17b; border:0; outline:0; padding:0; margin:0;&quot; href=&quot;http://www.freebase.com/view/en/perl&quot; target=&quot;_blank&quot; &gt; Perl &lt;/a&gt; &lt;/div&gt; &lt;div style=&quot;vertical-align:top; border:1px solid #ddd; outline:0; padding:0; margin:0; position: relative; width:400px; height:220px; overflow:auto; background-color:#fff&quot;&gt; &lt;img src=&quot;http://img.freebase.com/api/trans/image_thumb/en/perl?pad=1&amp;amp;errorid=%2Ffreebase%2Fno_image_png&amp;amp;maxheight=150&amp;amp;mode=fillcropmid&amp;amp;maxwidth=150&quot; title=&quot;Perl&quot; style=&quot;border:0; outline:0; padding: 0; margin: 28px auto; display: block;&quot;&gt; &lt;/div&gt; &lt;/span&gt; &lt;/form&gt; &lt;script src=&quot;http://freebaselibs.com/static/widgets/2/widget.js&quot; type=&quot;text/javascript&quot; defer=&quot;&quot;&gt;&lt;/script&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;INDICE&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;1- TIPOS DE DATOS&lt;br /&gt;- Datos escalares&lt;br /&gt;- Datos Array&lt;br /&gt;- Datos Hash&lt;br /&gt;- Datos Booleanos&lt;br /&gt;- Combinando datos escalares, arrays y hashes&lt;br /&gt;- Funciones sobre datos Hashes&lt;br /&gt;&lt;br /&gt;2- ESTRUCTURAS DE CONTROL&lt;br /&gt;- Lógica de Perl&lt;br /&gt;- Clases de estructuras&lt;br /&gt;- Nomenclatura&lt;br /&gt;- Operadores lógicos&lt;br /&gt;- Preferencias en operadores lógicos&lt;br /&gt;- Operadores de comparación&lt;br /&gt;- Operador Triario&lt;br /&gt;- Control de flujo&lt;br /&gt;&lt;br /&gt;3- SUBRUTINAS&lt;br /&gt;- Definición de subrutina&lt;br /&gt;- Modismo @_&lt;br /&gt;- Función return&lt;br /&gt;- Función wantarray&lt;br /&gt;&lt;br /&gt;4- EXPRESIONES REGULARES&lt;br /&gt;- Operador m// (empareja)&lt;br /&gt;- Operador s/// (substitución)&lt;br /&gt;- Modificador &#39;/x&#39;&lt;br /&gt;- Operador split&lt;br /&gt;- Sentencias de Escape&lt;br /&gt;- Conversión Perl cadena/numérica&lt;br /&gt;&lt;br /&gt;5- VARIABLES&lt;br /&gt;- Variable $!&lt;br /&gt;- Variables sensibles al contexto&lt;br /&gt;- Variables contextuales multitipo y multiestado&lt;br /&gt;- La Variable $_&lt;br /&gt;- Variables predefinidas en Perl&lt;br /&gt;- Variables Privadas&lt;br /&gt;&lt;br /&gt;6- FUNCIONES&lt;br /&gt;- Depurador Perl&lt;br /&gt;- substr&lt;br /&gt;- index y rindex&lt;br /&gt;- reverse&lt;br /&gt;- length&lt;br /&gt;- chop y chomp&lt;br /&gt;- push y pop&lt;br /&gt;- shift y unshift&lt;br /&gt;- splice&lt;br /&gt;&lt;br /&gt;7- MANEJO DE ARCHIVOS&lt;br /&gt;- Lectura de Datos&lt;br /&gt;- Lectura de Ficheros&lt;br /&gt;&lt;br /&gt;8- MODULOS&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;1.- TIPOS DE DATOS EN PERL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Existen tres tipos de datos esencialmente en perl y algunos tipos de estructuras:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;SCALAR: Pueden guardar un solo valor&lt;br /&gt;$escalar&lt;br /&gt;&lt;br /&gt;ARRAY: Guardan una colección de valores indexados por posición&lt;br /&gt;@arreglo, $arreglo[2]&lt;br /&gt;&lt;br /&gt;HASH: Guardan una colección de valores indexados por llave alfanumerica&lt;br /&gt;%hash, $hash{llave}&lt;br /&gt;&lt;br /&gt;CODE: Apuntan a codigo con nombre, funciones %func() o simplemente:&lt;br /&gt;func()&lt;br /&gt;&lt;br /&gt;FORMAT: Apuntan a definiciones de formato de salida&lt;br /&gt;format Formato = (...)[7]&lt;br /&gt;&lt;br /&gt;FILEHANDLE: Permiten el manejo de archivos o de directorios&lt;br /&gt;FH&lt;br /&gt;&lt;br /&gt;GLOB: Se refiere a cualquiera de los tipos de datos anteriores que tengan el mismo nombre despues del prefijo identificador:&lt;br /&gt;*glob se refiere $glob, @glob, %glob, &amp;amp;glob, filehandle glob y formato glob&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Algunos ejemplos de datos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000099;&quot;&gt;Datos Escalares&lt;/span&gt;&lt;/span&gt;: Una variable escalar puede almacenar un número, una cadena de caracteres o una referencia.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$n      = 42;     # Numero&lt;br /&gt;$nombre = &quot;juan&quot;; # Cadena&lt;br /&gt;$color  = &#39;rojo&#39;; # Cadena&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Las cadenas con comillas dobles permiten la interpolación de variables:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$a = 1;&lt;br /&gt;print &quot;$a&quot;;  # Imprime un 1&lt;br /&gt;print &#39;$a&#39;;  # Imprime $a&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;· &lt;span style=&quot;font-weight:bold;&quot;&gt;Ejemplo&lt;/span&gt;: Variables seguidas de letras (&quot;variable_letras.pl&quot;)&lt;br /&gt;&lt;pre&gt;&lt;code&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;$que = &quot;chuleta&quot;;&lt;br /&gt;$n = 3;&lt;br /&gt;&lt;br /&gt;print &quot;Antonio comio $n $ques. \n&quot;;&lt;br /&gt;print &quot;Antonio comio $n ${que}s .\n&quot;;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;color:#000099;&quot;&gt;Datos Array&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;@puntuaciones = (32, 45, 16, 5);&lt;br /&gt;&lt;br /&gt;Datos Hash:&lt;br /&gt;&lt;br /&gt;%favorito = (&lt;br /&gt;joe =&gt; &#39;rojo&#39;,&lt;br /&gt;sam =&gt; &#39;azul&#39;,&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;Datos Booleanos:&lt;br /&gt;&lt;br /&gt;$fruta = &#39;0&#39;;   # Falso&lt;br /&gt;$fruta = &#39;5&#39;;   # Verdadero&lt;br /&gt;$fruta = &quot;5 mangos&quot;;  # Verdadero&lt;br /&gt;&lt;br /&gt;Ejemplos: Valores Booleanos&lt;br /&gt;&lt;br /&gt;$falso = 0;      # el número cero&lt;br /&gt;$falso = 0.0;    # el número cero como flotante&lt;br /&gt;$falso = &#39;0&#39;;    # el &#39;&#39;string&#39;&#39; cero&lt;br /&gt;$falso = &quot;&quot;;     # el &#39;&#39;string&#39;&#39; vacío&lt;br /&gt;$falso = undef;  # el valor devuelto por undef&lt;br /&gt;&lt;br /&gt;Si, específicamente, quiere asegurarse de tener un resultado 1/0&lt;br /&gt;(como en el lenguaje C), necesita realizar el cálculo siguiente:&lt;br /&gt;&lt;br /&gt;my $resultado_real = $resultado_booleano ? 1 : 0;&lt;br /&gt;&lt;br /&gt;Combinando datos escalares, arrays y hashes&lt;br /&gt;&lt;br /&gt;$puntuaciones[2]   # un elemento de @puntuaciones&lt;br /&gt;$favorito{joe}     # un valor de %favorito&lt;br /&gt;&lt;br /&gt;@puntuaciones[2, 3, 1]   # tres elementos de @puntuaciones&lt;br /&gt;@favorito{&#39;joe&#39;, &#39;sam&#39;}  # dos valores de %favorito&lt;br /&gt;&lt;br /&gt;El número de elementos en un array puede ser obtenido evaluando el&lt;br /&gt;array en contexto escalar o con la ayuda del sigil $#. Éste último&lt;br /&gt;da el índice del último elemento dentro del array, no el número de&lt;br /&gt;elementos.&lt;br /&gt;&lt;br /&gt;$numero = @amigos;&lt;br /&gt;$#amigos;      # el índice del último elemento en @amigos&lt;br /&gt;$#amigos+1;    # normalmente el número de elementos en @amigos,&lt;br /&gt;      # que es uno más que $#amigos porque el primer&lt;br /&gt;      # elemento tiene el índice 0, no 1&lt;br /&gt;&lt;br /&gt;Funciones sobre datos hashes&lt;br /&gt;&lt;br /&gt;# guarda en el array @nombres_de_clientes&lt;br /&gt;# todas las claves del hash %direcciones&lt;br /&gt;@nombres_de_clientes = keys %direcciones;&lt;br /&gt;&lt;br /&gt;# guarda en @direcciones_de_email&lt;br /&gt;# todos los valores de %direcciones&lt;br /&gt;@direcciones_de_email = values %direcciones;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;2.- ESTRUCTURAS DE CONTROL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lógica de Perl&lt;br /&gt;&lt;br /&gt;1 Cualquier cadena es true con la excepción de las cadenas &quot;&quot; y &quot;0&quot;.&lt;br /&gt;2 Cualquier número es true excepto el 0.&lt;br /&gt;3 Cualquier referencia es true.&lt;br /&gt;4 Cualquier valor undefined es false.&lt;br /&gt;&lt;br /&gt;Perl tiene varias clases de estructuras de control.&lt;br /&gt;&lt;br /&gt;* Control de ciclos: do, while, for, foreach, continue.&lt;br /&gt;* Control de sentencias: if, else, unless, until, elsif.&lt;br /&gt;* Control de flujo: goto, elsif, next, last, redo, return.&lt;br /&gt;&lt;br /&gt;La nomeclatura ed estas estructuras deben de tener esta forma:&lt;br /&gt;&lt;br /&gt;* Las CONDICIONES están rodeadas por paréntesis () y&lt;br /&gt;* Los BLOQUES rodeados por llaves {}&lt;br /&gt;* Las expresiones opcionales por corchetes cuadrados []&lt;br /&gt;* Las ETIQUETAS deben llevar al final dos puntos &#39;:&#39;;&lt;br /&gt;&lt;br /&gt;Ejemplos estructuras:&lt;br /&gt;&lt;br /&gt;[ETIQUETA] while CONDICION BLOQUE [continue BLOQUE ]&lt;br /&gt;[ETIQUETA] until CONDICION BLOQUE [continue BLOQUE ]&lt;br /&gt;[ETIQUETA] foreach [VARIABLE] (LISTA) BLOQUE [continue BLOQUE]&lt;br /&gt;[ETIQUETA] for (EXPRESION_1;EXPRESION_2;EXPRESION_3) BLOQUE&lt;br /&gt;if CONDICION BLOQUE [[elsif BLOQUE] else BLOQUE]&lt;br /&gt;unless CONDICION BLOQUE [else BLOQUE]&lt;br /&gt;&lt;br /&gt;Para una sola sentencia&lt;br /&gt;&lt;br /&gt;DECLARACIÓN if CONDICIÓN&lt;br /&gt;DECLARACIÓN unless CONDICIÓN&lt;br /&gt;DECLARACIÓN while CONDICIÓN&lt;br /&gt;DECLARACIÓN until CONDICIÓN&lt;br /&gt;DECLARACIÓN foreach LISTA&lt;br /&gt;&lt;br /&gt;· Ejemplo: if y unless (&quot;sentcontrol_if.pl&quot;)&lt;br /&gt;· Ejemplo: do while (&quot;sentcontrol_dowhile.pl&quot;)&lt;br /&gt;· Ejemplo: for y foreach (&quot;sentcontrol_foreach.pl&quot;)&lt;br /&gt;&lt;br /&gt;Operadores lógicos&lt;br /&gt;&lt;br /&gt;EXPRESION_1 and EXPRESION_2;&lt;br /&gt;EXPRESION_1 or EXPRESION_2;&lt;br /&gt;EXPRESION_1 &amp;amp;&amp;amp; EXPRESION_2;&lt;br /&gt;EXPRESION_1 || EXPRESION_2;&lt;br /&gt;EXPRESION_1 eq EXPRESION_2;&lt;br /&gt;EXPRESION_1 == EXPRESION_2;&lt;br /&gt;&lt;br /&gt;Preferencias en operadores lógicos&lt;br /&gt;_______________________________________________&lt;br /&gt;&lt;br /&gt;left        terms and list operators (leftward)&lt;br /&gt;left        -&gt;&lt;br /&gt;nonassoc    ++ --&lt;br /&gt;right       **&lt;br /&gt;right       ! ~ \ and unary + and -&lt;br /&gt;left        =~ !~&lt;br /&gt;left        * / % x&lt;br /&gt;left        + - .&lt;br /&gt;left        &lt;&lt; &gt;&gt;&lt;br /&gt;nonassoc    named unary operators&lt;br /&gt;nonassoc    &lt; &gt; &lt;= &gt;= lt gt le ge&lt;br /&gt;nonassoc    == != &lt;=&gt; eq ne cmp ~~&lt;br /&gt;left        &amp;amp;&lt;br /&gt;left        | ^&lt;br /&gt;left        &amp;amp;&amp;amp;&lt;br /&gt;left        || //&lt;br /&gt;nonassoc    ..  ...&lt;br /&gt;right       ?:&lt;br /&gt;right       = += -= *= etc.&lt;br /&gt;left        , =&gt;&lt;br /&gt;nonassoc    list operators (rightward)&lt;br /&gt;right       not&lt;br /&gt;left        and&lt;br /&gt;left        or xor&lt;br /&gt;_______________________________________________&lt;br /&gt;&lt;br /&gt;+ info: # perldoc perlop&lt;br /&gt;· Ejemplo: Operaciones Lógicas 1 (&quot;op_log1.pl&quot;)&lt;br /&gt;· Ejemplo: Operaciones Lógicas 2 (&quot;op_log2.pl&quot;)&lt;br /&gt;&lt;br /&gt;*** Utilizando and y or nunca se llega a cumplir la operación&lt;br /&gt;lógica si print $a es &quot;true&quot;. Utilizando &amp;amp;&amp;amp; y || siempre se da&lt;br /&gt;preferencia a la operación lógica antes que a el operador print.&lt;br /&gt;&lt;br /&gt;Ahora miremos esta tabla comparativa sacada con el modulo Deparse:&lt;br /&gt;&quot;perl -MO=Deparse -p archivo.pl&quot;, esto nos mostrara la forma en que&lt;br /&gt;esta parentizado Perl el archivo de ejemplo &quot;op_log2.pl&quot;:&lt;br /&gt;&lt;br /&gt;op_log2.pl   Parentización PERL&lt;br /&gt;____________________________________________&lt;br /&gt;&lt;br /&gt;$a  = 4;     $a = 4;&lt;br /&gt;$b = &quot;hola&quot;;     $b = &#39;hola&#39;;&lt;br /&gt;$d = print ($a and $b);   $d = print($a &amp;amp;&amp;amp; $b);&lt;br /&gt;print $d;     print $d;&lt;br /&gt;$e = print $a and $b;    $b if $e = print($a);&lt;br /&gt;print $e;     print $e;&lt;br /&gt;$f = (print $a &amp;amp;&amp;amp; $b);    $f = print($a &amp;amp;&amp;amp; $b);&lt;br /&gt;____________________________________________&lt;br /&gt;&lt;br /&gt;Operadores de comparación&lt;br /&gt;&lt;br /&gt;Comparación   Numerico  Cadena&lt;br /&gt;______________________________________________&lt;br /&gt;&lt;br /&gt;Igual    ==   eq&lt;br /&gt;distinto   !=   ne&lt;br /&gt;Menor que   &lt;&gt;   gt&lt;br /&gt;Menor o igual que  &lt;=   le  Mayor o igual que  &gt;=   ge&lt;br /&gt;Comparación   &lt;=&gt;   cmp&lt;br /&gt;______________________________________________&lt;br /&gt;&lt;br /&gt;· Ejemplo: comparación cadenas (&quot;comp_cadenas.pl&quot;)&lt;br /&gt;&lt;br /&gt;Operador triario&lt;br /&gt;&lt;br /&gt;if CONDICION BLOQUE else BLOQUE puede expresarse:&lt;br /&gt;[DECLARACION] [(] CONDICIÓN ? EXPRESION_1 : EXPRESION_2 [)];&lt;br /&gt;&lt;br /&gt;Control de Flujo&lt;br /&gt;&lt;br /&gt;Las palabras clave de control de flujo next, last, return y redo&lt;br /&gt;son expresiones, por lo que pueden ser usadas con los operadores&lt;br /&gt;&quot;cortocircuito&quot;. Perl tambien cuenta con dos construcciones para&lt;br /&gt;bucles:&lt;br /&gt;&lt;br /&gt;resultados = grep { ... } lista&lt;br /&gt;resultados = map  { ... } lista&lt;br /&gt;&lt;br /&gt;grep devuelve todos los elementos de lista en que el bloque subor-&lt;br /&gt;dinado evalúa a verdadero. map evalúa el bloque subordinado por&lt;br /&gt;cada elemento de lista y devuelve una lista de los valores resul-&lt;br /&gt;tantes. Estas construcciones permiten un estilo simple de progra-&lt;br /&gt;mación funcional.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;3.- SUBRUTINAS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Las rutinas nos permitirán reutilizar código y tenerlo más orga-&lt;br /&gt;nizado ya que podremos acceder a éste desde cualquier parte del&lt;br /&gt;programa e incluso desde otros programas.&lt;br /&gt;&lt;br /&gt;Las subrutinas se definen con la palabra clave sub:&lt;br /&gt;&lt;br /&gt;foo();           # paréntesis necesarios aquí...&lt;br /&gt;sub foo { ... }&lt;br /&gt;foo;             # ... pero no aquí&lt;br /&gt;&lt;br /&gt;Una lista de argumentos pueden ser indicados después del nombre de&lt;br /&gt;la subrutina. Los argumentos pueden ser escalares, listas o hashes.&lt;br /&gt;&lt;br /&gt;foo $x, @y, %z;&lt;br /&gt;&lt;br /&gt;Los elementos de @_ pueden ser accedidos con los subíndices de la&lt;br /&gt;forma normal.&lt;br /&gt;&lt;br /&gt;$_[0], $_[1]&lt;br /&gt;&lt;br /&gt;Un modismo común es asignar @_ a una lista de variables con nombres.&lt;br /&gt;&lt;br /&gt;my($x, $y, $z) = @_;&lt;br /&gt;&lt;br /&gt;Otro modismo es sacar los parámetros de @_. Esto es muy común&lt;br /&gt;cuando la subrutina toma un sólo argumento.&lt;br /&gt;&lt;br /&gt;my $x = shift;  # Si no se dice nada, nos referimos a @_&lt;br /&gt;&lt;br /&gt;Las subrutinas pueden devolver valores.&lt;br /&gt;&lt;br /&gt;return 42, $x, @y, %z;&lt;br /&gt;&lt;br /&gt;La expresión devuelta es evaluada en el contexto de la llamada de&lt;br /&gt;la subrutina; esto puede sorprender al desprevenido.&lt;br /&gt;&lt;br /&gt;sub lista {      (4, 5, 6)     }&lt;br /&gt;sub array { @x = (4, 5, 6); @x }&lt;br /&gt;&lt;br /&gt;$x = lista;  # devuelve 6 - último elemento de la lista&lt;br /&gt;$x = array;  # devuelve 3 - número de elementos de la lista&lt;br /&gt;@x = lista;  # devuelve (4, 5, 6)&lt;br /&gt;@x = array;  # devuelve (4, 5, 6)&lt;br /&gt;&lt;br /&gt;Una subrutina puede descubrir su contexto de llamada con la función&lt;br /&gt;wantarray.&lt;br /&gt;&lt;br /&gt;sub cualquiera { wantarray ? (1, 2) : &quot;Naranjas&quot; }&lt;br /&gt;&lt;br /&gt;$x = cualquiera;    # devuelve &quot;Naranjas&quot;&lt;br /&gt;@x = cualquiera;    # devuelve (1, 2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;4.- EXPRESIONES REGULARES&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una expresión regular es un modelo o una forma de comparar con una&lt;br /&gt;cadena de caracteres. Esta comparación es conocida con el nombre de&lt;br /&gt;pattern matching o reconocimiento de patrones, permite identificar&lt;br /&gt;las ocurrencias del modelo en los datos tratados. se pueden dividir&lt;br /&gt;en: (Comparación) (Sustitución) (Traducción).&lt;br /&gt;&lt;br /&gt;(Expresiones Regulares de Comparación)&lt;br /&gt;&lt;br /&gt;· Ejemplos: Expresiones regulares (&quot;expresiones_regulares.pl&quot;)&lt;br /&gt;&lt;br /&gt;Caracteres de control que definen modelos complejos de rutinas de&lt;br /&gt;comparación:&lt;br /&gt;&lt;br /&gt;Simbolo | Descripción   | Clase   | Negación&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;\w Caracteres alfanuméricos [0-9a-zA-Z] \W&lt;br /&gt;\s Espacio         &#39;&#39;  \S&lt;br /&gt;\d Caracteres numéricos      [0-9] \D&lt;br /&gt;\A Inicio de cadena        X  \Z&lt;br /&gt;\b Inicio y fin de cadena        X  \B&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;· Ejemplo: Area de circunferencia (&quot;circunferencia.pl&quot;)&lt;br /&gt;&lt;br /&gt;Caracteres de control, secuencias de Escape:&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;\a     Alarma (beep!)&lt;br /&gt;\b     Retroceso&lt;br /&gt;\n     Nueva línea&lt;br /&gt;\r     Retorno de carro&lt;br /&gt;\t     Tabulador&lt;br /&gt;\f     Formfeed&lt;br /&gt;\e     Escape&lt;br /&gt;\007   Cualquier carácter ASCII en octal&lt;br /&gt;\x7f   Cualquier carácter ASCII en hexadecimal&lt;br /&gt;\cC    Cualquier caracter de control (CTRL+C)&lt;br /&gt;\u     Cambia el siguiente caracter a mayusculas&lt;br /&gt;\U     Cambia a mayusculas todo el contenido.&lt;br /&gt;\l     Cambia el siguiente caracter a minusculas&lt;br /&gt;\L     Cambia a minusculas todo el contenido.&lt;br /&gt;\E     Final de cambio a mayusculas o minusculas&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;Caracteres genéricos que aumentan la flexibilidad en la construcción&lt;br /&gt;de patrodes de búsqueda:&lt;br /&gt;&lt;br /&gt;Caracter   Descripción&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;^c.  La linea que empieza por el caracter c&lt;br /&gt;$c  La linea que termina por el caracter c&lt;br /&gt;.  Cualquier caracter excepto el \n&lt;br /&gt;c+  Una o mas instancias del caracter c&lt;br /&gt;c*  Cero o mas instancias del caracter c&lt;br /&gt;c?  Cero o una instancia del caracter c&lt;br /&gt;c{N}  N instancias del caracter c&lt;br /&gt;c{N,}  Al menos N instancias del caracter c&lt;br /&gt;c{N,M}  Entre N y M instancias del caracter c&lt;br /&gt;_______________________________________________________________&lt;br /&gt;&lt;br /&gt;(Expresiones Regulares de Sustitución)&lt;br /&gt;&lt;br /&gt;El operador m// (empareja) permite comprobar un emparejamiento por&lt;br /&gt;medio de una expresión regular. (Para abreviar, el precedente m&lt;br /&gt;puede ser omitido.) En el caso más simple, una expresión como:&lt;br /&gt;&lt;br /&gt;$x =~ m/abc/&lt;br /&gt;&lt;br /&gt;evalúa a verdadero si y sólo si el string $x empareja con la&lt;br /&gt;expresión regular abc.&lt;br /&gt;&lt;br /&gt;$x =~ m/a(.)c/;     # captura el carácter entre &#39;a&#39; y &#39;c&#39; y lo&lt;br /&gt;# guarda en $1&lt;br /&gt;&lt;br /&gt;El operador s/// (sustitución) especifica una operación de búsqueda&lt;br /&gt;y reemplazo:&lt;br /&gt;$x =~ s/abc/aBc/;   # Convierte la b en mayúscula&lt;br /&gt;$x =~ m/abc/i;      # emparejamiento independientemente de si&lt;br /&gt;# están en mayúscula o minúscula&lt;br /&gt;&lt;br /&gt;$x =~ s/abc/aBc/g;  # búsqueda y reemplazo global (a lo largo de&lt;br /&gt;# todo el string)&lt;br /&gt;&lt;br /&gt;Las expresiones regulares pueden ser densas y crípticas. Esto es&lt;br /&gt;porque la sintaxis de las expresiones regulares es extremadamente&lt;br /&gt;compacta, generalmente usando caracteres sueltos o pares de&lt;br /&gt;caracteres que representan sus operaciones. Perl alivia un poco&lt;br /&gt;este problema con el modificador &#39;/x&#39; que permite a los programador&lt;br /&gt;es poner espacio en blanco y comentarios dentro de las expresiones&lt;br /&gt;regulares:&lt;br /&gt;&lt;br /&gt;$x =~ m/a     # empareja una &#39;a&#39;&lt;br /&gt;.     # empareja cualquier carácter&lt;br /&gt;c     # empareja una &#39;c&#39;&lt;br /&gt;/x;&lt;br /&gt;Un uso común de las expresiones regulares es el de especificar de&lt;br /&gt;limitadores de campos al operador split:&lt;br /&gt;&lt;br /&gt;@palabras = split m/,/, $línea;   # divide la $línea de valores&lt;br /&gt;# separados por comas&lt;br /&gt;&lt;br /&gt;El operador split complementa la captura de string. La captura de&lt;br /&gt;string devuelve las partes de un string que emparejan con una&lt;br /&gt;expresión regular; split devuelve las partes que no emparejan.&lt;br /&gt;&lt;br /&gt;Perl convierte automáticamente los valores de su representación&lt;br /&gt;numérica a su representación como cadena. Ejemplos:&lt;br /&gt;&lt;br /&gt;$n = 0 + &quot;123&quot;;        # contexto numérico $n == 123&lt;br /&gt;$n = 0 + &quot;123xyz&quot;;     # contexto numérico $n == 123&lt;br /&gt;$n = 0 + &quot;\n123xyz&quot;;   # contexto numérico $n == 123&lt;br /&gt;$n = 0 + &quot;x123xyz&quot;;    # no hay número al comienzo $n == 0&lt;br /&gt;$n = 0 + &quot;x123&quot;;  # no hay número al comienzo $n == 0&lt;br /&gt;$n = 0 + oct(&quot;x123&quot;);  # $n == 291&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;5.- VARIABLES&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La Variable $!&lt;br /&gt;&lt;br /&gt;En un contexto numérico, la variable escalar $! retorna el valor&lt;br /&gt;numérico de la variable del sistema errno, la cual contiene el&lt;br /&gt;último error encontrado durante una llamada al sistema o a ciertas&lt;br /&gt;funciones de la biblioteca estándar C. En un contexto de cadena&lt;br /&gt;devuelve la cadena producida por la función perror():&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; open $FILE, &quot;fichero&quot;&lt;br /&gt;DB&lt;2&gt; print &quot;$!&quot;&lt;br /&gt;No existe el fichero o el directorio&lt;br /&gt;DB&lt;3&gt; print $!+0&lt;br /&gt;2&lt;br /&gt;DB&lt;4&gt; print $!&lt;br /&gt;No existe el fichero o el directorio&lt;br /&gt;&lt;br /&gt;Variables sensibles al contexto&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; use Scalar::Util qw{dualvar} # lmportamos el modulo Scalar&lt;br /&gt;DB&lt;2&gt; use Lingua::EN::Words2Nums   # Importamos el módulo Lingua&lt;br /&gt;DB&lt;3&gt; $x = &quot;one thousand two hundred thirty one&quot;&lt;br /&gt;DB&lt;4&gt; $x = dualvar words2nums($x), $x # Creamos una variable dual&lt;br /&gt;DB&lt;5&gt; print &quot;$x plus one is &quot;.($x+1)  # Observe la salida ...&lt;br /&gt;one thousand two hundred thirty one plus one is 1232&lt;br /&gt;DB&lt;6&gt; use Roman                    # Otro ejemplo ...&lt;br /&gt;DB&lt;7&gt; $y = 457&lt;br /&gt;DB&lt;8&gt; $y = dualvar $y, roman($y)&lt;br /&gt;DB&lt;9&gt; p 0+$y.&quot; en números romanos es &#39;$y&#39;&quot;&lt;br /&gt;457 en números romanos es &#39;cdlvii&#39;&lt;br /&gt;&lt;br /&gt;· Ejemplo: Numeros Romanos (&quot;num_roman.pl&quot;)&lt;br /&gt;&lt;br /&gt;Variables contextuales multitipo con mas de dos tipos.&lt;br /&gt;&lt;br /&gt;· Ejemplo: Contextual Return (&quot;mult_context_var.pl&quot;)&lt;br /&gt;· Ejemplo: Localtime (&quot;localtime.pl&quot;) ACTIVE variable multiestado&lt;br /&gt;&lt;br /&gt;La Variable $_&lt;br /&gt;&lt;br /&gt;La variable especial $_ es el argumento por defecto para un gran&lt;br /&gt;número de funciones, operadores y estructuras de control. Asi pues&lt;br /&gt;estas dos expresiones son lo mismo:&lt;br /&gt;&lt;br /&gt;print;&lt;br /&gt;print $_;&lt;br /&gt;&lt;br /&gt;Otro ejemplo: La función length devuelve la longitud en caracteres&lt;br /&gt;de la expresión que se le pasa como argumento. Si se omite la&lt;br /&gt;expresión usará la &quot;variable por defecto&quot; $_&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -wde 0&lt;br /&gt;DB&lt;1&gt; $_ = &quot;Hello World!\n&quot;&lt;br /&gt;DB&lt;2&gt; p length&lt;br /&gt;13&lt;br /&gt;&lt;br /&gt;Variables Predefinidas en Perl&lt;br /&gt;&lt;br /&gt;root@rootmachine# perldoc perlvar&lt;br /&gt;&lt;br /&gt;Variables Privadas: Se declaran usando el operador my:&lt;br /&gt;&lt;br /&gt;my $a = 4;&lt;br /&gt;{&lt;br /&gt;my $a = &lt;stdin&gt;;&lt;br /&gt;my $b = &lt;stdin&gt;;&lt;br /&gt;$a = ($a &lt; $b)? $a : $b    print &quot;$a\n&quot;;  }  print &quot;$a\n&quot;;   &lt;/stdin&gt;&lt;/stdin&gt;&lt;pre&gt;&lt;code&gt;&lt;stdin&gt;&lt;stdin&gt;Estas variables tienen como ámbito el bloque que las rodea. Asi la declaración de la variable léxica $a en la línea 3 oculta la variable léxica declarada en la línea 1. Las modificaciones de $a en el  bloque de las líneas 2-7 no afecta a la variable $a declarada  en la línea 1. Si no esta dentro de ningún bloque, el ámbito de la  variable será el fichero actual.&lt;/stdin&gt;&lt;/stdin&gt;&lt;/code&gt;&lt;/pre&gt;&lt;stdin&gt;&lt;stdin&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;6.- FUNCIONES&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A partir de ahora usaremos el depurador para ver la conducta de&lt;br /&gt;Perl con estas sentencias:&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; $days   = 5;&lt;br /&gt;DB&lt;2&gt; x $days&lt;br /&gt;0  5&lt;br /&gt;&lt;br /&gt;Operadores de Cadena&lt;br /&gt;&lt;br /&gt;&quot;hola&quot;.&quot;chicos&quot;        # es lo mismo que &quot;holachicos&quot;&lt;br /&gt;&quot;HLP&quot;x2                # es HLPHLP&lt;br /&gt;$s .= &quot; un poco mas&quot;;  # Lo mismo que $s = $s . &quot; un poco mas&quot;;&lt;br /&gt;&lt;br /&gt;Si se quiere obtener uno o mas elementos de una cadena se usa&lt;br /&gt;substr, veamoslo en el depurador:&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; $x = &#39;hola mundo&#39;&lt;br /&gt;DB&lt;2&gt; p substr($x,5)           # Muestra a partir de la 5&lt;br /&gt;mundo&lt;br /&gt;DB&lt;3&gt; p substr($x,5,3)         # Muestra 3 a partir de la 5&lt;br /&gt;mun&lt;br /&gt;DB&lt;4&gt; p substr($x,-2)          # Segunda desde el final&lt;br /&gt;do&lt;br /&gt;DB&lt;5&gt; p substr($x,2,2,&#39;mi&#39;)    # Sustituimos&lt;br /&gt;la&lt;br /&gt;DB&lt;6&gt; x $x                     # Indice y Valor&lt;br /&gt;0  &#39;homi mundo&#39;&lt;br /&gt;&lt;br /&gt;Función index y rindex: busca subcadenas dentro de una cadena&lt;br /&gt;desde el principio y desde el final.&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; $x= &#39;hola mundo&#39;&lt;br /&gt;DB&lt;2&gt; p index $x, &#39;mundo&#39;&lt;br /&gt;5&lt;br /&gt;DB&lt;3&gt; p index $x, &#39;o&#39;&lt;br /&gt;1&lt;br /&gt;DB&lt;4&gt; p index $x, &#39;o&#39;, 3&lt;br /&gt;9&lt;br /&gt;DB&lt;5&gt; p rindex $x, &#39;o&#39;&lt;br /&gt;9&lt;br /&gt;DB&lt;6&gt; p rindex $x, &#39;o&#39;,4&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;Función reverse invierte los elementos de una cadena.&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; $x = &#39;hola mundo&#39;&lt;br /&gt;DB&lt;2&gt; $y = reverse $x&lt;br /&gt;DB&lt;3&gt; p $y&lt;br /&gt;odnum aloh&lt;br /&gt;&lt;br /&gt;Función length retorna la longitud de una cadena.&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; $x = &#39;hola mundo&#39;&lt;br /&gt;DB&lt;2&gt; p length $x&lt;br /&gt;10&lt;br /&gt;&lt;br /&gt;Función chop y chomp elimina el ultimo elemento de una cadena.&lt;br /&gt;(chomp solo lo elimina si es un retorno de carro o separador de&lt;br /&gt;lectura).&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;3&gt; chop $x&lt;br /&gt;DB&lt;4&gt; p $x&lt;br /&gt;hola mund&lt;br /&gt;DB&lt;5&gt; chomp $x&lt;br /&gt;DB&lt;6&gt; p $x&lt;br /&gt;hola mund&lt;br /&gt;DB&lt;7&gt; $x .= &quot;\n&quot;&lt;br /&gt;DB&lt;8&gt; p $x&lt;br /&gt;hola mund&lt;br /&gt;# retorno de carro&lt;br /&gt;DB&lt;9&gt; chomp $x&lt;br /&gt;DB&lt;10&gt; p $x&lt;br /&gt;hola mund&lt;br /&gt;&lt;br /&gt;Hay varias funciones para trabajar con arrays Las mas básicas son&lt;br /&gt;push, pop, shift, unshift y splice donde:&lt;br /&gt;&lt;br /&gt;push     # Coloca un elemento al final del array&lt;br /&gt;pop      # Coge un elemento del final del array&lt;br /&gt;shift    # coloca un elemento al principio del array&lt;br /&gt;unshift  # Coge un elemento al principio del array&lt;br /&gt;splice   # Coloca un elemento en cualquier punto del array&lt;br /&gt;&lt;br /&gt;· Ejemplo: Función Array (&quot;funcion_array.pl&quot;)&lt;br /&gt;· Ejemplo: Buscar en un Array (&quot;buscar_array.pl&quot;)&lt;br /&gt;· Ejemplo: Chop (&quot;chop.pl&quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;7.- MANEJO DE ARCHIVOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lectura de datos. El operador &lt;stdin&gt; nos permite leer desde la&lt;br /&gt;entrada estándar. Asi en:&lt;br /&gt;&lt;br /&gt;$line = &lt;stdin&gt;;&lt;br /&gt;&lt;br /&gt;La variable $line contiene el retorno de carro leído. Es por eso&lt;br /&gt;que se usa el operador chomp el cual elimina el retorno de carro&lt;br /&gt;·final:&lt;br /&gt;&lt;br /&gt;$line = &lt;stdin&gt;; # &quot;hola\n&quot;&lt;br /&gt;chomp($line);    # $line contiene ahora &quot;hola&quot;&lt;br /&gt;&lt;br /&gt;Lectura de ficheros. En general un fichero se abre mediante la&lt;br /&gt;función open:&lt;br /&gt;&lt;br /&gt;root@rootmachine# perl -de 0&lt;br /&gt;DB&lt;1&gt; open $F, &quot;&gt; /tmp/file.txt&quot; # apertura en modo escritura&lt;br /&gt;DB&lt;2&gt; print $F &quot;hello world\n&quot;&lt;br /&gt;DB&lt;3&gt; close($F)&lt;br /&gt;DB&lt;4&gt; open $F, &quot;/tmp/file.txt&quot;   # apertura en modo lectura&lt;br /&gt;DB&lt;5&gt; $x = &lt;$F&gt;&lt;br /&gt;DB&lt;6&gt; print $x&lt;br /&gt;hello world&lt;br /&gt;&lt;br /&gt;· Ejemplo: Apertura de Fichero (&quot;open_file.pl&quot;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;8.- MODULOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instalción de modulos en Perl:&lt;br /&gt;root@rootmachine# cpanp&lt;br /&gt;CPAN exploration and module installation&lt;br /&gt;&lt;br /&gt;Synasix de llamada del modulo:&lt;br /&gt;use Scalar::Util qw{dualvar} valor doble?&lt;br /&gt;&lt;/stdin&gt;&lt;/stdin&gt;&lt;/stdin&gt;&lt;/stdin&gt;&lt;/stdin&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/5058916748367984233/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/5058916748367984233' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5058916748367984233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5058916748367984233'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/10/guia-basica-de-perl.html' title='Guía básica de PERL'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-1745604594543805799</id><published>2009-09-25T09:25:00.000-07:00</published><updated>2010-04-13T10:43:47.325-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>De-duplicación NetApp FAS2020</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://descargasantivirusgratis.com/noticias/fotos/NetApp.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 217px;&quot; src=&quot;http://descargasantivirusgratis.com/noticias/fotos/NetApp.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Con de-duplicación nos referimos a una funcionalidad que implementan las cabinas de almacenamiento y que permite que se identifiquen y eliminen bloques de datos redundantes. Esto se hace de forma transparente para los servidores o usuarios clientes, que seguirán viendo la estructura de datos original, pero internamente la cabina estará ahorrándonos los bloques de 4KB que estén escritos varias veces.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;Esto se puede hacer para cualquier tipo de protocolo de acceso: FC, iSCSI, NFS y/o CIFS. En los dos últimos, dado que se exporta un sistema de ficheros, los ahorros de la de-duplicación son mostrados directamente al cliente, que vera como sus datos ocupan menos espacio en el sistema de ficheros tras ejecutar el proceso de la de-duplicación.&lt;br /&gt;&lt;br /&gt;En los servicios de LUNs (FC o iSCSI), los clientes ven un disco SCSI virtual que típicamente formatearan con un sistema de ficheros propios. En estos casos los clientes no pueden ver ningún cambio en el espacio disponible, puesto que esto “volvería loco” al sistema de ficheros en el cliente. Lo que conseguimos en estos casos es que el espacio &quot;de-duplicado&quot; sea espacio libre en la cabina, y que haciendo *thin-provisioning ese espacio lo podamos reutilizar para otras LUNs o servicios. Este es el cacharrito en cuestión:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.alphacom.co.uk/assets/userfiles/Image/Alpha%20Images/NetApp_FAS2050.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 536px; height: 156px;&quot; src=&quot;http://www.alphacom.co.uk/assets/userfiles/Image/Alpha%20Images/NetApp_FAS2050.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;La forma en que en NetApp implementan la de-duplicación está pensada para poderla utilizar en muchos conjuntos de datos productivos, ya que al realizarse la búsqueda de bloques redundantes como un proceso “batch”, que típicamente se ejecutará fuera de la ventana de máximo rendimiento del equipo, el habilitar la de-duplicación no afecta en gran medida al rendimiento del equipo y es bastante probable que dado un equipo que está dando un determinado servicio, sin cambiar ni añadir nada de hardware podamos de-duplicar parte o todos los datos de ese servicio/s.&lt;br /&gt;&lt;br /&gt;Una consideración que si hay que tener en cuenta a la hora del rendimiento es que al de-duplicar los datos perdemos secuencialidad en los mismos, por lo que las lecturas secuenciales de datos de-duplicados pueden verse algo penalizadas, es decir, nuestros backups puede que tarden un poco más. Las lecturas aleatorias y las escrituras típicamente no sufren penalización o esta es muy baja.&lt;br /&gt;&lt;br /&gt;Ejemplo Practico:&lt;br /&gt;&lt;br /&gt;Primero creamos tres maquinas virtuales y realizamos la de-duplicación (documento explicativo). Las maquinas ocupaban 4GB cada una de espacio de almacenamiento, un total de 12GB. Tras la de-duplicación el espacio se quedo en 4,1GB. Después añadimos otras 3 maquinas y volvimos a realizar la de-duplicación para ver la evolución. Los resultados finales fueron (antes/después de la de-duplicación):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIFA0DmatcICbCQWwvnm4opc_mPq8MU5vi50L3Ed21fd0PVhmf9HxCwGUjuMp3BiHzq6wkaK9JTshQoKSSYtK0wFVn8Fry1Iu3PyV0I2tKYwcb_iLKidnY5T6CeCCweMwEnmqU1twVldXK/s1600-h/deduplication.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 69px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIFA0DmatcICbCQWwvnm4opc_mPq8MU5vi50L3Ed21fd0PVhmf9HxCwGUjuMp3BiHzq6wkaK9JTshQoKSSYtK0wFVn8Fry1Iu3PyV0I2tKYwcb_iLKidnY5T6CeCCweMwEnmqU1twVldXK/s320/deduplication.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5385445832751315442&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;con lo cual tenemos que cada maquina virtual incrementa en 0,2GB mas o menos el total del almacenamiento reduciendo notablemente su espacio inicial.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;THIN-PROVISIONING&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;*El thin-provisioning consiste en presentar más espacio de almacenamiento del que se está utilizando o incluso existe en el sistema de almacenamiento. El caso más habitual consiste en poder crear una LUN (o disco SCSI virtual) que no consume todo el espacio que tiene la misma. Por ejemplo, creamos una LUN de 100GB que no consume 100GB en la cabina. Un ejemplo con la línea de comandos de equipos netapp de como controlar el thin-provisioning de una LUN, una propiedad que podemos activar o desactivar para cada LUN de forma individual:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# Creamos una LUN&lt;br /&gt;&gt; lun create -s 2g -t linux /vol/test/lun0&lt;br /&gt;&gt; df -h test&lt;br /&gt;Filesystem               total       used      avail capacity  Mounted on&lt;br /&gt;/vol/test/                10GB     2052MB     8187MB      20%  /vol/test/&lt;br /&gt;&lt;br /&gt;# Consume 2GB del volumen que la contiene&lt;br /&gt;# Le quitamos la reserva de espacio, para que sea  &quot;thin-provisioned&quot;&lt;br /&gt;&lt;br /&gt;&gt; lun set reservation /vol/test/lun0 disable&lt;br /&gt;&gt; lun show -v /vol/test/lun0&lt;br /&gt;  /vol/test/lun0                 2g (2147483648)    (r/w, online)&lt;br /&gt;          Serial#: C4ifmJMYpfja&lt;br /&gt;          Share: none&lt;br /&gt;          Space Reservation: disabled&lt;br /&gt;          Multiprotocol Type: linux&lt;br /&gt;&lt;br /&gt;&gt; df -h&lt;br /&gt;Filesystem               total       used      avail capacity  Mounted on&lt;br /&gt;/vol/test/                10GB      128KB    10239MB       0%  /vol/test/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Tras quitar la reserva de espacio, la LUN solo consume unos pocos KB, por que todavía no tiene datos. Conforme se almacenen datos se irá consumiendo espacio del volumen hasta un máximo de 2GB que es el tamaño de ese disco virtual, tal y como lo ve el servidor cliente. Desde el interfaz web es incluso más sencillo, puesto que lo único que hay que hacer es quitar la reserva de espacio en el momento de crear la LUN:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilVG8A2HGbMLSD0HB-_x2DUWbD4JcJyvlE-CGalDZpgufaNjV5r9MD3sLoSmO78m45zPaznGGguvTA1OIAdu2NtvamteCX80qGFZpwxp2tys5afPlshH3-g0QakbeU-wDn_nJbPh92tYAr/s1600-h/iamge-02.gif&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 270px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilVG8A2HGbMLSD0HB-_x2DUWbD4JcJyvlE-CGalDZpgufaNjV5r9MD3sLoSmO78m45zPaznGGguvTA1OIAdu2NtvamteCX80qGFZpwxp2tys5afPlshH3-g0QakbeU-wDn_nJbPh92tYAr/s320/iamge-02.gif&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5385446881543693378&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/1745604594543805799/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/1745604594543805799' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1745604594543805799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1745604594543805799'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/09/de-duplicacion-netapp-fas2020.html' title='De-duplicación NetApp FAS2020'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIFA0DmatcICbCQWwvnm4opc_mPq8MU5vi50L3Ed21fd0PVhmf9HxCwGUjuMp3BiHzq6wkaK9JTshQoKSSYtK0wFVn8Fry1Iu3PyV0I2tKYwcb_iLKidnY5T6CeCCweMwEnmqU1twVldXK/s72-c/deduplication.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-5839129008800320926</id><published>2009-07-08T09:04:00.001-07:00</published><updated>2009-10-01T04:31:23.106-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Monitorización"/><category scheme="http://www.blogger.com/atom/ns#" term="Sistemas"/><title type='text'>Remote Logging SysLog</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.adiscon.com/common/en/faq/how-to-setup-phpsyslogng-with-monitorware-products/php-syslog-ng-searchresult.gif&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 358px; height: 254px;&quot; src=&quot;http://www.adiscon.com/common/en/faq/how-to-setup-phpsyslogng-with-monitorware-products/php-syslog-ng-searchresult.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;syslog&lt;/span&gt; es un estándar de facto para el envío de mensajes de registro en una red informática IP. Por syslog se conoce tanto al protocolo de red como a la aplicación o biblioteca que envía los mensajes de registro. Un mensaje de registro suele tener información sobre la seguridad del sistema, aunque puede contener cualquier información. Junto con cada mensaje se incluye la fecha y hora del envío.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;En nuestro caso vamos a utilizar sylog-ng(nextgen) ya que es mucho mas flexible (Permite aplicar filtros, clasificar de acuerdo a distintos orígenes y enviar a diferentes destinos los logs, etc...).El archivo de configuración a modificar en cuestión es /etc/syslog-ng/syslog-ng.conf, tanto en el servidor como en los clientes que enviaran los logs por red. Añadimos al Server las siguientes lineas:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;source remote { tcp(port(514) keep-alive(no)); };&lt;br /&gt;destination hosts { file(&quot;/var/log/HOSTS/$HOST/$FACILITY&quot; owner(root)&lt;br /&gt;  group(root) perm(0600) dir_perm(0700) create_dirs(yes)); };&lt;br /&gt;log { source(remote); destination(hosts); };&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Así estará escuchando por el puerto 514 cualquier sourcelog emitida por los clientes y la guardara en carpetas separadas con la estructura /var/log/HOSTS/&quot;hostname&quot;/. En los clientes hemos añadido las siguientes lineas al config file:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;destination loghost {tcp(&quot;IP_SERVER&quot; port(514));};&lt;br /&gt;log { source(src); destination(loghost); };&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Esto enviara la totalidad de logs que gestiona syslog a nuestro server.&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/5839129008800320926/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/5839129008800320926' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5839129008800320926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5839129008800320926'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/07/remote-logging-syslog.html' title='Remote Logging SysLog'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-2598716392446671115</id><published>2009-07-08T09:02:00.000-07:00</published><updated>2009-09-28T06:26:10.899-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><category scheme="http://www.blogger.com/atom/ns#" term="Sistemas"/><title type='text'>Sincronización de servidores NTP en modo Peer y Multicasting</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.nil.si/ipcorner/BeOnTime/$FILE/NonRedundantSite.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 477px; height: 193px;&quot; src=&quot;http://www.nil.si/ipcorner/BeOnTime/$FILE/NonRedundantSite.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Network Time Protocol (NTP) es un protocolo de Internet para sincronizar los relojes de los sistemas informáticos a través de ruteo de paquetes en redes con latencia variable. NTP utiliza UDP como su capa de transporte, usando el puerto 123. En el trabajo me toco configurar una red de servidores NTP en modo peer/multicasting, algo un poco mas avanzado, a continuación tienes las anotaciones;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Este es el esquema de una red de servidores NTP utilizando sincronización Server, Peer, Multicasting:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYtmnXvRFwVSMD6C-Z1xXBnTI6vD9wDTCnD7SCl-gUCx6UTMnwewd3EhjrqY416xkFrDALTmhUO1P5yKZrXE_Nw1poR0cyUy6RqubdzYpGQ4rEeAoJ3cTh1wMcL-Q-hx5GiVEuzc6XTxj0/s1600-h/serversntp_blog.jpeg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYtmnXvRFwVSMD6C-Z1xXBnTI6vD9wDTCnD7SCl-gUCx6UTMnwewd3EhjrqY416xkFrDALTmhUO1P5yKZrXE_Nw1poR0cyUy6RqubdzYpGQ4rEeAoJ3cTh1wMcL-Q-hx5GiVEuzc6XTxj0/s320/serversntp_blog.jpeg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5358283927265262066&quot; /&gt;&lt;/a&gt;&lt;br /&gt;El archivo de configuración de los server que van a ofrecer multicasting se encuentra en /etc/ntp.conf y suele tener el siguiente formato:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;server X.X.X.X burst iburst             # Server NTP Principal de la empresa&lt;br /&gt;peer Y.Y.Y.Y                            # Server Peer&lt;br /&gt;server 127.127.1.0                      # local clock (LCL)&lt;br /&gt;fudge 127.127.1.0  stratum 10           # LCL is unsynchronized&lt;br /&gt;broadcast 224.0.1.1 key 1               # Sync Broadcast&lt;br /&gt;driftfile /var/lib/ntp/drift/ntp.drift  # path for drift file&lt;br /&gt;logfile   /var/log/ntp                  # alternate log file&lt;br /&gt;authenticate yes                        # Autentificación activada&lt;br /&gt;keys /etc/ntp.keys                      # path for keys file&lt;br /&gt;trustedkey 1                            # define trusted keys&lt;br /&gt;requestkey 1                            # key (7) for accessing server variables&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Un posible cliente multicast de este Server NTP tendría el siguiente /etc/ntp.conf:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;enable bclient                          # habilita recepción broadcast&lt;br /&gt;multicastclient 224.0.1.1 key 1&lt;br /&gt;server 127.127.1.0                      # local clock (LCL)&lt;br /&gt;fudge 127.127.1.0  stratum 10           # LCL is unsynchronized&lt;br /&gt;authenticate yes&lt;br /&gt;keys /etc/ntp.keys&lt;br /&gt;trustedkey 1&lt;br /&gt;requestkey 1&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Para una sincronización broadcast-multicast como esta hay que tener en cuenta las trusted keys, ya que sin ellas no es posible la sync con los servers. Para ello hay que establecer contraseñas (keys) comunes en el archivo /etc/ntp.keys de cada maquina que actúa en la sync. En el ejemplo anterior estamos utilizando la primera key para este proceso. Mas información sobre este archivo: &lt;a href=&quot;http://osr507doc.sco.com/en/NetAdminG/ntpC.keys_file.html%20&quot;&gt;osr507doc&lt;/a&gt;.Un ejemplo de ntp.keys seria:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;1      M    MiTrustedKey&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Algunos comandos que me fueron de utilidad durante el proceso de configuración (bajo SLES11):&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# vim /etc/ntp.conf             Archivo configuración ntpd&lt;br /&gt;# vim /etc/ntp.keys             Archivo configuración trusted keys&lt;br /&gt;# service ntp restart           Reiniciar el servicio ntp despues de cada config&lt;br /&gt;# ntpq -p                       Network Time Protocol Query Utils&lt;br /&gt;# rcntp status                  Remote Call Network Time Protocol&lt;br /&gt;# tcpdump -w udp port 123       Escucha paquetes tcp por el puerto 123 (ntp service)&lt;br /&gt;# date                          Muestra la fecha para ver si hay sincronización&lt;br /&gt;# ln -s /usr/share/zoneinfo/ZonaXXX /etc/localtime&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/2598716392446671115/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/2598716392446671115' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2598716392446671115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2598716392446671115'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/07/protocolo-ntp.html' title='Sincronización de servidores NTP en modo Peer y Multicasting'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYtmnXvRFwVSMD6C-Z1xXBnTI6vD9wDTCnD7SCl-gUCx6UTMnwewd3EhjrqY416xkFrDALTmhUO1P5yKZrXE_Nw1poR0cyUy6RqubdzYpGQ4rEeAoJ3cTh1wMcL-Q-hx5GiVEuzc6XTxj0/s72-c/serversntp_blog.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-6759951102994219846</id><published>2009-06-08T07:46:00.000-07:00</published><updated>2010-11-18T05:08:25.150-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hacking"/><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>Seguridad en Redes Wifi v1.0</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.enriquedans.com/wp-content/uploads/2007/07/wifi_big.gif&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;&quot; src=&quot;http://www.enriquedans.com/wp-content/uploads/2007/07/wifi_big.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Después de leer muchos &quot;tutoriales&quot; &quot;manuales&quot; &quot;guías&quot; y demás documentación me doy cuenta de que en ningún sitio esta explicado en condiciones lo que es el sistema Wi-Fi de transmisión de datos y lo que es más importante, que medidas de seguridad tiene.&lt;br /&gt;&lt;br /&gt;Pues bien aquí se va a explicar, desde cero al infinito o al límite de conocimiento que tenga la red sobre el tema (que perfectamente puede ser infinito).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;En este primer post de seguridad informatica, descubriréis muchas cosas, entre ellas mi pasión por el hacking. Así pues preparaos para un chute tecnológico instantáneo, al estilo matrix como sé que os gusta :&lt;br /&gt;&lt;br /&gt;Si no tienes ni idea de lo que estamos hablando es recomendable que empieces con esta práctica metodología de estudio. La metodología de estudio de cualquier tecnología, técnica o incluso por qué leches no decirlo, del mundo real y todo lo que nos rodea es simple, al igual que la mayoría de las respuestas a los grandes misterios de la humanidad: &lt;span&gt;PREGUNTATE A TI MISMO!&lt;/span&gt; [&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;y después acude a google xD&lt;/span&gt;]&lt;br /&gt;&lt;br /&gt;Siguiendo esta metodología nos encontramos con estas series de preguntas que cualquier homínido con dos dedos de frente se haría. Así llegamos a la primera sección que toda guía especializada debería llevar: &lt;span&gt;Documéntate o muere!!!&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;span&gt;1. ¿Qué es la comunicación inalámbrica?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/Comunicaci%C3%B3n_inal%C3%A1mbrica&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;2. ¿Qué es el sistema Wi-Fi?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/WiFi&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;3. ¿Qué tipos de dispositivos van a entrar en juego?&lt;/span&gt;&lt;br /&gt;- &lt;a href=&quot;http://es.wikipedia.org/wiki/Punto_de_acceso&quot;&gt;Punto de acceso (AP)&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://es.wikipedia.org/wiki/Router&quot;&gt;Enrutador (router)&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://es.wikipedia.org/wiki/Concentrador&quot;&gt;Concentradores (hubs)&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://es.wikipedia.org/wiki/Switch&quot;&gt;Conmutadores (switches)&lt;br /&gt;&lt;/a&gt;     - &lt;span&gt;Dispositivos de recepción&lt;/span&gt;&lt;br /&gt;- &lt;a href=&quot;http://www.mercadopc.com/logic/servlet/group?idgroup=627&quot;&gt;Tarjetas PCI&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://www.mercadopc.com/logic/servlet/group?idgroup=628&quot;&gt;Tarjetas PCMCIA&lt;br /&gt;&lt;/a&gt;          - &lt;a href=&quot;http://www.softworld.es/wlan_usb/&quot;&gt;Adaptadores USB&lt;/a&gt;&lt;br /&gt;&lt;span&gt;4. ¿Qué tipo de seguridad tiene?&lt;/span&gt; [&lt;a href=&quot;http://www.iec.csic.es/gonzalo/descargas/SeguridadWiFi.pdf&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;5.&lt;/span&gt; &lt;span&gt;Todavía no me queda del todo claro...&lt;/span&gt;&lt;br /&gt;- &lt;span&gt;¿Qué es el sistema de cifrado WEP?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/WEP&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Qué es el sistema de cifrado WPA?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/WPA&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Qué es el sistema de cifrado WPA2?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/WPA2&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Cómo funciona el protocolo IPsec?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/IPSEC&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Espera .. Que es una MAC?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/Direcci%C3%B3n_MAC&quot;&gt;Respuesta&lt;/a&gt;] &lt;span&gt;¿y un filtrado de MAC?&lt;/span&gt; [&lt;a href=&quot;http://www.virusprot.com/Charwifi3.html&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Que es el SSID? ¿Se puede ocultar el SSID?&lt;/span&gt; [&lt;a href=&quot;http://forofosdelaweb.com/blog_forofos/?p=15&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;- &lt;span&gt;¿Qué significa que el DHCP está Deshabilitado en el AP?&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/DHCP&quot;&gt;Respuesta&lt;/a&gt;]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Ahora que sabéis todos estos conceptos, ¿Que necesitamos para reventar una Wi-fi?, - un bate de beisbol que emita ondas hertzianas de baja frecuencia, NO! la respuesta a todas nuestras preguntas es la sección: Hacking Tools!!&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;span&gt;1. Un PC&lt;/span&gt; (a poder ser &lt;a href=&quot;http://en.wikipedia.org/wiki/Laptop&quot;&gt;Laptop&lt;/a&gt;)&lt;br /&gt;&lt;span&gt;2. Sistema Operativo y Utilidades de auditoría Wi-fi:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Anonym.OS&lt;/span&gt; [&lt;a href=&quot;http://kaos.to/blog/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://kaos.to/blog/downloads/&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Arudius&lt;/span&gt; [&lt;a href=&quot;http://www.fosstools.org/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.tdisecurity.com/tools.html&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- BlackTrack&lt;/span&gt; &lt;span&gt;(Auditor Security Collection) &lt;/span&gt;[&lt;a href=&quot;http://remote-exploit.org/backtrack.html&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://remote-exploit.org/backtrack_download.html&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- CQure AP&lt;/span&gt; [&lt;a href=&quot;http://www.cqure.net/wp/cqureap/&quot;&gt;Info &amp;amp; Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Frenzy&lt;/span&gt; [&lt;a href=&quot;http://frenzy.org.ua/eng/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://frenzy.org.ua/en/download.shtml&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Knoppix STD&lt;/span&gt; [&lt;a href=&quot;http://www.knoppix-std.org/index.html&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.knoppix-std.org/download.html&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Linux LiveCD Router&lt;/span&gt; [&lt;a href=&quot;http://www.wifi.com.ar/english/cdrouter.html&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.wifi.com.ar/download/livecdrouter/&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Operator&lt;/span&gt; [&lt;a href=&quot;http://www.ussysadmin.com/operator/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.ussysadmin.com/wp-content/uploads/Operator.iso&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Pentoo&lt;/span&gt; [&lt;a href=&quot;http://www.pentoo.ch/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.pentoo.ch/-Download-.html&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Phlak&lt;/span&gt; [&lt;a href=&quot;http://en.wikipedia.org/wiki/PHLAK&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://sourceforge.net/projects/phlakproject/&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;-&lt;/span&gt; &lt;span&gt;ProTech&lt;/span&gt; [&lt;a href=&quot;http://www.techm4sters.org/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.techm4sters.org/downloads.html&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Sisela&lt;/span&gt; [&lt;a href=&quot;http://the.earth.li/%7Emartin/sisela/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://the.earth.li/%7Emartin/sisela/download/sisela-0.3.iso&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Talos Security LivecD&lt;/span&gt; [&lt;a href=&quot;http://www.isafe.gr/talos.html&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://isafe.roswellcomputing.com/talos_beta-0.1.iso&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- WarLinux&lt;/span&gt; [&lt;a href=&quot;http://sourceforge.net/projects/warlinux/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=57253&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- WHAX&lt;/span&gt; [&lt;a href=&quot;http://es.wikipedia.org/wiki/WHAX&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://distrowatch.com/table.php?distribution=whoppix&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- Wifiway&lt;/span&gt; [&lt;a href=&quot;http://seguridadwireless.net/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://foro.seguridadwireless.net/soporte-wifiway-para-netbooks/wifiway-1-0-final-para-netbooks-%21%21%21/&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;span&gt;- wifislax&lt;/span&gt; [&lt;a href=&quot;http://www.wifislax.com/&quot;&gt;Info&lt;/a&gt;][&lt;a href=&quot;http://www.wifislax.com/descargas.php&quot;&gt;Download&lt;/a&gt;]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span&gt;3. Existen muchos SO de auditoría ¿cual escojo?&lt;/span&gt; - Pues depende, si quieres profundizar en el mundo de la auditoria wireless o te quieres dedicar a ello profesionalmente te diría que probases todos y sacases tus propias conclusiones [&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;incluso podrías generar tu propia distro live-cd con las tools que más te gustasen&lt;/span&gt;]. Si estas realizando algún proyecto de investigación &lt;span&gt;BlackTrack&lt;/span&gt; es una buena opción por su amplia gama de tools y si lo que quieres es una herramienta para un acceso rápido preparada para hasta el más imbécil sin duda usaría &lt;span&gt;Wifiway&lt;/span&gt; o &lt;span&gt;Wifislax&lt;/span&gt;. La elección es tuya.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;4. ¿Con win-xpeta o WinVistoso no puedo hacerlo?&lt;/span&gt; - Puedes hacerlo pero yo no te voy a decir como, por mi ampliamente conocido &lt;span&gt;ASKO&lt;/span&gt; sobre esta serie de sistemas operativos preparados para realizar cualquier cosa orientada a ... vamos a fichar a games o trastear con el photoshop. Pero aquí tienes un par de &quot;tutoriales&quot; de esos que les gustan a gente como tu: [&lt;a href=&quot;http://foro.elhacker.net/hacking_wireless/crackear_wep_con_windows_xp_y_tarjeta_pci_conceptronic-t76795.0.html%3Bmsg353734&quot;&gt;tutorial1&lt;/a&gt;] [&lt;a href=&quot;http://www.scribd.com/doc/3301378/Hack-una-Wifi-desde-Windows&quot;&gt;tutorial2&lt;/a&gt;] [&lt;a href=&quot;http://carzel.wordpress.com/2007/06/11/video-de-como-crackear-wpawpa2-desde-windows-con-cain/&quot;&gt;tutorial3&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;5. Documento en continua Expansión: id visitando estos sites:&lt;br /&gt;http://frikeando.wordpress.com/2006/06/29/auditoria-wireless-%C2%BFque-tarjeta-wifi-debo-usarcomprar/&lt;br /&gt;http://linux-wless.passys.nl/&lt;br /&gt;http://hwagm.elhacker.net/htm/inicios.htm&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/6759951102994219846/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/6759951102994219846' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6759951102994219846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/6759951102994219846'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/06/seguridad-redes-wireless.html' title='Seguridad en Redes Wifi v1.0'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-8674961540378242676</id><published>2009-06-08T06:18:00.000-07:00</published><updated>2009-07-13T09:13:53.022-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>iSCSI Server en SLES11</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://content.ll-0.com/bosch/bosch_e_a000628186.JPG?i=121506161055&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 200px;&quot; src=&quot;http://content.ll-0.com/bosch/bosch_e_a000628186.JPG?i=121506161055&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; ¿Qué es iSCSI?&lt;br /&gt;&lt;br /&gt;iSCSI es un extensión de SCSI, que no es otra cosa que un protocolo para comunicación de dispositivos. SCSI suele usarse en dispositivos conectados físicamente a un host o servidor, tales como discos duros, lectoras de cds o dispositivos de cinta. En iSCSI, los comandos SCSI que manejan el dispositivo, se envían a través de la red. De forma que en vez de tener un disco SCSI conectado físicamente a nuestro equipo, lo conectamos por medio de la red.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Funciones Principales:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como se puede ver en el diagrama siguiente, iSCSI tiene una arquitectura tipo cliente servidor:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Z4mylk7KBbFyrEgTF07ll-bkRelml1yAM53IVmmFEbrITzXoa7UGyZNkaEm68wXX-rc8d7UHwYPAjg1tK04VvHIZzZzChtv4mnpgFylqjTCHmxMmIVvE__Z5faiUVbQsdyZ5HrCj4T4R/s1600-h/iscsiarqu.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Z4mylk7KBbFyrEgTF07ll-bkRelml1yAM53IVmmFEbrITzXoa7UGyZNkaEm68wXX-rc8d7UHwYPAjg1tK04VvHIZzZzChtv4mnpgFylqjTCHmxMmIVvE__Z5faiUVbQsdyZ5HrCj4T4R/s320/iscsiarqu.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5344958876634744978&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;El target iSCSI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El target iSCSI es en pocas palabras el servidor. Un target puede ofrecer uno o más recursos iSCSI por la red. En las soluciones Linux para iSCSI, no hace falta que el dispositivo a exportar sea necesariamente un disco SCSI; medios de almacenamiento de distinta naturaleza se pueden usar, como por ejemplo:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;  * Particiones RAID&lt;br /&gt;  * Particiones LVM&lt;br /&gt;  * Discos enteros&lt;br /&gt;  * Particiones comunes&lt;br /&gt;  * Archivos&lt;br /&gt;  * Dispositivos de CD, cintas, etc.&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;El iniciador iSCSI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El iniciador es el cliente de iSCSI. Generalmente el iniciador consta de dos partes: los módulos o drivers que proveen soporte para que el sistema operativo pueda reconocer discos de tipo iSCSI y un programa que gestiona las conexiones a dichos discos.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Proceso de Instalación de Server/Client iSCSI:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Creando unidades virtuales LVM: (Volume groput: System - Logical Volume: test1)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;# pvscan / pvs&lt;br /&gt;# vgcreate system /dev/cciss/c0d0p5&lt;br /&gt;# lvcreate system -n test1 /dev/ccissc0d0p5 -L10G&lt;br /&gt;# mkfs.ext3 /dev/system/test1&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Instalando el Target iSCSI (&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;yast -i linux-source libssl-dev (Librerias de desarrololo ssl)&lt;br /&gt;yast -i iscsitarget&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Ficheros que instala iscsitarget:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;/etc/ietd.conf&lt;br /&gt;/etc/init.d/iscsitarget&lt;br /&gt;/etc/sysconfig/SuSEfirewall2.d/services/iscsitarget&lt;br /&gt;/usr/sbin/ietadm&lt;br /&gt;/usr/sbin/ietd&lt;br /&gt;/usr/sbin/rciscsitarget&lt;br /&gt;/usr/share/doc/packages/iscsitarget&lt;br /&gt;/usr/share/doc/packages/iscsitarget/COPYING&lt;br /&gt;/usr/share/doc/packages/iscsitarget/README&lt;br /&gt;/usr/share/man/man5/ietd.conf.5.gz&lt;br /&gt;/usr/share/man/man8/ietd.8.gz&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Configuración del target&lt;br /&gt;&lt;br /&gt;La configuración de IET se encuentra en /etc/ietd.conf&lt;br /&gt;&lt;br /&gt;Allí tendremos que configurar dos cosas principalmente:&lt;br /&gt;&lt;br /&gt;  * El nombre de nuestro target iSCSI&lt;br /&gt;  * El nombre de usuario y la contraseña para la conexión del iniciador&lt;br /&gt;  * El dispositivo que ofreceremos como target iSCSI&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;Target iqn.2009-06.int.empresa.com:lvm.10G.test1&lt;br /&gt;      IncomingUser &quot;usuario&quot; &quot;password&quot;&lt;br /&gt;      Lun 0 Path=/dev/system/test1,Type=fileio&lt;br /&gt;      Alias TEST1&lt;br /&gt;&lt;br /&gt;/etc/init.d/iscsitarget start  -&gt; Levantamos el servidor&lt;br /&gt;update-rc.d iscsitarget defaults -&gt; scsi target inicia junto con el server&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Montando el Iniciador iSCSI&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;yast -i open-iscsi&lt;br /&gt;-&gt; iscsid (demonio que controla el iniciador)&lt;br /&gt;-&gt; iscsiadm (programa para configurar y gestionar el iniciador)&lt;br /&gt;&lt;br /&gt;/etc/init.d/open-iscsi start  (iniciamos el servicio)&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Descubrir y sonsacar información del target iSCSI:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;iscsiadm -m discovery -t sendtargets -p &quot;ip_Servidor_iSCSI&quot;&lt;br /&gt;iscsiadm -m discovery&lt;br /&gt;iscsiadm -m node --targetname iqn.2009-06.int.empresa.com:lvm.10G.test1&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Actualizamos la configuración con los datos de nuestro target iSCSI:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;iscsiadm -m node --targetname &quot;iqn.2009-06.int.empresa.com:lvm.10G.test1&quot; --portal &quot;ip_Servidor_iSCSI&quot;:&quot;Puerto_Target(def 3260)&quot; --op=update --name node.session.auth.authmethod --value=CHAP&lt;br /&gt;iscsiadm -m node --targetname &quot;iqn.2009-06.int.empresa.com:lvm.10G.test1&quot; --portal &quot;ip_Servidor_iSCSI&quot;:&quot;Puerto_Target(def 3260)&quot; --op=update --name node.session.auth.username --value=&quot;usuario&quot;&lt;br /&gt;iscsiadm -m node --targetname &quot;iqn.2009-06.int.empresa.com:lvm.10G.test1&quot; --portal &quot;ip_Servidor_iSCSI&quot;:&quot;Puerto_Target(def 3260)&quot; --op=update --name node.session.auth.password --value=&quot;password&quot;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Iniciar sesión con el target iSCSI:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;iscsiadm -m node --targetname iqn.2009-06.int.empresa.com:lvm.10G.test1 -p &quot;ip_Servidor_iSCSI&quot; --login&lt;br /&gt;iscsiadm -m node --targetname iqn.2009-06.int.empresa.com:lvm.10G.test1 -p &quot;ip_Servidor_iSCSI&quot; --logout&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Automatización del target iSCSI en el arranque:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;yast -i yast2-iscsi-client&lt;br /&gt;&lt;br /&gt;yast ( &gt; Network Serices &gt; iSCSI Initiator)&lt;br /&gt;ISCSI Initiator Discovery: IP server, Port, outgoing Authentication, Username, Password (ietd.confg)&lt;br /&gt;Connected Targets (toggle Start-Up = Automatic)&lt;br /&gt;Service (When Booting)&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Finish.&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/8674961540378242676/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/8674961540378242676' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8674961540378242676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8674961540378242676'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/06/iscsi-en-sles11-suse-linux-enterprise.html' title='iSCSI Server en SLES11'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Z4mylk7KBbFyrEgTF07ll-bkRelml1yAM53IVmmFEbrITzXoa7UGyZNkaEm68wXX-rc8d7UHwYPAjg1tK04VvHIZzZzChtv4mnpgFylqjTCHmxMmIVvE__Z5faiUVbQsdyZ5HrCj4T4R/s72-c/iscsiarqu.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-4468650101625290333</id><published>2009-03-16T02:33:00.000-07:00</published><updated>2009-07-16T07:47:31.273-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>Veritas NetBackup en RHEL (Red Hat)</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://img2.insight.com/graphics/nl/vendor/symantec/header_netbackup.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 150px;&quot; src=&quot;http://img2.insight.com/graphics/nl/vendor/symantec/header_netbackup.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Según la &lt;a href=&quot;http://www.symantec.com/es/mx/business/netbackup&quot;&gt;web oficial&lt;/a&gt; de Netbackup: &quot;Veritas NetBackup 6.5 ofrece una protección de datos de alto rendimiento para UNIX, Windows, Linux y NetWare, escalable hasta los entornos más extensos. Con una protección completa que abarca desde las oficinas remotas hasta los datacenters y los repositorios de información, NetBackup ofrece una sola consola para todas las operaciones de copia de respaldo y recuperación&quot;.&lt;br /&gt;&lt;br /&gt;Vamos a realizar una instalación de NetBackup en RHEL (Red Hat Enterprise Linux). Lo primero que tenemos que mirar es la funcionalidad del software (para que sirve) y a la hora de instalar las listas de compatibilidades del sitio oficial (Mirar Anotaciones).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Funciones Principales:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Plataforma unica para administrar, proteger y recuperar datos de las diferentes capas de Almacenamiento.&lt;br /&gt;- Eliminación de datos duplicados, nuevos controles biblioteca virtual de cintas (VTL)&lt;br /&gt;- Protección y Recuperación de datos integrada para entornos virtuales, aplicaciones criticas, bases de datos y Servidores.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Requisitos del Sistema:&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://seer.entsupport.symantec.com/docs/278064.htm&quot;&gt;- Operating Systems&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://http//seer.entsupport.symantec.com/docs/303344.htm&quot;&gt;- Master Compatibility List&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.symantec.com/es/mx/business/products/agents_options.jsp?pcid=pcat_storage&amp;amp;pvid=2_1&quot;&gt;Agentes Soportados:&lt;/a&gt;&lt;br /&gt;- Veritas NetBackup para DB2, Informix, Lotus Notes, Microsoft Exchange Server, Microsoft SharePoint Server, Microsoft SQL server, NDMP, Oracle, SAP, Sybase, Vault.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Pasos de la instalación: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;01 - Install Private Branch Exchange (PBX)&lt;br /&gt;02 - Install Netbackup&lt;br /&gt;03 - Licenses Netbackup&lt;br /&gt;04 - Pre-Install Puredisk&lt;br /&gt;05 - Licenses Puredisk&lt;br /&gt;06 - Change /etc/hosts (Master Server, Nodos, Puredisk, etc,.....)&lt;br /&gt;07 - Defines Storage Units (Crear Storage Units bien sean hardisk or TapeLibrarys.&lt;br /&gt;08 - Define Polices Netbackup (Definimos las politicas de los clients)&lt;br /&gt;09 - apt-get install &quot;dialog&quot; (display dialog boxes from shell scripts) *man dialog + información&lt;br /&gt;10 - Launch /opt/pdinstall/edit_topology.sh&lt;br /&gt;11 - Launch /opt/pdinstall/install_newStoragePool.sh&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Instalación Netbackup Server RHEL:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;01. Install a couple of dependencies: yum install compat-libstdc++-296 xinetd libXp&lt;br /&gt;02. Make sure that the hostname is set correctly. This is very important.&lt;br /&gt;03. Temporarily disable SELinux: setenforce 0&lt;br /&gt;04. Untar the installation files:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     tar xvf NetBackup_6.5_LinuxRedhat2.6.tar.gz&lt;br /&gt;     tar xvf NetBackup_6.5_ICS_LinuxX86.tar.gz&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;05. Start the installation:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     ./NB_65_LinuxR_x86_20070723/install&lt;br /&gt;     .....&lt;br /&gt;     #ICS Directory: ./NB_65_ICS_1.4.37.0_LinuxX86/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;06. Fix SELinux:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     chcon -t textrel_shlib_t /usr/openv/lib/*&lt;br /&gt;     setenforce 1&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;07. Start Netbackup:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     /etc/init.d/netbackup start&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Instalación Cliente Netbackup:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;01. Untar the installation file:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     tar xvf NetBackup_6.5_CLIENTS2.tar.gz&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;02. Start the installation:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     NB_65_CLIENTS2_20070723/install&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;03. Fix SELinux issues:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     chcon -t textrel_shlib_t /usr/openv/lib/*&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;04. Start the client:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;     /etc/init.d/nbclient start&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/4468650101625290333/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/4468650101625290333' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4468650101625290333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4468650101625290333'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/03/veritas-netbackup-proteccion-de-datos.html' title='Veritas NetBackup en RHEL (Red Hat)'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-1097086293681902213</id><published>2009-03-11T02:51:00.000-07:00</published><updated>2010-04-19T06:48:31.446-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Sistemas"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualización"/><title type='text'>Sun Solaris en VMware bajo Ubuntu</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://eduangi.com/wp-content/uploads/2007/07/wp-content-uploads-2006-11-top10-solaris8-feature1.gif&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 166px; height: 166px;&quot; src=&quot;http://eduangi.com/wp-content/uploads/2007/07/wp-content-uploads-2006-11-top10-solaris8-feature1.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Vamos a instalar VMware WorkStation bajo Ubuntu y despues vamos a virtualizar una machine con Solaris 8 (por ejemplo) como sistema operativo. Lo primero es conseguir &lt;a href=&quot;http://aprendizdetodo.wordpress.com/2006/11/27/instalar-vmware-workstation-en-ubuntu/&quot;&gt;vmware workstation para ubuntu&lt;/a&gt; y después podemos ponernos con el tutorial:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Antes de instalarlo necesitamos los siguiente :&lt;br /&gt;&lt;br /&gt;1° Instalar Build Essentials y Linux Headers&lt;br /&gt;2° Instalar xinetd&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;sudo apt-get install build-essential linux-headers-[&#39;uname -r&#39;]&lt;br /&gt;sudo apt-get install xinetd&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Finalmente lo instalan descomprimiendo el archivo y ejecutando en un terminal lo siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;sudo sh VMware-Workstation-6.5.1-126130.i386.bundle&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Con esto deberiamos tener instalado perfectamente VMware. Ahora descargamos una ISO de Solaris 8, 9 o 10 para arch x86 y empezamos a configurar la Virtual Machine:&lt;br /&gt;&lt;br /&gt;&gt; Edit Virtual Machine Setting&lt;br /&gt;· Memory: 512 MB&lt;br /&gt;· Processors: 1 (2 si hay posibilidad)&lt;br /&gt;· Hard Disk (IDE): 8GB&lt;br /&gt;· CD/DVD: (Apuntamos hacia la ISO o el DVD en función de donde tengamos la iso de solaris)&lt;br /&gt;· Autodetect el resto.&lt;br /&gt;&lt;br /&gt;&gt; Pestaña Options&lt;br /&gt;· General: Guest Operating System: Solaris X&lt;br /&gt;· SnapShot/Replay: Just Power Off&lt;br /&gt;&lt;br /&gt;Le damos a &quot;Power On&quot; y arrancamos la machine para comenzar la instalación de Solaris (para realizar una instalación en x86 tenemos que insertar el &lt;span style=&quot;font-weight: bold;&quot;&gt;cd &quot;Software1&quot;&lt;/span&gt; en ved de &quot;installation&quot;):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSXUBFhUuoZvzdW0MYNIf5AZzUNXmDVO7MiNc_z4Ip0MYzSFgPE1g5zA_jX8yJYciYmcdIJtCxPBz9VcyKTayMuVaidCJ9XyTvydlWrXuw5STcDqExr3BSqXElV7Km1gAcZlfWLBjhXrPk/s1600-h/vmware1.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSXUBFhUuoZvzdW0MYNIf5AZzUNXmDVO7MiNc_z4Ip0MYzSFgPE1g5zA_jX8yJYciYmcdIJtCxPBz9VcyKTayMuVaidCJ9XyTvydlWrXuw5STcDqExr3BSqXElV7Km1gAcZlfWLBjhXrPk/s320/vmware1.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5311884367625906498&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ahora hacemos este combo: &quot;F2 &gt; Enter &gt; F2&quot;, Solaris se liara a hacer una serie de historias (reconocimiento de hardware, etc...) hasta que llegamos a la pantalla de arranque de Solaris:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiza1__FM0nrlfw-A7_hipglU2Z4Vxo6cugAe4-rWUXKWSSFkiY0csn_6LlzxQ2SQtPBSTRH5Ab5jGAeh6LFFpnapjIEtBtVnZMzEi42c8w69Yo9N49X320EA6u1cjCq0pF-yNfPW6j1L2S/s1600-h/vmware2.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiza1__FM0nrlfw-A7_hipglU2Z4Vxo6cugAe4-rWUXKWSSFkiY0csn_6LlzxQ2SQtPBSTRH5Ab5jGAeh6LFFpnapjIEtBtVnZMzEi42c8w69Yo9N49X320EA6u1cjCq0pF-yNfPW6j1L2S/s320/vmware2.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5311885826543866866&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En esta patalla utilizamos las teclas &quot;vi&quot; para movernos, es decir j (bajar) k (subir) y el espacio para seleccionar. asi pues le decimos que nos cargue el kernel de solaris desde el dispositivo que precisemos, en mi caso CD y pulsamos F2.&lt;br /&gt;&lt;br /&gt;Tipo de instalación: &lt;span style=&quot;font-weight: bold;&quot;&gt;1-Solaris Interactive&lt;/span&gt;&lt;br /&gt;Select a language: 0 English&lt;br /&gt;Local Language: U.S.A. ISO-8859&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;kdmconfig:&lt;/span&gt;&lt;br /&gt;· select &quot;Change Video Device/Monitor&quot; and press F2&lt;br /&gt;···· Video Device Selection: &quot;16 color Starndard VGA 640x480 (256K)&quot; &gt; F2&lt;br /&gt;···· Monitor Type Selection: &quot;MultiFrecuency 100Khz (Up to 1600x1200 @ 80Hz)&quot; &gt; F2&lt;br /&gt;· press F2 again to keep the &quot;video device&quot; (i.e. your video card)&lt;br /&gt;· in the &quot;Monitor Types&quot; list select the Mulitsync options best suited for your monitor specifications and press F2&lt;br /&gt;· select your screen size and press F2&lt;br /&gt;· accept the detected resolution/color combination for your video card&lt;br /&gt;· select a virtual screen size that matches the screen size you selected in the previous step&lt;br /&gt;&lt;br /&gt;Seleccionamos Zona Geografica, Instalar la distribución completa, custom layout (a no ser que queramos modificar el espacio en Var u otro punto de montaje), Automatical reboot. Cuando rebootea nos pide la pass de root, se la damos y cuando arranque &quot;el sistema&quot; insertamos el cd &quot;software2&quot; y le damos al intro. Se instalara el resto de paquetes y cuando rebootemos de nuevo el sistema estara listo para arrancar. Eso, eso eso estodo amigos...&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/1097086293681902213/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/1097086293681902213' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1097086293681902213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1097086293681902213'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2009/03/instalacion-sun-solaris-en-vmware-bajo.html' title='Sun Solaris en VMware bajo Ubuntu'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSXUBFhUuoZvzdW0MYNIf5AZzUNXmDVO7MiNc_z4Ip0MYzSFgPE1g5zA_jX8yJYciYmcdIJtCxPBz9VcyKTayMuVaidCJ9XyTvydlWrXuw5STcDqExr3BSqXElV7Km1gAcZlfWLBjhXrPk/s72-c/vmware1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-1894494464115649239</id><published>2008-08-21T05:00:00.001-07:00</published><updated>2009-07-16T07:42:53.778-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Monitorización"/><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>Cacti - Graficado en Red</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://upload.wikimedia.org/wikipedia/commons/0/08/Cacti3.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 70px;&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/0/08/Cacti3.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Cacti es una completa solución de graficado en red, diseñada para aprovechar el poder de almacenamiento y la funcionalidad de graficar que poseen las RRDtool. Esta herramienta, desarrollada en PHP, provee un pooler ágil, plantillas de gráficos avanzadas, múltiples métodos para la recopilación de datos, y manejo de usuarios. Tiene una interfaz de usuario fácil de usar, que resulta conveniente para instalaciones del tamaño de una LAN, así como también para redes complejas con cientos de dispositivos.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Aqui tienes algunos ejemplos de las gráficas:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://blog.osusnet.com/wp-content/uploads/2008/04/cacti_servicios1.jpg&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 500px;&quot; src=&quot;http://blog.osusnet.com/wp-content/uploads/2008/04/cacti_servicios1.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/1894494464115649239/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/1894494464115649239' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1894494464115649239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/1894494464115649239'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/cacti-graficado-en-red.html' title='Cacti - Graficado en Red'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-5270049097190268164</id><published>2008-08-21T04:51:00.000-07:00</published><updated>2009-07-16T07:41:27.765-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>Modelos de Almacenamiento de Datos</title><content type='html'>Los principales modelos de almacenamiento de datos son los siguientes:&lt;br /&gt;&lt;br /&gt;- &lt;span style=&quot;font-weight: bold;&quot;&gt;Desestructurado.&lt;/span&gt;&lt;br /&gt;Pila de disquetes, CD-R. DVD o cintas apilados con una minima información&lt;br /&gt;de que ha sido copiado y cuando.&lt;br /&gt;&lt;br /&gt;- &lt;span style=&quot;font-weight: bold;&quot;&gt;Completa + Incremental.&lt;/span&gt;&lt;br /&gt;En primer lugar se hace la copia del sistema operativo al completo. Despues copiamos solo los archivos que se hayan modificado desde la ultima copia de seguridad. Es necesario un gran espacio de almacenaje.&lt;br /&gt;&lt;br /&gt;- &lt;span style=&quot;font-weight: bold;&quot;&gt;Diferencial.&lt;/span&gt;&lt;br /&gt;Una copia de seguridad diferencial es una copia de cada archivo en un sistema de ficheros que ha cambiado desde la última copia de seguridad completa.&lt;br /&gt;&lt;br /&gt;- &lt;span style=&quot;font-weight: bold;&quot;&gt;Espejo.&lt;/span&gt;&lt;br /&gt;Mirroring es el proceso automatizado de los datos por escrito a dos unidades simulteneously. Mirroring se utiliza para proporcionar redundancia. Si una unidad falla, la unidad redundante seguir para almacenar los datos y facilitar el acceso a ella. La unidad no puede ser sustituido y la unidad se podrá volver a espejos. Mirroring se utiliza en RAID de nivel 1.&lt;br /&gt;&lt;br /&gt;- &lt;span style=&quot;font-weight: bold;&quot;&gt;Protección continua de datos.&lt;/span&gt;&lt;br /&gt;En este modelo el sistema registra inmediatamente cada cambio en el sistema anfitrion.</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/5270049097190268164/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/5270049097190268164' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5270049097190268164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/5270049097190268164'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/modelos-de-almacenamiento-de-datos.html' title='Modelos de Almacenamiento de Datos'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-2059030605660128165</id><published>2008-08-12T00:21:00.000-07:00</published><updated>2009-07-13T09:21:32.864-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desarrollo"/><title type='text'>Instalando SVN - Subversión</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://svn.collab.net/repos/svn/branches/scheme-bindings/notes/logo/256-colour/subversion_logo-384x332.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 70px;&quot; src=&quot;http://svn.collab.net/repos/svn/branches/scheme-bindings/notes/logo/256-colour/subversion_logo-384x332.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;SVN es un sistema de control de versiones para que vaios programadores puedan trabajar en el mismo proyecto. En el servidor se monta un repositorio SVN y en el se van registrando los cambios (versiones) y los logs de comentarios que vean dejando los programadores conforme realizan cambios en el programa.&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;font-family:lucida grande;font-size:100%;&quot;  &gt;Instalando cliente Subversión:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;# apt-get update&lt;br /&gt;# apt-get install subversión&lt;br /&gt;$ mkdir /$home/svn &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(creampos directorio en /home/usuario/)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ cd /svn&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;font-family:lucida grande;font-size:100%;&quot;  &gt;Haciendo checkout:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ svn co http://svn.collab.net/repos/svn&lt;br /&gt;$ cd svn&lt;br /&gt;$ svn status&lt;br /&gt;A    svn/trunk/subversion/tests/cmdline/svneditor.bat&lt;br /&gt;M    svn/trunk/subversion/tests/cmdline/import_tests.py&lt;br /&gt;!    svn/trunk/subversion/tests/cmdline/svnadmin_tests.py&lt;br /&gt;?    svn/trunk/subversion/tests/cmdline/log_tests.py&lt;br /&gt;D    svn/trunk/subversion/tests/cmdline/special_tests_data&lt;br /&gt;C    svn/trunk/subversion/tests/cmdline/bad-special-type.dump&lt;br /&gt;&lt;br /&gt;$ svn help status &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(nos muestra ayuda sobre los codigos de la izquierda)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&#39; &#39; no hay modificaciones&lt;br /&gt;&#39;A&#39; Agregado&lt;br /&gt;&#39;C&#39; Presenta conflicto&lt;br /&gt;&#39;D&#39; Eliminado&lt;br /&gt;&#39;I&#39; Ignorado&lt;br /&gt;&#39;M&#39; Modificado&lt;br /&gt;&#39;R&#39; Reemplazado&lt;br /&gt;&#39;X&#39; Este ítem no está versionado, pero es usado por una&lt;br /&gt;definición de externals&lt;br /&gt;&#39;?&#39; el ítem no está bajo control de versiones&lt;br /&gt;&#39;!&#39; ítem faltante (removido por un comando ajeno a svn) o incompleto&lt;br /&gt;&#39;~&#39; ítem versionado obstruido por algún otro ítem de un tipo diferente&lt;br /&gt;&#39;L&#39; Copia bloqueada&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;La información de actualización aparece en la octava columna (con -u):&lt;br /&gt;&#39;*&#39; hay una nueva revisión en el servidor&lt;br /&gt;&#39; &#39; la copia de trabajo está actualizada&lt;br /&gt;&lt;br /&gt;Los campos restantes son de ancho variable y están delimitados por espacios:&lt;br /&gt;La revisión de trabajo (con -u o -v)&lt;br /&gt;La ultima revisión que se hizo commit y su autor(con -v)&lt;br /&gt;La ruta de copia de trabajo siempre es el último campo, para que&lt;br /&gt;pueda contener espacios en blanco.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;font-family:lucida grande;font-size:100%;&quot;  &gt;Otros comandos de interes:&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ svn ci &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(commit - subiendo cambios)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ svn ci -m &quot;agregado el archivo tal; Modificado el archivo tal&quot;&lt;br /&gt;$ svn add archivo.src carpeta/ &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(Agregando archivos nuevos)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ svn delete archivo.src carpeta/ &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(borrando archivos)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ svn update &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(trabajar con la ultima version)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ svn log &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(videndo el historial de cambios)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;$ svn log  -r 31:35 &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:lucida grande;font-size:100%;&quot;  &gt;(muestra logs de revisiones de 31 a 35)&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/2059030605660128165/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/2059030605660128165' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2059030605660128165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2059030605660128165'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/svn-subversin.html' title='Instalando SVN - Subversión'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-4427734938489035224</id><published>2008-08-11T03:28:00.000-07:00</published><updated>2009-03-11T02:20:09.577-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>Tipos de redes de Almacenamiento</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://imagenes.acambiode.com/img-bbdd/Storage.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 70px;&quot; src=&quot;http://imagenes.acambiode.com/img-bbdd/Storage.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Es un poco lioso diferenciar los tipos de redes de almacenamiento ya que algunos conceptos se asemejan bastante. En estas anotaciones creo que quedan bien explicados:&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;br /&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;DAS (Direct Attached Storage).&lt;/span&gt;&lt;br /&gt;Es el metodo tradicional de almacenamiento y el mas sencillo.&lt;br /&gt;El almacenamiento de conexión directa, cualquier subsistema&lt;br /&gt;de disco que esta conectado a un solo host, bien sea por SCSI,&lt;br /&gt;fibra, o cualquier otro modo.Alto TCO &lt;span style=&quot;color: rgb(51, 255, 51);&quot;&gt;(coste de propiedad)&lt;/span&gt; y&lt;br /&gt;falta de flexibilidad de una red de almacenamiento.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-DAS.gif&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px;&quot; src=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-DAS.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;NAS (Network Atached Storage).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El NAS contiene un solo dispositivo de almacenamiento que&lt;br /&gt;esta directamente conectado a una LAN y que ofrece datos&lt;br /&gt;compartidos a todos los clientes de la red.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-NAS.gif&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px;&quot; src=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-NAS.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;SAN (Storage Area Network).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es una red de alta velocidad diseñada especialmente para el&lt;br /&gt;almacenamiento de datos y que esta conecatada a uno o mas&lt;br /&gt;servidores a traves de fibra. Los usuarios pueden acceder a&lt;br /&gt;cualquier de los dispositivos de almacenamiento de la red a&lt;br /&gt;través de los servidores y los datos son escalables hasta 50TBs.&lt;br /&gt;&lt;br /&gt;Este almacenamiento centralizado reduce la administración&lt;br /&gt;necesaria y proporciona un tipo de almacenamiento de alto&lt;br /&gt;rendimiento y flexible para entornosmultiservidor/multivendedor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-SAN.gif&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px;&quot; src=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-SAN.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 204, 255);&quot;&gt;iSAN-IP.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es una red de alta velocidad especialemte diseñada para&lt;br /&gt;almacenamiento de datos, conectada a uno o mas servidores&lt;br /&gt;a traves de Ethernet, usando IP y el protocolo iSCSI. Los&lt;br /&gt;usuarios pueden acceder a la red a traves de los servidores&lt;br /&gt;y los datos son escalables. El protocolo IP hace que la red&lt;br /&gt;WAN sea de tipo cross sin la necesidad de invertir en&lt;br /&gt;tecnologia de fibra, de este modo se pueden reducir los costes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-iSAN.gif&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px;&quot; src=&quot;http://www.covenco.es/images/products/SAN_NAS_iSAN_diagram-iSAN.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/4427734938489035224/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/4427734938489035224' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4427734938489035224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4427734938489035224'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/tipos-de-redes-de-almacenamiento.html' title='Tipos de redes de Almacenamiento'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-8349296278601004193</id><published>2008-08-11T01:59:00.000-07:00</published><updated>2009-03-11T07:07:00.618-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>NFS - Network File System</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.bresink.de/Images/NFSIcon.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 70px;&quot; src=&quot;http://www.bresink.de/Images/NFSIcon.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Es un protocolo de nivel de aplicación, segun el modelo OSI. Originalmente fue desarrollado por Sun Microsystems, con el objetivo de que fuese independiente de la maquina, el sistema operativo y el protocolo de tansporte, esto fue posible gracias a que esta implementeado sobre protocolos XDR (Presentacion) y ONC RPC(Sesion). El protocolo NFS esta incluido por defecto en los SO Unix y Linux.&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://osr507doc.sco.com/en/PERFORM/graphics/NFS.gif&quot;&gt;&lt;img style=&quot;cursor:pointer; cursor:hand;width: 577px; height: 560px;&quot; src=&quot;http://osr507doc.sco.com/en/PERFORM/graphics/NFS.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/8349296278601004193/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/8349296278601004193' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8349296278601004193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8349296278601004193'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/nfs-network-file-system.html' title='NFS - Network File System'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-7455925464945069447</id><published>2008-08-08T05:31:00.000-07:00</published><updated>2009-03-11T07:43:02.924-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>Fibre Channel (Canal de fibra)</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.scsi4me.com/images/FC1000.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 70px;&quot; src=&quot;http://www.scsi4me.com/images/FC1000.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Despues de hablar de las SAN&#39;s es preciso que hablemos de su principal medio de transporte de datos, el fibre channel. Os dejo un pequeño esquema (como siempre) de lo que voy investigando:&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;Fibre Channel&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;El protocolo de canal de fibra &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(FCP)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; es el protocolo de interfaz SCSI.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Consiste en dos fibras unidireccionales que transmiten en direcciones&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;opuestas. Cada fibra esta unida a un Puerto Transmisor &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(TX)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; y a un puerto&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;receptor &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(RX)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;. Existen tres topologías principales de este tipo de redes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Fabric &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(FC-SW)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; o Medio Conmutado&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Loop &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(FC-AL)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; o Anillo Arbitrario&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Point-to-Point &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(FC-P2P)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;El canal de fibra se divide en 5 capas:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC0: Capa Física &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(cables, conectores, óptica de la fibra, etc...)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC1: Capa de Enlace de datos &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(codificación/decodificación señal)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC2: Capa de Red &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(estándar FC-PI-2, Núcleo y protocolos principales)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC3: Capa de Servicios &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(funciones como cifrado o RAID)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC4: Capa de Mapeo de Protocolo &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(encapsulación de SCSI para FC2)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;FC-PH &gt; FC0+FC1+FC2 &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Capas físicas del Fibre Channel)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;En el canal de fibra se definen los siguientes puertos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- E_port   Conexión 2 Switches fibre channel &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(InterSwitch o ISL)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- EX_port  Conexión entre switch y router de fibrechannel.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- F_port   Conexión medios en topología conmutada. No Bucle.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FL_port  Conexión Bucle público topología Loop.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- G_port   Genérico. Puede operar como E_port o F_port.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- L_port   Termino genérico para cualquier tipo de puerto bucle.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- N_port   Puerto de Nodo de servidores y disp. almacenamiento.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- NL_port  Puerto de bucle de nodo.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- TE_port  Múltiples E_ports unidos mayor ancho de banda Switches.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;         Puertos de Expansión Trunking.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;La fibra puede ser monomodo (hasta 50Km) o multimodo (Hasta 500m).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;Infraestructura del canal de fibra&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Los interruptores se dividen en dos clases:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Directores Elevado nº puertos y chasis modular alta disponibilidad&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Fabric Configuración fija semi-modular sin redundancias&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;*Brocade, Cisco y McData disponen de conmutadores tanto directores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;como fabric. *Qlogic dispone de switches fabric. Si utilizamos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;conmutadores de diferentes proveedores, trabajaran por defecto&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;en modo de interoperabilidad, deshabilitando algunas funciones&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;avanzadas propietarias.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Host Bus Adapters&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(HBA&#39;s)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;: cada HBA tiene un identificador único&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(World Wide Name)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; WWN. Se distinguen 2 tipos, WWN de nodo (compartido&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;por todos los puertos de un adaptador de host) y WWN de puerto, único&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;para cada puerto.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/7455925464945069447/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/7455925464945069447' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7455925464945069447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/7455925464945069447'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/fibre-channel-canal-de-fibra.html' title='Fibre Channel (Canal de fibra)'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-8248574907495555808</id><published>2008-08-07T08:15:00.000-07:00</published><updated>2009-03-11T04:17:51.908-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>SAN - Redes de almacenamiento</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://static.flickr.com/2032/2072066778_f431955656.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 70px;&quot; src=&quot;http://static.flickr.com/2032/2072066778_f431955656.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Hace poco se me ha asignado un proyecto de almacenamiento que tiene que ver con el amplio mundillo de las SAN&#39;s y he empezado a investigar sobre el asunto. Aquí os traigo un pequeño esquema para que sepáis de que va la cosa:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;SAN (Storage Area Network)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;\_ Servidores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;|_ Matrices &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(arrays)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; discos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;|_ Librerías de respaldo &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Fibre channel / iSCSI)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Las SAN utilizan el protocolo SCSI para acceder a los datos.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Utiliza una capa de mapeo como el estándar FCP.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Se puede considerar una extensión de Direct Attached Storage (DAS).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Protocolo de accesos que utiliza: Fibre channel y Gigabit Ethernet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;Características:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Latencia        - tiempo de respuesta mínimo&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Conectividad    - Múltiples servidores conectados al mismo grupo de discos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Distancia       - 10km sin ruteadores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Velocidad       - 2/4 GB/s&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Disponibilidad  - rutas redundantes incrementan tolerancia a fallos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Seguridad       - Zonificación &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(WWN World WIde Name)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;           \ Accesibilidad vía LUN &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Logical Unit Number)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;Componentes SAN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Switches&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Directores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- HBAs&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Servidores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Ruteadores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Gateways&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Matrices de discos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Librerías de cintas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;Topología SAN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Cascada &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Cascade)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Anillo &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Ring)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Malla &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Meshed)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Núcleo/borde &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(core/edge)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;ISL &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Inter Switch Link, Enlace entre conmutadores)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;. Se hacen mediante&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;puertos tipo &quot;E&quot; pudiendo agruparse para formar una troncal (trunk)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;para mayor flujo de información y tolerancia de fallos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;Arquitectura&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Actualmente funcionan bajo dos arquitecturas:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- FC-AL &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Fibre Channel Arbitrated Loop)&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; - 127 Dispositivos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;- Switched Fabric - 16 Millones de Dispositivos &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(teóricamente)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/8248574907495555808/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/8248574907495555808' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8248574907495555808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8248574907495555808'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/san-redes-de-almacenamiento.html' title='SAN - Redes de almacenamiento'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-297347969055382090</id><published>2008-08-05T05:35:00.000-07:00</published><updated>2009-03-11T04:17:27.133-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Monitorización"/><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><title type='text'>Instalación y configuración básica Nagios</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.andyshellam.eu/images/v7/nlg/nagios3.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 70px;&quot; src=&quot;http://www.andyshellam.eu/images/v7/nlg/nagios3.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Ya estuvimos viendo de que trataba este monitor de red. Ahora vamos a instalarlo y a realizar configuraciones básicas, sobre usuarios, grupos de usuarios y equipos de la red.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-weight: bold;&quot;&gt;INSTALACIÓN NAGIOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# tar xcfz nagios-X.X.tar.gz &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Descomprimimos el archivo de Install)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# groupadd nagios &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Creamos el grupo nagios)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# adduser nagios -g nagios &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;(Creamos el usuario nagios)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# usermod -G nagios&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# ./configure --prefix=prefix --with-cgiurl=cgiurl --with-htmurl=htmurl&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--with-nagios-user=someuser --with-nagios-grp=somegroup --with-command-grp=cmdgroup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--prefix &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es /usr/local/nagios.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--cgiurl &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es /nagios/cgi-bin.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--htmlurl &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es /nagios/.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--someuser &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es nagios.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--somegroup &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es nagios.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;--cmdgroup &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;default es nagios.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# make all&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# make install&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# make install-init&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# make install-config&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# chown -R nagios.nagios /usr/local/nagios&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Editamos /etc/apache2/httpd.conf:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Alias /nagios /usr/local/nagios/share&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# apachectl restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Ya tenemos Instalado Nagios. Pon en el navegador hhtp://localhost/nagios&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;para acceder a la herramienta web.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;CONFIGURACIÓN BÁSICA NAGIOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;1 - Agregar Contactos / Grupos de Contactos.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;2 - Agregar Equipos / Grupos de Equipos.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;3 - Agregar Servicios / Grupos de servicios.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;4 - Verificación Funcionamiento.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando Contactos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/contacts.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define contact&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;contact_name Administrador&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;alias Nagios Super Admin&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;contactgroups nt-admins ;podemos agregar desde aquí los grupos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;service_notification_period 24x7&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;host_notification_period 24x7&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;service_notification_options w,u,c,r&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;host_notification_options d,u,r&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;service_notification_commands notify-by-email&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;host_notification_commands host-notify-by-email&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;email administrador@dominio.com&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando grupos de contactos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/contactgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define contactgroup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;contactgroup_name linux-admins&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;alias Linux Administrators&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;members administrador&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando Equipos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/hosts.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define host&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;host_name       Nombre_Servidor&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;alias           Servidor Mail&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;address         192.168.0.2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;use             linux-server&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando Grupos de Equipos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/hostgroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define hostgroup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;hostgroup_name  Red1 ; The name of the hostgroup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;alias           Red1_server ; Long name of the group&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;members         PC1,PC2,PC3,PC4 ; Members of the group&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando Servicios:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/services.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define service&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;hostgroup_name          Red1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;service_description     dns_service&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;display_name            Servicio DNS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;check_command           check_dns&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;use                     generic-service&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;notification_interval   0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;contact_groups          Administrador&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;notification_options    c&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Agregando Grupos de Servicios:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Archivo: /usr/local/nagios/etc/objects/servicegroups.cfg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;define servicegroup&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;servicegroup_name       dns_services&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;alias                   Grupo Servicios DNS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;members   PC1,PC2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Verificando el funcionamiento y lanzando Nagios:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Total Warnings: 0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Total Errors: 0&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Things look okay - No serious problems were detected...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;# /etc/rc.d/nagios start&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Starting network monitor: nagios&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Y esta es la configuración básica de Nagios. Seguiremos profundizando :D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/297347969055382090/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/297347969055382090' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/297347969055382090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/297347969055382090'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/profundizando-en-nagios.html' title='Instalación y configuración básica Nagios'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-4402425266546050964</id><published>2008-08-05T00:58:00.000-07:00</published><updated>2010-04-29T05:41:10.054-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Almacenamiento"/><title type='text'>LVM: Gestionando volúmenes Lógicos</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Cluster_Logical_Volume_Manager/images/overview/basic-lvm-volume.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 241px; height: 244px;&quot; src=&quot;http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Cluster_Logical_Volume_Manager/images/overview/basic-lvm-volume.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;LVM es una implementación de un administrador de volúmenes lógicos para el kernel Linux. Se escribió originalmente en 1998 por Heinz Mauelshagen, que se basó en el administrador de volúmenes de Veritas usado en sistemas HP-UX. LVM incluye muchas de las características que se esperan de un administrador de volúmenes, incluyendo:&lt;br /&gt;&lt;br /&gt;- Redimensionado de grupos lógicos&lt;br /&gt;- Redimensionado de volúmenes lógicos&lt;br /&gt;- Instantáneas de sólo lectura (LVM2 ofrece lectura y escritura)&lt;br /&gt;- RAID0 de volúmenes lógicos&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none; &quot;&gt; &lt;br /&gt;&lt;br /&gt;Sus principales características son:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;LVM - administrador de volumenes lógicos&lt;br /&gt;  \_ Redimensionado de grupos lógicos y volumenes lógicos&lt;br /&gt;   \_ Instantaneas de solo lectura&lt;br /&gt;    \_ RAID0 de volúmenes lógicos.&lt;br /&gt;&lt;br /&gt;LVM se desompone en 3 partes:&lt;br /&gt;   -Volumenes fisicos (PV) &gt; HD, particiones, raid&#39;s etc...&lt;br /&gt;   \_ Chunks de datos (PE physicals Extents)&lt;br /&gt;   -Volumenes logicos (LV) &gt; Equivalente a una partición..&lt;br /&gt;    \_ LE (Logical Extents)&lt;br /&gt;   -Grupos de Volumenes (VG) &gt; Grupo qu eengloba LV&#39;s y PV&#39;s.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Darles el tipo 8e (LVM) a las particiones:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ cfdisk /dev/sda&lt;br /&gt;$ cfdisk /dev/sdb&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Inicializar dispositivo logico: (esta opción borra todo los datos que hubiese en las particiones o discos)&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ dd if=/dev/zero of=/dev/sda1 bs=1k count=1&lt;br /&gt;$ dd if=/dev/zero of=/dev/sdb1 bs=1k count=1&lt;br /&gt;$ pvcreate /dev/sda1&lt;br /&gt;Physical volume &quot;/dev/sda1&quot; successfully created&lt;br /&gt;$ pvcreate /dev/sdb1&lt;br /&gt;Physical volume &quot;/dev/sdb1&quot; successfully created&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Creación de un Grupo Volumen (VG):&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ vgcreate LinuxReporting /dev/sda1 /dev/sdb1&lt;br /&gt;Volume group &quot;LinuxReporting&quot; successfully created&lt;br /&gt;&lt;br /&gt;$ vgdiplay            #(verificamos que hemos generado el grupo)&lt;br /&gt;--- Volume group ---&lt;br /&gt;VG Name               LinuxReporting&lt;br /&gt;VG Access             read/write&lt;br /&gt;VG Status             available/resizable&lt;br /&gt;VG #                  0&lt;br /&gt;MAX LV                256&lt;br /&gt;Cur LV                0&lt;br /&gt;Open LV               0&lt;br /&gt;MAX LV Size           255.99 GB&lt;br /&gt;Max PV                256&lt;br /&gt;Cur PV                2&lt;br /&gt;Act PV                2&lt;br /&gt;VG Size               8.46 GB&lt;br /&gt;PE Size               4 MB&lt;br /&gt;Total PE              2166&lt;br /&gt;Alloc PE / Size       0 / 0&lt;br /&gt;Free  PE / Size       2166 / 8.46 GB&lt;br /&gt;VG UUID               qFePyg-SvH1-Q10s-i885-1ZF2-hurF-VsPCnW&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Creación del Volumen lógivco (LV):&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ lvcreate -L1G -n usr LinuxReporting&lt;br /&gt;lvcreate -- doing automatic backup of &quot;vg_LinuxReporting&quot;&lt;br /&gt;lvcreate -- logical volume &quot;/dev/LinuxReporting/usr&quot; successfully created&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Creación del sistema de ficheros:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ mkfs.reiserfs /dev/LinuxReporting/usrr &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(Crear Sistema Reiserfs)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(Puede necesitarse el paquete reiserfsprogs)&lt;/span&gt;&lt;br /&gt;$ mkfs.jfs /dev/vg_LinuxReporting/usr &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(Crear Sistema jfs)&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Montando el Sistema de ficheros:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ mount /dev/LinuxReporting/usr /mnt &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(montamos la particion en mnt)&lt;/span&gt;&lt;br /&gt;$ cp -R /usr/* /mnt &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(copiamos todo el contenido de usr a mnt)&lt;/span&gt;&lt;br /&gt;$ cd /usr &amp;amp;&amp;amp; find . -depth -print0 | afio -px -0a /mnt &lt;span style=&quot;color: rgb(204, 153, 51);&quot;&gt;(otra forma de copiarlo)&lt;/span&gt;&lt;br /&gt;$ mount -t jfs /dev/vg_Linuxreporting/usr /mnt/LRlv1&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Después añadimos la entrada a /etc/fstab para que /mnt/LRlv1 este disponible cuando reiniciemos la maquina. En nuestro caso de la reiserfs seria:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;/dev/LinuxReporting/usr /usr  reiserfs        defaults        0       0&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Puede que también lo tengas que añadir al Init para que se active el grupo volumen para que lo pueda montar el kernel del sistema de manaera correcta. Nos vamos a /etc/rcS.d/ y añadimos lo siguiente:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ ln -s /etc/init.d/lvm S25lvm&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/4402425266546050964/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/4402425266546050964' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4402425266546050964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4402425266546050964'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/08/lvm-gestionando-volumenes-lgicos.html' title='LVM: Gestionando volúmenes Lógicos'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-8021070732417967674</id><published>2008-07-31T03:30:00.000-07:00</published><updated>2008-08-21T04:29:38.185-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Networks"/><category scheme="http://www.blogger.com/atom/ns#" term="Shell script"/><title type='text'>Sesion automática con Telnet</title><content type='html'>He aqui un script muy interesante para realizar pruebas automaticas a un servidor smtp. A mi me sirvio para poder chekear un filtro de correo linkandolo despues a Nagios, el sistema de monitorización del que hablamos hace poco.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;pre-spoiler&quot;&gt;&lt;input value=&quot;Anotaciones&quot; style=&quot;margin: 0px; padding: 0px; width: 80px; font-size: 10px;&quot; onclick=&quot;if (this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display != &#39;&#39;) { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;&#39;;this.innerText = &#39;&#39;; this.value = &#39;Ocultar&#39;; } else { this.parentNode.parentNode.getElementsByTagName(&#39;div&#39;)[1].getElementsByTagName(&#39;div&#39;)[0].style.display = &#39;none&#39;; this.value = &#39;Anotaciones&#39;;}&quot; type=&quot;button&quot;&gt; &lt;/div&gt; &lt;div&gt; &lt;div class=&quot;spoiler&quot; style=&quot;display: none;&quot;&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;  (&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;ehlo dominio.com&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;mail from:prueba@dominio.com&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;rcpt to:prueba2@dominio.com&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;data&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;subject:Prueba Telnet Automatico&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;from:frommail&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;to:tomail&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot; &quot;&lt;br /&gt;       #sleep 1&lt;br /&gt;       echo &quot;Hello.&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;This is a test message.&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;Bye.&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;.&quot;&lt;br /&gt;       sleep 1&lt;br /&gt;       echo &quot;QUIT&quot;&lt;br /&gt;  ) | telnet &quot;IP_SMTP_SERVER&quot; 25&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/8021070732417967674/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/8021070732417967674' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8021070732417967674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/8021070732417967674'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/07/sesion-automtica-con-telnet.html' title='Sesion automática con Telnet'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-2866374240861014743</id><published>2008-07-29T10:46:00.000-07:00</published><updated>2008-08-21T04:30:40.037-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oficina"/><title type='text'>Diagramas en Linux: dia</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.gnome.org/projects/dia/images/dialogo.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;&quot; src=&quot;http://www.gnome.org/projects/dia/images/dialogo.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Dia es una inspiracion del programa de Windows comercial &quot;Visio&quot;, aunque más orientado hacia esquemas informales para uso ocasional. Se puede utilizar para extraer diferentes tipos de diagramas. En la actualidad cuenta con objetos especiales para ayudar a sacar diagramas entidad relación, diagramas UML, diagramas de flujo, diagramas de red, y muchos otros esquemas. También es posible añadir soporte para nuevas formas de escritura simple archivos XML, usando un subconjunto de SVG para dibujar la forma.&lt;br /&gt;&lt;br /&gt;Puede cargar y guardar los diagramas personalizados a un formato XML (gzipped por defecto, para ahorrar espacio), puede exportar diagramas a una serie de formatos, incluyendo EPS, SVG, xfig, PNG y WMF, y puede imprimir los diagramas (incluidos los que cubren múltiples páginas).&lt;br /&gt;&lt;br /&gt;Para descargar este paquete desde nuestro gestor de paquetes preferido ya sea synaptis o adept descargar el paquete dia, o desde consola: # apt-get install dia&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/2866374240861014743/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/2866374240861014743' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2866374240861014743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/2866374240861014743'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/07/diagramas-en-linux-dia.html' title='Diagramas en Linux: dia'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6808133433993933245.post-4676164891437636896</id><published>2008-07-29T00:12:00.000-07:00</published><updated>2008-08-21T04:32:06.076-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Comandos Linux"/><title type='text'>Herramientas inalámbricas desde Shell</title><content type='html'>Wireless tools es un juego de herramientas de información y configuración de conexiones inalámbricas. Esta compuesto por:&lt;br /&gt;&lt;br /&gt;# dhclient &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(Dynamic Host Configuration Protocol Client)&lt;/span&gt;&lt;br /&gt;# iwconfig &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(Información sobre las interfaces de red)&lt;/span&gt;&lt;br /&gt;# iwconfig Interface &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(Información concreta de  Interfaces)&lt;/span&gt;&lt;br /&gt;# iwconfig Interface essid &quot;&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;ESSID&lt;/span&gt;&quot; &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(asignamos essid)&lt;/span&gt;&lt;br /&gt;# iwconfig Interface key s&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;clavesecreta&lt;/span&gt; &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(contraseña WEP)&lt;/span&gt;&lt;br /&gt;# iwconfig Interface key &lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;HEXADECIMALKEY&lt;/span&gt; &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(Hexadecimal key)&lt;/span&gt;&lt;br /&gt;# iwlist scanning &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(rastreador wifi)&lt;/span&gt;&lt;br /&gt;# iwgetid Interface &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(Nos muestra essid asociado)&lt;/span&gt;&lt;br /&gt;# iwevent &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(controla los eventos inalámbricos)&lt;/span&gt;&lt;br /&gt;# iwspy Interface &lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;(información sobre usuarios de otra WLAN)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como siempre podéis indagar en cada uno de las utilidades accediendo a las man pages o en la siguiente dirección: &lt;a href=&quot;http://www.linuxcommand.org/man_pages/iwconfig8.html&quot;&gt;iwconfig&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://linuxreporting.blogspot.com/feeds/4676164891437636896/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6808133433993933245/4676164891437636896' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4676164891437636896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6808133433993933245/posts/default/4676164891437636896'/><link rel='alternate' type='text/html' href='http://linuxreporting.blogspot.com/2008/07/herramientas-inalmbricas-desde-shell.html' title='Herramientas inalámbricas desde Shell'/><author><name>JiGnaLeiV</name><uri>http://www.blogger.com/profile/01926545880967510524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>