기존 서버에 Proxmox(PVE)가 설치되어 있고 기존 드라이브를 교체하여 더 많은 공간을 확보하고 싶습니다. 하지만 먼저 PVE 설치를 SSD로 옮기고 싶습니다.충분히 간단합니다.
초기점:
- 1x76GB SATA(PVE 루트 LVM)
- 2x500GB SATA(mdadm - LVM Thinpool을 사용하여 RAID1로 구성된 VG1)
최종 목표:
- 1x120GB SSD(PVE 루트 LVM)
- 2x500GB SATA(VG1은 더 길다)
- 1x2000GB SATA*(
pvmove
이전 RAID의 모든 파일을 이 드라이브로 전송하기 위해 VG1에서)
*이 드라이브는 나중에 추가될 다른 2TB 드라이브와 함께 mdraid 설정에서 구성됩니다(케이블 및 SATA 포트 누락으로 인해).
SSD를 연결하고 Linux를 사용하여 라이브 USB를 부팅한 다음 온라인에서 찾은 dd 명령을 실행하고 이전 76GB 드라이브를 새(그러나 사용된) 120GB SSD에 복사했습니다. 디스크 크기가 여전히 76GB로 표시되는 것을 제외하면 모든 것이 잘 작동합니다.
그래서 이 문제를 해결하기 위해 그 사실 이후에 제가 무엇을 했는지 잘 모르겠습니다. 기록을 살펴보면 다음 명령을 실행한 것 같습니다.
echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
parted -l
# At this point I got a few questions and I chose Fix and/or Ignore until it was finished
pvresize /dev/sda3
lvresize /dev/pve/data -l 100%FREE
이제 끝났다고 생각하고 목록의 다음 항목에 대한 작업을 시작합니다.이곳에서 나는 늦은 밤 두뇌를 가진 Stu Pid를 만났습니다.
하나의 드라이브로 RAID를 만들었습니다.
mdadm --create /dev/md2 --level 1 --raid-devices 2 /dev/sdd missing
# Next, I forgot to RTFM..
mkfs.ext4 /dev/md2
# I actually aborted the above command Ctrl-C...
# Uhhhh. I create the Physical Volume and extended the VG
pvcreate /dev/md2
vgextend vg1 /dev/md2
# Next, I dunno
lvextend /dev/vg1/tpool /dev/md2
resize2fs /dev/mapper/vg1-tpool
# Again what? And now something from Youtube
/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
dpkg-reconfigure pve-kernel-`uname -r`
그때부터 나는 왠지 parted -l
다시 resize2fs
달리기 시작했다 vg1-tpool
. 내가 아는 전부는 내가 이 시점에서 무엇을 하고 있는지 전혀 모른다는 것이다.
결국, 이것이 제가 내린 결론입니다(간결함을 위해 일부 정보는 생략됨).
root@host:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part
└─sda3 8:3 0 111.3G 0 part
├─pve-swap 253:0 0 8G 0 lvm [SWAP]
├─pve-root 253:1 0 18.5G 0 lvm /
├─pve-data_tmeta 253:2 0 1G 0 lvm
│ └─pve-data-tpool 253:4 0 82.8G 0 lvm
│ ├─pve-data 253:5 0 82.8G 0 lvm
│ ├─pve-vm--102--disk--0 253:6 0 15G 0 lvm
│ └─pve-vm--103--disk--0 253:7 0 4G 0 lvm
└─pve-data_tdata 253:3 0 82.8G 0 lvm
└─pve-data-tpool 253:4 0 82.8G 0 lvm
├─pve-data 253:5 0 82.8G 0 lvm
├─pve-vm--102--disk--0 253:6 0 15G 0 lvm
└─pve-vm--103--disk--0 253:7 0 4G 0 lvm
sdb 8:16 0 465.8G 0 disk
└─sdb1 8:17 0 465.8G 0 part
└─md1 9:1 0 465.7G 0 raid1
├─vg1-tpool_tmeta 253:8 0 108M 0 lvm
│ └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm
│ ├─vg1-tpool 253:11 0 2.3T 0 lvm
│ ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm
│ ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm
│ └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm
└─vg1-tpool_tdata 253:9 0 2.3T 0 lvm
└─vg1-tpool-tpool 253:10 0 2.3T 0 lvm
├─vg1-tpool 253:11 0 2.3T 0 lvm
├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm
├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm
└─vg1-vm--101--disk--0 253:14 0 32G 0 lvm
sdc 8:32 0 465.8G 0 disk
└─sdc1 8:33 0 465.8G 0 part
└─md1 9:1 0 465.7G 0 raid1
├─vg1-tpool_tmeta 253:8 0 108M 0 lvm
│ └─vg1-tpool-tpool 253:10 0 2.3T 0 lvm
│ ├─vg1-tpool 253:11 0 2.3T 0 lvm
│ ├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm
│ ├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm
│ └─vg1-vm--101--disk--0 253:14 0 32G 0 lvm
└─vg1-tpool_tdata 253:9 0 2.3T 0 lvm
└─vg1-tpool-tpool 253:10 0 2.3T 0 lvm
├─vg1-tpool 253:11 0 2.3T 0 lvm
├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm
├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm
└─vg1-vm--101--disk--0 253:14 0 32G 0 lvm
sdd 8:48 0 1.8T 0 disk
└─md2 9:2 0 1.8T 0 raid1
└─vg1-tpool_tdata 253:9 0 2.3T 0 lvm
└─vg1-tpool-tpool 253:10 0 2.3T 0 lvm
├─vg1-tpool 253:11 0 2.3T 0 lvm
├─vg1-vm--100--disk--0 253:12 0 32G 0 lvm
├─vg1-vm--100--disk--1 253:13 0 350G 0 lvm
└─vg1-vm--101--disk--0 253:14 0 32G 0 lvm
root@host:~# vgdisplay
--- Volume group ---
VG Name pve
VG Access read/write
VG Status resizable
VG Size <111.29 GiB
PE Size 4.00 MiB
Total PE 28489
Alloc PE / Size 28489 / <111.29 GiB
Free PE / Size 0 / 0
--- Volume group ---
VG Name vg1
VG Access read/write
VG Status resizable
VG Size 2.27 TiB
PE Size 4.00 MiB
Total PE 596101
Alloc PE / Size 596101 / 2.27 TiB
Free PE / Size 0 / 0
root@host:~# lvdisplay vg1
--- Logical volume ---
LV Name tpool
VG Name vg1
LV Write Access read/write
LV Creation host, time host, 2020-09-11 00:05:40 +0200
LV Pool metadata tpool_tmeta
LV Pool data tpool_tdata
LV Status available
# open 4
LV Size 2.27 TiB
Allocated pool data 15.16%
Allocated metadata 50.58%
Current LE 596047
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:10
실제 오류는 무엇입니까? 어떻게 해결할 수 있나요? 어떻게든 각 VG에 모든 범위를 할당한 것 같아서 이제 할 수 있는 일이 정말 없습니다! 다시 말하지만, 여전히 가능합니까?
- "여유 공간"을 되찾는 것이 무엇을 의미하든 간에
pvmove
/dev /md1에서 올바르게 액세스 할 수 있도록 /dev/md2를 수정합니다.
답변1
당신은 이름을 원한다VG1, 두 개의 RAID로 구성됩니다. 두 개의 작은 디스크는 /dev/md1을 형성하고, 큰 디스크는 /dev/md2를 형성합니다. lsblk
출력과 스크린샷을 보면 이것이 당신이 가지고 있는 것입니다 .좋아요!LVM의 내장 미러링이 더 나은 솔루션일 수도 있습니다(더 간단하고 유연성이 떨어질 수 있음).
이제 상황이 이상해집니다. /dev/md2에 파일 시스템을 생성한 다음 장치를 물리적 볼륨으로 전환하여 파일 시스템을 폐기합니다. 볼륨 그룹에 /dev/md2를 추가하고(OK) 확장합니다.티 풀전체 크기 이상VG1. 그래도 괜찮지만 논리 볼륨을 확장하여 공간을 모두 사용하게 되면 공간을 모두 사용해도 놀라지 않을 것입니다.
더 이상한 건 연장을 하고 나면티 풀, 그냥 실행하세요 resize2fs /dev/mapper/vg1-tpool
. 볼륨에 파일 시스템이 없기 때문에 실제로 오류가 발생합니다. 아니면 몇 가지 단계가 누락된 것일까요?
여유 공간 확보VG1, 볼륨 크기를 이전 크기로 줄였습니다. 일반적으로 이 방법은 작동합니다. 사용할 수 있는 모든 씬 볼륨이 있기를 바랍니다.티 풀활동을 많이 보지 못했습니다.
마지막으로, 나는 내가 이해할 수 없고 내 서버를 파괴할 수도 있는 작업을 완료하기 위해 무작위 튜토리얼과 YouTube 비디오를 절대 사용하지 않을 것입니다. 다시 시도하기 전에 LVM, 씬 볼륨 및 파일 시스템에 대한 전체 소개를 읽어 보십시오.