Назад | Перейти на главную страницу

Как изменить размер диска гостевой виртуальной машины Fedora в VMWare ESXi

Как изменить размер (в частности, увеличить) размер диска гостевой виртуальной машины Fedora, работающей под VMWare ESXi 4.1?

У меня есть виртуальная машина Fedora 16 с диском в формате lvm2, и я увеличил размер ее диска с помощью клиента vSphere с 50 ГБ до примерно 250 ГБ. Я перезагрузил гостя, и он правильно показывает этот размер с помощью fdisk -l /dev/sda. Тем не мение, df -H по-прежнему показывает старый размер.

Я нашел несколько Статьи базы знаний объясняя, как изменить размер разделов для некоторых разновидностей Linux, но ничего для Fedora с ext4. Эта статья, кажется, подразумевает, что я должен создать совершенно новый раздел и что я не могу просто расширить существующий раздел. Используя Gparted, я также не могу просто изменить размер существующего раздела. Разве в Linux это невозможно сделать?

Изменить: оказывается, что диск отформатирован как LVM2, что, по-видимому, не поддерживает большинство инструментов Linux, таких как GParted.

Изменить: раздел в логическом томе, который мне нужно изменить, является корневым разделом. Есть ли способ сделать это без LiveCD?

Это что-то вроде вырезки из документа, который я написал для внутреннего использования, и хотя он, вероятно, чрезмерно отвечает на ваш вопрос, я подумал, что поставлю его здесь на случай, если он будет полезен вам или другим ОК.

  1. Войдите в систему как root или sudo каждую из следующих команд введите fdisk –l, вы должны увидеть что-то вроде этого;

    Disk /dev/sda: 21.1 GB, 21xxxxxxxxx bytes
    255 heads, 63 sectors/track, 5221 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        2610    20860402+  8e  Linux LVM
    

    В этом случае я изменил значения, но, как вы можете видеть, на этой машине есть один корневой виртуальный диск размером ~ 20 ГБ с двумя разделами, sda1 и sda2, sda2 - наш первый физический том LVM, посмотрите, как LVM использует тип раздела «8e».

  2. Теперь введите pvdisplay, вы увидите такой раздел для этого первого PV (sda2);

      --- Physical volume ---
    PV Name               /dev/sda2
    VG Name               rootvg
    PV Size               19.89 GB / not usable 19.30 MB
    Allocatable           yes (but full)
    PE Size (KByte)       32768
    Total PE              636
    Free PE               0
    Allocated PE          636
    PV UUID               PgwRdY-EvCC-b5lO-Qrnx-tkrd-m16k-eQ9beC
    

    Это показывает, что этот второй раздел (sda2) сопоставлен с «группой томов» с именем «rootvg».

  3. Теперь мы можем увеличить размер виртуального диска с помощью обычного vSphere VSClient, выбрав виртуальную машину, выбрав «изменить настройки», а затем выбрав «Жесткий диск 1». Затем вы можете увеличить число Provisioned Size (если в любом случае нет снимков) и нажать OK. Это займет несколько секунд.

  4. Если вы затем переключитесь обратно на виртуальную машину Linux и введите

    echo "- - -" > /sys/class/scsi_host/hostX/scan
    

    где символ X, вероятно, будет нулевым, он выполнит повторное сканирование шины SCSI, а затем запустит fdisk –l, вы должны увидеть что-то вроде:

    Disk /dev/sda: 42.2 GB, 42xxxxxxxxx bytes
    255 heads, 63 sectors/track, 5221 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          13      104391   83  Linux
    /dev/sda2              14        2610    20860402+  8e  Linux LVM
    

    Вы увидите, что размер диска увеличился, в данном случае до ~ 40 ГБ с ~ 20 ГБ, но таблица разделов осталась прежней.

  5. Теперь нам нужно создать новый раздел LVM, введите parted, вы должны увидеть что-то вроде этого;

    GNU Parted 1.8.1
    Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted)
    

    Теперь вам нужно создать новый раздел для дополнительного нового пространства, введите «p», чтобы увидеть текущую таблицу разделов, такую ​​как эта;

    Model: VMware Virtual disk (scsi)
    Disk /dev/sda: 42.9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    
    Number  Start   End     Size    Type     File system  Flags
     1      32.3kB  107MB   107MB   primary  ext3         boot
     2      107MB   21.5GB  21.4GB  primary               lvm
    

    Затем введите mkpart, затем выберите 'p' для 'Primary', для типа файловой системы введите 'ext3', для начала введите число немного выше, чем комбинация обоих 'размеров', перечисленных выше (т.е. 107 МБ + 21,4 ГБ, скажем, 21,6 ГБ) , в качестве конца введите размер диска (т.е. в данном случае 42,9 ГБ). После того, как вы нажмете Enter, будет создан этот новый первичный раздел, введите «p», чтобы отобразить новую таблицу разделов, вы должны увидеть что-то вроде

    Model: VMware Virtual disk (scsi)
    Disk /dev/sda: 42.9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    
    Number  Start   End     Size    Type     File system  Flags
     1      32.3kB  107MB   107MB   primary  ext3         boot
     2      107MB   21.5GB  21.4GB  primary               lvm
     3      21.5GB  42.9GB  21.5GB  primary               ext3
    

    Вы увидите, что новый раздел начинается после первых двух и заполняет доступное пространство, к сожалению, нам пришлось установить для него тип «ext3», поэтому давайте изменим это.

  6. Введите 't', затем номер раздела (в нашем случае 3, поскольку это третий раздел), затем для 'шестнадцатеричного кода' введите '8e' - как только вы сделаете это снова, введите 'p' и вы увидите, что он изменился. в «Linux LVM»;

    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    ads, 63 sectors/track, 5221 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        1          13      104391   83  Linux
    /dev/sda2           14        2610    20860402+  8e  Linux LVM
    /dev/sda3         2611        5221    20972857+  8e  Linux LVM
    
  7. Теперь нам нужно создать новый физический том LVM в этом новом разделе, введите pvcreate /dev/sda3, это должно создать новый LVM PV с именем / dev / sda3, введите pvdisplay Проверять;

    --- Physical volume ---
    PV Name               /dev/sda3
    VG Name              
    PV Size               20.00 GB / not usable 1.31 MB
    Allocatable           no
    PE Size (KByte)       0
    Total PE              0
    Free PE               0
    Allocated PE          0
    PV UUID               gpYPUv-XdeL-TxKJ-GYCa-iWcy-9bG6-tfZtSh
    

    Вы должны увидеть что-то похожее на приведенное выше.

  8. Теперь нам нужно расширить группу томов rootvg или создать новую для некорневой группы томов, введите vgdisplay чтобы перечислить все «группы томов», вот пример;

    --- Volume group ---
    VG Name               rootvg
    System ID
    Format                lvm2
    Metadata Areas        2
    Metadata Sequence No  19
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                8
    Open LV               8
    Max PV                0
    Cur PV                2
    Act PV                2
    VG Size               21.3 GB
    PE Size               32.00 MB
    Total PE              1276
    Alloc PE / Size       846 / 26.44 GB
    Free  PE / Size       430 / 13.44 GB
    VG UUID               tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
    
    • Если вы хотите расширить тип rootvg Volume Group vgextend rootvg /dev/sda3, как только вы нажмете Enter, вы должны увидеть сообщение о том, что «группа томов» была расширена.

    • Если вы хотите создать новую «группу томов», вам нужно будет использовать vgcreate команда - наверное, лучше позвонить мне, чтобы помочь с этим.

    После продления введите vgdisplay еще раз, чтобы увидеть, что группа томов rootvg действительно была расширена, например, здесь;

    --- Volume group ---
    VG Name               rootvg
    System ID
    Format                lvm2
    Metadata Areas        2
    Metadata Sequence No  19
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                8
    Open LV               8
    Max PV                0
    Cur PV                2
    Act PV                2
    VG Size               39.88 GB
    PE Size               32.00 MB
    Total PE              1276
    Alloc PE / Size       846 / 26.44 GB
    Free  PE / Size       430 / 13.44 GB
    VG UUID               tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
    

    Вы можете видеть, что размер VG соответствует ожиданиям.

  9. Теперь нам нужно расширить «логический том», введите lvdisplay чтобы показать наши «логические тома», вы увидите что-то вроде:

    --- Logical volume ---
    LV Name                /dev/rootvg/var
    VG Name                rootvg
    LV UUID                NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J
    LV Write Access        read/write
    LV Status              available
    # open                 1
    LV Size                3.00 GB
    Current LE             320
    Segments               3
    Allocation             inherit
    Read ahead sectors     auto
    currently set to       256
    Block device           253:2
    

    Если мы хотим расширить файловую систему / var с 3 ГБ до 10 ГБ, введите lvextend –L 10G /dev/rootvg/var, теперь введите lvdisplay снова вы увидите, что «логический том» вырос до 10 ГБ;

    --- Logical volume ---
    LV Name                /dev/rootvg/var
    VG Name                rootvg
    LV UUID                NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J
    LV Write Access        read/write
    LV Status              available
    # open                 1
    LV Size                10.00 GB
    Current LE             320
    Segments               3
    Allocation             inherit
    Read ahead sectors     auto
    currently set to     256
    Block device           253:2
    
  10. Теперь последнее, что нам нужно сделать, это расширить фактическую файловую систему, при этом не обязательно использовать все вновь добавленное пространство. Войти df –h чтобы показать текущие файловые системы, вот пример;

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/rootvg-root
                          2.0G  1.4G  495M  74% /
    /dev/mapper/rootvg-home
                          248M  124M  113M  53% /home
    /dev/mapper/rootvg-var
                          3.0G  1.1G  1.8G  30% /var
    /dev/mapper/rootvg-usr
                          3.0G  936M  1.9G  34% /usr
    /dev/mapper/rootvg-opt
                          3.0G  811M  2.0G  29% /opt
    

    Если мы хотим расширить файловую систему / var с 3 ГБ до 10 ГБ, введите resize2fs /dev/mapper/rootvg-var (или, возможно, на CentOS xfs_growfs /dev/mapper/rootvg-varили аналогичные команды в зависимости от типа файловой системы). Когда вы нажимаете Enter, фактическая файловая система будет расти, это может занять время, введите df –h после завершения, чтобы проверить.

    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/rootvg-root
                          2.0G  1.4G  495M  74% /
    /dev/mapper/rootvg-home
                          248M  124M  113M  53% /home
    /dev/mapper/rootvg-var
                          9.88G  1.1G  8.2G  12% /var
    /dev/mapper/rootvg-usr
                          3.0G  936M  1.9G  34% /usr
    /dev/mapper/rootvg-opt
                          3.0G  811M  2.0G  29% /opt
    

Вы закончили!

Перед lvextend выполните следующие шаги

  • #pvcreate / dev / sda3 (для создания нового физического тома, если вы не можете создать, вероятно, вы не перезагружались после создания раздела)

  • #pvdisplay (чтобы убедиться, что вы создали новый физический том)

  • #vgcreate VolGroup / dev / sda3 (чтобы назначить VolGroup новому физическому тому)

  • #lvdisplay (чтобы получить логический путь к разделу, который вы хотите расширить)

  • #lvcreate -LxxGB -n root_new VolGroup (чтобы назначить логический размер и создать новый логический том)

  • #lvextend / dev / mapper / VolGroup-lv_root / dev / sda3 (наконец, расширьте корневой (если) раздел)

  • #lvdisplay (проверить LV размер, если он увеличился или нет)

  • # resize2fs / dev / mapper / VolGroup-lv_root (для изменения размера фактической файловой системы)

  • #df -h (затем проверьте, увеличилось ли фактическое значение файловой системы или нет)

тебе нужно изменить его размер сейчас

resize2fs /dev/sda

Вы должны быть на ядре 2.6, сделайте это с смонтированной файловой системой и включенным параметром, позволяющим изменять размер в оперативном режиме. В противном случае вам придется сначала размонтировать устройство, изменить размер, а затем снова подключить устройство.