LINUX.ORG.RU

не создается swap файл

 , ,


0

1

Имею в наличии Ubuntu 16.04.1 LTS.

Появилась необходимость создать файл подкачки (swap). Выполнял все действия как описаны в статье : http://mydebianblog.blogspot.com/2010/05/swap-swap-linux.html (о всех остальных статьях описания подобные).

При выполнении команды swapon

/swapfile 
swapon: /swapfile: не удалось выполнить swapon: Недопустимый аргумент

Кто знает в чем проблема и как ее решить?

Перемещено JB из ubuntu


выложи сюда весь лог действий, начиная от dd и заканчивая swapon. И покажи что в dmesg попадает после неудачной попытки сделать swapon

JB ★★★★★
()

man swapon

И аргументы команды указываются при помощи "-" или в случае гнутых команд с буковкой больше чем одна при помощи "--", а не «/»

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

ЛОЛ, проверь тогда права доступа и наличие свободного места на диске.

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

Выполнил все действия заново, на команде swapon вот такая ошибка

# swapon /swapfile
swapon: /swapfile: небезопасные права доступа 0644, предлагаются 0600.
swapon: /swapfile: не удалось выполнить swapon: Недопустимый аргумент

выкладываю history:

 2001  swapon -s
 2002  cat /proc/meminfo 
 2003  dd if=/dev/zero of=/swapfile bs=1M count=3072
 2004  mkswap /swapfile 
 2005  swapon /swapfile
 2006  history 

dmesg показал только одну строку

[2309899.193247] swapon: swapfile has holes

isaecf
() автор топика
Ответ на: комментарий от annulen

Файловая система раздела на котором расположен swapfile - ext4

isaecf
() автор топика

Это на локальной системе или на VPS? Если на VPS, то некоторые сервисы запрещают использование swap.

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

Отдельная выделенная железяка с прямым доступом к HDD. Разделы созданы как primary...

isaecf
() автор топика

Кратко:

В линуксе нет такого понятия как файл подкачки. Есть понятие раздела подкачки. Файл можно использовать как раздел винчестера. Итого создаёшь файл требуемого размера любым понравившимся способом, и форматируешь его в формат раздела подкачки винчестера. Только после этого подключаешь как своп. Если хочешь постоянно его пользовать, то в fstab прописываешь (документации дофига). Всё. Если что-то не работает так, то что-то не так с системой.

Quasar ★★★★★
()
Последнее исправление: Quasar (всего исправлений: 1)
Ответ на: комментарий от Quasar

Из выложенного мной history файла видно что я создаю неоходимый мной размер и форматирую его формат раздела подкачки. До этого момента все норм. Не выполняется команда swapon

isaecf
() автор топика
Ответ на: комментарий от isaecf

dd if=/dev/zero of=/swapfile bs=1M count=3072
swapon: swapfile has holes

ИМХО, файловая система сэмулировала запись в файл, а реально
только записала в оглавление размеры файла - о чем говорит второе сообщение.
Забейте файл не нулями при создании

andyl
()
Ответ на: комментарий от andyl

Пытаюсь создать не пустой swapfile командой

dd if=/dev/random of=/swapfile bs=1M count=3072
dd: warning: partial read (23 bytes); suggest iflag=fullblock

Уже длительное время время система никак не может завершить создание данного файла + какие-то warning

isaecf
() автор топика
Ответ на: комментарий от andyl

cat /dev/random | dd of=/swapfile count=...

в этом случае bs=80 - как у терминала

andyl
()
Ответ на: комментарий от isaecf

Всё-таки попробуй права выставить. В таком варианте у меня работает.

# fallocate -l 512M /swapfile

# chmod 600 /swapfile

# mkswap /swapfile

# swapon /swapfile

https://wiki.archlinux.org/index.php/Swap#Swap_file

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 3)
Ответ на: комментарий от greenman

Ваше решение мне выдает ту же ошибку

isaecf
() автор топика
Ответ на: комментарий от Guest_now
~# df -h
Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
udev             981M            0  981M            0% /dev
tmpfs            200M          26M  175M           13% /run
/dev/md0         466G         173G  291G           38% /
tmpfs           1000M            0 1000M            0% /dev/shm
tmpfs            5,0M            0  5,0M            0% /run/lock
tmpfs           1000M            0 1000M            0% /sys/fs/cgroup
/dev/md0         466G         173G  291G           38% /home
cgmfs            100K            0  100K            0% /run/cgmanager/fs
tmpfs            200M            0  200M            0% /run/user/1000
isaecf
() автор топика
Ответ на: комментарий от isaecf

Ну значит не получится. Попробуй может можно выделить отдельный раздел.

Guest_now
()
Ответ на: комментарий от isaecf

BTRFS не гарантирует расположение файла в неизменных секторах/кластерах, а для swap-файла в его начале строится карта размещения, чтобы не зависеть от ФС и иметь возможность подняться из гибернации. Однако несовместимость.

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

Можно попробовать так

dd if=/dev/zero of=disk.dd bs=1M count=1024
mkfs.ext4 ./disk.dd
mount -o loop ./disk.dd /mnt
cd /mnt
dd if=/dev/zero of=swap.dd bs=1M count=1000
mkswap ./swap.dd
swapon ./swap.dd

На ZFS подключается, на BTRFS тоже должно сработать

andyl
()
Ответ на: комментарий от andyl

Это будет капец как медленно, если вдруг дойдёт до использования. Потому что своп в файле мапится в обход ФС. И на ZFS это не нужно, там zvol лучше, всё же повеселее.

anonymous
()
Ответ на: комментарий от Quasar

Ты прям по написанию псевдосмысленной чуши борешься с зенитаром и напильником.

anonymous
()
Ответ на: комментарий от greenman

Вот с fallocate наиболее вероятно как раз зафэйлится.

anonymous
()
Ответ на: комментарий от andyl

Ваш метод мне помог, но после перезагрузки все слетает. Добавляю в /etc/fstab строки

/swapfile none swap sw 0 0

Но это также не помогает

isaecf
() автор топика
Ответ на: комментарий от Quasar

Если ФС позволяет изменять файл, то всё нормально.

Нет. Например, на NFS или UBIFS создать своп точно нельзя, на fuse скорее всего тоже

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.