Как создать раздел подкачки в Amazon EC2 с кратковременным хранилищем?

Это вывод df -k:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1            10317860   7059008   2734732  73% /
none                    847584         0    847584   0% /dev/shm
/dev/xvdb            153899044    192068 145889352   1% /mnt/ephemeral

Я использую загрузочный образ Centos EBS.

Я читал различные вопросы по этому поводу, но они говорят, чтобы смонтировать новый диск. Но я думаю, что диск уже установлен на /dev/xvdb, Я прав?

Могу ли я просто использовать это:

mkswap -f /dev/xvdb
#add in /etc/fstab
/dev/xvdb       swap    swap    defaults        0       0
swapon /dev/xvdb

Это будет работать?

3 ответа

Решение

/dev/xvdb действительно смонтирован, вам нужно проверить, не хранится ли там что-нибудь, что вы хотите сохранить, хотя хранение важных вещей на эфемерном диске - ДЕЙСТВИТЕЛЬНО плохая идея.

Вам нужно размонтировать /dev/xvdb, прежде чем что-либо делать с ним.

Пока ты можешь

mkswap /dev/xvdb 

это создаст пространство подкачки всего эфемерного диска, в котором вы почти наверняка не нуждаетесь. Кроме того, если вы разбиваете раздел подкачки, вы можете использовать оставшуюся часть временного диска для таких вещей, как папка tmp или для хранения сеансов (если ваш хост является веб-сервером). Эфемерные побуждения очень быстрые, но, к сожалению, не очень настойчивые.

В любом случае, вернемся к обмену разделами!

Лучше либо sfdisk, как упоминает Абхишек, либо вручную создать раздел подкачки с помощью fdisk:

fdisk /dev/xvdb
Press N to create a new partition
P for primary
1 for the first partition
Press Enter to accept the first location
Enter +xG where x is the size of the swapspace you want. I typically use twice the amount of RAM, but this is not a hard and fast rule
Enter T to change the type
Enter 82 for Linux Swap
Enter W to write the changes
Enter q to quit

Теперь вы можете создать пространство подкачки с

mkswap /dev/xvdb1

А затем включите его с

swapon /dev/xvdb1

Тем не менее, одно предупреждение, и я прошу прощения, если я "учу бабушку сосать яйца". Но, как следует из названия, эфемерное влечение… ну, эфемерное. Если вы когда-нибудь закроете свой экземпляр, вам придется заново создать раздел подкачки и включить его. По этой причине не добавляйте вновь созданное пространство подкачки в ваш fstab.

Перезагрузка должна быть в порядке, однако.

Я создал скрипт, который может быть полезен для создания свопа на эфемерных устройствах. Он использует lvm для создания тома подкачки, а также создает том, который может быть полезен как /tmp. Вы можете использовать cloud-init для его запуска.

bootcmd:
 - [ cloud-init-per, once, mk-eph, /usr/local/sbin/mk-eph.sh]

# Filesystem setup
fs_setup:
 - label: 'tmp'
   filesystem: 'xfs'
   device: '/dev/ephemeral/tmp'
   partition: 'auto'

mounts:
 - [ /dev/ephemeral/tmp, /tmp, auto, "defaults,nobootwait" ]
 - [ ephemeral0, null ]

runcmd:
 - [ chmod, 1777, /tmp ]

Сначала размонтируйте ваше хранилище и перемонтируйте, как показано ниже

  umount /dev/xvdb # in case it is already mounted
  sfdisk /dev/xvdb << EOF
  ,1024,82
  ,
  ;
  ;
  EOF
  mkswap /dev/xvdb1 && swapon /dev/xvdb1
  mkfs.xfs -f /dev/xvdb2 && mount /dev/xvdb2 /mnt
Другие вопросы по тегам