CentOS 7을 사용하고 있습니다. 내 데이터는 에 있으며 vdb2
데이터가 없습니다 vdb3
. 4개의 파티션을 모두 병합하고 데이터 손실 없이 단일 마운트 지점(/data1)을 할당할 수 있습니까?vdd
vde
[user@hbase2 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
vdb 253:16 0 450G 0 disk
├─vdb1 253:17 0 46.6G 0 part /mnt/10.1.14.83
├─vdb2 253:18 0 372.5G 0 part /data1
└─vdb3 253:19 0 30.9G 0 part
vdc 253:32 0 20G 0 disk
├─vdc1 253:33 0 4G 0 part /home
├─vdc2 253:34 0 4G 0 part /var/tmp
├─vdc3 253:35 0 4G 0 part /var/log
├─vdc4 253:36 0 4G 0 part /var/log/audit
└─vdc5 253:37 0 4G 0 part /var
vdd 253:48 0 20G 0 disk
vde 253:64 0 250G 0 disk
[user@hbase2 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 36G 15G 71% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 385M 3.5G 10% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vdc5 3.9G 333M 3.4G 9% /var
/dev/vdc2 3.9G 16M 3.6G 1% /tmp
/dev/vdc3 3.9G 113M 3.5G 4% /var/log
/dev/vdb1 46G 53M 44G 1% /mnt/10.1.14.83
/dev/vdc1 3.9G 222M 3.5G 6% /home
/dev/vdc4 3.9G 82M 3.6G 3% /var/log/audit
/dev/vdb2 367G 242G 106G 70% /data1
tmpfs 783M 0 783M 0% /run/user/1002
답변1
예, LVM을 사용하여 4개의 블록 장치를 파일 시스템용 논리 볼륨을 생성할 수 있는 풀에 넣을 수 있습니다 /data
.
vdd
및 에 파티션을 만듭니다vde
. 기술적으로 필수는 아니지만 권장됩니다.- 사용되지 않은 세 개의 파티션이 있는 LVM 볼륨 그룹을 생성합니다:
vgcreate vg0 /dev/vdb3 /dev/vdd1 /dev/vde1
- 논리 볼륨을 생성합니다:
lvcreate -l 100%FREE -n data1 vg0
- 논리 볼륨에 파일 시스템을 만듭니다. 예를 들어 ext4 사용: mkfs.ext4 -L DATA1 /dev/mapper/vg0-data1`
/data1
파일을 더 안전하게 복사하려면 원격 파일 시스템을 읽기 전용 모드로 설정하세요.umount /data
&& mount -o ro /data1`- 새 파일 시스템을 임시 위치에 마운트합니다.
mkdir /mnt/foo && mount -L DATA1 /mnt/foo
- 파일을
/data1
임시 마운트 지점에 복사합니다.cp -av /data1/ /mnt/foo/
- 새 파일 시스템(3단계의 논리 볼륨)에서 마운트
/etc/fstab
되도록 수정합니다 ./data1
- 재부팅하고 손가락을 교차하십시오.
- 새 파일 시스템이 마운트되었는지 확인합니다
/data1
. - 만족스러우면 이제 이전 파티션을 회수할 차례입니다.
wipefs /dev/vdb2 && vgextend vg0 /dev/vdb2 && lvextend vg0/data1 -r -l +100%FREE