Rhat 7에서 확장된 LVM 구성이 필요한 문제 이해

Rhat 7에서 확장된 LVM 구성이 필요한 문제 이해

공간이 부족한 서버를 물려받았으며 조치를 취하기 전에 구성을 이해하는 데 도움이 필요합니다.

서버를 다시 시작하지 않고 논리 볼륨을 확장해야 합니다.
LVS는 295.62g 크기의 RHEL이라는 볼륨을 보여줍니다. LSBLK는 실제로 크기가 295.6인 두 개의 파티션이 있음을 보여주므로 미러 모드에 있다고 가정하지만 LVS는 이를 반영하지 않습니다. 그럼 이 설정은 어떨까요? rhel은 두 개의 파티션을 효율적으로 사용합니까? 이를 어떻게 확인하나요?

또한 파티션이 없는 sdb 디스크가 있으므로 거기에 파티션을 만들어 LVM에 추가할 계획이지만 먼저 /sda2/rhel-root 및 sda3/rhel-root가 어떻게 작동하는지 이해하고 싶습니다. ..같은 디스크에서 미러링하는 것은 전혀 의미가 없습니다! 확실히 그럴 수는 없습니다.

# lvs 
  LV   VG   Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- <295,62g                                                    
  swap rhel -wi-ao----   <3,38g                                                    
# lsblk
NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda             8:0    0   400G  0 disk 
├─sda1          8:1    0     1G  0 part /boot
├─sda2          8:2    0    39G  0 part 
│ ├─rhel-root 253:0    0 295,6G  0 lvm  /
│ └─rhel-swap 253:1    0   3,4G  0 lvm  [SWAP]
└─sda3          8:3    0   360G  0 part 
  └─rhel-root 253:0    0 295,6G  0 lvm  /
sdb             8:16   0   200G  0 disk 
# vgdisplay -v rhel
  --- Volume group ---
  VG Name               rhel
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               298,99 GiB
  PE Size               4,00 MiB
  Total PE              76542
  Alloc PE / Size       76542 / 298,99 GiB
  Free  PE / Size       0 / 0   
  VG UUID               mDkink-qzyl-2KyS-DG5T-tf55-4it5-eGNqx3
   
  --- Logical volume ---
  LV Path                /dev/rhel/root
  LV Name                root
  VG Name                rhel
  LV UUID                U4AI2b-eadM-TczV-g4ff-gudE-JWiU-dbz5sT
  LV Write Access        read/write
  LV Creation host, time sms-linux-image.novalocal, 2021-07-01 17:16:09 -0400
  LV Status              available
  # open                 1
  LV Size                <295,62 GiB
  Current LE             75678
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/rhel/swap
  LV Name                swap
  VG Name                rhel
  LV UUID                jSxEFM-frWb-MtJw-ae1g-Omfv-VNHD-SzbGt5
  LV Write Access        read/write
  LV Creation host, time sms-linux-image.novalocal, 2021-07-01 17:16:09 -0400
  LV Status              available
  # open                 2
  LV Size                <3,38 GiB
  Current LE             864
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Physical volumes ---
  PV Name               /dev/sda2     
  PV UUID               vscfjc-VcNp-Kwdv-JjuB-gtbP-2SsB-6iq6td
  PV Status             allocatable
  Total PE / Free PE    9983 / 0
   
  PV Name               /dev/sda3     
  PV UUID               yLqH6J-EQc9-FZBS-2MTr-Tams-7Mhn-hSSXAM
  PV Status             allocatable
  Total PE / Free PE    66559 / 0

답변1

이는 lsblk부분적으로 한 장치에 있고 부분적으로 다른 장치에 있는 파일 시스템을 표시하는 특이한 현상입니다.

루트 파일 시스템의 전체 크기 295,6G는 표시된 것과 정확히 같습니다. 이제 LVM에 있기 때문에 파일 시스템의 일부는 LVM PV 내부에 있고 sda2다른 부분은 sda3... 하지만 lsblk아직 LVM에 대한 심층 분석이 없기 때문에 각 부분이 얼마나 큰지 알 수 없습니다. SIZE열은 다음을 나타내는 것으로 이해되기 때문에장비/dev/mapper/rhel-root, 장치가 하나의 물리적 파티션에 완전히 포함되지 않은 경우에도 장치의 크기를 표시하므로 lsblk장치가 두 번 나열되어야 합니다.

기본 장치 중심 모드 대신 파일 시스템 중심 모드에서 목록 표시를 실행하고 lsblk -s 진행 상황을 시각화하는 데 도움이 되는지 확인할 수 있습니다.

그런데 sda3파티션 크기는 360G인 것처럼 보이지만 전체 rhelVG는 360G에 불과합니다 298,99G. 이는 이전 파티션의 크기 조정 작업이 불완전하기 때문일 수 있습니다 sda.

이 시도:

partprobe /dev/sda   # to ensure the kernel has up-to-date view of the partition table
pvresize /dev/sda3   # to extend the LVM PV at sda3 to fill the entire partition if it's currently smaller
vgs                  # to see if the rhel VG now has free space available

이로 인해 일부 공간을 사용할 수 있게 되면(= 출력 VFree에서 vgs​​0이 아님 ) 필요에 따라 LV를 확장하여 해당 용량을 사용할 수 있습니다. 예를 들어, rhelVG의 사용 가능한 모든 용량을 루트 파일 시스템에 넣으려면 다음을 수행하십시오 .

lvextend --resizefs -l +100%FREE /dev/mapper/rhel-root

답변2

LSBLK는 실제로 크기가 295.6인 두 개의 파티션이 있음을 보여줍니다.

실제로는 그렇지 않습니다.

├─sda2          8:2    0    39G  0 part 
...
└─sda3          8:3    0   360G  0 part 

표시된 sda2것은 39G이고 sda3표시된 것은 360G입니다. 이는 다음과 같은 정보에 반영됩니다 vgdisplay.

  --- Physical volumes ---
  PV Name               /dev/sda2     
  PV UUID               vscfjc-VcNp-Kwdv-JjuB-gtbP-2SsB-6iq6td
  PV Status             allocatable
  Total PE / Free PE    9983 / 0
   
  PV Name               /dev/sda3     
  PV UUID               yLqH6J-EQc9-FZBS-2MTr-Tams-7Mhn-hSSXAM
  PV Status             allocatable
  Total PE / Free PE    66559 / 0

이를 보면( Total PE / Free PE. 은 PE"물리적 범위"를 나타냄) 범위는 일반적으로 4MB이므로 Total PE대략적으로 lsblk.

그럼 이 설정은 어떨까요? rhel은 두 개의 파티션을 효율적으로 사용합니까? 이를 어떻게 확인하나요?

두 파티션이 모두 볼륨 그룹의 구성원이고 두 파티션이 완전히 할당되었음을 보여주는 rhel출력에서 ​​두 파티션이 모두 사용되고 있음을 확인할 수 있습니다 .vgdisplayrhel

또한 파티션이 없는 sdb 디스크가 있으므로 거기에 파티션을 만들어 LVM에 추가할 계획이지만 먼저 /sda2/rhel-root 및 sda3/rhel-root가 어떻게 작동하는지 이해하고 싶습니다. ..같은 디스크에서 미러링하는 것은 전혀 의미가 없습니다! 확실히 그럴 수는 없습니다.

미러링되지 않습니다(크기 차이로 인해 불가능함). 이는 VG가 소비하는 두 개의 공간일 뿐입니다.

에 파티션을 만들 필요가 없습니다 sdb. 전체 디스크를 VG에 추가하는 것이 좋습니다.

# pvcreate /dev/sdb
# vgextend rhel /dev/sdb

관련 정보