No queda espacio en el dispositivo en CentOS7

Mi máquina, cuyo SO es CentOS7 tiene que hacer una copy de security de los datos 50G en MySQL. Pero, no queda espacio en el dispositivo. Pero hay muchos espacios en /home . ¿Cómo puedo hacer que el usuario tenga suficiente espacio para que MySQL almacene datos? Creo que no hay espacio en /dev/mapper/centos-root , ¿cómo puedo mover espacio de /home a / .

 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 20K 100% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 84K 7.8G 1% /dev/shm tmpfs 7.8G 2.6G 5.2G 34% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/centos-home 500G 20G 480G 4% /home /dev/sda1 497M 241M 257M 49% /boot tmpfs 1.6G 16K 1.6G 1% /run/user/42 tmpfs 1.6G 0 1.6G 0% /run/user/0 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1000 

Y el código de compilation g++ falló.

 $ g++ test.cpp Cannot create temporary file in /tmp/: No space left on device [1] 6642 abort (core dumped) g++ test.cpp 

Primero necesita get su partición raíz ("/") para que no se llene o suceden muchas cosas malas en su sistema. Necesita / tmp para poder escribirse para muchas tareas del sistema y del usuario.

Su partición raíz tiene solo 50 GB, por lo que nunca obtendrá el espacio que necesita allí con la estructura de partición actual.

Sus opciones serían reparticionar para get un / var diferente (sin espacio en / home) para tener espacio para los files de datos MySQL. la utilidad dividida hará eso. Si es una máquina alojada que puede no ser fácil o posible de hacer, y no recomiendo jugar con esa utilidad si no está seguro de lo que está haciendo.

En su defecto, es un truco, pero podrías sortearlo con enlaces simbólicos. De nuevo, no se recomienda normalmente y es probable que deba llevar su máquina al modo de usuario único ya que los daemons en ejecución tendrán lockings de files que lo pararán. La esencia sería:

 mv /var /home ln -s /home/var /var 

Y si lo hace, probablemente deba reiniciar la máquina para que aparezca limpiamente:

 shutdown -r now 

Investigue qué quiere hacer, jugar con particiones de disco puede ser muy complicado si no tiene un plan claro.

Si solo almacena copys de security de MySQL en su / partición, entonces es fácil mover los datos.

Supongamos que está almacenando sus datos en /opt/backup/ puede:

  • Detenga la copy de security de escribir en ese directory (si está utilizando algún progtwig de copy de security)

  • Mueva la carpeta de respaldo en / a /home/ (o cualquier carpeta en /home como desee)

    # mv / opt / backup / / home /

  • Crea un enlace simbólico al directory anterior:

    # ln -s / home / backup / / opt / backup

  • Dé el permiso adecuado para asegurarse de que su progtwig de copy de security tenga permiso de escritura para /home/backup con chmod .

  • Comience su progtwig de respaldo

Clone el sistema operativo usando herramientas profesionales como acronis para discos más grandes con particiones más grandes, ya que los enlaces duros pueden causar trobules en etapas posteriores. Use boot rescue para rebuild grub, ya que después de cambiar a un nuevo disco, los centos de configuration pueden no arrancar.

Usando CentOs 7, probé dos IDE pero tuve el mismo problema manejando un proyecto con aproximadamente 16000 files.

"IDE no registró ningún espacio en el dispositivo".
Ambos IDE se bloqueaban, o dejaban de responder, o las acciones de debugging se detenían o pausaban y bloqueaban todo el sistema o finalizaban la session de escritorio.

Y en el logging de posts decía:

 Oct 2 10:44:08 localhost gnome-session: inotify_add_watch("/home/tools/trunk/ext/boost/libs/hana/example/functional") failed: "No space left on device" 

Resulta que Centos Kernel tiene un buffer para save carpetas, etc.
encontré la solución de sfuser0000 en este sitio. . Esta es una copy de la solución:

Problema común, solución temporal, boost el límite de los relojes (por ejemplo, 512 K):

sudo sysctl fs.inotify.max_user_watches = 524288

(funcionó para mí, pero probablemente vaya a ser permanente y tal vez más grande, la información a continuación)

Para que el cambio sea permanente, edite el file /etc/sysctl.conf y agregue esta línea al final del file:

fs.inotify.max_user_watches = 524288

Información del tamaño a continuación:

"¿Se puede boost los relojes? ¿Por cuánto? ¿Alguna solución alternativa? Respuesta corta: seguro, sin problemas. Vaya directamente a medio millón (524288) si lo desea … la memory adicional utilizada debería ser insignificante en un sistema moderno con 4GB + de memory.

Cada reloj inotify usado ocupa 540 bytes (sistema de 32 bits), o 1 kB (doble – en 64 bits) Esto sale de la memory del kernel, que no se puede mover. Entonces, suponiendo que establezca el máximo en 524288, y todo se usó (improbable), estaría usando aprox. 256 MB / 512 MB de memory de kernel de 32 bits / 64 bits

Tenga en count que su aplicación también utilizará memory adicional para realizar un seguimiento de los identificadores, routes de files / directorys, etc., cuánto depende de su layout.