AWS linux добавляет увеличенный объем в существующий раздел

Я использую AWS для своего производственного сервера. Сегодня мой mongodb перестал работать и сообщает, что недостаточно места для ведения журнала. Чтобы добавить больше места, я отредактировал столбец в консоли AWS и увеличил размер тома до 16 ГБ. Результат lsblk в командной строке Linux выглядит следующим образом

  lsblk
  NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  xvda    202:0    0  16G  0 disk
    └─xvda1 202:1    0   8G  0 part /

Команда печати в parted показывает результат ниже

 print
 Model: Xen Virtual Block Device (xvd)
 Disk /dev/xvda: 17.2GB
 Sector size (logical/physical): 512B/512B
 Partition Table: gpt

Number  Start   End     Size    File system  Name                 Flags
128     1049kB  2097kB  1049kB               BIOS Boot Partition  bios_grub
1      2097kB  8590MB  8588MB  ext4         Linux
2      8590MB  17.2GB  8590MB               Linux

, а df-h показывает результат ниже результат

 df -h
 Filesystem      Size  Used Avail Use% Mounted on
 /dev/xvda1      7.8G  4.3G  3.5G  56% /
 devtmpfs        488M   56K  488M   1% /dev
 tmpfs           498M     0  498M   0% /dev/shm

Мне нужно добавить дополнительное дополнительное пространство, которое составляет 8 ГБ, в / dev / xvda1, не теряя ничего на сервере. Я новичок в серверах Linux. Любая помощь или предложения приветствуются

РЕДАКТИРОВАТЬ1 - после Google я также пытался сделать resize2fs, но он показывает следующий результат

resize2fs /dev/xvda1
 resize2fs 1.42.12 (29-Aug-2014)
 The filesystem is already 2096635 (4k) blocks long.  Nothing to do!
0
22.07.2017, 23:19
1 ответ

Во-первых, вы должны сделать полную резервную копию, прежде чем пытаться сделать что-либо подобное.

Вам необходимо удалить этот 2-й раздел из таблицы разделов (, например. с помощью gdiskили parted), затем расширьте первый раздел до конца вновь доступного пространства и, наконец, увеличьте файловую систему, чтобы она знала, что у нее есть больше доступного хранилища -этот последний шаг отличается для каждого типа файловой системы. например. если fs - это xfs, вы должны использовать xfs_growfs. Для ext2/3/4 вы должны использовать resize2fs. На этом сайте есть несколько вопросов с хорошими ответами о расширении файловой системы -. Я настоятельно рекомендую тщательно изучить эту тему, прежде чем пытаться это сделать. Это несложно, но даже небольшие ошибки могут привести к катастрофической потере данных.

Другой вариант — просто создать новую виртуальную машину с диском 16 Гб или больше (или небольшим диском /dev/xvda boot/OS емкостью 1 -4 ГБ и вторым диском /dev/xvdb большего размера для базы данных -, что упростит задачу, если вам когда-нибудь понадобится снова увеличить объем памяти ). Получите вторую виртуальную машину, работающую точно так же, как оригинал, а затем скопируйте данные с исходной виртуальной машины на новую.

rsync, вероятно, лучше всего подходит для копирования -вы можете выполнить rsync данных, пока исходная виртуальная машина все еще работает и обслуживает запросы, чтобы передать большую часть данных,затем отключите службу базы данных на нем и снова выполните rsync, чтобы передать любые данные, которые были добавлены/изменены/удалены с момента запуска первого rsync. Затем выключите оригинал и перезапустите новую виртуальную машину, чтобы она имела тот же IP-адрес и т. д., что и оригинал. Это сведет к минимуму время простоя.

0
28.01.2020, 04:43

Теги

Похожие вопросы