sábado, agosto 27, 2005
Actualizada la entrada de cambio de tamaño de particiones NTFS
viernes, agosto 26, 2005
Cambiar de tamaño particiones NTFS en un DL360
[tinker:root](~)#modprobe -k ccissLa primera línea nos carga el driver, y las dos segundas crean en el directorio actual dos entradas, la primera hace referencia a todo el disco, de tal manera que permite editar la tabla de particiones y la segunda para acceder a la primera partición del disco, cosa que necesitará la utilidad ntfsresize Ahora, lo primero que debe de hacerse es obtener la información de la tabla actual de particiones, anotarla y guardarla en sitio seguro, puesto que se va a modificar la misma, ya que el proceso de cambio de tamaño no es automático y exige borrar la partición y crearla de nuevo. Es especialmente importante anotar el cilindro de inicio de la partición:
[tinker:root](~)#mknod c0d0 b 104 0
[tinker:root](~)#mknod c0d0p1 b 104 1
[tinker:root](~)#fdisk -l c0d0Ahora se pasa comprobar hasta cuando se puede reducir la partición actual:
Disco /dev/cciss/c0d0: 72.8 GB, 72833679360 bytes
255 cabezas, 32 sectores/pista, 17433 cilindros
Unidades = cilindros de 8160 * 512 = 4177920 bytes
Disposit. Inicio Principio Fin Bloques Id Sistema
/dev/cciss/c0d0p1 * 1 15935 65014784 7 HPFS/NTFS
[tinker:root](~)#ntfsresize -i c0d0p1 ntfsresize v1.6.99 NTFS volume version: 3.1 Current volume size: 72833679360 bytes (72800 MB) Scanning volume ... 100.00 percent completed You could resize at 37601280000 bytes or 37601 MB (freeing 35199 MB).Como se ve hay que hacer referencia explícita a la partición NTFS que se quiere reducir. La utilidad imprime hasta cuanto podemos achicar la partición de NTFS. Es importante que esta partición esté lo más desfragmentada posible y que tengan los datos situados al principio. Como nota adicional, comentar que está calculado los tamaños de manera aproximada. (no tengo los datos reales de cuando realicé la instalación).
Supongase que se quiere dejar la partición original con un tamaño de 40G, y liberar el resto. Lo primero es efectuar la posible operación de manera no destructiva:
[tinker:root](~)#ntfsresize -s 40G -n c0d0p1Una vez superado el test, podemos cambiar el tamaño de la partició:
ntfsresize v1.6.99
NTFS volume version: 3.1
Current volume size: 72833679360 bytes (72800 MB)
New volume size : 39999406080 bytes (39999 MB)
Scanning volume ...
100.00 percent completed
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.
[tinker:root]:(~)# ntfsresize -s40G /dev/cciss/c0d0p1Ahora viene la parte más peligrosa de todo el proceso. Ahora hay que borrar la tabla de particiones original y ajusta la partición que hemos cambiado el tamaño. Para ello se usa fdisk.
ntfsresize v1.6.99
NTFS volume version: 3.1
Current volume size: 72833679360 bytes (72800 MB)
New volume size : 39999406080 bytes (39999 MB)
Scanning volume ...
100.00 percent completed
WARNING: Every sanity check passed and only the DANGEROUS operations left.
Please make sure all your important data had been backed up in case of an unexpected failure!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
NTFS had been successfully resized on device '/dev/cciss/c0d0p1'.
You can go on to resize the device e.g. with 'fdisk'.
IMPORTANT: When recreating the partition, make sure you
1) create it with the same starting disk cylinder
2) create it with the same partition type (usually 7, HPFS/NTFS)
3) do not make it smaller than the new NTFS filesystem size
4) set the bootable flag for the partition if it existed before
Otherwise you may lose your data or can't boot your computer from the disk!
[tinker:root]:(~)# fdisk c0p0Este es el paso donde un error puede dar al traste con la tabla de particiones, por lo cual es fundamental haber hecho una copia de seguridad de los datos importantes. Una vez modificada la tabla, se debe de reiniciar Windows, dejar que pase el chkdsk para que compruebe las modificaciones correctas, y ya debe de tenerse el espacio libre necesario al final de la antigua partición. Es interesante comentar que conviene darse un margen a la hora de cambiar el tamaño de la partición, es decir, de no ajustar los datos excesivamente, sino dejar espacio libre suficiente en la partición que estamos reduciendo. Hay que tener en cuenta que realmente lo que se hace es borrar y recrear la partición, y un error de cálculo lleva a que estemos sobreescribiendo alguna de ellas. No olvidar tampoco poner el flag de arranque en el fdisk, porque podemos encontrarnos si no es así con la desagradable sorpresa de que el sistema no arranca. Por último, agradecer a la gente de ntfsresize su magnífico trabajo y este documento donde he sacado la información (y la salida de los programas) para escribir esta entrada de blog.
Command (m for help): p
Disk /dev/cciss/c0d0: 255 heads, 32 sectors, 17433 cylinders
Units = cylinders of 8160 * 512 bytes
Device Boot Start End Blocks Id System /dev/cciss/c0d0 * 1 15935 65014784 7 HPFS/NTFS
br/> Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-15935, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-15935, default 15935): +40G
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)
Command (m for help): a
Partition number (1-4):1
Command (m for help): p
Disk /dev/cciss/c0d0: 255 heads, 32 sectors, 17433 cylinders Units = cylinders of 16065 * 512 bytesCommand (m for help): w
Device Boot Start End Blocks Id System /dev/cciss/c0d0 * 1 9574 78123840 7 HPFS/NTFS
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Windows Update y las credenciales de los proxys
Handler Windows Patch download for UpdateId = {271249A1-AD58-4798-8376-6580A8176783}: selected action is download express (delta).Es interesante ver como el error se produce por la falta de autentificación por parte del proxy al elemento encargado de bajar los parches. Esto ocurre porque estos parches se bajan a través de BITS el servicio de transferencia inteligente en segundo plano de Windows 2000 / 2003. Buscando por la web y los grupos de news he dado con una este hilo en microsoft.public.windowsupdate donde comentan que este error sólo sucede cuando se está logueado en la máquina a través de terminal server. Bien, tal como apuntan en los grupos de news, si uno se logea en la consola, funciona perfectamente. El problema, surge de lanzar la página de actualziación a través de una sesión de terminal server.
2005-08-26 10:39:00 1204 160 DnldMgr *********** DnldMgr: New download job [UpdateId = {271249A1-AD58-4798-8376-6580A8176783}.100] ***********
2005-08-26 10:39:01 1204 160 DnldMgr WARNING: SetCredentials for NEGOTIATE AUTH proxy failed with 0x800704dd
2005-08-26 10:39:01 1204 160 DnldMgr FATAL: DM:CAgentDownloadManager::DownloadUpdate: pDownloadJob->Init failed with 0x8024401b.
2005-08-26 10:39:01 1204 160 DnldMgr WARNING: Got error (hr = 8024401b) starting update 5 in call 3. Notifying call.
2005-08-26 10:39:01 1204 160 DnldMgr Error 0x8024401b occurred while downloading update; notifying dependent calls.
jueves, agosto 25, 2005
Herramientas para mantener bases de datos de conocimiento
- Es necesario tener instalado Word / Excel / Visio o el programa que sea para accerder a la documentación
- No puede efectuarse en ella una búsqueda sencilla. Se sabe por los nombres cual es el plan de direccionamiento, cuales son la función de los servidor, y donde están los proyectos. Pero a la hora de hacer una búsqueda global hay que ir archivo a archivo.
- No se tiene un histórico de las modificaciones efectuadas en la documentación.
Como primera solución al problema está el uso de herramientas que sean capaces de indexarla. Por ejemplo Windows tiene el Index Server (NT4) o el indexing service (Windows 2000, XP) que permite indexar la información contenida en los ficheros. Con los ifilters adecuado puede extraer las palabras claves y crear un catálogo que posteriormente sea consultado con ayuda de un sitio web ASP. Esta solución adolece de flexibilidad a la hora de actualizar la documentación, usar un control de versiones o ver quien está autorizado para acceder a la misma.
Un siguiente paso es usar un gestor documental como puede ser Sharepoint. Al menos, en su versión primera - la que más conozco - es una castaña. Utiliza el almacén de datos de Exchange para almacenar los documentos, tiene un flujo de trabajo relativamente sencillo y permite la creación de portales usando webparts. Es una mezcla entre un gestor de contenido (CMS) y un almacén de documentos. Ya Sharepoint aporta un cierto control de versiones que da un valor añadido a la solución y una herramienta de búsqued e indexación que puede usarse para obtener la información.
A partir de aqui puede intentarse usar un sistema de gestión de contenidos como puede ser cualquiera de los portales tipo opencms o MS CMS. Estas son herramientas de construcción de portales, donde se diseñan unas plantillas, con una navegación determinada, y unos contenedores donde se carga la información. Esto está muy bien en portales donde la navegación está más o menos establecida y el diseño, pero para almacenar la información ded sistemas no me convence, puesto que esta información es demasiado heterogénea como para encajar en el modelo tan rígido que ofrece un gestor de contenido, al menos, como MSCMS 2001 que es el que he manejado los últimos años.
La opción que más me atrae hasta ahora es la de un Wiki. Una herramienta que permite editar una web de manera muy flexible e ir construyendo el portal a gusto del consumidor. Ejemplos de wiki son la Wikipedia o la documentación de ciertos proyectos libres como por ejemplo este de GnomeSupport. Quizás la idea del wiki haya sido la que más me ha atraido a la hora de buscar una herramienta que me permita almacenar la documentación.
Con estas ideas, he empezado a plasmar ciertos requisitos que me gustaría que tuviese la herramienta:
- La posibilidad de editar las páginas desde cualquier navegador.
- El contenido que genere debe ser estándar, preferiblemente usando xhtml y hojas de estilo
- El contenido generado debe de ser accesible siguiendo pautas de la WAI
- Poder generar vistas de la información en función del usuario que esté en el sistema en ese momento. Aunque en un Wiki cualquier usuario pueda editar la información, en este caso debe de existir cierto control sobre quien y qué puede modificar los usarios. Por tanto debe de existir una serie de roles con los permisos bien definidos
- Una buena utilidad de búsqueda. Esta es quizás la parte más importante de la aplicación y la que realmente la puede hacer útil o un montón de código que no valga para nada.
- Un sistema de plugins que permitieran añadir nueva funcionalidad.
- Información de cambios vía RSS.
- Un API usando xmlrpc para poder interactuar con la misma desde otros programas
- ...