Mount an EBS Volume > 2TB on Ubuntu 18.04

У меня есть сервер Ubuntu, работающий на EC2, с томом EBS, смонтированным на /. Я изменил размер тома EBS до 16 ТБ, прежде чем понял, что его использование в качестве корневого тома подразумевает разметку, и что мне может понадобиться специальная схема разметки для увеличения размера.

$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  7.4G     0  7.4G   0% /dev
tmpfs          tmpfs     1.5G  840K  1.5G   1% /run
/dev/xvda1     ext4      2.0T  1.8T  200G  90% /
tmpfs          tmpfs     7.4G     0  7.4G   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     7.4G     0  7.4G   0% /sys/fs/cgroup
/dev/loop1     squashfs   56M   56M     0 100% /snap/core18/1932
/dev/loop3     squashfs   29M   29M     0 100% /snap/amazon-ssm-agent/2333
/dev/loop4     squashfs   33M   33M     0 100% /snap/amazon-ssm-agent/2996
tmpfs          tmpfs     1.5G     0  1.5G   0% /run/user/1000
/dev/loop5     squashfs   56M   56M     0 100% /snap/core18/1944
/dev/loop6     squashfs   98M   98M     0 100% /snap/core/10577
/dev/loop2     squashfs   98M   98M     0 100% /snap/core/10583

Запустив fdisk -l, я вижу, что /dev/xvda равняется 15. 6TiB, но что я использую только часть этого в /dev/xvda1:

Disk /dev/xvda: 15.6 TiB, 17179869184000 bytes, 33554432000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb32e823c

Device     Boot Start        End    Sectors Size Id Type
/dev/xvda1 *     2048 4294967294 4294965247   2T 83 Linux

При попытке growpart /dev/xvda 1, я обнаружил, что:

WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused.
NOCHANGE: partition 1 could only be grown by 1 [fudge=2048]

После гуглинга, стало ясно, что мне нужно переразметить с помощью GPT и, возможно, включить GPT в ядре Ubuntu (?), если я хочу смонтировать больший корневой раздел. На самом деле меня не волнует, смонтирован ли EBS том в качестве корневого, на самом деле моими единственными целями являются (1) смонтировать где-нибудь EBS том объемом 16 ТБ и (2) сохранить данные из определенного каталога на текущем томе.

У меня практически нет опыта работы с подобными вещами; что здесь проще всего сделать?

  1. Могу ли я просто создать новый EBS том без разделов, смонтировать его на том же экземпляре EC2 (не в качестве корневого тома), а затем скопировать данные с корневого тома на новый, больший том?
  2. Смогу ли я смонтировать EBS том такого размера по умолчанию, если это не корневой том?
0
задан 4 February 2021 в 03:32

1 ответ

После небольшого эксперимента могу сказать, что ответы на (1) и (2) - "да" и "да" - единственная реальная проблема - это попытка использовать в качестве корневого тома большой объем EBS .

Вы действительно можете смонтировать EBS том объемом 16 ТБ без разделов, а Ubuntu 18.04 справляется с ним без проблем. Поэтому проще всего создать новый, 16TB EBS том, смонтировать его на экземпляр EC2 и скопировать поверх данных, которые вам нужны.

Сначала, на всякий случай, вы захотите создать резервную копию любых данных, которые у вас есть на текущем томе. Для этого нужно остановить экземпляр EC2 (это необходимо только при выполнении снимка корневого тома). Затем перейдите на страницу Elastic Block Store Volumes консоли EC2 и выберите "создать снэпшот" в разделе "действия". После этого перезапустите экземпляр EC2. Более подробная информация здесь .

  1. Создайте том EBS в консоли AWS, настройте его размер и тип (gpt3 подходит для спецификаций в вопросе, но смотрите "Amazon EBS Volume Types" для дополнительной информации), и прикрепите его к вашему запущенному экземпляру. На данном этапе нет необходимости останавливать экземпляр или прикасаться к его конфигурации.

  2. SSH в экземпляр EC2 и проверить, что том подключен, но не смонтирован:

    ubuntu:~$ lsblk
    ИМЯ MAJ:MIN RM РАЗМЕР RO ТИП ТОЧКА КРЕПЛЕНИЯ
    петля1 7:1 0 55.4M 1 петля /снэп/ядро18/1932
    петля2 7:2 0 97.9M 1 петля /снэп/ядро/10583
    петля3 7:3 0 28.1M 1 петля /снэп/амазон-ssm-агент/2333
    петля4 7:4 0 32.3M 1 петля /снэп/амазон-ssm-агент/2996
    петля5 7:5 0 55.4M 1 петля /снэп/ядро18/1944
    петля6 7:6 0 97.9M 1 петля /снэп/ядро/10577
    xvda 202:0 0 15.6T 0 диск 
    └─xvda1 202:1 0 2T 0 часть /
    xvdf 202:80 0 16T 0 диск 
    

    Обратите внимание, что xvda (корневой том) имеет раздел под ним (xvda1) и является монтируется в /, в то время как новый том xvdf не имеет ни раздела, ни точки монтирования.

  3. Свежие EBS тома не имеют файловой системы, поэтому вам нужно создать такую систему: sudo mkfs -t xfs /dev/xvdf. Обратите внимание на правильный том, , иначе вы перезапишите данные, если попытаетесь создать новую файловую систему на томе, который уже содержит такую систему.

  4. Создайте место для монтирования тома, я назову его "data": sudo mkdir /data.

  5. Монтируйте том, и вы увидите его в выводе df. Опционально, обновите fstab файл, чтобы монтировать том автоматически после перезагрузки, как описано в здесь.

    ubuntu:~$ sudo mount /dev/xvdf /data
    ubuntu:~$ df -hT
    Тип файловой системы Размер использованного объема Доступно Использовано% Установлено на
    удев девтмпфс 7.4G 0 7.4G 0% /дев
    tmpfs tmpfs 1.5G 828K 1.5G 1% / пробег
    /dev/xvda1 ext4 2.0T 1.8T 180G 91% /
    tmpfs tmpfs 7.4G 0 7.4G 0% /дев/шм
    tmpfs tmpfs 5.0M 0 5.0M 0% / прогон/блокировка
    tmpfs tmpfs 7.4G 0 7.4G 0% /sys/fs/cgroup
    /dev/loop1 squashfs 56M 56M 0 100% /snap/core18/1932
    /dev/loop3 сквошфы 29М 29М 0 100% /snap/amazon-ssm-agent/2333
    /dev/loop4 squashfs 33M 33M 0 100% /snap/amazon-ssm-agent/2996
    tmpfs tmpfs 1.5G 0 1.5G 0% / прогон/пользователь/1000
    /dev/loop5 squashfs 56M 56M 0 100% /snap/core18/1944
    /dev/loop6 squashfs 98M 98M 0 100% /snap/core/10577
    /dev/loop2 squashfs 98M 98M 0 100% /snap/core/10583
    /dev/xvdf xfs 16T 17G 16T 1% /data
    
  6. Наконец, установите необходимые разрешения на файлы /данные и скопируйте их на новый диск. Рассмотрим вариант использования rsync здесь в качестве менее хрупкой альтернативы cp.

1
ответ дан 18 March 2021 в 23:37

Другие вопросы по тегам:

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