공간이 부족한 서버를 물려받았으며 조치를 취하기 전에 구성을 이해하는 데 도움이 필요합니다.
서버를 다시 시작하지 않고 논리 볼륨을 확장해야 합니다.
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인 것처럼 보이지만 전체 rhel
VG는 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를 확장하여 해당 용량을 사용할 수 있습니다. 예를 들어, rhel
VG의 사용 가능한 모든 용량을 루트 파일 시스템에 넣으려면 다음을 수행하십시오 .
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
출력에서 두 파티션이 모두 사용되고 있음을 확인할 수 있습니다 .vgdisplay
rhel
또한 파티션이 없는 sdb 디스크가 있으므로 거기에 파티션을 만들어 LVM에 추가할 계획이지만 먼저 /sda2/rhel-root 및 sda3/rhel-root가 어떻게 작동하는지 이해하고 싶습니다. ..같은 디스크에서 미러링하는 것은 전혀 의미가 없습니다! 확실히 그럴 수는 없습니다.
미러링되지 않습니다(크기 차이로 인해 불가능함). 이는 VG가 소비하는 두 개의 공간일 뿐입니다.
에 파티션을 만들 필요가 없습니다 sdb
. 전체 디스크를 VG에 추가하는 것이 좋습니다.
# pvcreate /dev/sdb
# vgextend rhel /dev/sdb