VMware позволяет расширить размер виртуального диска в режиме онлайн - когда виртуальная машина работает. Следующие ожидаемые шаги для системы Linux:
- расширить раздел: удалить и создать больший с
fdisk
- увеличить размер PV с
pvresize
- использовать свободные экстенты для
lvresize
операций - а затем
resize2fs
для файловой системы
Но я застрял на первом шаге: fdisk
и sfdisk
все равно отображаю старый размер диска.
Мой диск представляет собой виртуальный диск SCSI, подключенный благодаря виртуальному контроллеру LSI Logic.
Как обновить информацию о размере виртуального диска и таблице разделов, доступных в ядре Linux, без перезагрузки ?
Насколько мне известно, все шаги возможны для работающей Windows, без перезагрузки и даже без каких-либо действий пользователя благодаря инструментам VMWare. В Linux я ожидаю, что все шаги будут выполнены онлайн, и я уже знаю, что шаги 2, 3 и 4 работают онлайн. Но первое - изменение размера раздела, объявленного в таблице разделов (все еще), кажется, требует перезагрузки.
Обновление: Моя система - Debian Lenny с ядром 2.6.26, а расширенный диск - это основной диск с большим PV, содержащим "root" LV для "/".
источник
partprobe
это команда изparted
проекта.fdisk
значит проблема не в LVM. Я должен был бы спросить, как вы сканировали, так как это обычно подбирает мне новый размер диска. Я также не делю диски, на которых собираюсь использовать LVM, если смогу помочь. Если у васpvcreate
весь диск, то обновление таблицы разделов - это всего лишь одна вещь, которую вам нужно сделать, когда вы собираетесь изменить его размер.Другие ответы не отвечают на ваш вопрос, я определил правильную команду для повторного сканирования уже подключенного диска.
Мы должны повторно отсканировать уже подключенный диск, сначала определите, какой диск вы хотите отсканировать.
В моем примере я вижу символическую ссылку с именем
0:0:0:0
, поэтому мы повторно сканируем этот scsi-диск.Я также расширил свой диск VMware, и мне пришлось искать другие ответы, чтобы найти правильную команду. Надеюсь, это спасет будущих искателей от тщетных попыток.
источник
/sys/block/
, так что вы можете использовать, например/sys/block/sda/device/rescan
.Поскольку корневая файловая система
/
смонтирована на диске, размер которого был изменен, таблица разделов и размер диска не обновляются при повторном сканировании SCSI с Linux 2.6.26.Я действительно надеюсь, что скоро будет лучше с новыми версиями ядра.
Поэтому мне пришлось:
fdisk
fdisk
partprobe
изparted
пакета, только если/
он там не смонтированpvresize
чтобы получить новое свободное место,lvextend
иresize2fs
выделить немного больше места для файловой системы.Мне порекомендовали просто отказаться от этой глупой старой таблицы разделов и запустить ее
pvcreate
непосредственно на устройстве, так как Grub2 может загружать образ ядра непосредственно из файловой системы в разделе LVM. Но такая установка совершенно не очевидна для установщиков дистрибутива.Обновление: я только что проверил с Debian GNU / Linux Jessie 8.2, работающим с ядром 3.16 и
parted
3.2,partprobe
теперь он успешно выполняется после редактирования таблицы разделовcfdisk
без перезагрузки.pvresize
работает сразу после.Если вы хотите расширить PV, хранящийся как логический раздел ПК, например,
/dev/sda5
в расширенном основном разделе/dev/sda2
, не используйте,fdisk
но предпочитайтеparted
:источник
Вам нужно повторно сканировать диски, прежде чем вы сможете сделать больший раздел.
В Centos вы можете сделать это
тогда для каждого хоста
(замените # на номер)
Существует также еще один шаг к вышесказанному, который расширяет ext или любую файловую систему, которую вы используете, после изменения размера раздела.
Вам все равно придется размонтировать этот раздел, хотя в какой-то момент. Мы обычно добавляем второй диск vmware и используем lvm для расширения на новый диск (и сокращения старого, если это замена), поскольку это позволяет всему процессу происходить вживую.
источник
Как обновленный ответ, в Ubuntu 16.04.1 я смог сделать следующее, чтобы изменить размер тома с 1024 ГБ до 1,4 ТБ:
Не
fdisk
требуется, и место было сразу доступно.источник
/dev/sdb
, который, вероятно, является вашим дополнительным диском с данными вашего приложения, но не вашим первым диском с системой (упомянуть, что я настраиваю свои системы таким же образом!). Мой вопрос касался расширения последнего PV / раздела такого «системного диска» (клонированного из шаблона), поскольку дистрибутивы Linux не поддерживают установку на прямой PV, тогда как ядро Linux и GRUB должны иметь возможность загружаться и работать на системном диске. без таблицы разделов вообще.Вы не предоставили нам достаточно подробностей, чтобы сообщить вам точные команды, которые вам понадобятся, но по сути вам нужно будет использовать
lvextend
команду для расширения логического тома, затемe2fsck
команду и затемresize2fs
команду для фактического расширения вашей файловой системы. Каждой из этих команд потребуются дополнительные параметры, в частности информация об устройстве и файловой системе, которую мы не можем предоставить, но вы должны знать их, просто используйте параметр --help для каждой команды, чтобы указать, как их использовать конкретно, плюс вы, вероятно, в конечном итоге будете использовать командыpvdisplay
,lvdisplay
и,mount
чтобы помочь заполнить эти параметры.источник
/sbin/rescan-scsi-bus
не изменяйте существующий размер диска. Ноecho "1" > '/sys/class/scsi_disk/0:0:1:0/device/rescan'
делаетНикто не опубликовал полный набор команд, поэтому здесь мы идем:
источник