-------------------------------------------------------
| Nomenclatura de discos en linux| IDE | SCSI |
| -------------------------------|-----------|----------|
| Disco maestro del primer bus | /dev/hda | /dev/sda |
| Disco esclavo del primer bus | /dev/hdb | /dev/sdb |
| Disco maestro del segundo bus | /dev/hdc | /dev/sdc |
| Disco esclavo del segundo bus | /dev/hdd | /dev/sdd |
-------------------------------------------------------
----------------------------------------
| disco /dev/hda |primarias | lógicas |
| ----------------|----------|-----------|
| 1ª partición |/dev/hda1 | /dev/hda5 |
| 2ª partición |/dev/hda2 | /dev/hda6 |
| 3ª partición |/dev/hda3 | /dev/hda7 |
| 4ª partición |/dev/hda4 | /dev/hda8 |
----------------------------------------
$ du -h fichero
Muestra espacio ocupado en disco,del directorio en curso si no indicamos nada.
$ tree -a -s -L 2
tree es un programa que muestra lo mismo que du en forma de árbol.
$ df
Muestra información sobre particiones montadas, con la opcion -h se muestra en formato Human Readable (e.g. KB, MB, GB).
# cfdisk
Muestra información sobre particiones.Herramienta para particionar en ncurses.
# fdisk -l
Muestra información sobre particiones.Herramienta para particionar.
# mount
Vemos el listado de dispositivos montados.
# mount punto_montaje
Monta un dispositivo.(ya establecido en el fstab)
# umount punto_montaje
Desmonta un dispositivo.(ya establecido en el fstab)
# mount -t sistema_archivo dispositivo punto_montaje
Monta un dispositivo. Ejemplo:
# mount -t ext3 /dev/hda2 /mnt
Donde se monta la segunda partición primaria del dispositivo /dev/hda, la cual es de tipo ext3, en el directorio /mnt
# umount /dev/hda2
Desmonta un dispositivo
# fsck /dev/hdax
Chequea y repara el sistema de archivos de una partición NO MONTADA.
# fsck.ext2 -vpf /dev/hdx
Chequea y repara el sistema de archivos de una partición ext2 NO MONTADA.
# fsck.ext3 -vpf /dev/hdx
Chequea y repara el sistema de archivos de una partición ext3 NO MONTADA.
# mkfs.ext2 /dev/hdb1
Crea un sistema de ficheros Linux ext2 en la primera partición del segundo disco duro.
# mkfs.ext3 /dev/hdb1
Crea un sistema de ficheros Linux ext3 en la primera partición del segundo disco duro.
# mkfs.ext3 /dev/fd0
Crea un sistema de ficheros Linux ext3 en el floppy.
# mkswap /dev/hda2
Crea un sistema de ficheros Linux swap (intercambio) en hda2.
# resize2fs -f /dev/hda2
Reajusta el tamaño del sistema de ficheros después de haber ampliado/reducido la partición/volumen
# tune2fs -O ^has_journal /dev/hda2
Convierte hda2 de ext3 a ext2
# tune2fs -j /dev/hda2
Convierte hda2 de ext2 a ext3
# tune2fs -C 255 /dev/hda1
Fuerza a que se revise /dev/hda1 en el próximo reinicio (con fsck). Útil para revisar la partición raíz, que no se puede desmontar.
######################################################################################
FDISK
Una tarea administrativa algo común, es eventualmente tener que añadir un nuevo disco duro (IDE) al o a los que ya se tienen, después de instalarlo físicamente es extremadamente fácil hacer que Linux lo reconozca (todo se hace como usuario root).
Suponiendo que se instaló en el IDE 1 maestro, entonces el dispositivo será /dev/hdc o si no estas seguro puedes usar:
#> fdisk -l
Y te mostrará una lista de los dispositivos conectados a los IDE's. Entonces procedes a particionar la unidad recien instalada:
#> fdisk /dev/hdc
Una vez en fdisk, presiona m para una lista de los comandos de fdisk, en este caso usaremos:
Command (m for help): n (añade nueva partición)
Command action
e extended
p primary partition (1-4)
p (tiene que ser partición primaria)
Partition number (1-4): 1
First cylinder (1-5580, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-558, default 5580): +10000M
Con lo anterior primero indicamos una nueva partición (n), después se indicó que es del tipo primaria (p), el número de partición y por último el tamaño para esta partición, en este caso de 10GB o 10000MB, si se quisiera todo el disco en una sola partición, bastaría con presionar enter. En este caso suponemos que se dividirá el disco en más de una partición y repetiriamos lo anterior pero empezando en el siguiente cilindro disponible y sería la partición 2. Hay que indicar el tipo de sistema de archivos que tendrá la partición, esto con el comando t:
t
Partition number (1-4) : 1
Hex code (L to list codes): 83
El tipo de partición para Linux es el 83, si presionas L donde lo indica verás una lista bastante extensa con códigos para distintos tipos de sistemas de archivos.
Por último, guarda los cambios con:
w (escribe los cambios)
¡CUIDADO! Hasta antes de presionar w no pasa nada, ya que los cambios no se han realizado, después de presionar w(rite) no hay vuelta atrás, si te equivocaste de partición perderás los datos que hubiera ahí, asi que cuando trabajes con fdisk checa y recheca varias veces que estés haciendo lo correcto.
Después de lo anterior yo siempre reinicio el sistema para que el kernel reconozca los cambios. (Si alguien sabe como evitar este paso de reiniciar por favor avíseme, se supone que si se puede pero no he sabido como).
p>
Para crear el filesystem o sistema de archivos se usa el comando mkfs, este comando tiene múltiples variantes, pero supongamos que quieres poner un filesystem ext3 que es el mas común hoy en día para Linux. (ext3 es un ex"t2" con journaling, es decir con bitacoras de cambios en tiempo real, lo que por ejemplo permite recuperarse de un apagón sin mayores problemas).
Siguiendo el ejemplo, debemos tener ahora un dispositivo hdc1 (/dev/hdc1), recuerda que /dev/hdc es el disco duro en si y /dev/hdc1 es la partición primaria 1 de ese disco. Entonces podemos usar cualquiera de las siguientes variantes de mkfs para crear el sistema de archivos en la unidad:
#> mkfs -t ext3 /dev/hdc1
#> mkfs.ext3 /dev/hdc1
#> mke2fs -j /dev/hdc1
Cualquiera de las tres variantes creará el filesystem ext3 en el dispositivo indicado.
Este paso es extremadamente simple, es solo cuestión de crear un directorio que es donde posteriormente montaremos el nuevo dispositivo. Puedes crearlo donde sea pero yo acostumbro hacerlo en la raíz para identificarlo mas fácil.
#> mkdir /respaldos
El nombre del directorio es lo de menos, en este caso le pongo un nombre sugestivo de acuerdo a lo que pretendo va a ser el destino del disco nuevo que en este caso, será la de contener respaldos.
Un archivo de configuración muy importante en cualquier sistema Linux es fstab, ubicado dentro de /etc. Este archivo contiene una configuración en forma de 6 columnas que indican al sistema como deben montarse las unidades o dispositivos del equipo. Hay que agregar la siguiente línea al final (con tu editor favorito) de las que ya están:
#> vi /etc/fstab
...
/dev/hdc1 /respaldos ext3 defaults 2 1
...
:wq
Y listo ahora cada vez que prendas el equipo el dispositivo /dev/hdc1 quedará montado y accesible en /respaldos.
No puedes usar un dispositivo en Linux como un disco duro si este no esta montado. De hecho el paso previo no monta el dispositivo solo indica que en el siguiente arranque se monte automáticamente. Asi que aqui podrías reiniciar el equipo para poder trabajar sobre el nuevo disco duro o para no reiniciar podrías montarlo a través del comando mount:
#> mount -t ext3 /dev/hdc1 /respaldos
Lo que estás haciendo es decirle al sistema: "monta el dispositivo /dev/hdc1 con el tipo de sistema de archivos ext3 en el punto de montaje (directorio) /respaldos" Aunque ya que este dispositivo esta indicado en /etc/fstab bastaría para montarlo hacer lo siguiente:
#> mount /respaldos
Listo es todo. El disco duro nuevo esta instalado y disponible para usuarse.
####################################################################################
Para crear particiones usando la herramienta fdisk, primero debemos comprobar los discos del sistema disponibles y las particiones que ya haya creadas, para ello utilizamos el parámetro -l:
$ sudo fdisk -l
Disco /dev/sda: 160.0 GB, 160041885696 bytes
255 cabezas, 63 sectores/pista, 19457 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000c3c51
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda2 3233 9855 53199247+ 83 Linux
/dev/sda4 9856 19457 77128065 83 Linux
En la salida de fdisk hemos verificado que tenemos un único disco /dev/sda de 160 GB, sobre el cual ya hay dos particiones creadas con sistemas Linux, /dev/sda2 y /dev/sda4. Si nos fijamos bien, vemos que el disco tiene 19457 cilindros y que las particiones comienzan en el 3233, por lo que tenemos espacio libre para crear más si lo deseamos.
Vamos a crear entonces una partición de prueba que utilice el resto de espacio disponible en el disco, comenzamos ejecutando fdisk sobre el disco a utilizar:
$ sudo fdisk /dev/sda
Si pulsamos la m una vez dentro podremos visualizar las distintas opciones con su respectiva letra de ejecución:
Orden Acción
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía
p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)
Vamos a crear una nueva partición, así que pulsamos “n”:
Orden (m para obtener ayuda): n
Acción de la orden
e Partición extendida
p Partición primaria (1-4)
Seleccionamos si queremos una partición extendida o primaria, en este caso podemos crearla como primaria, pulsamos “p” y dejamos que automáticamente se configure el número de la partición (se puede especificar, del 1 al 4). Después podemos seleccionar el primer y último cilindro a utilizar para la partición. Como yo voy a usar el resto de espacio disponible será del 1 al 19457 tal y como hemos visto antes, también podríamos indicar el tamaño de la partición en K, M o G. Lo dejamos por defecto en este caso:
p
Número de partición (1-4): 3
Primer cilindro (1-19457, valor predeterminado 1):
Último cilindro, +cilindros o +tamaño{K,M,G} (1-3232, valor predeterminado 3232):
Se está utilizando el valor predeterminado 3232
Ahora escribimos los cambios y salimos de fdisk:
Orden (m para obtener ayuda): w
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
El núcleo todavía usa la tabla antigua.
La nueva tabla se usará en el próximo reinicio.
Se están sincronizando los discos.
Finalmente debemos ejecutar el comando partprobe para indicar al kernel que vuelva a leer la tabla de particiones:
$ sudo partprobe
Y ya tenemos nuestra nueva partición creada, ahora únicamente faltaría asignar el sistema de ficheros deseado (ext3, ext4, ntfs, etc):
$ sudo fdisk -l
Disco /dev/sda: 160.0 GB, 160041885696 bytes
255 cabezas, 63 sectores/pista, 19457 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000c3c51
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda2 3233 9855 53199247+ 83 Linux
/dev/sda3 1 3232 25961008+ 83 Linux
/dev/sda4 9856 19457 77128065 83 Linux
Formateamos la partición como ext4:
$ mkfs.ext4 /dev/sda3
mke2fs 1.41.4 (27-Jan-2009)
mkfs.ext4: Permiso denegado mientras se intentaba determinar el tamaño del sistema de ficheros
alex@sistemas:~$ sudo mkfs.ext4 /dev/sda3
mke2fs 1.41.4 (27-Jan-2009)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
1623840 nodos-i, 6490252 bloques
324512 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=0
199 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8160 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
Este sistema de ficheros se revisará automáticamente cada 27 montajes o
180 días, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo.
Ahora podemos montar la partición y comenzar a usarla:
$ sudo mount //dev/sda3
Vemos que está disponible con el comando df:
$ df -h | grep /dev/sda3
/dev/sda3 25G 172M 23G 1% /test
Eliminar una partición usando fdisk es más sencillo que crearla, lo primero que haremos será desmontarla del sistema con el comando umount:
$ sudo umount /dev/sda3
Accedemos de nuevo a la gestión del disco con fdisk:
$ sudo fdisk /dev/sda
Una vez dentro, eliminamos la partición con la letra “d” y seguido el número de la partición, escribimos después los cambios con “w”:
Orden (m para obtener ayuda): d
Número de partición (1-4): 3
Orden (m para obtener ayuda): w
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
Ejecutamos de nuevo partproble para hacer efectivos los cambios sin reiniciar:
$ sudo partprobe
Y la partición ha sido eliminada, un fdisk -l no devolverá la partición:
$ sudo fdisk -l | grep sda3
#######################################################################################
Discos de 3 TB se deben particionar con tabla GPT
El origen de tu problema, radica en el tipo de tabla de partición que empleas, la usual y tradicional MS-DOS, que no soporta particiones de más de 2 TB, en razón de la limitación impuesta por los 512 byte del tamaño del bloque.
Para soportar particiones mayores a 2 TB, tendrías que utilizar GUID Partition Table (GPT) que emplea adicionalmente el final el sector del disco para soportar particiones de mayor tamaño. Pero GPT sólo funciona con BIOS que soporten EFI y no en BIOS clásicas, por lo que deberás emplear el disco únicamente como almacenamiento, ya que no podrás iniciar desde él.
Atentamente:
Franklin Campo