Archivo de la Categoría “Windows”

SYMPTOMS

I update two nodes to Windows 2003 Server SP2 and Virtuozzo containers doesn´t start.

C:\>vzlist -a

    VEID  NPROC  STATUS   IP_ADDR        HOSTNAME
        1     –  stopped  10.89.222.125  SERVICECT
      101     –  stopped  X.X.X.X      vps1
      102     –  stopped  X.X.X.X      vps2
      103   –  stopped  X.X.X.X     vps3
      104     –  stopped  X.X.X.X     vps4
      105     –  stopped  X.X.X.X     vps5

I get an error when we try to start a CT:

C:\>vzctl –verbose start 1
Starting container …
INFO:  Notify container 1: stopped starting
INFO:  start_vps_locked: container 1
INFO:  VpsVolumeMount() DISK_TYPE = 3 : 2
INFO:  VpsVolumeMount() DISK_TYPE = 3 : 2
INFO: Completed successfully VzhiveMount: "C:\vz\Private\1\root\vzquota" "C:\vz\
Templates" "w2k3"
INFO: Applying patch to C:\vz\Private\1\root\WINDOWS\system32\win32k.sys…
INFO: Patching security database…
INFO: Done!
ERROR: Error 0×1 while executing script ‘on_vps_startup.cmd 1′
INFO:  Notify container 1: stopped none

The log file shows this error:

VPS 1: ISMIGRATED=
VPS 1:  starting gateway:  nodetype: 2
VPS 1:   starting with gateway:  domain: dnsservers:  nodetype: 2  
VPS 1: sp1_sp2 upgrade failed 

 

RESOLUTION

1. Backup all containers for emergency.
2. Run Virtuozzo autoinstaller vzinstall.exe, choose Download only mode. Once components list is fetched, please choose architecture and language you have installed on this node, click OK. Autoinstaller will download both SP1 and SP2 templates.
Note: If you run vzinstall.exe on SP1 server it does not download SP2 template, because the tool checks SP level of the server and downloads corresponding templates only.
3. Go to download folder specified on step 2 and find downloaded OS template archive: e.g. w2k3en_SP2_x86.ex_
3. Rename it to w2k3en_SP2_x86.exe and run to extracte template .efd file. E.g. it would be w2k3sp2_std_20070911_en_x86.efd
4. Copy extracted w2k3sp2_std_20070911_en_x86.efd to \vz\Templates\__cache folder next to the old SP1 template.
5. Stop all containers, including the Service Container:

for /F "skip=2 usebackq tokens=*" %i in (`cmd /c "vzlist -o veid"`) do vzctl stop %i

6. Ensure that all containers are stopped using "vzlist -a" command. 
7. Uninstall current w2k3 OS template:

vzpkgdeploy -u w2k3

8. Ensure that \vz\Templates\w2k3 folder is removed.
9. Install w2k3 sp2 OS template:

vzpkgdeploy -i w2k3sp2_std_20070911_en_x86

Independently of complex template name it will be unpacked in \vz\Templates\w2k3 folder.
10. Install Microsoft Windows 2003 Service Pack 2 on the Node.
11. Reboot the Node.
IMPORTANT: Do not reboot the Hardware Node any time between steps 5 and 10.

http://kb.parallels.com/en/3596

Comments No Hay Comentarios »

Interesante y completo listado de todos los lenguajes en los que se puede programar para .NET Framework:

 

          Comments No Hay Comentarios »

          La mayoría de la gente que conozco utiliza Putty como cliente SSH bajo Windows. En muchos casos puede ser más que suficiente, pero cuando te es necesario acceder simultáneamente a varios servidores a la vez me parece un engorro un cliente sin TABS y tan poco flexible a la hora de personalizar el aspecto de las ventanas.

          Por eso, desde que mi compañero Ivan Pereiro me mostró esta herramienta no he dejado de usarla desde Windows.

          Las principales características frente a Putty son:

          - Integración con Cygwin: Si tienes instalado Cygwin, cuando instales Poderosa este se integrará de forma que puedas abrir shells Cygwin desde poderosa.

          - Tabs: Tener varias shells abiertas no implica ejecutar nuevas instancias de la aplicación, se integran todas ellas en la misma ventana de Poderosa y se cambia de una a otra a través de pestañas.

          - Dividir la ventana horizontal y verticalmente tantas veces como se desee para mostrar distintas shells: En la imagen se puede ver que la ventana se divide horizontalmente, en la parte inferior se puede ver un “top” a un server mientras la parte superior muestra a su vez una división vertical en la que a la izquierda se ve una sesión local con Cygwin y a la derecha una conexión SSH2 a un servidor remoto.

          image 

          Además de esto, cuenta con más mejoras y se pueden desarrollar plugins para la aplicación. Lo que me sorprende es que la última versión es de Noviembre del 2006. Pero aún así no conozco otro cliente de SSH para Windows gratuito que sea mejor que este.

          La página oficial de la aplicación es http://en.poderosa.org

          Comments 6 Comentarios »

          Hace poco me he enfrentado a un problema que puede suceder al migrar una base de datos a otro entorno mssql que no comparta el mismo lenguaje de instalación que el que teníamos en un principio.

          En este caso ha sido al restaurar una base de datos que se encontraba en un sql con lenguaje “español” a otro que habían instalado en “us_english”. Con el primero las fechas (campos de tipo datetime) se muestran en formato “dd/mm/yyy” pero en inglés las fechas tienen el formato “mm/dd/yyyy”.

          Si mostramos la tabla desde el Microsoft Sql Server Managmentent Studio veremos que las fechas se muestran tal y como hemos importado, pero el problema viene cuando queremos hacer una consulta por ejemplo desde nuestra web y Sql Server nos devuelve la fecha, entonces veremos que se produce un error que esta relacionado con el formato de la fecha.

          Puestos en situación, vamos manos a la obra.

          ¿Como ver el lenguaje de Sql Server?

          select @@language

          Si mssql ha sido instalado en inglés seguramente obtendrás us_english como resultado.

          ¿Como ver todos los lenguajes disponibles y sus propiedades?

          sp_helplanguage

          image

          ¿Como establecer el lenguaje?

          De esta manera establecemos el lenguaje español para todas las consultas que lancemos desde la sesión y con el usuario que estemos conectados:

          SET LANGUAGE Español

          También podemos, por ejemplo en el caso de nuestra web, antes de lanzar una consulta sql especificar el dateformat deseado en cada caso, indicando:  

          set dateformat dmy

          ¿Como establecer el lenguaje predeterminado para TODAS las bases de datos del servidor?

          De esta manera conseguimos que por defecto se devuelvan las fechas en formato dd/mm/yyyy. Lo que debemos hacer es abrir Microsoft Sql Server Managmentent Studio, ir a las propiedades del servidor SQL y en el apartado avanzado, modificar la opción idioma predeterminado por Español.

          image

           

           

           

           

           

           

           

           

           

           

           

           

          Además hay que tener en cuenta el lenguaje por defecto de los Inicios de sesión que existan en el servidor, ya que los que creemos nuevos a partir de ahora lo harán con lenguaje español. Para ello:

          USE [master]
          GO
          ALTER LOGIN [serversql\sergiosainz] WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[Spanish]
          GO

          También es posible modificar el idioma por el deseado desde las propiedades del usuario.

          image

          Comments No Hay Comentarios »

          Estos son algunos de los problemas con los que me he encontrado al instalar componentes de Persits y que suelen ser recurrentes en la mayoría de las instalaciones.

          Los componentes que ofrece Persits son: AspEmail, AspUpload, AspJpeg, AspPdf, AspEncrypt, AspGrid, AspUser, Jupload, y Xupload.

          Componentes de Persits

          ¿Instalación automática o manual?

          La instalación automática crea por defecto un directorio llamado Persits Software en Archivos de programa y además de extraer y registrar el  componente (la .dll), extrae toda la documentación del mismo, los ejemplos…

          En ocasiones falla la instalación o simplemente se quiere los componentes y ningún “extra” más. Para ello:

          1. Copia la dll en el servidor, por ejemplo aspupload.dll. Sino tienes la .dll puedes instalar en cualquier otro equipo y hacer un copy/paste del archivo.
          2. Registra el componente. Para ello debes utilizar el siguiente comando:

          regsvr32 c:\componentesasp\aspupload.dll

          3.   Da permisos a los componentes y directorios donde estos vayan a escribir. El usuario de IIS que ejecuta el sitio necesita permisos NTFS de escritura en los directorios donde tenga que escribir y necesita control total al componente para poder crear el objeto.

          La documentación de Persits recomienda Control total a todos en los directorios donde tenga que escribir y en los dll, aunque a mí me gusta ser algo más restrictivo que eso al menos en los directorios publicados con IIS.

          4.   Para todos los servicios de IIS y vuelve a levantarlos.

          net stop iisadmin /y

          iisreset /start

          Reinicio de IIS

           

          ¿x32 o x64, Qué versión escoger?

          La duda sólo la puedes tener si tu Windows es 64 bits, sino directamente escoge la versión de los componentes en 32 bits.

          Hay que tener en cuenta que cada versión de componente es un producto diferente.

          Lo que debes hacer es verificar el modo en el que corre IIS, esto se ve en la propiedad Enable32BitAppOnWin64 de la Metabase. Si esta a True IIS lanza sus procesos en modo de emulación 32 bits y si está a False (valor por defecto) entonces está corriendo en modo 64 bits.

          ¿Qué hacer si ya has adquirido la versión 64 bits y la que necesitas es la 32 bits?

          No es necesario comprar la versión 32 bits del producto si sigues estos pasos:

          1. Desinstala la versión de 64 bits.
          2. Instala la versión de 32 bits. Si lo haces de forma automática cuando te pida el key dejalo en blanco y continua, así se instala en modo trial-license.
          3. Abre el registro de windows y crea una nueva entrada llamada RegKey y que contenga la llave que tengas de Persits (Cambia AspEmail por el nombre del componente que corresponda):

          HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Persits Software\AspEmail\RegKey

          ¿Qué hacer si ya has adquirido la versión 32 bits y la que necesitas es la 64 bits?

          En este caso tienes 2 posibilidades:

          1. Comprar la versión de 64 bits.
          2. Pasar IIS a funcionar en modo 32 bits.

          cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 True

           

          Algunos errores típicos

          • AspPdf, AspUpload…

          Persits.PdfManager.1 error ’800a002e’
          Opening Output file failed: Access is denied.

          ====================================

          Persits.Upload.1 (0x800A0005)
          Access is denied.

          La solución es dar permisos al usuario de IIS (IUSR_XXXX) sobre el directorio donde vamos a guardar los archivos generados.

          • AspEmail

          Persits.MailSender.4 error ’800a0011′
          Access is denied.

          Este es otro problema común de permisos donde el usuario de IIS necesita permisos sobre el directorio de cola de mensajes (queue).

          550 Relaying Denied

          El motivo es que no se están cumpliendo las normas de envío del servidor de correo. Normalmente esto pasa por no usar un método con autenticación. Debes incluir las siguientes líneas antes de hacer el envío.

          <%
          Mail.Username = sergiosainz@mimail.com
          Mail.Password = P@ssw0rd!
          %>

          Server object, ASP 0178 (0×80070005)
          The call to Server.CreateObject failed while checking permissions. Access is denied to this object.

          Se soluciona dando permisos Control Total a Todos a los .dll.

          Comments No Hay Comentarios »

          Si por cualquier motivo no tienes el archivo de transacciones (.ldf) obtendrás un error de este tipo a la hora de intentar adjuntar una BD desde el Wizard de SQL.

          image

          Suponiendo que el .mdf esté en buenas condiciones puedes adjuntar la BD y forzando la reconstrucción del archivo de transacciones.

          El siguiente ejemplo muestra como adjuntar la BD “sergiosainz” indicando el path a mí .mdf (sustituye esos valores por los que correspondan en tu caso):

          USE [master]
          GO
          CREATE DATABASE [sergiosainz] ON
          (FILENAME = N’C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sergiosainz.mdf’)
          FOR ATTACH_REBUILD_LOG
          GO

          Comments No Hay Comentarios »

          1. En Windows tenemos que tener un directorio compartido con permisos para el usuario que queramos utilizar.

          2. En LINUX se crea el directorio donde queremos montar el directorio compartido:

          # mkdir /mnt/equipowin/

          3. Para montar hay que especificar la ruta del directorio compartido (//10.0.0.1/recurso), el usuario (sergiosainz), la contraseña (qwerty) y donde queremos montar (/mnt/equipowin), Sustituye esos valores por los que correspondan en tu caso y ya tienes la partición montada.

           
          # mount -t cifs //10.0.0.1/recurso -o username=sergiosainz,password=qwerty /mnt/equipowin/

          Comments 2 Comentarios »

          En Windows 2008, Vista SP1 y XP SP3 se utiliza el protocolo RDP 6.1*. En estás versiones se el parámetro /console deja de estar soportado y se sustituye por /admin. Por tanto la cosa quedaría así:

          mstsc /v:192.168.0.100 /admin

          Es importante tener esto en cuenta sobre todo si tenéis aplicaciones que utilicen este modificador ya que no van a “cantar” ningún error ignorando esta opción.

          Los parámetros soportados por esta nueva versión son:

          —————————
          Remote Desktop Connection Usage
          —————————
          MSTSC [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]]

          [/w:<width> /h:<height>] [/public] | [/span] [/edit "connection file"] [/migrate]

          "connection file" — Specifies the name of an .rdp file for the connection.

          /v:<server[:port]> — Specifies the remote computer to which you want to

          connect.

          /admin — Connects you to the session for administering a server.

          /f — Starts Remote Desktop in full-screen mode.

          /w:<width> — Specifies the width of the Remote Desktop window.

          /h:<height> — Specifies the height of the Remote Desktop window.

          /public — Runs Remote Desktop in public mode.

          /span — Matches the remote desktop width and height with the local

          virtual desktop, spanning across multiple monitors if necessary. To span

          across monitors, the monitors must all have the same height and be aligned

          vertically.

          /edit — Opens the specified .rdp connection file for editing.

          /migrate — Migrates legacy connection files that were created with

          Client Connection Manager to new .rdp connection files.

           

          Muy recomendable el siguiente artículo que explica, mucho mejor de lo que yo lo haría, los motivos que han propiciado este cambio.

          * RDP = Remote Desktop Protocol.      ** RDC = Remote Desktop Connection (cliente)

           

          En la primera parte de este post aprovechaba para recomendar VisionApp para Windows porque es la aplicación que yo utilizo desde hace ya bastante tiempo, pero existe otra parecida llamada ROYALTS por si os apetece probar (cuestión de gustos):

          image

          Comments 3 Comentarios »

          Por defecto Windows viene con un par de sesiones de TS. En entornos de trabajo en los que varios acceden a administrar una máquina vía TS, es habitual encontrarse con gente a la que se le olvida cerrar su sesión porque simplemente cierra el cliente de Remote Desktop sin usar la opción cerrar sesión, con lo que cuando un tercero necesita acceder para algo se encuentra con el siguiente mensajito:

          image

          Es entonces cuando en mi oficina se escucha el grito de "¿quien coño esta dentro del server XXX ?“.  Obviamente nadie responde porque nadie está dentro ni nadie ha tocado nada…

          La solución a este problema es tan simple como conectarse físicamente al server, iniciar sesión, ver quién está dentro y cerrar las sesiones. Pero ¿que pasa cuando no estás en el CPD y el servidor no está a tu alcance inmediato?. La solución está en acceder usando el parámetro /console. Por ejemplo (sustituye 192.168.0.100 por la IP del server):

          mstsc /v:192.168.0.100 /console

          Todos los clientes gráficos que conozco también incluyen la opción console.

          Los clientes que recomiendo para sesiones terminal server:

          - Windows: VisionApp

          image

          - MAC: CORD.

          image

          - Linux: Krdc

          image

          Comments 3 Comentarios »

          Antes de nada, quiero aclarar que me refiero únicamente al motor web que sirve Plesk como panel de control, no a las aplicaciones y dominios que se crean a través del panel y se lanzan a través de IIS. Estas sí que van bien realizando algunos ajustes previos que si interesa puedo comentar en otro post.

          Me he encontrado con varios problemas al trabajar con Plesk sobre IIS, pero el problema lo he notado más aún al probar IIS 7 con Plesk 9 y tras realizar algunas sencillas pruebas desde las que he podido reproducir varios errores a partir de una instalación básica he podido comprobar que muchos de ellos se solucionan al pasar Plesk a funcionar sobre Apache.

          Para cambiar Plesk a funcionar sobre Apache basta con ejecutar desde shell:

          %plesk_bin%\reconfigurator.exe –switch-plesk-web-server –new-provider=apache

          Con ello, también he notado un mejor rendimiento y velocidad de carga del panel apreciable desde el primer momento.

          Recomiendo al que pueda que lo pruebe. Espero que Parallels le de una vuelta al funcionamiento de su panel sobre IIS 7 y poder escribir lo contrario para futuras versiones…

          Si necesitas volver a IIS

          %plesk_bin%\reconfigurator.exe –switch-plesk-web-server –new-provider=iis

          Comments 2 Comentarios »