не может добавить подкачка с fallocate на EC2

Я пытаюсь установить подкачку в /etc/rc.local сюда:

sudo fallocate -l 8192M /mnt/swapfile1
sudo mkswap /mnt/swapfile1
sudo swapon /mnt/swapfile1

Это однако возвращает ошибку:

fallocate: /mnt/swapfile.sys: fallocate failed: Operation not supported

мои разделы (EC2) являются этим:

ubuntu@ip-10-0-0-52:~$ df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  2.8G  4.6G  38% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            3.7G  8.0K  3.7G   1% /dev
tmpfs           752M  204K  752M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.7G     0  3.7G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvdb       414G   71M  393G   1% /mnt

с dd это работает, но это довольно медленно, я хотел удостовериться, что подкачка присутствует на начальной загрузке.

2
задан 26 September 2014 в 12:55

1 ответ

С Ядра Linux v2.6.31, fallocate системный вызов поддерживается btrfs, ext4, ocfs2, и xfs файловые системы.

можно подтвердить, какую файловую систему Вы имеете с этой командой (принимающий имя устройства, данное выше):

file -sL /dev/xvdb 

, К сожалению, кажется, что в некоторых случаях устройство хранения данных экземпляра обеспечивается отформатированное в ext3 вместо ext4.

Принятие Вашего устройства хранения данных экземпляра в /dev/svdb, и Вы хотите сделать файл подкачки в /mnt/swap, это составляет 16 ГБ в размере (огромный!), Помещая это /etc/rc.local, сделает, которые происходят каждый раз при начальной загрузке. Необходимо прокомментировать строку для /dev/xvdb в /etc/fstab в этом случае, потому что теперь устройство будет смонтировано /etc/rc.local поздно в процессе начальной загрузки вместо рано.

umount /dev/xvdb mkfs.ext4 /dev/xvdb mount /dev/xvdb /mnt fallocate -l 16GB /mnt/swap chmod 600 /mnt/swap mkswap /mnt/swap swapon /mnt/swap

2
ответ дан 7 October 2019 в 01:20

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

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