У меня есть два несколько связанных вопроса о LVM относительно расширения управляемых томов LVM.
во-первых, от (редактировать: старый), которую я читал о LVM и взаимосвязи между группами томов и физическими экстентами, если вы хотите увеличить VG до более 256 ГБ, у вас должен быть размер PE более 4 МБ. Пример из Эта статья где отображается сообщение "максимальный размер логического тома - 255,99 гигабайт"с PE размером 4 МБ. Однако я ожидал, что это будет означать, что группа VG не позволит вам определять / добавлять в нее тома объемом более 256 ГБ, если размер PE составляет 4 МБ, и выдает ошибку или, по крайней мере, предупреждение, если вы пытались это сделать. Я поднимаю это, потому что у меня есть виртуальная машина, которая показывает это для одной из своих групп томов (отрывок):
VG Size 499.50 GiB
PE Size 4.00 MiB
Total PE 127872
Alloc PE / Size 127872 / 499.50 GiB
Free PE / Size 0 / 0
Группа VG состоит из двух физических томов: 100 ГБ (/ dev / sda2) и 400 ГБ (/ dev / sda3). Как возможно, что я успешно (?) Определил 500 ГБ пространства в этом VG с размером PE только 4 МБ? Мне еще предстоит провести практический тест, пытаясь заполнить смонтированные логические тома, чтобы убедиться, что я действительно могу хранить 500 ГБ, но если что-то не изменится в работе LVM, логические тома просто «перестанут записывать» данные, как только они достигнут 256 ГБ использованное пространство, несмотря на то, что он показывает оставшиеся 244 ГБ? Могу ли я в любом случае успешно изменить размер PE VG (на месте) на 8 МБ?
Во-вторых, если бы я предпочел расширить раздел LVM / физический том, чтобы использовать дополнительное пространство, когда я увеличиваю размер жесткого диска vmdk, вместо того, чтобы создавать новый физический том и добавлять его в VG (поскольку эта отличная статья охватывает для VMWare) я бы использовал pvresize? Моими ограничениями было бы не уничтожать существующие данные, а просто добавлять пространство к тому, что и выполняется в статье базы знаний VMWare, тогда как у меня есть сомнения после прочтения этот вопрос SE относительно того, можете ли вы просто расширить том или должны «удалить и создать более крупный».
Поскольку статья о VMWare полагается на возможность добавления основного раздела, вы, очевидно, можете следовать этой процедуре только до максимум 4 основных разделов, после чего вы либо больше не сможете наращивать свои тома, либо я предполагаю, что вы должны использовать что-то вроде pvresize (что я понятия не имею, как правильно использовать / не решаюсь попробовать, опасаясь уничтожить существующие данные). Любые указания на то, может ли pvresize делать то, что я ищу?
Учтите, что статья, на которой вы основываете все свои соображения ОЧЕНЬ устарело! Несмотря на то, что точная дата не указана на странице HOWTO, которую вы связали, взгляните на код, относящийся к упомянутому HOWTO, вы можете видеть, что это относится к ядру 2.3.99, выпущенному еще в 2000 году! 15 лет назад!
Это полностью соответствует моему непосредственному опыту, когда я Нет проблема вообще с многотерабайтными PV, с PE 4MB. Вот результат работы работающей системы: RAID5 VG (vg_raid), построенный поверх 5 дисков S-ATA по 2 ТБ и обслуживающий один LV 7,28 ТБ (lv_raid):
[root@nocdump ~]# cat /etc/centos-release
CentOS release 6.5 (Final)
[root@nocdump ~]# uname -r
2.6.32-431.17.1.el6.x86_64
[root@nocdump ~]# rpm -q lvm2
lvm2-2.02.100-8.el6.x86_64
[root@nocdump ~]# vgdisplay
--- Volume group ---
VG Name vg_raid
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 19
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 5
Act PV 5
VG Size 9,10 TiB
PE Size 4,00 MiB
Total PE 2384655
Alloc PE / Size 2384655 / 9,10 TiB
Free PE / Size 0 / 0
VG UUID rXke5K-2NOo-5jwR-74LT-hw3L-6XcW-ikyDp0
[root@nocdump ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg_raid
PV Size 1,82 TiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID 7ToSLb-H9Of-unDk-Yt22-upwi-qkVE-ZiEKo2
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg_raid
PV Size 1,82 TiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID PaUyX1-jykz-B2Tp-KE2M-9VaT-E4uY-iv8ppi
--- Physical volume ---
PV Name /dev/sdd1
VG Name vg_raid
PV Size 1,82 TiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID DCag4w-CWbp-bUUI-7S24-JCFL-NlUK-Vgskab
--- Physical volume ---
PV Name /dev/sde1
VG Name vg_raid
PV Size 1,82 TiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID 3GW2LM-b01Y-oIgd-DHJf-Or0a-fys2-wLesSX
--- Physical volume ---
PV Name /dev/sdf1
VG Name vg_raid
PV Size 1,82 TiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID fxd1rG-E9RA-2WsN-hLrG-6IgP-lZTE-0U52Ge
[root@nocdump ~]# lvdisplay /dev/vg_raid/lv_raid
--- Logical volume ---
LV Path /dev/vg_raid/lv_raid
LV Name lv_raid
VG Name vg_raid
LV UUID fRzAnT-BQZf-J1oc-nOK9-BC10-S7w1-zoEv2s
LV Write Access read/write
LV Creation host, time nocdump, 2014-05-23 00:17:02 +0200
LV Status available
# open 1
LV Size 7,28 TiB
Current LE 1907720
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 1280
Block device 253:15
Ты говоришь: "... Я сомневаюсь ... можно ли просто расширить том или нужно "удалить и создать более крупный ...""
Поясним некоторые предварительные концепции:
Предположим, вы под нормальные условия: у вас есть жесткий диск с общими разделами msdos. Таким образом, у вас есть не более 4 основных разделов;
Предположим, что ваш физический том LVM определен поверх одного из четырех указанных выше основных разделов и что такой раздел LVM (тип 8e) охватывает максимальное доступное пространство на диске (другими словами, между ними нет другого раздела. LVM-Type-8e и конец диска)
Итак, исходя из вышеизложенного, у вас есть жесткий диск, подобный этому:
[root@nocdump ~]# parted /dev/sda print
Modello: ATA ST2000DM001-1E61 (scsi)
Disco /dev/sda: 2000GB
Dimensione del settore (logica/fisica): 512B/4096B
Tabella delle partizioni: msdos
Numero Inizio Fine Dimensione Tipo File system Flag
1 1049kB 525MB 524MB primary ext4 avvio
2 525MB 1999GB 1998GB primary lvm
В таком состоянии:
если у вас заканчивается место, вы должны учитывать, что:
3a) то, что будет заполнено, - это ваша файловая система («вещь», обычно упоминаемая в EXT3, EXT4, NTFS, FAT32, HFS и т. Д.);
3b) ваша файловая система инкапсулирована внутри устройства. В сценарии без LVM такое устройство обычно является «разделом». Но в вашем случае, поскольку мы на LVM, таким устройством является логический том LVM
3c) логический том содержится в группе томов LVM
3d) группа томов состоит из физических томов;
3e) Физический том построен поверх «устройства» (то же устройство, которое упоминалось на шаге 3b в сценарии без LVM), и в вашем случае такое устройство является одним основным разделом (/ dev / sda2 в моем случае, выше )
так:
в вашем случае шаги, необходимые для увеличения файловой системы:
i) увеличить физический диск, добавив «неразмеченное пространство» в конце диска;
ii) предоставить LVM возможность использовать такое неразмеченное пространство. Этого можно добиться в двух разных режимах:
iii / 1) увеличение раздела LVM-type-8e так, чтобы он заканчивался на новом конце диска (это возможно только в том случае, если существующий раздел является последним на диске. Отсюда требование пункта 2 выше)
iii / 2) назначить неразмеченное пространство новому основному разделу, которому будет присвоен тип 8e. Это будет новый LVM-Physical_Volume, полезный для увеличения Volume_Group;
Поскольку вам кажется, что пункт iii / 1 интересен, я сосредоточусь на нем. Так... как увеличить существующий основной раздел?
ВНИМАНИЕ !: это будет рискованно! Убедитесь, что у вас есть надлежащая резервная копия ваших данных, а также правильный план аварийного восстановления. Если вы не понимаете рисков, которым подвергаетесь, не продолжайте!
Ответ довольно прост! Поскольку на первичный раздел в таблице разделов диска ссылаются с помощью START_CYLINDER и END_CYLINDER, вам просто нужно изменить END_CYLINDER. Текущее значение для цилиндров START и END можно получить с помощью "fdisk -lu / dev / sda", например:
[root@nocdump ~]# fdisk -lu /dev/sda
Disco /dev/sda: 2000.4 GB, 2000398934016 byte
[...]
Sector size (logical/physical): 512 bytes / 4096 bytes
[...]
Dispositivo Boot Start End Blocks Id System
[...]
/dev/sda2 1026048 3904294911 1951634432 8e Linux LVM
поэтому мой / dev / sda2 начинается с 1026048 и заканчивается в 3904294911. Теперь вы можете просто УДАЛИТЬ раздел / dev / sda2 и СОЗДАТЬ новый раздел, начиная с 1026048 и заканчивая ... новым концом увеличенного диска. Не забудьте присвоить такому разделу тип 8e и, разумеется, не забудьте сохранить изменения. если вы не чувствуете себя комфортно в этом процессе - поскольку это рискованно - ваш единственный вариант - iii / 2
iv) теперь, когда у вас есть увеличенный раздел, вы должны убедить вашу ОС перезагрузить таблицу разделов. В вопросе о SF, который вы упомянули, подробностей предостаточно. В худшем случае вам потребуется перезагрузить сервер.
v) теперь, когда у вас увеличенный раздел, и он правильно распознается ОС, у тебя новая проблема: у вас есть LVM-Physical_Volume, который, как известно, имеет определенный размер (исходный размер), и такой размер меньше, чем базовый раздел 8e-Physical (который вы только что увеличили). Вы можете самостоятельно проверить такое несовпадение с помощью:
pvdisplay
: показывает исходный меньший размер;lvmdiskscan -l
: показывает новый, больший размер. Как только вышеуказанные числа известны, вы можете переустановить метаданные PV на новый, больший размер с помощью: "pvresize" и это "setphysicalvolumesize"параметр, например:
pvresize --setphysicalvolumesize 49.51G /dev/sda2
Обратите внимание, что я сильно предлагаю немного использовать меньше значение в pvresize, чем показанное lvmdiskscan. Это потому, что, если вы ошибочно установите размер PV на большее значение, чем физическое доступное пространство, могут произойти очень плохие вещи (например, приостановленные LV, невозможность вернуться в онлайн!). Поэтому, если у вас есть физический раздел 49,52 ГБ, вы должны установить размер физического тома на 49,51 ГБ.
vi) теперь, когда у вас есть увеличенный PV, у вас есть свободное место в VG и ... такое свободное пространство можно выделить для ваших LV. Так...
vii) вы можете продлить свой LV с помощью lvextend команда. В моем случае, когда я решил выделить 100% свободного места (в VG), я использовал: lvextend -l +100%FREE /dev/vg_raid/lv_raid
В основном мы сделали. Теперь у нас есть расширенный LV, который, к сожалению, все еще имеет внутри «меньшую» файловую систему. Если вы полагаетесь на EXT3 или EXT4, высоки шансы, что вы сможете использовать resize2fs. На его странице руководства:
"Программа resize2fs изменит размер файловых систем ext2, ext3 или ext4. [...] Если файловая система смонтирована, ее можно использовать для увеличения размера смонтированной файловой системы, при условии, что ядро поддерживает изменение размера в режиме онлайн."
Время, которое потребуется resize2fs для выполнения изменения размера, будет зависеть от множества факторов: размер файловой системы и выполняемая в ней активность ввода-вывода являются наиболее важными.
Вот и все.
Очередной раз: будьте осторожны при выполнении всего вышеперечисленного и, если вы слегка думаете, что подвергаетесь риску, пожалуйста, не продолжайте! Не вините меня, если что-то пойдет не так!