나는 최근 다른 사람의 Linux 서버 문제를 물려받았습니다. 이것은 데비안 기반 올인원 조명 설정 중 하나입니다. 최근에 저장 공간이 부족해져서 여기에 Linux에 대해 아는 사람이 아무도 없는 것 같습니다. 아래 이미지와 같이 성공적으로 드라이브를 확장하고 VMWare에서 파티션을 생성했습니다. 문제는 루트 파티션 /dev/sda1을 /dev/sda4와 병합하는 것입니다.
참고: 시작-끝 블록은 연속되지 않으며 이 서버에서는 너무 많은 가동 중지 시간을 감당할 수 없습니다. /dev/sda3도 병합할 수 있지만 중요하지는 않습니다.
업데이트: df -h 출력
업데이트 2: fdisk -l 출력
답변1
귀하의 터미널에 어떤 설정이 있는지 모르겠습니다. RAID, SAN, NAS를 사용하는 경우 상황이 복잡해질 수 있습니다.
지금은 파티션이 있는 기존의 단일 하드 드라이브를 사용하고 있다고 가정합니다.
사람들이 서로 다른 파티션을 갖는 데에는 종종 이유가 있습니다. 예를 들어 일부 사람들은 보안 목적과 같은 이유로 서로 다른 데이터 세트에 대한 데이터베이스를 보유해야 한다고 생각하거나 이유가 있을 수 있습니다. 조치를 취하기 전에 더 많은 조사를 하고, 가능하다면 사람들에게 왜 그런 일을 하는지 이야기해 보시기 바랍니다.
위의 내용을 말하고 변경에 대한 타당한 이유가 있다고 가정하면 Debian Live CD 또는 손에 넣을 수 있는 모든 것을 사용하여 모든 데이터를 외부 드라이브에 백업하고 gparted를 사용하여 파티션을 나누는 것뿐입니다. 예를 들어 데이터를 슬라이드/복사하려면 다른 파티션을 가리킬 수 있는 하드 링크나 심볼릭 링크가 동일한 구성(HDD 제외)이지만 파일 시스템(가능한 경우)이 있는 백업 서버에 올바르게 연결되어 있는지 확인하세요. 모든 것이 제대로 작동하는지 확인하기 위해 일종의 테스트를 실행할 수 있기를 바랍니다.
모든 것이 순조롭게 진행되면 서버를 종료하고 새 디스크에 데이터를 넣어서 사용하면 됩니다.
일반적으로 데비안과 사용 중인 응용 프로그램을 업데이트하는 것이 좋지만 커널이 업데이트될 때 데이터 성능을 테스트하는 데 시간을 할애해야 하며 보안 패치를 사용하면 모든 것이 더 좋아질 수 있습니다.
또한 시간이 지남에 따라 기억이 흐려지는 경향이 있으므로 문제가 발생할 경우를 대비하여 메모를 참조할 수 있도록 몇 가지 문서를 작성하고 현재 수행 중인 작업을 수행하는 이유를 설명할 것을 권장합니다.
이 모든 것은 무엇이 좋은 습관이고 무엇을 알아야 하는지를 지적하기 위한 것입니다. 나는 손상 비용이 그만한 가치가 없기 때문에 현장 재 구역화의 팬이 아니 었습니다.
답변2
/dev/sda1은 기본 파티션이고 /dev/sda4는 확장 파티션 내에 위치한 논리 파티션입니다. 또한 불연속적이므로 병합 작업이 문제가 될 수 있습니다. 어쩌면 /dev/sda3 및 /dev/sda4(데이터 백업 후)를 삭제하여 깨끗한 슬레이트를 만든 다음 gpart를 사용하여 현재 할당되지 않은 공간을 /dev/sda1과 병합할 수 있습니다. 할당되지 않은 깨끗한 공간을 만들려면 전체 확장 파티션을 삭제해야 할 수도 있습니다.
다시 살펴보면 확장 파티션에는 1046529개의 블록만 있다는 것을 알 수 있습니다. 이는 /dev/sda4가 기본 파티션임을 의미합니다. 그러나 그것은 중요하지 않습니다. 주로 sda1을 확장하려면 연속된 할당되지 않은 공간이 필요합니다. gpated 대신 fdisk를 사용하여 파티션을 삭제하고 다시 생성할 수 있습니다. fdisk /dev/sda -u(-u는 일관성을 위해 파티션 테이블의 크기를 섹터 단위로 표시함) 그런 다음 resize2f를 사용하여 새 크기로 크기를 조정할 수 있습니다.
답변3
예, 하루에 1GB만 필요합니까(댓글에서 그렇게 말씀하셨나요)?
(내 생각에) 쉬운 방법은 중요하지 않은 오래된 로그를 지우는 것입니다.
cd /var/log/
rm *.gz
cd /var/log/apache2
rm *.gz
(etc)
아니면 기존 로그를 다른 위치로 옮기세요.
mkdir /mnt/pendrive
mount /dev/sdc1 /mnt/pendrive
cd /var/log/
mv *.gz /mnt/pendrive
cd /var/log/apache2
mv *.gz /mnt/pendrive/myfunnyapache2folder
(etc)
또는 알 수 없는 이유로 이 작업을 수행하고 싶지 않은 경우 모든 것이 작동할 때까지 /var/log를 다른 파티션으로 이동해 볼 수 있습니다!
먼저 서비스를 중지합니다.rsyslog 서비스가 중지되고 apache2 서비스가 중지됩니다.
fdisk /dev/sda
(sda를 디스크 장치 또는 펜 드라이브로 변경)
n
(n 명령을 사용하여 1GB 파티션을 만들고 w 명령을 사용하여 fdisk를 저장한 다음 fdisk를 종료합니다.)
fdisk -l(소문자 L)을 사용하여 /dev/sda5와 같이 1GB 파티션에서 사용하는 파티션 장치를 확인하세요.
이제 /dev/sda5 또는 파티션 번호(fdisk에 의해 생성됨)를 새로운 /var/log로 마운트하십시오...
mkdir /tmp/log
mkfs.ext4 /dev/sda5 - Assumed /dev/sda5 as the new empty partition. This will destroy all that in /dev/sda5 if you select the wrong partition, this is the empty partition you created in fdisk!
mount /dev/sda5 /tmp/log
mv /var/log/* /tmp/log
umount /tmp/log
mount /dev/sda5 /var/log
ls /var/log - Now you have time to think again...
그런 다음 서비스를 다시 시작할 수 있습니다.rsyslog 서비스가 시작됩니다. apache2 서비스가 시작됩니다.
예, 수행 중인 작업에 주의를 기울이지 않으면 위험할 수 있지만 실행 중인 시스템에서 파티션 크기를 조정하거나 파티션을 병합하는 것보다 가능성은 낮습니다.
하드 드라이브에 더 이상 공간이 없다면 램디스크 파티션을 만드십시오(이 작업을 수행하는 방법은 Google에서 확인할 수 있습니다). 그러나 서버가 다시 시작되면 로그 데이터가 손실됩니다...
또한 gzip을 사용하여 현재 필요하지 않은 gzip 파일 이름 및 기타 텍스트 파일과 같은 회전되지 않은 로그 데이터를 압축할 수도 있습니다!