Система с несколькими одинаковыми свопами

Автор PbI6A, 08 июля 2024, 08:42:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

PbI6A

Частенько ставлю системы с несколькими винчестерами. Там mdadm, все дела :) Иногда возникают проблемы со свопом, если кончается винчестер, на котором своп с прописанным в системе UUID. Он где-то там в системе (более конкретно, в /etc/initramfs-tools/conf.d/resume) прописывается, причём только один из N возможных в системе свопов и в процессе загрузки система может захотеть именно его! И, если винчестер внезапно отправится в небесный датацентр, состема, что вполне естественно, может вообще никак не загружаться. По крайней мере, так у меня было несколько раз на поставленных в разное время Debianах. В принципе, проблема не фатальная, и даже не нужно ничего переустанавливать, но процесс восстановления имеет место быть, что не очень-то бы хотелось. Придумал недавно такую штуку - поправить /etc/fstab, чтобы там был прописан всего лишь один своп с UUID из файла resume, а на каждом винчестере командой mkswap -U UUID /dev/DEVICE создать свопы с одинаковым UUID из файла resume. И тогда система всегда найдёт какой-нибудь swap при загрузке, а монтирование остальных свопов можно сделать из /etc/rc.local командой swapon /dev/DEVICE1 /dev/DEVICE2 и т.д.
Что думаете по поводу такого решения? Я не видел, чтобы наличие разделов с одинаковым UUID вызывало какие-нибудь проблемы.
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

yoric

Предлагаю сделать своп на рэйде. И меня работает. Бывалоча, диски отваливались, и хоть бы хны. Тем более, что у Вас всё равно место простаивает, как я понял.

PbI6A

Да, это прикольноЮ, но какой рэйд? 0? Развалится и своп пропадёт. 10 или 1? Будет дублироваться запись со снижением скорости. Вот этим именно было бы и нормально разные свопы на разных винтах.
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

dzhoser

#3
Данные в swap хранятся до перезагрузки. Если у вас диски без хот свапа, то не принципиально что там данные пропадут.
А чтобы место не кончалось на диске, для этого есть квоты.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

PbI6A

Ок, делаю я 0 рэйд, один винт вылетает, md устройства нет, свопа на нём нет. Что хорошего в таком раскладе?
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

dzhoser

Я к тому, что информация в swap при перезагрузке будет утеряна и не имеет смысла ее резервировать если машина будет перезагружена для замены диска. Конечно железный рейд предпочтительнее софтвенного и в raid 0 вы потеряете все данные при выходе из строя одного диска. В идеале swap должен быть на другом устройстве не входящий в raid. Так например реализовано на некоторых серверах hp.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

yoric

#6
Цитата: PbI6A от 10 июля 2024, 11:06:19Да, это прикольноЮ, но какой рэйд? 0? Развалится и своп пропадёт. 10 или 1? Будет дублироваться запись со снижением скорости. Вот этим именно было бы и нормально разные свопы на разных винтах.
Не помню какой номер, но зеркало. Ну запись дублируется, но система выискивает моменты, когда можно. А чтение удвоенной скорости. Да, на разных винтах, у меня всё в рэйде. Диск отвалится - на втором будет ехать, приходилось по пол-года так жить, когда на работе старые сказёвники донашивал))

$ cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1] sda1[0]
      10485696 blocks [2/2] [UU]
     
md127 : active raid1 sdb2[1] sda2[0]
      966275712 blocks [2/2] [UU]
      bitmap: 1/8 pages [4KB], 65536KB chunk

unused devices: <none>
$ swapon -s
Filename                                Type            Size            Used            Priority
/dev/md126                              partition       10485692        0               -2