내 LVM 오류를 수정할 수 있습니까?

내 LVM 오류를 수정할 수 있습니까?

기존 서버에 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

Proxmox 환경에서

실제 오류는 무엇입니까? 어떻게 해결할 수 있나요? 어떻게든 각 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, 씬 볼륨 및 파일 시스템에 대한 전체 소개를 읽어 보십시오.

관련 정보