Я пытаюсь увеличить объем подкачки на гостевой машине xen. Сначала я подумал, что это будет похоже на увеличение места на жестком диске, что я делаю так:
cd /srv/xen/domains/$host/
xm shutdown $host
cp disk.img disk.img.backup
dd if=/dev/zero of=ZeroContentFile bs=1024 count=$numberofextrabytes
cat ZeroContentFile >> disk.img
rm ZeroContentFile
resize2fs -f disk.img
fsck.ext3 disk.img
xm create $host.cfg
Я пробовал сделать то же самое, но заменил disk.img на swap.img. Это отлично работает до тех пор, пока я не сделаю resizefs -f swap.img
, Я получил:
resize2fs 1.42.5 (29-Jul-2012)
resize2fs: Bad magic number in super-block while trying to open swap.img
Couldn't find valid filesystem superblock.
Честно говоря, я никогда не ожидал, что эта команда будет работать для свопа точно так же, как для ext3. Однако, если я оставлю его, гость просто получит тот же объем свопа, что и раньше. Какую эквивалентную команду мне нужно запустить, чтобы весь файл swap.img был распознан как пространство подкачки?
Вы не можете использовать инструменты EXT, потому что своп не является файловой системой EXT. Измените размер образа диска с хоста, а затем выполните три простых шага в гостевой системе:
swapoff
mkswap /dev/[swapdevice]
swapon
Что выгружает раздел подкачки, форматирует его, а затем снова активирует. [swapdevice]
можно определить из /etc/fstab
.