LINUX.ORG.RU
решено ФорумAdmin

Есть ли способ обойти гипервизор при создании свопа?

 


0

1

Приветствую.

Есть клиентский сервер, VPS-ка. К ней есть рутовый доступ. Происходит примерно следующее.

[root@server backup]# fallocate -l 8G /swap
[root@server backup]# mkswap /swap
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=02156d75-639d-4396-bb63-1aeca7a2338d
[root@server backup]# chmod 600 /swap
[root@server backup]# swapon /swap 
swapon: /swap: swapon failed: Invalid argument

[root@server backup]# uname -a
Linux server.1.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

[root@server backup]# whoami
root
[root@server backup]#

Я так понимаю, невозможность создания свопа устанавливается гипервизором, хотя не совсем понимаю как и зачем. Наверное чтобы клиенты не хитрожопничали, а покупали больше РАМы.

Вопрос: есть ли другой способ активировать swap ? Недокументированный какой-нибудь.

Спасибо.

★★★★★

Либо у вас «нечестная» виртуалка которая совсем даже не виртуалка, либо тыква вместо файловой системы (не на всех ФС можно создать swap-файл).

[root@centos7 /]# uname -r
3.10.0-1062.4.1.el7.x86_64
[root@centos7 /]# fallocate -l 1G mswap
[root@centos7 /]# mkswap mswap
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=2dcde71b-46f0-4c70-b87e-f87e15df7d67
[root@centos7 /]# swapon mswap
swapon: /mswap: insecure permissions 0644, 0600 suggested.
[root@centos7 /]# cat /proc/swaps 
Filename				Type		Size	Used	Priority
/mswap                                  file		1048572	0	-2
[root@centos7 /]# swapoff mswap

Nastishka ★★★★★
()
Ответ на: комментарий от constin

fallocate в отличе от truncate как раз создает файл без sparse по умолчанию.

Nastishka ★★★★★
()

Сделано это намеренно, чтобы нищеброды, покупающие виртуалки с 256M RAM, не убивали дисковый IO, пытаясь это ограничение обойти. Пофиксить никак.

izzholtik ★★★
()
Ответ на: комментарий от windows10

Потому что у вас не виртуалка, а контейнер OpenVZ. Способа включить swap из контейнера нет. Аналогично с загрузками любого модуля, активацией TUN/TAP, и т.д.: всё нужно просить у хостера. Загрузить другое ядро вы также не сможете.

Рекомендую вам использовать настоящие VPS, а не контейнеры.

ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.