Tengo dos volúmenes lógicos, uno está montado como /, el otro está montado como / home.
Quiero combinarlos, porque el /
volumen se está quedando constantemente sin espacio. (Sí, sé lo que está usando todo ese espacio; no, no puedo eliminarlo).
Estoy dispuesto a bajar la máquina por un día o dos para hacerlo.
OS: Linux xxxxx 2.6.32-279.22.1.el6.x86_64 #1 SMP Wed Feb 6 03:10:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
(CentOS)
/
volumen, no es ese el punto de usar LVM?Respuestas:
Ya terminé, y la nueva partición funcionó. Sin embargo, dado que faltan áreas en ambas guías, voy a resumir lo que hice. Tenga en cuenta que he reemplazado mi nombre de usuario con
zzzz
y el nombre de mi computadora conxxxxxxx
. Además, todos los comandos deben ejecutarse como root a menos que se indique lo contrario.Primero, hice una copia de seguridad:
Esto crea una copia de seguridad comprimida del directorio / home y la coloca en mi disco externo. (Tenga en cuenta que su unidad externa tendrá una ruta diferente).
Ahora, debe reiniciar en modo de usuario único.
Cuando su computadora se enciende nuevamente, debe buscar una pantalla como esta:
Presione cualquier tecla para interrumpir eso. Deberías ver una pantalla como esta:
Presione a, luego Espacio, luego escriba
single
. Presione enter.Debería ver un mensaje como este:
Ingrese los siguientes comandos:
Se debe mostrar
Size
,Used
yAvail
. Nos interesaUsed
.Anote cuánto espacio está utilizando el volumen de su hogar. Lo necesitaremos más tarde.
¿Recuerdas cuánto espacio usó el volumen de tu casa? Duplica eso y dáselo a este comando. Por ejemplo, tenía 15 gigabytes utilizados por mi directorio personal, así que lo dimensioné a 30 gigabytes.
Advertencia : El siguiente paso es el que puede perder datos. Hacer seguro de que usted pone en un tamaño más grande que el comando anterior. Agregue 5 Gigabytes para estar seguro.
Dígale a la partición raíz que use todo ese espacio que acabamos de liberar.
Copie sus datos a la partición raíz
(Por cierto, eso
-a
es importante, porque de lo contrario todo será propiedad de root, y usted no quiere eso). Verifique rápidamente que los datos se hayan copiado correctamente:
Ahora eliminamos la partición de inicio y le decimos a root que tome el nuevo espacio nuevamente.
En este punto, cometí un gran error, del cual puedes aprender. Reinicié, y cuando el sistema volvió a funcionar, se negó a montar mi partición raíz como lectura-escritura porque no podía montar mi partición / home. Entonces, antes de reiniciar, escribimos
Una de esas líneas le dirá al sistema que monte la partición / home. Pon un
#
antes. Presione Ctrl-O, Intro, Ctrl-X. Ahora puedes reiniciar.(Hipotéticamente, si olvidara editar fstab como lo hice, el comando para montar su partición raíz es
mount -n -o remount -t ext2 /dev/vg_xxxxxxxx/lv_root /
)fuente
/home
. Luego, siempre que pueda desmontar/home
, puede quitarlo. Sin embargo, no estoy realmente calificado para hablar sobre el proceso. Esto es algo sobre lo que deberías hacer una nueva pregunta.ADVERTENCIA: ¡Respalde todos los datos críticos antes de hacer algo!
Debería mover todos los datos de la partición / home a otra partición, partición local o unidad externa o en cualquier otro lugar donde tenga suficiente espacio.
Elimine / home lv y luego expanda / (root) lv
Copie los datos nuevamente al directorio / home
Editar 1
La respuesta anterior supone que no tiene suficiente espacio en la partición raíz para colocar los datos en la partición de inicio.
Si este no es el caso, simplemente monte la partición de inicio en otro lugar y copie los datos, por ejemplo:
Luego simplemente elimine la partición de inicio y expanda la partición raíz
fuente
Puede hacerlo sin ningún almacenamiento externo, ejecutando
/
, pero deberá desmontar/home
.Este no es un procedimiento particularmente arriesgado si tiene cuidado, pero, no obstante, se aplica el consejo estándar: primero haga copias de seguridad y pruébelas.
Lo usaré
foo
para el nombre del grupo de volúmenesroot
yhome
como los nombres de volumen lógicos. Esto hace que las rutas lógicas de volumenfoo/root
yfoo/home
, y las rutas de dispositivo/dev/mapper/foo-root
y/dev/mapper/foo-home
. Supongo que están en el mismo grupo de volúmenes, de lo contrario, esto se vuelve más complicado y depende del diseño del volumen físico de los dos grupos de volúmenes.Primero, desmonta
/home
y corree2fsck -f /dev/mapper/foo-home
. Luego reduzca primero el sistema de archivos y el volumen lógico en consecuencia. Ejecuteresize2fs /dev/mapper/foo-home NNNN
donde NNNN es el número de bloques que desea retener dentro del volumen (puede usar kB o MB o GB en su lugar con el sufijoK
,M
oG
). Después de la reducción del sistema de archivos, reducir el tamaño del volumen lógico conlvresize -L MMMM foo/home
donde MMMM es un número de megabytes (nota que la unidad por defecto es diferente deresize2fs
, pero se pueden utilizar los mismos sufijosK
,M
,G
). Tenga mucho cuidado de no reducir el volumen lógico más allá del sistema de archivos: este es un paso peligroso en este procedimiento.Ahora hay espacio sin usar en el grupo de volúmenes. Ejecute
lvresize -l +100%FREE foo/root
para hacer que el volumen raíz tome todo el espacio libre en el grupo de volúmenes. Luego ejecuteresize2fs /dev/mapper/foo-root
(sin parámetro de tamaño) para agrandar el sistema de archivos para abarcar todo el volumen lógico; La ampliación se puede hacer mientras el volumen está montado.Ahora tiene espacio para copiar algunos archivos. Si no tiene suficiente espacio para todo, muévase tanto como pueda, luego repita el procedimiento.
Una vez que haya copiado todos los archivos
/home
, estará listo para destruirlo. Verifique que/home
esté vacío (si movió los archivos) o que todos los archivos/home
se hayan copiado/root
(si copió los archivos). Para destruir el volumen lógico ahora innecesario, ejecutelvremove foo/home
. Finalmente, amplíe el volumen raíz conlvresize -l 0%FREE foo/root
y su sistema de archivos conresize2fs /dev/mapper/foo-home
.fuente
OK, me encontré exactamente en la misma posición. Parece que CentOS crea un pequeño volumen raíz por defecto y llena el resto de su espacio
/home
. Incluso probé mi configuración primero en una máquina virtual, pero con el disco más pequeño, CentOS no creó el volumen de inicio. Comprendí este problema antes de quedar limitado de espacio, aunque también pensé en cómo no tener que ingresar al modo de usuario único. Como sigue:Obtenga acceso a la máquina, ssh está bien (suponiendo que el usuario no sea root).
cd /
así que no estás en el directorio de iniciosudo -s
seremos raíz de todo estolsof /home
compruebe que nadie esté usando el volumen de inicio, no deberíamv
,tar
o similar el contenido de la casa a otro lugarlvremove centos/home
/etc/fstab
y comente o elimine la línea para/home
/home
: ahora está en una posición segura, un reinicio aquí debería estar bienlvresize -l +100%FREE centos/root
xfs_growfs /dev/centos/root
en CentOS 7, otros podrían usarresize2fs
df -h
has tenido éxito?Espero que esto lo haga más fácil para alguien. Es realmente sorprendente lo que puedes hacer en vivo en los sistemas de archivos en estos días.
fuente