디스크 중 하나에는 공간이 부족하지만 다른 디스크는 거의 비어 있습니다. 가장 큰 폴더( /var
)를 다른 디스크로 전송하고 에 설치하는 방법에 대한 조언이 필요합니다 /var
. /var
폴더는 현재 /
파티션에 있습니다. 할당되지 않은 공간이 90GB입니다 /dev/sdb
. 이것은 vmware 가상머신입니다.
$df -H result
Filesystem Size Used Avail Use% Mounted on
rootfs 22G 20G 711M 97% /
udev 11M 0 11M 0% /dev
tmpfs 425M 398k 425M 1% /run
/dev/disk/by-uuid/a8db5cdb-96f3-4497-9 22G 20G 711M 97% /
tmpfs 5.3M 0 5.3M 0% /run/lock
tmpfs 850M 0 850M 0% /run/shm
/dev/sdb1 11G 980M 8.9G 11% /home
$fdisk -l result
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c0f7f
Device Boot Start End Blocks Id System
/dev/sda1 2048 194559 96256 82 Linux swap / Solaris
/dev/sda2 * 194560 41940991 20873216 83 Linux
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders, total 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002dc8d
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20482047 10240000 83 Linux
답변1
일반적으로 파일을 새 파티션으로 물리적으로 이동한 다음 빈 /var를 마운트 지점으로 다시 만든 다음 mount /dev/sdb1 /var
.(영구적인 효과를 얻으려면 다음과 같은 줄을 추가하세요 /etc/fstab
)
/dev/sdb1 /var ext4 rw 0 1
그러나 "물리적으로 파일을 새 파티션으로 이동" 단계에는 더 많은 설명이 필요합니다. 일반적인 데비안 시스템에는 /var
열려 있는 파일, 데이터베이스, 특수 노드(소켓 등)가 많이 있을 수 있습니다.
먼저 /etc/fstab
위의 내용을 수정하세요. 그런 다음 시스템을 단일 사용자 모드로 전환하여 /var
.
sudo init 1
그런 다음 /var를 새 임시 위치에 마운트하고 해당 내용을 복사할 수 있습니다 /var
.
mkdir /mnt/var
mount /dev/sdb1 /mnt/var # Temporary mount
cd /var
cp . -ax /mnt/var # Copy /var contents to new partition
cd /
mv /var /var.old # Backup old /var in case anything goes wrong
umount /mnt/var # We are done with that for now
reboot
시스템이 다시 시작되면 /var
모든 파일이 보존된 상태로 올바른 위치에 자동으로 설치됩니다. 모든 것이 만족스러우면 rm -Rf /var.old
백업 복사본을 삭제할 수 있습니다.
답변2
경고 받다, 데이터가 손실되지 않으면 init 1
type_outcast에서 권장하는 대로 시스템을 부팅하거나 라이브 USB 시스템을 부팅하여 다음 프로세스를 수행해야 합니다.
sdb에 이미 파티션이 있으므로 전체 파티션을 사용하려면 파일 시스템이 생성되었는지 확인하면 됩니다. 그렇지 않은 경우에는 직접 생성하십시오( mkfs
).
생성 후 두 개의 파티션 마운트
mkdir /mnt/orig
mkdir /mnt/dest
mount /dev/sdb1 /mnt/dest
mount /dev/sda1 /mnt/orig
그리고 rsync
/var를 /mnt로 변경하세요.
rsync -av /mnt/orit/var/* /mnt/dest/
완료되면 파티션 UUID를 식별 blkid
하고 /mnt/orig/etc/fstab을 수정하여 새 /var 파티션의 UUID를 가리키는 /var에 대한 새 줄을 만듭니다.
UUID=UUID_returned_by_blkid /var ext4 defaults 2 2