Я хотел бы уменьшить объем тома EBS без потери данных.
Я хотел бы изменить емкость с 1 ТБ до 200 ГБ.
Пожалуйста, подробно опишите, как это сделать.
Я хотел бы уменьшить объем тома EBS без потери данных.
Я хотел бы изменить емкость с 1 ТБ до 200 ГБ.
Пожалуйста, подробно опишите, как это сделать.
Подход, который я принимаю к уменьшению объема корня EBS, выглядит следующим образом:
Остановить (не завершать) целевой экземпляр и отделить корневой объем EBS. Кроме того, вы можете сделать снимок корневого тома (или использовать существующий моментальный снимок) и создать из него новый том EBS. (например,/dev/xvda1)
Примечание. Объем, который вы используете из вышеприведенного шага, будет изменен, поэтому вы можете захотеть сделать снимок, если вы этого еще не сделали.
Create a new EBS volume that is the desired size (e.g. /dev/xvdg)
Launch an instance, and attach both EBS volumes to it
Check the file system (of the original root volume): (e.g.) e2fsck -f /dev/xvda1
Maximally shrink the original root volume: (e.g. ext2/3/4) resize2fs -M -p /dev/xvda1
Copy the data over with dd:
Choose a chunk size (I like 16MB)
Calculate the number of chunks (using the number of blocks from the resize2fs output): blocks*4/(chunk_size_in_mb*1024) - round up a bit for safety
Copy the data: (e.g.) dd if=/dev/xvda1 ibs=16M of=/dev/xvdg obs=16M count=80
Resize the filesystem on the new (smaller) EBS volume: (e.g.) resize2fs -p /dev/xvdg
Check the file system (of the new volume): (e.g.) e2fsck -f /dev/xvdg
Detach your new EBS root volume, and attach it to your original instance
Ответ от ezhilrean в порядке, но есть более простой способ.
Скажем, у вас есть экземпляр с вашим /var разделом на /dev/sdf 1, и вы хотите уменьшить его с 300 до 200 ГБ (предполагая, что в /var есть данные до 200 ГБ)
Создайте новый том в том же AZ, что и исходный том Прикрепите его к экземпляру как /dev/sdg Войдите в аккаунт с правами root
fdisk /dev/sdg
n (for New)
p (for Primary)
Accept defaults for other fdisk options
w (for Write)
fdisk затем выйдет. Теперь вам нужно создать файловую систему на новом разделе
mkfs.ext4 /dev/sdg1 (presuming that ext4 was used on existing partition)
Затем установите новый раздел во временную точку монтирования
mkdir /new
mount /dev/sdg1 /new
Теперь скопируйте свои данные
cd/var cp -ax */new/
Обновите свой /etc/fstab, чтобы использовать новый раздел для /var
/dev/sdg1 /var ext4 defaults 0 0
Перезагрузка
init 6
Если вам нужен ваш/var-раздел с идентификатором /dev/sdf 1, вы можете остановить экземпляр, отсоединить оба тома EBS и снова подключить новый меньший как /dev/sdf Не забудьте изменить /etc/fstab, прежде чем вы это сделаете