Я хочу расширить свой логический том, смонтированный в /home:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
xvda 202:0 0 125G 0 disk
├─xvda1 202:1 0 500M 0 part /boot
└─xvda2 202:2 0 74.5G 0 part
├─centos_jenslv05-root 253:0 0 48G 0 lvm /
├─centos_jenslv05-swap 253:1 0 3G 0 lvm [SWAP]
└─centos_jenslv05-home 253:2 0 23.5G 0 lvm /home
Как вы видите, xvda имеет 125 ГБ, а xvda1 + xvda2 имеют только 75 ГБ вместе. Дополнительные 50 ГБ — это то, что я хочу добавить к логическому тому centos_jenslv05-home.
ПВС
pvs
PV VG Fmt Attr PSize PFree
/dev/xvda2 centos_jenslv05 lvm2 a-- 74.51g 0
ВГС
vgs
VG #PV #LV #SN Attr VSize VFree
centos_jenslv05 1 3 0 wz--n- 74.51g 0
ЛВС
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos_jenslv05 -wi-ao---- 23.45g
root centos_jenslv05 -wi-ao---- 48.04g
swap centos_jenslv05 -wi-ao---- 3.02g
По сути, мне нужно расширить раздел dev/xvda2, добавить его в PV, добавить его в VG, а затем в LVM, который смонтирован в home.
Однако я не хочу терять данные на корневом lv (/), который находится в том же разделе, что и домашний lv (/home). Есть ли способ расширить только один логический том, не трогая другие lv? Если это невозможно и мне нужно удалить раздел, а затем создать его заново с добавленным пространством, будет ли достаточно резервного копирования всех файлов на /root и /home? Могу ли я заново создать раздел, затем заново создать lvs и скопировать файлы обратно на lvs, и запустит ли это сервер, как и прежде? Безопасно ли это?
Я знаю, что расширение логического тома без затрагивания других возможно в Windows, но не уверен, что это так же удобно в Linux. Система — Centos 7.
решение1
Есть руководствоздесьобъясните ваши 2 варианта.
Или
- Расширьте существующий
pv
с помощьюgparted
, измените размерvg
с помощьюvgextend /dev/xda2
, а затем расширьте свойlv
.
Или
- Добавьте новый,
pv
создав новый том (xda3) в неиспользуемом пространстве на xda, добавьте новый раздел вvg
и затем расширьте егоlv
на новое пространство.
в любом случае вам придется изменить размер файловой системы, чтобы освободить место, но вы можете сделать это с помощью lvextend -r
when you change size.
Если посмотреть на схему разделов, свободное пространство будет смежным с xda2, и любой из вариантов жизнеспособен, хотя вариант 1 более эстетичен (см. пост @Patrick по ссылке выше).
Поскольку вы фактически не трогаете root
(логический) раздел, то вы должны иметь возможность сделать это из вашей живой системы. Если нет, то вам понадобится живой usb.