Мне надо расширить логический раздел в CentOS 7. Подскажите как это сделать? Только без ссылок пожалуйста. Гуглить я и сам умею, но в инструкциях на сайтах этот процесс так сложно описан, что я ничего не понял. :( Если можно хотелось бы пошаговую инструкцию с подробным описанием каждого шага.
vlarkanov, АЛО гараж. Что не ясно во фразе "все на сервере"? Какой к черту livecd? У меня просто есть доступ по ssh к серверу и все. Физического доступа нет.
Logical Volume Manager (я гуглил :D). Ну вообще я и есть профессионал. :D Просто не в той сфере. Я программист (хуже того - сишарпер изначально, хотя сейчас уже пишу на чем придется) которому по работе приходится сталкиваться с системным администрированием. Что ж буду дальше копаться раз никто не хочет помочь нормально. :(
DarkByte2015, Понимаете, никто Вам не будет подробно обьяснять - потому что знаний от этого не прибавится. Так вот, если разделы делались с применением lvm - их расширить просто до элементарного (сжать будет труднее).
А вот если нет - тут только GParted может быть выручит.
FreeBSD приучила меня всегда продумывать схему нарезки на разделы именно оттого, что там нет lvm и лоюбое расширение раздела - это его перенос куда-то...
Вы бы рассказали какие у вас диски для начала. Раз вы пишите, что у вас сервер, то было бы не плохо получить информацию на гипервизоре он или же у вас там просто машина с серваком (бывает и такое ведь).
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <199.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 50943
Free PE 1
Allocated PE 50942
# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <199.00 GiB
PE Size 4.00 MiB
Total PE 50943
Alloc PE / Size 50942 / 198.99 GiB
Free PE / Size 1 / 4.00 MiB
# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV Write Access read/write
LV Creation host, time localhost, 2018-06-27 15:31:27 +0300
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/home
LV Name home
VG Name centos
LV Write Access read/write
LV Creation host, time localhost, 2018-06-27 15:31:28 +0300
LV Status available
# open 1
LV Size 146.99 GiB
Current LE 37630
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV Write Access read/write
LV Creation host, time localhost, 2018-06-27 15:31:31 +0300
LV Status available
# open 1
LV Size 50.00 GiB
Current LE 12800
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
DarkByte2015, перед всеми манипуляциями сторого сделать бекап!
sudo resize2fs -p /dev/centos/home 100G #задаём новый размер для home
sudo lvreduce -L 100G /dev/centos/home #собственно уменьшаем раздел home
sudo e2fsck -f /dev/centos/home #проверяем все ли хорошо с нашим разделом после ресайза
sudo lvextend -l+100%FREE /dev/centos/root #добавляем все освободившееся место в рутовый раздел
sudo resize2fs /dev/centos/root #завершаем изменение размера раздела
sudo e2fsck -f /dev/centos/root #проверяем все ли хорошо с нашим разделом после ресайза
Данный пример подразумевает увеличение размера рутового раздела путем уменьшение размера home. Повторюсь, все действия после создания бекапа ВМ.
Roman Ratkin, неа, не канает "resize2fs: Bad magic number in super-block while trying to open /dev/centos/home
Couldn't find valid filesystem superblock." Короткое гугление говорит что эта софтина не умеет в xfs.
DarkByte2015, xfs не умеет уменьшать размер созданного раздела. В таком случае нужно получить больше места со стороны гипервизора и добавить полученное свободное место рутовому разделу.
Roman Ratkin, мне сказали что 50 гигов добавили со стороны гипервизора. Что дальше?
# lvextend -l+100%FREE /dev/centos/root
New size (12801 extents) matches existing size (12801 extents).
# resize2fs /dev/centos/root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/centos/root
Couldn't find valid filesystem superblock.
Roman Ratkin, хм 200 гигов все еще... Я не знаю. Мне сказали что там точно 250 есть в гипервизоре
# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <199.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 50943
Free PE 0
Allocated PE 50943
DarkByte2015, Отлино.
Тогда первым делом надо бы добавить этой виртуалке дискового пространства.
Если ответ на "2" кажется да, то будем кажется добавлять отдельный диск, чтобы его потом пришить к искомому разделу на LVM.
Можно расширить существующий диск, а потом расширить его, но я не советую это делать. Попытка "перепометить" на лету диск может закончиться эпичессим фейлом.
Вы сможете сами добавить диск к виртуалке нужного размера?
(и сделать чтобы он определился)
Если да, то добавляйте и присылайте вывод
fdisk -l
pvs
vgdisplay
lvs
Всеволод, у меня нет доступа к гипервизору, но мне сказали что добавили к виртуалке еще 50 гигов (которые надо добавить теперь в рут-раздел который и надо расширить). Вообще вы можете посмотреть диалог выше с Roman Ratkin. Там я скидывал много разных выводов.
DarkByte2015, ясно:)
Вам уже расширили прямо диск на котором уже рутовый раздел.
Плохо.
Боюсь вам надо думать в сторону того чтобы дать удаленный доступ для вашей виртуалки, чтобы некто извне все сделал. Командами через тостер будет очень долго сложно и опасно.
Всеволод, да ничего мне еще не расширили. Не сработали их подсказки. Система не видит добавленных 50 гигов и считает что в наличии все еще 200 (хотя сейчас уже 250). Я черт побери программист и я буду все делать сам. Мне тоже надо это уметь. К тому же я не могу никого пускать на сервер организации. Небезопасно это.
А по сумме на которые он разбит:
Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Disk /dev/mapper/centos-home: 157.8 GB
Т.е. как раз 50 гигов свободны.
Проверяем:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 419430399 208665600 8e Linux LVM
Умножаем количество блоков на (419430399-2099200)*512/1024/1024 и получаем 200 гигов.
Т.е. у вас уже система видит что диск расширен, но это пространство не используется.
Следующий шаг это открыть fdisk и переразметить /dev/sda2. Чтобы граница 419430399 оказалась на реальном конце раздела.
Это крайне опасное действие которое может привести к гибели системы.
(как минимум вы вряд ли сможете починить)
Так что запускайте fdsik /dev/sda и ... читайте хелп.
смысл в том чтобы удалить таблицу разделов и создать на ее месте ТОЧНО ТАКУЮ ЖЕ, но с другой границей.
После этого можно будет командовать LVM перечитать физ диски.
Учитывая ваш комментарий "Не сработали их подсказки." - мне не хочется давать подсказки которые приведут к краху сервера, виноват же очевидно я буду. Поэтому конкретных команд для fdisk я не дам.
Всеволод, не бойтесь. Есть бэкап всей виртуалки. :D К тому же это новый сервер и на нем пока ничего не хостится, так что и ничего не случится если он упадет.
смысл в том чтобы удалить таблицу разделов и создать на ее месте ТОЧНО ТАКУЮ ЖЕ, но с другой границей.
Не нужно удалять всю таблицу :)
Просто пусть запомнит цифирки последнего раздела особенно начало и удалит последний раздел. И затем на "автомате" создать новый. fdisk обычно подставляет правильные цифры в начало и конец раздела так что занят будет весь диск.
Ну а если страшно удалять раздел - добавьте новый с типом 8e (LVM) и натяните на него LVM ну и потом растяните необходимый LV и затем xfs. Немножко фрагментированно, но безопасно.
Когда-то расширял "крайний правый" раздел через fdisk с сохранением данных. Правда на разделе была ntfs. Просто удалил раздел и создал новый ntfs бОльшего размера. Главное, чтобы совпадало начало раздела. Пробовал сдвигать начало на один байт и создавался раздел без моих данных.