У меня есть AMI Amazon Line с двумя дисками, один для root и один для данных,
8G /
1024G /data
раздел данных почти заполнен 93% / данные, и я хочу расширить раздел данных, не стирая диск.
Можно ли изменить существующую файловую систему на разделе, отличном от LVM, и превратить ее в логический том LVM без необходимости очистки диска?
Нет, невозможно изменить существующий раздел без LVM на LVM без pvcrating на нем, уничтожая данные на нем. Вам нужно будет сделать что-то вроде:
vgcrate new_vg /dev/newdisk
(заменить new_vg
и newdisk
при необходимости)lvcreate -L+100%FREE -n new_lv
(заменить new_lv
при необходимости)vgextend new_vg /dev/datadisk
(диск, который в настоящее время установлен на /data
)lvextend -L+100%FREE new_vg/new_lv
, затем увеличьте fs: resize2fs /dev/new_vg/new_lv
Либо так, либо сделайте резервную копию файлов, размонтируйте диск и повторите 1-4 (без получения нового диска)
Сделайте снимок диска, а затем создайте новый том большего размера из этого снимка. Если ваш AMI использует cloud-init, он будет автоматически расти, чтобы заполнить его. Если это так, отредактируйте таблицу разделов в fdisk (сделайте раздел настолько большим, насколько хотите), затем перезагрузитесь и используйте resize2fs для изменения размера в оперативном режиме.
Если вы не хотите использовать потенциально трудоемкий путь преобразования LVM, вот другой подход, который может или не может сработать для вас, в зависимости от того, какой макет каталога у вас есть /data
.
Используйте точки монтирования! По сути:
/data/tmp
если этого еще не существует/data
, Такие как /data/bigdata
к /data/tmp
/data/bigdata
на другое имя, например /data/bigdata.old
/data/bigdata
/data/tmp
(ваш новый диск) /data/bigdata
Хорошо, я признаю, что это далеко не идеально, но что-то подобное нужно было сделать до того, как появились менеджеры томов. Петтер Х имеет лучшее представление в своем ответе, и вам, вероятно, все равно следует последовать этому.