파티션 크기를 조정/이동하는 방법은 무엇입니까?

파티션 크기를 조정/이동하는 방법은 무엇입니까?

내 루트 파티션에 공간이 부족하여 다른 파티션에서 일부 공간을 훔치고 싶습니다. 드라이브는 mdadm 소프트웨어 RAID를 사용하는 2x120GB입니다. CentOS 6.5 64비트를 사용하고 있습니다. RAID 설정을 부팅하기 위해 centos 설치 프로그램을 사용하고 있습니다. 대부분의 HowTo는 기본 파티셔닝이 없는 방향으로 나를 이끈 것 같습니다. 따라서 다른 모든 사람은 /dev/md0만 갖게 됩니다. resize2fs /dev/md0 25G(예: 50G에서 줄이기)를 수행한 다음 mdadm을 사용하여 크기를 조정하는 등의 작업을 수행합니다.

레이아웃은 다음과 같습니다

마운트된 %를 사용하여 사용 가능한 파일 시스템 크기 사용 가능
/dev/md0p5 9.7G 7.1G 2.1G 78% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/md0p1 194M 99M 86M 54% /boot
/dev/md0p2 68G 7.2G 57G 12% /var/www

고양이/proc/mdstat:

캐릭터: [raid1]
md0 : 활성 raid1 sdb[1] sda[0]
      117220736 블록 [2/2] [UU]

미사용 장비:

이것은 fdisk입니다:

fdisk -l

디스크 /dev/sda: 120.0GB, 120034123776바이트
255개 헤드, 63개 섹터/트랙, 14,593개 실린더
단위 = 16065 * 512 = 8225280바이트의 실린더
섹터 크기(논리적/물리적): 512바이트/512바이트
I/O 크기(최소/최적): 512바이트/512바이트
디스크 식별자: 0x00035afc

   장치 부팅 시작 끝 블록 ID 시스템
/dev/sda1 * 1 26 204800 83 리눅스
파티션 1은 실린더 경계에서 끝나지 않습니다.
/dev/sda2 26 8950 71680000 83 리눅스
/dev/sda3 8950 11039 16777216 82 리눅스 Exchange/Solaris
/dev/sda4 11039 14594 28557312 5 확장
/dev/sda5 11039 12314 10240000 83 리눅스

디스크 /dev/sdb: 120.0GB, 120034123776바이트
255개 헤드, 63개 섹터/트랙, 14,593개 실린더
단위 = 16065 * 512 = 8225280바이트의 실린더
섹터 크기(논리적/물리적): 512바이트/512바이트
I/O 크기(최소/최적): 512바이트/512바이트
디스크 식별자: 0x00035afc

   장치 부팅 시작 끝 블록 ID 시스템
/dev/sdb1 * 1 26 204800 83 리눅스
파티션 1은 실린더 경계에서 끝나지 않습니다.
/dev/sdb2 26 8950 71680000 83 리눅스
/dev/sdb3 8950 11039 16777216 82 리눅스 Exchange/Solaris
/dev/sdb4 11039 14594 28557312 5 확장
/dev/sdb5 11039 12314 10240000 83 리눅스

디스크 /dev/md0: 120.0GB, 120034033664바이트
2개 헤드, 4개 섹터/트랙, 29305184 실린더
단위 = 8 * 512 = 4096바이트의 실린더
섹터 크기(논리적/물리적): 512바이트/512바이트
I/O 크기(최소/최적): 512바이트/512바이트
디스크 식별자: 0x00035afc

    장치 부팅 시작 끝 블록 ID 시스템
/dev/md0p1 * 257 51456 204800 83 리눅스
파티션 1은 실린더 경계에서 끝나지 않습니다.
/dev/md0p2 51457 17971456 71680000 83 리눅스
파티션 2는 실린더 경계에서 끝나지 않습니다.
/dev/md0p3 17971457 22165760 16777216 82 Linux Exchange/Solaris
파티션 3은 실린더 경계에서 끝나지 않습니다.
/dev/md0p4 22165761 29305088 28557312 5 확장
파티션 4는 실린더 경계에서 끝나지 않습니다.
/dev/md0p5 22166273 24726272 10240000 83 리눅스

그렇다면 루트 파티션을 늘리고 /var/www 파티션을 줄이려면 어떻게 해야 할까요?

답변1

RAID를 개별 디스크로 분할했으므로 이 경우 RAID를 완전히 무시할 수 있습니다. 따라서 파티션 크기 조정/이동만 하면 됩니다.

예를 들어 www 파티션을 축소하고 스왑 파티션을 삭제한 다음 루트 파티션을 왼쪽으로 이동하여 더 크게 만들 수 있습니다.

또는 이것이 복잡해 보이고 별도의 파티션이 반드시 필요하지 않은 경우 루트 파티션을 www 파티션에 병합할 수 있습니다. 이미 루트 파티션과 www 파티션을 모두 수용할 수 있을 만큼 충분히 크기 때문입니다. 이것이 내가 할 일이다.

# mount stuff
mkdir /mnt/root /mnt/www
mount /dev/md0p5 /mnt/root
mount /dev/md0p2 /mnt/www

# since /mnt/www will be the new root, move www files to /var/www
mkdir -p /mnt/www/var/www
mv /mnt/www/* /mnt/var/www/

# copy the root files
rsync -avAHSX /mnt/root/. /mnt/www/.

# comment out old root partition in fstab
# change /var/www to / in fstab

# update bootloader and reboot

이 방법에는 문제가 발생하더라도 원래 루트 파티션이 그대로 유지되므로 작업을 재개할 수 있다는 장점도 있습니다.

병합된 루트+www 파티션에 문제가 없으면 이전 루트 파티션을 삭제하고 전체 디스크 크기로 늘릴 수 있습니다.

또는 www가 가까운 미래에 충분히 크다고 생각되면 결국 별도의 파티션을 사용하기로 결정하고 www 파일을 이전 루트 파티션으로 이동할 수 있습니다.

또는 www 파티션을 축소하여 새 파티션을 위한 공간을 만들 수 있습니다.

무한한 가능성...

관련 정보